Browse Subversion Repository
Diff of /branches/ssh_chacha20poly1305/ttssh2/ttxssh/key.c
Parent Directory
| Revision Log
| Patch
| 1989 |
return (ret); |
return (ret); |
| 1990 |
} |
} |
| 1991 |
|
|
| 1992 |
|
static void hosts_updatekey_dlg_set_fingerprint(PTInstVar pvar, HWND dlg, digest_algorithm dgst_alg) |
| 1993 |
|
{ |
| 1994 |
|
char buf[1024]; |
| 1995 |
|
char *fp; |
| 1996 |
|
size_t i; |
| 1997 |
|
struct hostkeys_update_ctx *ctx; |
| 1998 |
|
|
| 1999 |
|
ctx = pvar->hostkey_ctx; |
| 2000 |
|
|
| 2001 |
|
SendDlgItemMessage(dlg, IDC_ADDKEY_EDIT, WM_SETTEXT, 0, (LPARAM)(char FAR *)""); |
| 2002 |
|
for (i = 0; i < ctx->nkeys; i++) { |
| 2003 |
|
if (ctx->keys_seen[i]) |
| 2004 |
|
continue; |
| 2005 |
|
switch (dgst_alg) { |
| 2006 |
|
case SSH_DIGEST_MD5: |
| 2007 |
|
fp = key_fingerprint(ctx->keys[i], SSH_FP_HEX, dgst_alg); |
| 2008 |
|
break; |
| 2009 |
|
case SSH_DIGEST_SHA256: |
| 2010 |
|
fp = key_fingerprint(ctx->keys[i], SSH_FP_BASE64, dgst_alg); |
| 2011 |
|
break; |
| 2012 |
|
} |
| 2013 |
|
buf[0] = 0; |
| 2014 |
|
strcat_s(buf, sizeof(buf), get_sshname_from_key(ctx->keys[i])); |
| 2015 |
|
strcat_s(buf, sizeof(buf), " "); |
| 2016 |
|
strcat_s(buf, sizeof(buf), fp); |
| 2017 |
|
SendDlgItemMessage(dlg, IDC_ADDKEY_EDIT, EM_REPLACESEL, 0, (LPARAM)buf); |
| 2018 |
|
SendDlgItemMessage(dlg, IDC_ADDKEY_EDIT, EM_REPLACESEL, 0, (LPARAM)"\r\n"); |
| 2019 |
|
free(fp); |
| 2020 |
|
} |
| 2021 |
|
|
| 2022 |
|
SendDlgItemMessage(dlg, IDC_REMOVEKEY_EDIT, WM_SETTEXT, 0, (LPARAM)(char FAR *)""); |
| 2023 |
|
for (i = 0; i < ctx->nold; i++) { |
| 2024 |
|
switch (dgst_alg) { |
| 2025 |
|
case SSH_DIGEST_MD5: |
| 2026 |
|
fp = key_fingerprint(ctx->old_keys[i], SSH_FP_HEX, dgst_alg); |
| 2027 |
|
break; |
| 2028 |
|
case SSH_DIGEST_SHA256: |
| 2029 |
|
fp = key_fingerprint(ctx->old_keys[i], SSH_FP_BASE64, dgst_alg); |
| 2030 |
|
break; |
| 2031 |
|
} |
| 2032 |
|
buf[0] = 0; |
| 2033 |
|
strcat_s(buf, sizeof(buf), get_sshname_from_key(ctx->old_keys[i])); |
| 2034 |
|
strcat_s(buf, sizeof(buf), " "); |
| 2035 |
|
strcat_s(buf, sizeof(buf), fp); |
| 2036 |
|
SendDlgItemMessage(dlg, IDC_REMOVEKEY_EDIT, EM_REPLACESEL, 0, (LPARAM)buf); |
| 2037 |
|
SendDlgItemMessage(dlg, IDC_REMOVEKEY_EDIT, EM_REPLACESEL, 0, (LPARAM)"\r\n"); |
| 2038 |
|
free(fp); |
| 2039 |
|
} |
| 2040 |
|
} |
| 2041 |
|
|
| 2042 |
static BOOL CALLBACK hosts_updatekey_dlg_proc(HWND dlg, UINT msg, WPARAM wParam, LPARAM lParam) |
static BOOL CALLBACK hosts_updatekey_dlg_proc(HWND dlg, UINT msg, WPARAM wParam, LPARAM lParam) |
| 2043 |
{ |
{ |
| 2044 |
static HFONT DlgHostsAddFont; |
static HFONT DlgHostsAddFont; |
| 2048 |
char buf[1024]; |
char buf[1024]; |
| 2049 |
char *host; |
char *host; |
| 2050 |
struct hostkeys_update_ctx *ctx; |
struct hostkeys_update_ctx *ctx; |
|
char *fp; |
|
|
size_t i; |
|
| 2051 |
char uimsg[MAX_UIMSG]; |
char uimsg[MAX_UIMSG]; |
| 2052 |
|
|
| 2053 |
switch (msg) { |
switch (msg) { |
| 2069 |
); |
); |
| 2070 |
SetDlgItemText(dlg, IDC_HOSTKEY_MESSAGE, buf); |
SetDlgItemText(dlg, IDC_HOSTKEY_MESSAGE, buf); |
| 2071 |
|
|
| 2072 |
|
GetDlgItemText(dlg, IDC_FP_HASH_ALG, uimsg, sizeof(uimsg)); |
| 2073 |
|
UTIL_get_lang_msg("DLG_HOSTKEY_ROTATION_FP_HASH_ALGORITHM", pvar, uimsg); |
| 2074 |
|
SetDlgItemText(dlg, IDC_FP_HASH_ALG, pvar->ts->UIMsg); |
| 2075 |
|
|
| 2076 |
GetDlgItemText(dlg, IDC_ADDKEY_TEXT, uimsg, sizeof(uimsg)); |
GetDlgItemText(dlg, IDC_ADDKEY_TEXT, uimsg, sizeof(uimsg)); |
| 2077 |
UTIL_get_lang_msg("DLG_HOSTKEY_ROTATION_ADD", pvar, uimsg); |
UTIL_get_lang_msg("DLG_HOSTKEY_ROTATION_ADD", pvar, uimsg); |
| 2078 |
_snprintf_s(buf, sizeof(buf), _TRUNCATE, pvar->ts->UIMsg, ctx->nnew); |
_snprintf_s(buf, sizeof(buf), _TRUNCATE, pvar->ts->UIMsg, ctx->nnew); |
| 2079 |
SetDlgItemText(dlg, IDC_ADDKEY_TEXT, buf); |
SetDlgItemText(dlg, IDC_ADDKEY_TEXT, buf); |
|
for (i = 0; i < ctx->nkeys; i++) { |
|
|
if (ctx->keys_seen[i]) |
|
|
continue; |
|
|
fp = key_fingerprint(ctx->keys[i], SSH_FP_HEX, SSH_DIGEST_MD5); |
|
|
buf[0] = 0; |
|
|
strcat_s(buf, sizeof(buf), get_sshname_from_key(ctx->keys[i])); |
|
|
strcat_s(buf, sizeof(buf), " "); |
|
|
strcat_s(buf, sizeof(buf), fp); |
|
|
SendDlgItemMessage(dlg, IDC_ADDKEY_EDIT, EM_REPLACESEL, 0, (LPARAM)buf); |
|
|
SendDlgItemMessage(dlg, IDC_ADDKEY_EDIT, EM_REPLACESEL, 0, (LPARAM)"\r\n"); |
|
|
free(fp); |
|
|
} |
|
| 2080 |
|
|
| 2081 |
GetDlgItemText(dlg, IDC_REMOVEKEY_TEXT, uimsg, sizeof(uimsg)); |
GetDlgItemText(dlg, IDC_REMOVEKEY_TEXT, uimsg, sizeof(uimsg)); |
| 2082 |
UTIL_get_lang_msg("DLG_HOSTKEY_ROTATION_REMOVE", pvar, uimsg); |
UTIL_get_lang_msg("DLG_HOSTKEY_ROTATION_REMOVE", pvar, uimsg); |
| 2083 |
_snprintf_s(buf, sizeof(buf), _TRUNCATE, pvar->ts->UIMsg, ctx->nold); |
_snprintf_s(buf, sizeof(buf), _TRUNCATE, pvar->ts->UIMsg, ctx->nold); |
| 2084 |
SetDlgItemText(dlg, IDC_REMOVEKEY_TEXT, buf); |
SetDlgItemText(dlg, IDC_REMOVEKEY_TEXT, buf); |
| 2085 |
for (i = 0; i < ctx->nold; i++) { |
|
| 2086 |
fp = key_fingerprint(ctx->old_keys[i], SSH_FP_HEX, SSH_DIGEST_MD5); |
CheckDlgButton(dlg, IDC_FP_HASH_ALG_MD5, TRUE); |
| 2087 |
buf[0] = 0; |
hosts_updatekey_dlg_set_fingerprint(pvar, dlg, SSH_DIGEST_MD5); |
|
strcat_s(buf, sizeof(buf), get_sshname_from_key(ctx->old_keys[i])); |
|
|
strcat_s(buf, sizeof(buf), " "); |
|
|
strcat_s(buf, sizeof(buf), fp); |
|
|
SendDlgItemMessage(dlg, IDC_REMOVEKEY_EDIT, EM_REPLACESEL, 0, (LPARAM)buf); |
|
|
SendDlgItemMessage(dlg, IDC_REMOVEKEY_EDIT, EM_REPLACESEL, 0, (LPARAM)"\r\n"); |
|
|
free(fp); |
|
|
} |
|
| 2088 |
|
|
| 2089 |
GetDlgItemText(dlg, IDOK, uimsg, sizeof(uimsg)); |
GetDlgItemText(dlg, IDOK, uimsg, sizeof(uimsg)); |
| 2090 |
UTIL_get_lang_msg("BTN_YES", pvar, uimsg); |
UTIL_get_lang_msg("BTN_YES", pvar, uimsg); |
| 2098 |
if (UTIL_get_lang_font("DLG_TAHOMA_FONT", dlg, &logfont, &DlgHostsAddFont, pvar)) { |
if (UTIL_get_lang_font("DLG_TAHOMA_FONT", dlg, &logfont, &DlgHostsAddFont, pvar)) { |
| 2099 |
SendDlgItemMessage(dlg, IDC_HOSTKEY_MESSAGE, WM_SETFONT, (WPARAM)DlgHostsAddFont, MAKELPARAM(TRUE, 0)); |
SendDlgItemMessage(dlg, IDC_HOSTKEY_MESSAGE, WM_SETFONT, (WPARAM)DlgHostsAddFont, MAKELPARAM(TRUE, 0)); |
| 2100 |
SendDlgItemMessage(dlg, IDC_ADDKEY_TEXT, WM_SETFONT, (WPARAM)DlgHostsAddFont, MAKELPARAM(TRUE, 0)); |
SendDlgItemMessage(dlg, IDC_ADDKEY_TEXT, WM_SETFONT, (WPARAM)DlgHostsAddFont, MAKELPARAM(TRUE, 0)); |
| 2101 |
|
SendDlgItemMessage(dlg, IDC_FP_HASH_ALG, WM_SETFONT, (WPARAM)DlgHostsAddFont, MAKELPARAM(TRUE, 0)); |
| 2102 |
|
SendDlgItemMessage(dlg, IDC_FP_HASH_ALG_MD5, WM_SETFONT, (WPARAM)DlgHostsAddFont, MAKELPARAM(TRUE, 0)); |
| 2103 |
|
SendDlgItemMessage(dlg, IDC_FP_HASH_ALG_SHA256, WM_SETFONT, (WPARAM)DlgHostsAddFont, MAKELPARAM(TRUE, 0)); |
| 2104 |
SendDlgItemMessage(dlg, IDC_ADDKEY_EDIT, WM_SETFONT, (WPARAM)DlgHostsAddFont, MAKELPARAM(TRUE, 0)); |
SendDlgItemMessage(dlg, IDC_ADDKEY_EDIT, WM_SETFONT, (WPARAM)DlgHostsAddFont, MAKELPARAM(TRUE, 0)); |
| 2105 |
SendDlgItemMessage(dlg, IDC_REMOVEKEY_TEXT, WM_SETFONT, (WPARAM)DlgHostsAddFont, MAKELPARAM(TRUE, 0)); |
SendDlgItemMessage(dlg, IDC_REMOVEKEY_TEXT, WM_SETFONT, (WPARAM)DlgHostsAddFont, MAKELPARAM(TRUE, 0)); |
| 2106 |
SendDlgItemMessage(dlg, IDC_REMOVEKEY_EDIT, WM_SETFONT, (WPARAM)DlgHostsAddFont, MAKELPARAM(TRUE, 0)); |
SendDlgItemMessage(dlg, IDC_REMOVEKEY_EDIT, WM_SETFONT, (WPARAM)DlgHostsAddFont, MAKELPARAM(TRUE, 0)); |
| 2136 |
|
|
| 2137 |
return TRUE; |
return TRUE; |
| 2138 |
|
|
| 2139 |
|
case IDC_FP_HASH_ALG_MD5: |
| 2140 |
|
hosts_updatekey_dlg_set_fingerprint(pvar, dlg, SSH_DIGEST_MD5); |
| 2141 |
|
return TRUE; |
| 2142 |
|
|
| 2143 |
|
case IDC_FP_HASH_ALG_SHA256: |
| 2144 |
|
hosts_updatekey_dlg_set_fingerprint(pvar, dlg, SSH_DIGEST_SHA256); |
| 2145 |
|
return TRUE; |
| 2146 |
|
|
| 2147 |
default: |
default: |
| 2148 |
return FALSE; |
return FALSE; |
| 2149 |
} |
} |
|
|
Legend:
| Removed from v.6129 |
|
| changed lines |
| |
Added in v.6132 |
|
|
| |