svnno****@sourc*****
svnno****@sourc*****
2011年 4月 16日 (土) 23:18:33 JST
Revision: 4442 http://sourceforge.jp/projects/ttssh2/svn/view?view=rev&revision=4442 Author: yutakapon Date: 2011-04-16 23:18:33 +0900 (Sat, 16 Apr 2011) Log Message: ----------- TTSSH Setupãã¤ã¢ãã°ã§ãKEXã»ãã¹ããã¼ã»HMACã»å§ç¸®ã¢ã«ã´ãªãºã ã®ä¸¦ã³ãå¤æ´ã§ããããã«ããã ãã©ã³ã¹èªãã¡ã¤ã«(French.lng)ã¯ãææã¡ã®ã¨ãã£ã¿ã§ã¯ãã¾ãç·¨éã§ããªãã£ãã®ã§ãã³ãããã§ãã¦ããªãã Modified Paths: -------------- trunk/doc/en/html/about/history.html trunk/doc/ja/html/about/history.html trunk/installer/release/lang/English.lng trunk/installer/release/lang/German.lng trunk/installer/release/lang/Japanese.lng trunk/ttssh2/ttxssh/resource.h trunk/ttssh2/ttxssh/ttxssh.c trunk/ttssh2/ttxssh/ttxssh.rc -------------- next part -------------- Modified: trunk/doc/en/html/about/history.html =================================================================== --- trunk/doc/en/html/about/history.html 2011-04-15 14:38:56 UTC (rev 4441) +++ trunk/doc/en/html/about/history.html 2011-04-16 14:18:33 UTC (rev 4442) @@ -1678,7 +1678,7 @@ <li>Changes <ul> <li>When the ECDSA key is selected on the SSH key generator dialog, the input box of the key bits is disabled.</li> - <li>Some kind of the KEX, host key, MAC and compression algorithm order can be specified in the teraterm.ini file. + <li>Some kind of the KEX, host key, MAC and compression algorithm order can be specified in the teraterm.ini file. These entries can be selected on the setup dialog. <ul> <li>KexOrder=56743210</li> <li>HostKeyOrder=456230</li> Modified: trunk/doc/ja/html/about/history.html =================================================================== --- trunk/doc/ja/html/about/history.html 2011-04-15 14:38:56 UTC (rev 4441) +++ trunk/doc/ja/html/about/history.html 2011-04-16 14:18:33 UTC (rev 4442) @@ -1679,7 +1679,7 @@ <li>ÏX <ul> <li>SSH®¶¬_CAOÅA®ÌíÞÉECDSA®ðIñ¾êÍ®ÌrbgÌüÍ{bNXð³ø»·éæ¤Éµ½B</li> - <li>KEXAzXgL[AMACA³kASYI[_[ðAteraterm.iniÌGgÅwèÅ«éæ¤Éµ½B + <li>KEXAzXgL[AMACA³kASYI[_[ðAteraterm.iniÌGgÅwèÅ«éæ¤Éµ½BSetup_CAOÅIðÅ«éæ¤Éµ½B <ul> <li>KexOrder=56743210</li> <li>HostKeyOrder=456230</li> Modified: trunk/installer/release/lang/English.lng =================================================================== --- trunk/installer/release/lang/English.lng 2011-04-15 14:38:56 UTC (rev 4441) +++ trunk/installer/release/lang/English.lng 2011-04-16 14:18:33 UTC (rev 4442) @@ -616,9 +616,25 @@ DLG_SSHSETUP_COMPRESS_NONE=None DLG_SSHSETUP_COMPRESS_HIGHEST=Highest DLG_SSHSETUP_CHIPER=&Preferred cipher order -DLG_SSHSETUP_CHIPER_UP=Move &Up -DLG_SSHSETUP_CHIPER_DOWN=Move &Down +DLG_SSHSETUP_CHIPER_UP=Move Up(&0) +DLG_SSHSETUP_CHIPER_DOWN=Move Down(&1) DLG_SSHSETUP_CIPHER_BORDER=<ciphers below this line are disabled> +DLG_SSHSETUP_KEX=K&EX order +DLG_SSHSETUP_KEX_UP=Move Up(&2) +DLG_SSHSETUP_KEX_DOWN=Move Down(&3) +DLG_SSHSETUP_KEX_BORDER=<KEXs below this line are disabled> +DLG_SSHSETUP_HOST_KEY=Ho&st Key order +DLG_SSHSETUP_HOST_KEY_UP=Move Up(&4) +DLG_SSHSETUP_HOST_KEY_DOWN=Move Down(&5) +DLG_SSHSETUP_HOST_KEY_BORDER=<Host Keys below this line are disabled> +DLG_SSHSETUP_MAC=MAC or&der +DLG_SSHSETUP_MAC_UP=Move Up(&6) +DLG_SSHSETUP_MAC_DOWN=Move Down(&7) +DLG_SSHSETUP_MAC_BORDER=<MACs below this line are disabled> +DLG_SSHSETUP_COMP=Compress&ion order +DLG_SSHSETUP_COMP_UP=Move Up(&8) +DLG_SSHSETUP_COMP_DOWN=Move Down(&9) +DLG_SSHSETUP_COMP_BORDER=<Compressions below this line are disabled> DLG_SSHSETUP_KNOWNHOST=SSH Known Hosts DLG_SSHSETUP_KNOWNHOST_RW=Read/&write file: DLG_SSHSETUP_KNOWNHOST_RO=&Read-only files: Modified: trunk/installer/release/lang/German.lng =================================================================== --- trunk/installer/release/lang/German.lng 2011-04-15 14:38:56 UTC (rev 4441) +++ trunk/installer/release/lang/German.lng 2011-04-16 14:18:33 UTC (rev 4442) @@ -37,8 +37,8 @@ MENU_EDIT=&Editieren MENU_EDIT_COPY=&Kopieren\tAlt+C MENU_EDIT_COPYTABLE=&Tabelle kopieren -MENU_EDIT_PASTE=&Einfügen\tAlt+V -MENU_EDIT_PASTECR=Einfügen<C&R>\tAlt+R +MENU_EDIT_PASTE=&EinfEen\tAlt+V +MENU_EDIT_PASTECR=EinfEen<C&R>\tAlt+R MENU_EDIT_CLSCREEN=&Bildschirm löschen MENU_EDIT_CLBUFFER=&Puffer löschen MENU_EDIT_CANCELSELECT=&Auswahl aufheben @@ -59,13 +59,13 @@ MENU_SETUP_LOADKEYMAP=&Keyboard-Layout einstellen MENU_CONTROL=&Steuerung -MENU_CONTROL_RESET=&Terminal zurücksetzen +MENU_CONTROL_RESET=&Terminal zurEksetzen MENU_CONTROL_RESETTITLE=R&eset remote title MENU_CONTROL_AREYOUTHERE=Are you &there\tAlt+T MENU_CONTROL_SENDBREAK=&Abbruch senden\tAlt+B -MENU_CONTROL_RESETPORT=Port zurücksetzen +MENU_CONTROL_RESETPORT=Port zurEksetzen MENU_CONTROL_BROADCAST=&Broadcast-Kommando -MENU_CONTROL_OPENTEK=TEK ö&ffnen +MENU_CONTROL_OPENTEK=TEK Effnen MENU_CONTROL_CLOSETEK=TEK &schließen MENU_CONTROL_MACRO=&Macro MENU_CONTROL_SHOW_MACRO=&Makrofenster anzeigen @@ -77,7 +77,7 @@ MENU_HELP_INDEX=&Hilfedatei MENU_HELP_ABOUT=&Über Tera Term... -MENU_SHOW_MENUBAR=Menüleiste anzeigen +MENU_SHOW_MENUBAR=MenEeiste anzeigen TEKMENU_FILE=&Datei @@ -87,8 +87,8 @@ TEKMENU_EDIT=&Bearbeiten TEKMENU_EDIT_COPY=&Kopieren\tAlt+C TEKMENU_EDIT_COPYSCREEN=Bildschirm kopieren -TEKMENU_EDIT_PASTE=&Einfügen\tAlt+V -TEKMENU_EDIT_PASTECR=Einfügen<C&R>\tAlt+R +TEKMENU_EDIT_PASTE=&EinfEen\tAlt+V +TEKMENU_EDIT_PASTECR=EinfEen<C&R>\tAlt+R TEKMENU_EDIT_CLSCREEN=Bildschirm leeren TEKMENU_SETUP=&Einrichtung @@ -104,7 +104,7 @@ TEKMENU_HELP_USING=&Hilfe verwenden TEKMENU_HELP_ABOUT=&Über Tera Term... -TEKMENU_SHOW_MENUBAR=&Menüleiste anzeigen +TEKMENU_SHOW_MENUBAR=&MenEeiste anzeigen ; ttermpro ; filesys.cpp @@ -124,12 +124,12 @@ MSG_DISCONNECT_CONF=Verbindung trennen? MSG_DANDD_CONF=Are you sure that you want to send the file content? MSG_DANDD_CONF_TITLE=File Drag and Drop -MSG_EXEC_TT_ERROR=Tera Term kann nicht ausgeführt werden. (%d) +MSG_EXEC_TT_ERROR=Tera Term kann nicht ausgefErt werden. (%d) MSG_FIND_CYGTERM_DIR_ERROR=Cygwin-Ordner kann nicht gefunden werden. MSG_CYGTERM_ENV_ALLOC_ERROR=Can't allocate memory for environment variable. -MSG_EXEC_CYGTERM_ERROR=Cygterm kann nicht ausgeführt werden. -MSG_EXEC_TTMENU_ERROR=Das TeraTerm-Menü kann nicht ausgeführt werden. (%d) -MSG_EXEC_LOGMETT_ERROR=LogMeTT kann nicht ausgeführt werden. (%d) +MSG_EXEC_CYGTERM_ERROR=Cygterm kann nicht ausgefErt werden. +MSG_EXEC_TTMENU_ERROR=Das TeraTerm-MenEkann nicht ausgefErt werden. (%d) +MSG_EXEC_LOGMETT_ERROR=LogMeTT kann nicht ausgefErt werden. (%d) MSG_VIEW_LOGFILE_ERROR=Log-Datei kann nicht angezeigt werden. (%d) FILEDLG_OPEN_LOGFILE_TITLE=Select replay log file with binary mode FILEDLG_OPEN_LOGFILE_FILTER=Alle Dateien(*.*)\0*.*\0\0 @@ -178,10 +178,10 @@ DLG_TAB_SEQENCE_TITLE_REPORT_EMPTY=empty DLG_TAB_COPYPASTE_CONTINUE=Mehrere Zeilen kopieren -DLG_TAB_COPYPASTE_MOUSEPASTE=&Einfügen mit rechter Maustaste aus -DLG_TAB_COPYPASTE_CONFIRMPASTE=&Einfügen mit rechter Maustaste ein -DLG_TAB_COPYPASTE_MOUSEPASTEM=Einfügen mit mittlerer Maustaste ein -DLG_TAB_COPYPASTE_SELECTLBUTTON=&Auswahl nur über Button +DLG_TAB_COPYPASTE_MOUSEPASTE=&EinfEen mit rechter Maustaste aus +DLG_TAB_COPYPASTE_CONFIRMPASTE=&EinfEen mit rechter Maustaste ein +DLG_TAB_COPYPASTE_MOUSEPASTEM=EinfEen mit mittlerer Maustaste ein +DLG_TAB_COPYPASTE_SELECTLBUTTON=&Auswahl nur Eer Button DLG_TAB_COPYPASTE_CONFIRM_CHANGE_PASTE=Confirm change &paste DLG_TAB_CONFIRM_STRING_FILE=&String file DLG_TAB_COPYPASTE_DELIMITER=&Begrenzungszeichen @@ -192,7 +192,7 @@ DLG_TAB_VISUAL_ETERM=&Eterm-Aussehen DLG_TAB_VISUAL_MOUSE=&Mauszeiger DLG_TAB_VISUAL_RED=&Rot -DLG_TAB_VISUAL_GREEN=&Grün +DLG_TAB_VISUAL_GREEN=&GrE DLG_TAB_VISUAL_BLUE=&Blau DLG_TAB_VISUAL_BOLD=Enable B&old attribute color DLG_TAB_VISUAL_BLINK=Enable B&link attribute color @@ -222,11 +222,11 @@ DLG_PROT_FIELNAME=Dateiname: DLG_PROT_PROTO=Protocoll: DLG_PROT_PACKET=Paket#: -DLG_PROT_TRANS=Bytes übertragen: +DLG_PROT_TRANS=Bytes Eertragen: DLG_FILETRANS_FILENAME=Dateiname: DLG_FILETRANS_FULLPATH=Vollständiger Pfad: -DLG_FILETRANS_TRNAS=Bytes übertragen: +DLG_FILETRANS_TRNAS=Bytes Eertragen: DLG_FILETRANS_START=&Start DLG_FILETRANS_PAUSE=Pau&se DLG_FILETRANS_CLOSE=Schließen @@ -285,7 +285,7 @@ DLG_TCPIP_TITLE=Hostliste editieren DLG_TCPIP_HOSTLIST=Hostliste -DLG_TCPIP_ADD=Hinzufügen +DLG_TCPIP_ADD=HinzufEen DLG_TCPIP_UP=hoch DLG_TCPIP_REMOVE=entf DLG_TCPIP_DOWN=runter @@ -306,7 +306,7 @@ DLG_TERM_CRSEND=Absenden: DLG_TERM_ID=Terminal-ID: DLG_TERM_LOCALECHO=Lokales Echo -DLG_TERM_ANSBACK=Rückantwort: +DLG_TERM_ANSBACK=REkantwort: DLG_TERM_AUTOSWITCH=Automatisch wechseln (VT<->TEK) DLG_TERM_KANJI=&Kanji (receive) DLG_TERM_KANA=&7bit katakana @@ -331,7 +331,7 @@ DLG_WIN_HORZ=Horizontale Linie DLG_WIN_BOLDFONT=fettschreiben DLG_WIN_HIDETITLE=Titelleiste ausblenden -DLG_WIN_HIDEMENU=Menüleiste ausblenden +DLG_WIN_HIDEMENU=MenEeiste ausblenden DLG_WIN_COLOREMU=&Farbemulation DLG_WIN_PCBOLD16=&16 Colors (PC style) DLG_WIN_AIXTERM16=1&6 Colors (aixterm style) @@ -410,7 +410,7 @@ ; ttptek ; tttek.c -MSG_TEK_PRINT_ERROR=Der Drucker unterstützt keine Grafiken +MSG_TEK_PRINT_ERROR=Der Drucker unterstEzt keine Grafiken ; ttpmacro FILEDLG_OPEN_MACRO_TITLE=Makro öffnen @@ -454,19 +454,19 @@ DLG_ABOUT_TITLE=Über TTSSH DLG_ABOUT_SERVERID=Server-ID: DLG_ABOUT_PROTOCOL=Verwendetes Protokoll: -DLG_ABOUT_ENCRYPTION=Verschlüsselung: -DLG_ABOUT_SERVERKEY=Server-Schlüssel: +DLG_ABOUT_ENCRYPTION=VerschlEselung: +DLG_ABOUT_SERVERKEY=Server-SchlEsel: DLG_ABOUT_KEXKEY=Key exchange keys: DLG_ABOUT_AUTH=Authentifikation: DLG_ABOUT_COMP=Kompression: DLG_ABOUT_CLIENTID=Client-ID: -DLG_ABOUT_HOSTKEY=Client-Schlüssel: +DLG_ABOUT_HOSTKEY=Client-SchlEsel: DLG_ABOUT_TOSERVER=" zum Server," DLG_ABOUT_FROMSERVER=" vom Server" DLG_ABOUT_COMPDELAY=Delayed Compression: DLG_ABOUT_CIPHER_INFO=%s zum Server, %s vom Server DLG_ABOUT_KEY_INFO=%d-bit server key, %d-bit host key -DLG_ABOUT_KEY_INFO2=%d-Bit-Client-Schlüssel, %d-Bit-Server-Schlüssel +DLG_ABOUT_KEY_INFO2=%d-Bit-Client-SchlEsel, %d-Bit-Server-SchlEsel DLG_ABOUT_KEY_NONE=Keiner DLG_ABOUT_COMP_INFO=level %d; ratio %.1f (%ld:%ld) DLG_ABOUT_COMP_INFO2=level %d @@ -485,49 +485,49 @@ DLG_AUTH_REMEMBER_PASSWORD=Passphrase speichern DLG_AUTH_FWDAGENT=F&orward agent DLG_AUTH_METHOD_PASSWORD=Passwortauthentifikation verwenden -DLG_AUTH_METHOD_RSA=DSA/RSA-Schlüssel verwenden +DLG_AUTH_METHOD_RSA=DSA/RSA-SchlEsel verwenden DLG_AUTH_METHOD_RHOST=rhosts verwenden (SSH1) DLG_AUTH_METHOD_CHALLENGE1=Benutze challenge/response (TIS) DLG_AUTH_METHOD_CHALLENGE2=Benutze challenge/response (keyboard-interactive) -DLG_AUTH_PRIVATEKEY=Schlüssel: +DLG_AUTH_PRIVATEKEY=SchlEsel: DLG_AUTH_LOCALUSER=Lokaler Benutzername: -DLG_AUTH_HOST_PRIVATEKEY=rhosts-Schlüssel: +DLG_AUTH_HOST_PRIVATEKEY=rhosts-SchlEsel: MSG_PAGEANT_NOTFOUND=Can't find Pageant. MSG_PAGEANT_NOKEY=Pageant has no valid key. ; dlg auth setup DLG_AUTHSETUP_TITLE=TTSSH: Authentifikation-Einstellungen -DLG_AUTHSETUP_BANNER=Standard-Einstellungen für Authentifikation: +DLG_AUTHSETUP_BANNER=Standard-Einstellungen fE Authentifikation: DLG_AUTHSETUP_USERNAME=Benutzername: DLG_AUTHSETUP_METHOD_PASSWORD=Passwortauthentifikation verwenden -DLG_AUTHSETUP_METHOD_RSA=DSA/RSA-Schlüssel verwenden +DLG_AUTHSETUP_METHOD_RSA=DSA/RSA-SchlEsel verwenden DLG_AUTHSETUP_METHOD_RHOST=rhosts verwenden (SSH1) DLG_AUTHSETUP_METHOD_CHALLENGE=Benutze challenge/response (SSH1:&TIS, SSH2:keyboard-interactive) -DLG_AUTHSETUP_PRIVATEKEY=Schlüssel: +DLG_AUTHSETUP_PRIVATEKEY=SchlEsel: DLG_AUTHSETUP_LOCALUSER=Lokaler Benutzername: -DLG_AUTHSETUP_HOST_PRIVATEKEY=rhosts-Schlüssel: -DLG_AUTHSETUP_CHECKAUTH=Prüfe die Authentifizierungsmethoden vor dem Logins (SSH2) +DLG_AUTHSETUP_HOST_PRIVATEKEY=rhosts-SchlEsel: +DLG_AUTHSETUP_CHECKAUTH=PrEe die Authentifizierungsmethoden vor dem Logins (SSH2) -FILEDLG_OPEN_PRIVATEKEY_TITLE=DSA/RSA/ECDSA-Schlüssel auswählen +FILEDLG_OPEN_PRIVATEKEY_TITLE=DSA/RSA/ECDSA-SchlEsel auswählen FILEDLG_OPEN_PRIVATEKEY_FILTER=identity files\0identity;*.*;id_rsa;id_dsa;id_ecdsa\0identity(RSA1)\0identity\0id_rsa(SSH2)\0id_rsa\0id_dsa(SSH2)\0id_dsa\0id_ecdsa(SSH2)\0id_ecdsa\0all(*.*)\0*.*\0\0 -MSG_KEYSPECIFY_ERROR=Bitte einen DSA/RSA/ECDSA-Schlüssel auswählen. -MSG_READKEY_ERROR=Lesefehler des DSA/RSA/ECDSA-Schlüssels\n%s +MSG_KEYSPECIFY_ERROR=Bitte einen DSA/RSA/ECDSA-SchlEsel auswählen. +MSG_READKEY_ERROR=Lesefehler des DSA/RSA/ECDSA-SchlEsels\n%s MSG_RHOSTS_NOTDEFAULT_ERROR=Rhosts authentication will probably fail because it was not the default authentication method.\nTo use Rhosts authentication in TTSSH, you need to set it to be the default by restarting\nTTSSH and selecting "SSH Authentication..." from the Setup menubefore connecting. -MSG_NOAUTHMETHOD_ERROR=Der Server unterstützt keine der von TTSSH angebotenen\nAuthentifizierungs-Optionen. Die Verbindung wird beendet. +MSG_NOAUTHMETHOD_ERROR=Der Server unterstEzt keine der von TTSSH angebotenen\nAuthentifizierungs-Optionen. Die Verbindung wird beendet. ; dlg diff key DLG_DIFFERENTKEY_TITLE=SICHERHEITSWARNUNG -DLG_DIFFERENTKEY_WARNING=Der Server ("####################################") ist in der "known hosts"-Liste bereits mit einem anderen Schlüssel eingetragen. +DLG_DIFFERENTKEY_WARNING=Der Server ("####################################") ist in der "known hosts"-Liste bereits mit einem anderen SchlEsel eingetragen. DLG_DIFFERENTKEY_WARNING2=Wenn Sie auf 'Continue' klicken, wird der Server in die Liste aufgenommen und die Fehlermeldung erscheint nicht mehr. -DLG_DIFFERENTKEY_FINGERPRINT=Der Fingerabdruck des Schlüssels: -DLG_DIFFERENTKEY_REPLACE=Den vorhanden Schlüssel durch den neuen ersetzen. +DLG_DIFFERENTKEY_FINGERPRINT=Der Fingerabdruck des SchlEsels: +DLG_DIFFERENTKEY_REPLACE=Den vorhanden SchlEsel durch den neuen ersetzen. ; dlg diff type key DLG_DIFFERENTTYPEKEY_TITLE=SICHERHEITSWARNUNG DLG_DIFFERENTTYPEKEY_WARNING=Your known hosts list has an entry for the server "####################################", but the machine you have contacted has presented a DIFFERENT TYPE KEY to the one in your known hosts list. A hostile machine may be pretending to be the server. DLG_DIFFERENTTYPEKEY_WARNING2=Wenn Sie auf 'Continue' klicken, wird der Server in die Liste aufgenommen und die Fehlermeldung erscheint nicht mehr. -DLG_DIFFERENTTYPEKEY_FINGERPRINT=Der Fingerabdruck des Schlüssels: -DLG_DIFFERENTTYPEKEY_ADD=Den Server zur "known hosts"-Liste hinzufügen. +DLG_DIFFERENTTYPEKEY_FINGERPRINT=Der Fingerabdruck des SchlEsels: +DLG_DIFFERENTTYPEKEY_ADD=Den Server zur "known hosts"-Liste hinzufEen. ; dlg fwd edit DLG_FWD_TITLE=SSH-Port-Weiterleitung @@ -546,12 +546,12 @@ MSG_SAME_LOCALPORT_ERROR=Sie können nicht zwei Weiterleitungen vom selben lokalen Port definieren (%d). MSG_UNSPECIFYIED_FWD_ERROR1=Die folgenden Weiterleitungen waren zu Beginn dieser SSH-Sitzung nicht definiert:\n\n MSG_UNSPECIFYIED_FWD_ERROR2=\nDue to a limitation of the SSH protocol, these forwardings will not work in the current SSH session.\nIf you save these settings and start a new SSH session, the forwardings should work. -MSG_INVALID_PORT_ERROR="%s" ist keine gültige Portnummer.\nWählen Sie entweder einen Portnamen aus der Liste, oder geben Sie eine Nummer zwischen 1 and 65535 an. +MSG_INVALID_PORT_ERROR="%s" ist keine gEtige Portnummer.\nWählen Sie entweder einen Portnamen aus der Liste, oder geben Sie eine Nummer zwischen 1 and 65535 an. ; dlg fwd setup DLG_FWDSETUP_TITLE=SSH-Port-Weiterleitung DLG_FWDSETUP_LIST=SSH-Tunnel aufbauen -DLG_FWDSETUP_ADD=Hinzufügen +DLG_FWDSETUP_ADD=HinzufEen DLG_FWDSETUP_EDIT=Bearbeiten DLG_FWDSETUP_REMOVE=Entfernen DLG_FWDSETUP_CHECKIDENTITY=Lokale Ports akzeptieren Verbindungen von anderen Hosts @@ -581,7 +581,7 @@ ; dlg keygen DLG_KEYGEN_TITLE=SSH Key Generator -DLG_KEYGEN_KEYTYPE=Schlüssel-Typ +DLG_KEYGEN_KEYTYPE=SchlEsel-Typ DLG_KEYGEN_PASSPHRASE=Passphrase: DLG_KEYGEN_PASSPHRASE2=Passphrase bestätigen: DLG_KEYGEN_SAVEPUBLIC=Public Key @@ -598,10 +598,10 @@ FILEDLG_SAVE_PUBLICKEY_RSA_FILTER=SSH2 RSA key(id_rsa.pub)\0id_rsa.pub\0All Files(*.*)\0*.*\0\0 FILEDLG_SAVE_PUBLICKEY_DSA_FILTER=SSH2 DSA key(id_dsa.pub)\0id_dsa.pub\0All Files(*.*)\0*.*\0\0 FILEDLG_SAVE_PUBLICKEY_ECDSA_FILTER=SSH2 ECDSA key(id_ecdsa.pub)\0id_ecdsa.pub\0All Files(*.*)\0*.*\0\0 -MSG_SAVE_KEY_OPENFILE_ERROR=Schlüssel kann nicht geöffnet werden -MSG_SAVE_KEY_WRITEFILE_ERROR=Schlüssel kann nicht speichert werden -MSG_SAVE_PRIVATE_KEY_MISMATCH_ERROR=Die Passphrasen stimmen nicht überein -MSG_SAVE_PRIVATEKEY_EMPTY_WARN=Möchten Sie den Schlüssel ohne Passphrase speichern? +MSG_SAVE_KEY_OPENFILE_ERROR=SchlEsel kann nicht geöffnet werden +MSG_SAVE_KEY_WRITEFILE_ERROR=SchlEsel kann nicht speichert werden +MSG_SAVE_PRIVATE_KEY_MISMATCH_ERROR=Die Passphrasen stimmen nicht Eerein +MSG_SAVE_PRIVATEKEY_EMPTY_WARN=Möchten Sie den SchlEsel ohne Passphrase speichern? FILEDLG_SAVE_PRIVATEKEY_TITLE=Private Key speichern: FILEDLG_SAVE_PRIVATEKEY_RSA1_FILTER=SSH1 RSA key(identity)\0identity\0All Files(*.*)\0*.*\0\0 FILEDLG_SAVE_PRIVATEKEY_RSA_FILTER=SSH2 RSA key(id_rsa)\0id_rsa\0All Files(*.*)\0*.*\0\0 @@ -614,9 +614,25 @@ DLG_SSHSETUP_COMPRESS_NONE=Keine DLG_SSHSETUP_COMPRESS_HIGHEST=Höchste DLG_SSHSETUP_CHIPER=&Preferred cipher order -DLG_SSHSETUP_CHIPER_UP=Move &Up -DLG_SSHSETUP_CHIPER_DOWN=Move &Down +DLG_SSHSETUP_CHIPER_UP=Move Up(&0) +DLG_SSHSETUP_CHIPER_DOWN=Move Down(&1) DLG_SSHSETUP_CIPHER_BORDER=<ciphers below this line are disabled> +DLG_SSHSETUP_KEX=K&EX order +DLG_SSHSETUP_KEX_UP=Move Up(&2) +DLG_SSHSETUP_KEX_DOWN=Move Down(&3) +DLG_SSHSETUP_KEX_BORDER=<KEXs below this line are disabled> +DLG_SSHSETUP_HOST_KEY=Ho&st Key order +DLG_SSHSETUP_HOST_KEY_UP=Move Up(&4) +DLG_SSHSETUP_HOST_KEY_DOWN=Move Down(&5) +DLG_SSHSETUP_HOST_KEY_BORDER=<Host Keys below this line are disabled> +DLG_SSHSETUP_MAC=MAC or&der +DLG_SSHSETUP_MAC_UP=Move Up(&6) +DLG_SSHSETUP_MAC_DOWN=Move Down(&7) +DLG_SSHSETUP_MAC_BORDER=<MACs below this line are disabled> +DLG_SSHSETUP_COMP=Compress&ion order +DLG_SSHSETUP_COMP_UP=Move Up(&8) +DLG_SSHSETUP_COMP_DOWN=Move Down(&9) +DLG_SSHSETUP_COMP_BORDER=<Compressions below this line are disabled> DLG_SSHSETUP_KNOWNHOST=SSH Known Hosts DLG_SSHSETUP_KNOWNHOST_RW=Read/&write file: DLG_SSHSETUP_KNOWNHOST_RO=&Read-only files: @@ -635,10 +651,10 @@ ; dlg unknown host DLG_UNKNONWHOST_TITLE=SICHERHEITSWARNUNG -DLG_UNKNOWNHOST_WARNING=Es gibt für diesen Server ("#####################################") keinen Eintrag in der "known hosts"-Liste. +DLG_UNKNOWNHOST_WARNING=Es gibt fE diesen Server ("#####################################") keinen Eintrag in der "known hosts"-Liste. DLG_UNKNOWNHOST_WARNING2=Wenn Sie auf 'Continue' klicken, wird der Server in die Liste aufgenommen und die Fehlermeldung erscheint nicht mehr. -DLG_UNKNOWNHOST_FINGERPRINT=Der Fingerabdruck des Schlüssels: -DLG_UNKNOWNHOST_ADD=Den Server zur "known hosts"-Liste hinzufügen. +DLG_UNKNOWNHOST_FINGERPRINT=Der Fingerabdruck des SchlEsels: +DLG_UNKNOWNHOST_ADD=Den Server zur "known hosts"-Liste hinzufEen. ; crypt.c MSG_ENCRYPT_ERROR1=%s encrypt error(1): bytes %d (%d) @@ -821,8 +837,8 @@ MSG_INVALID_CA=Invalid CA Certificate MSG_PATH_LENGTH_EXCEEDED=Path length constraint exceeded MSG_INVALID_PURPOSE=Unsupported Certificate purpose -MSG_CERT_UNTRUSTED=Zertifikat nicht vertrauenswürdig -MSG_CERT_REJECTED=Zertifikat zurückgewiesen +MSG_CERT_UNTRUSTED=Zertifikat nicht vertrauenswEdig +MSG_CERT_REJECTED=Zertifikat zurEkgewiesen MSG_SUBJECT_ISSUER_MISMATCH=Subject Issuer mismatch MSG_AKID_SKID_MISMATCH=Authority and Subject Key Identifier mismatch MSG_AKID_ISSUER_SERIAL_MISMATCH=Authority and Issuer Serial Number mismatch @@ -845,7 +861,7 @@ MENU_LEFTPOPUP=showing list by left-click MENU_HOTKEY=showing list hotkey(Ctl+Alt+M) MENU_VERSION=Version -MENU_EXEC=Ausführen +MENU_EXEC=AusfEren MENU_CLOSE=Beenden MENU_NOTRAY=(none) @@ -865,7 +881,7 @@ DLG_CONFIG_LAUNCH=launch only DLG_CONFIG_STARTUP=kick at starting DLG_CONFIG_SSH=SSH verwenden -DLG_CONFIG_KEYFILE=Schlüsseldatei +DLG_CONFIG_KEYFILE=SchlEseldatei DLG_CONFIG_CHALLENGE=use Challenge DLG_CONFIG_PAGEANT=use Pageant DLG_CONFIG_DETAIL=Details Modified: trunk/installer/release/lang/Japanese.lng =================================================================== --- trunk/installer/release/lang/Japanese.lng 2011-04-15 14:38:56 UTC (rev 4441) +++ trunk/installer/release/lang/Japanese.lng 2011-04-16 14:18:33 UTC (rev 4442) @@ -616,9 +616,25 @@ DLG_SSHSETUP_COMPRESS_NONE=ȵ DLG_SSHSETUP_COMPRESS_HIGHEST=Å DLG_SSHSETUP_CHIPER=Dæ·éASYÌ(&P) -DLG_SSHSETUP_CHIPER_UP=ãÖ(&U) -DLG_SSHSETUP_CHIPER_DOWN=ºÖ(&D) +DLG_SSHSETUP_CHIPER_UP=ãÖ(&0) +DLG_SSHSETUP_CHIPER_DOWN=ºÖ(&1) DLG_SSHSETUP_CIPHER_BORDER=<ȺÌÃASYÍgp³êܹñ> +DLG_SSHSETUP_KEX=Dæ·éASYÌ(&E) +DLG_SSHSETUP_KEX_UP=ãÖ(&2) +DLG_SSHSETUP_KEX_DOWN=ºÖ(&3) +DLG_SSHSETUP_KEX_BORDER=<Ⱥ̮ð·ASYÍgp³êܹñ> +DLG_SSHSETUP_HOST_KEY=Dæ·éASYÌ(&s) +DLG_SSHSETUP_HOST_KEY_UP=ãÖ(&4) +DLG_SSHSETUP_HOST_KEY_DOWN=ºÖ(&5) +DLG_SSHSETUP_HOST_KEY_BORDER=<ȺÌzXgL[ASYÍgp³êܹñ> +DLG_SSHSETUP_MAC=Dæ·éASYÌ(&d) +DLG_SSHSETUP_MAC_UP=ãÖ(&6) +DLG_SSHSETUP_MAC_DOWN=ºÖ(&7) +DLG_SSHSETUP_MAC_BORDER=<ȺÌHMACASYÍgp³êܹñ> +DLG_SSHSETUP_COMP=Dæ·éASYÌ(&i) +DLG_SSHSETUP_COMP_UP=ãÖ(&8) +DLG_SSHSETUP_COMP_DOWN=ºÖ(&9) +DLG_SSHSETUP_COMP_BORDER=<Ⱥ̳kASYÍgp³êܹñ> DLG_SSHSETUP_KNOWNHOST=SSH Known Hosts DLG_SSHSETUP_KNOWNHOST_RW=ÇÝ«(&W): DLG_SSHSETUP_KNOWNHOST_RO=ÇÝæèêp(&R): Modified: trunk/ttssh2/ttxssh/resource.h =================================================================== --- trunk/ttssh2/ttxssh/resource.h 2011-04-15 14:38:56 UTC (rev 4441) +++ trunk/ttssh2/ttxssh/resource.h 2011-04-16 14:18:33 UTC (rev 4442) @@ -49,17 +49,30 @@ #define IDC_CONTINUE 1027 #define IDC_READONLYFILENAME 1027 #define IDC_HOSTWARNING 1028 +#define IDC_SSHKEX_LIST 1029 #define IDC_CHOOSEREADWRITEFILE 1030 #define IDC_CHOOSEREADONLYFILE 1031 #define IDC_CHOOSERSAFILE 1031 #define IDC_RSAFILENAME 1032 +#define IDC_SSHKEX_MOVEUP 1032 +#define IDC_SSHKEX_MOVEDOWN 1033 +#define IDC_SSHHOST_KEY_LIST 1034 +#define IDC_SSHHOST_KEY_MOVEUP 1035 #define IDC_SSHFWDLIST 1036 +#define IDC_SSHHOST_KEY_MOVEDOWN 1036 #define IDC_SSHFWDX11 1037 +#define IDC_SSHMAC_LIST 1037 #define IDC_SSHLTRFROMPORT 1038 +#define IDC_SSHMAC_MOVEUP 1038 #define IDC_SSHLTRTOHOST 1039 +#define IDC_SSHMAC_MOVEDOWN 1039 #define IDC_SSHLTRTOPORT 1040 +#define IDC_SSHCOMP_LIST 1040 #define IDC_SSHRTLFROMPORT 1041 +#define IDC_SSHCOMP_MOVEUP 1041 #define IDC_SSHRTLTOHOST 1042 +#define IDC_COMP_MOVEDOWN 1042 +#define IDC_SSHCOMP_MOVEDOWN 1042 #define IDC_SSHRTLTOPORT 1043 #define IDC_SSHFWDLOCALTOREMOTE 1044 #define IDC_SSHPASSWORDCAPTION 1045 @@ -118,9 +131,13 @@ #define IDC_STATIC6 1075 #define IDC_NOTICEBANNER 1075 #define IDC_HOSTWARNING2 1076 +#define IDC_KEX_ORDER 1076 #define IDC_HOSTFINGERPRINT 1077 +#define IDC_HOST_KEY_ORDER 1077 #define IDC_PORTFORWARD 1078 +#define IDC_MAC_ORDER 1078 #define IDC_XFORWARD 1079 +#define IDC_COMP_ORDER 1079 #define IDC_SSHFWDLOCALTOREMOTE_HOST 1080 #define IDC_SSHFWDLOCALTOREMOTE_PORT 1081 #define IDC_SSHFWDREMOTETOLOCAL_HOST 1082 Modified: trunk/ttssh2/ttxssh/ttxssh.c =================================================================== --- trunk/ttssh2/ttxssh/ttxssh.c 2011-04-15 14:38:56 UTC (rev 4441) +++ trunk/ttssh2/ttxssh/ttxssh.c 2011-04-16 14:18:33 UTC (rev 4442) @@ -2537,15 +2537,15 @@ } } -static void set_move_button_status(HWND dlg) +static void set_move_button_status(HWND dlg, int type, int up, int down) { - HWND cipherControl = GetDlgItem(dlg, IDC_SSHCIPHERPREFS); + HWND cipherControl = GetDlgItem(dlg, type); int curPos = (int) SendMessage(cipherControl, LB_GETCURSEL, 0, 0); int maxPos = (int) SendMessage(cipherControl, LB_GETCOUNT, 0, 0) - 1; - EnableWindow(GetDlgItem(dlg, IDC_SSHMOVECIPHERUP), + EnableWindow(GetDlgItem(dlg, up), curPos > 0 && curPos <= maxPos); - EnableWindow(GetDlgItem(dlg, IDC_SSHMOVECIPHERDOWN), + EnableWindow(GetDlgItem(dlg, down), curPos >= 0 && curPos < maxPos); } @@ -2553,6 +2553,10 @@ { HWND compressionControl = GetDlgItem(dlg, IDC_SSHCOMPRESSIONLEVEL); HWND cipherControl = GetDlgItem(dlg, IDC_SSHCIPHERPREFS); + HWND kexControl = GetDlgItem(dlg, IDC_SSHKEX_LIST); + HWND hostkeyControl = GetDlgItem(dlg, IDC_SSHHOST_KEY_LIST); + HWND macControl = GetDlgItem(dlg, IDC_SSHMAC_LIST); + HWND compControl = GetDlgItem(dlg, IDC_SSHCOMP_LIST); int i; int ch; char uimsg[MAX_UIMSG]; @@ -2569,6 +2573,7 @@ GetDlgItemText(dlg, IDC_COMPRESSHIGH, uimsg, sizeof(uimsg)); UTIL_get_lang_msg("DLG_SSHSETUP_COMPRESS_HIGHEST", pvar, uimsg); SetDlgItemText(dlg, IDC_COMPRESSHIGH, pvar->ts->UIMsg); + GetDlgItemText(dlg, IDC_CIPHERORDER, uimsg, sizeof(uimsg)); UTIL_get_lang_msg("DLG_SSHSETUP_CHIPER", pvar, uimsg); SetDlgItemText(dlg, IDC_CIPHERORDER, pvar->ts->UIMsg); @@ -2578,6 +2583,47 @@ GetDlgItemText(dlg, IDC_SSHMOVECIPHERDOWN, uimsg, sizeof(uimsg)); UTIL_get_lang_msg("DLG_SSHSETUP_CHIPER_DOWN", pvar, uimsg); SetDlgItemText(dlg, IDC_SSHMOVECIPHERDOWN, pvar->ts->UIMsg); + + GetDlgItemText(dlg, IDC_KEX_ORDER, uimsg, sizeof(uimsg)); + UTIL_get_lang_msg("DLG_SSHSETUP_KEX", pvar, uimsg); + SetDlgItemText(dlg, IDC_KEX_ORDER, pvar->ts->UIMsg); + GetDlgItemText(dlg, IDC_SSHKEX_MOVEUP, uimsg, sizeof(uimsg)); + UTIL_get_lang_msg("DLG_SSHSETUP_KEX_UP", pvar, uimsg); + SetDlgItemText(dlg, IDC_SSHKEX_MOVEUP, pvar->ts->UIMsg); + GetDlgItemText(dlg, IDC_SSHKEX_MOVEDOWN, uimsg, sizeof(uimsg)); + UTIL_get_lang_msg("DLG_SSHSETUP_KEX_DOWN", pvar, uimsg); + SetDlgItemText(dlg, IDC_SSHKEX_MOVEDOWN, pvar->ts->UIMsg); + + GetDlgItemText(dlg, IDC_HOST_KEY_ORDER, uimsg, sizeof(uimsg)); + UTIL_get_lang_msg("DLG_SSHSETUP_HOST_KEY", pvar, uimsg); + SetDlgItemText(dlg, IDC_HOST_KEY_ORDER, pvar->ts->UIMsg); + GetDlgItemText(dlg, IDC_SSHHOST_KEY_MOVEUP, uimsg, sizeof(uimsg)); + UTIL_get_lang_msg("DLG_SSHSETUP_HOST_KEY_UP", pvar, uimsg); + SetDlgItemText(dlg, IDC_SSHHOST_KEY_MOVEUP, pvar->ts->UIMsg); + GetDlgItemText(dlg, IDC_SSHHOST_KEY_MOVEDOWN, uimsg, sizeof(uimsg)); + UTIL_get_lang_msg("DLG_SSHSETUP_HOST_KEY_DOWN", pvar, uimsg); + SetDlgItemText(dlg, IDC_SSHHOST_KEY_MOVEDOWN, pvar->ts->UIMsg); + + GetDlgItemText(dlg, IDC_MAC_ORDER, uimsg, sizeof(uimsg)); + UTIL_get_lang_msg("DLG_SSHSETUP_MAC", pvar, uimsg); + SetDlgItemText(dlg, IDC_MAC_ORDER, pvar->ts->UIMsg); + GetDlgItemText(dlg, IDC_SSHMAC_MOVEUP, uimsg, sizeof(uimsg)); + UTIL_get_lang_msg("DLG_SSHSETUP_MAC_UP", pvar, uimsg); + SetDlgItemText(dlg, IDC_SSHMAC_MOVEUP, pvar->ts->UIMsg); + GetDlgItemText(dlg, IDC_SSHMAC_MOVEDOWN, uimsg, sizeof(uimsg)); + UTIL_get_lang_msg("DLG_SSHSETUP_MAC_DOWN", pvar, uimsg); + SetDlgItemText(dlg, IDC_SSHMAC_MOVEDOWN, pvar->ts->UIMsg); + + GetDlgItemText(dlg, IDC_COMP_ORDER, uimsg, sizeof(uimsg)); + UTIL_get_lang_msg("DLG_SSHSETUP_COMP", pvar, uimsg); + SetDlgItemText(dlg, IDC_COMP_ORDER, pvar->ts->UIMsg); + GetDlgItemText(dlg, IDC_SSHCOMP_MOVEUP, uimsg, sizeof(uimsg)); + UTIL_get_lang_msg("DLG_SSHSETUP_COMP_UP", pvar, uimsg); + SetDlgItemText(dlg, IDC_SSHCOMP_MOVEUP, pvar->ts->UIMsg); + GetDlgItemText(dlg, IDC_SSHCOMP_MOVEDOWN, uimsg, sizeof(uimsg)); + UTIL_get_lang_msg("DLG_SSHSETUP_COMP_DOWN", pvar, uimsg); + SetDlgItemText(dlg, IDC_SSHCOMP_MOVEDOWN, pvar->ts->UIMsg); + GetDlgItemText(dlg, IDC_KNOWNHOSTS, uimsg, sizeof(uimsg)); UTIL_get_lang_msg("DLG_SSHSETUP_KNOWNHOST", pvar, uimsg); SetDlgItemText(dlg, IDC_KNOWNHOSTS, pvar->ts->UIMsg); @@ -2616,6 +2662,7 @@ SendMessage(compressionControl, TBM_SETPOS, TRUE, pvar->settings.CompressionLevel); + // Cipher order normalize_cipher_order(pvar->settings.CipherOrder); for (i = 0; pvar->settings.CipherOrder[i] != 0; i++) { @@ -2628,8 +2675,92 @@ } SendMessage(cipherControl, LB_SETCURSEL, 0, 0); - set_move_button_status(dlg); + set_move_button_status(dlg, IDC_SSHCIPHERPREFS, IDC_SSHMOVECIPHERUP, IDC_SSHMOVECIPHERDOWN); + // KEX order + normalize_kex_order(pvar->settings.KexOrder); + for (i = 0; pvar->settings.KexOrder[i] != 0; i++) { + int index = pvar->settings.KexOrder[i] - '0'; + char FAR *name = NULL; + + if (index == 0) { + UTIL_get_lang_msg("DLG_SSHSETUP_KEX_BORDER", pvar, + "<KEXs below this line are disabled>"); + name = pvar->ts->UIMsg; + } else { + name = get_kex_algorithm_name(index); + } + + if (name != NULL) { + SendMessage(kexControl, LB_ADDSTRING, 0, (LPARAM) name); + } + } + SendMessage(kexControl, LB_SETCURSEL, 0, 0); + set_move_button_status(dlg, IDC_SSHKEX_LIST, IDC_SSHKEX_MOVEUP, IDC_SSHKEX_MOVEDOWN); + + // Host Key order + normalize_host_key_order(pvar->settings.HostKeyOrder); + for (i = 0; pvar->settings.HostKeyOrder[i] != 0; i++) { + int index = pvar->settings.HostKeyOrder[i] - '0'; + char FAR *name = NULL; + + if (index == 0) { + UTIL_get_lang_msg("DLG_SSHSETUP_HOST_KEY_BORDER", pvar, + "<Host Keys below this line are disabled>"); + name = pvar->ts->UIMsg; + } else { + name = get_ssh_keytype_name(index); + } + + if (name != NULL) { + SendMessage(hostkeyControl, LB_ADDSTRING, 0, (LPARAM) name); + } + } + SendMessage(hostkeyControl, LB_SETCURSEL, 0, 0); + set_move_button_status(dlg, IDC_SSHHOST_KEY_LIST, IDC_SSHHOST_KEY_MOVEUP, IDC_SSHHOST_KEY_MOVEDOWN); + + // MAC order + normalize_mac_order(pvar->settings.MacOrder); + for (i = 0; pvar->settings.MacOrder[i] != 0; i++) { + int index = pvar->settings.MacOrder[i] - '0'; + char FAR *name = NULL; + + if (index == 0) { + UTIL_get_lang_msg("DLG_SSHSETUP_MAC_BORDER", pvar, + "<MACs below this line are disabled>"); + name = pvar->ts->UIMsg; + } else { + name = get_ssh2_mac_name(index); + } + + if (name != NULL) { + SendMessage(macControl, LB_ADDSTRING, 0, (LPARAM) name); + } + } + SendMessage(macControl, LB_SETCURSEL, 0, 0); + set_move_button_status(dlg, IDC_SSHMAC_LIST, IDC_SSHMAC_MOVEUP, IDC_SSHMAC_MOVEDOWN); + + // Compression order + normalize_comp_order(pvar->settings.CompOrder); + for (i = 0; pvar->settings.CompOrder[i] != 0; i++) { + int index = pvar->settings.CompOrder[i] - '0'; + char FAR *name = NULL; + + if (index == 0) { + UTIL_get_lang_msg("DLG_SSHSETUP_COMP_BORDER", pvar, + "<Compressions below this line are disabled>"); + name = pvar->ts->UIMsg; + } else { + name = get_ssh2_comp_name(index); + } + + if (name != NULL) { + SendMessage(compControl, LB_ADDSTRING, 0, (LPARAM) name); + } + } + SendMessage(compControl, LB_SETCURSEL, 0, 0); + set_move_button_status(dlg, IDC_SSHCOMP_LIST, IDC_SSHCOMP_MOVEUP, IDC_SSHCOMP_MOVEDOWN); + for (i = 0; (ch = pvar->settings.KnownHostsFiles[i]) != 0 && ch != ';'; i++) { } @@ -2737,13 +2868,16 @@ char buf[4096]; char buf2[1024]; HWND compressionControl = GetDlgItem(dlg, IDC_SSHCOMPRESSIONLEVEL); - HWND cipherControl = GetDlgItem(dlg, IDC_SSHCIPHERPREFS); + HWND cipherControl; int i, j, buf2index, bufindex; - int count = (int) SendMessage(cipherControl, LB_GETCOUNT, 0, 0); + int count; pvar->settings.CompressionLevel = (int) SendMessage(compressionControl, TBM_GETPOS, 0, 0); + // Cipher order + cipherControl = GetDlgItem(dlg, IDC_SSHCIPHERPREFS); + count = (int) SendMessage(cipherControl, LB_GETCOUNT, 0, 0); buf2index = 0; for (i = 0; i < count; i++) { int len = SendMessage(cipherControl, LB_GETTEXTLEN, i, 0); @@ -2765,6 +2899,114 @@ normalize_cipher_order(buf2); strncpy_s(pvar->settings.CipherOrder, sizeof(pvar->settings.CipherOrder), buf2, _TRUNCATE); + // KEX order + cipherControl = GetDlgItem(dlg, IDC_SSHKEX_LIST); + count = (int) SendMessage(cipherControl, LB_GETCOUNT, 0, 0); + buf2index = 0; + for (i = 0; i < count; i++) { + int len = SendMessage(cipherControl, LB_GETTEXTLEN, i, 0); + + if (len > 0 && len < sizeof(buf)) { /* should always be true */ + buf[0] = 0; + SendMessage(cipherControl, LB_GETTEXT, i, (LPARAM) buf); + for (j = 0; + j <= KEX_DH_MAX + && strcmp(buf, get_kex_algorithm_name(j)) != 0; j++) { + } + if (j <= KEX_DH_MAX) { + buf2[buf2index] = '0' + j; + buf2index++; + } else { + buf2[buf2index] = '0'; // disabled line + buf2index++; + } + } + } + buf2[buf2index] = 0; + normalize_kex_order(buf2); + strncpy_s(pvar->settings.KexOrder, sizeof(pvar->settings.KexOrder), buf2, _TRUNCATE); + + // Host Key order + cipherControl = GetDlgItem(dlg, IDC_SSHHOST_KEY_LIST); + count = (int) SendMessage(cipherControl, LB_GETCOUNT, 0, 0); + buf2index = 0; + for (i = 0; i < count; i++) { + int len = SendMessage(cipherControl, LB_GETTEXTLEN, i, 0); + + if (len > 0 && len < sizeof(buf)) { /* should always be true */ + buf[0] = 0; + SendMessage(cipherControl, LB_GETTEXT, i, (LPARAM) buf); + for (j = 0; + j <= KEY_MAX + && strcmp(buf, get_ssh_keytype_name(j)) != 0; j++) { + } + if (j <= KEY_MAX) { + buf2[buf2index] = '0' + j; + buf2index++; + } else { + buf2[buf2index] = '0'; // disabled line + buf2index++; + } + } + } + buf2[buf2index] = 0; + normalize_host_key_order(buf2); + strncpy_s(pvar->settings.HostKeyOrder, sizeof(pvar->settings.HostKeyOrder), buf2, _TRUNCATE); + + // MAC order + cipherControl = GetDlgItem(dlg, IDC_SSHMAC_LIST); + count = (int) SendMessage(cipherControl, LB_GETCOUNT, 0, 0); + buf2index = 0; + for (i = 0; i < count; i++) { + int len = SendMessage(cipherControl, LB_GETTEXTLEN, i, 0); + + if (len > 0 && len < sizeof(buf)) { /* should always be true */ + buf[0] = 0; + SendMessage(cipherControl, LB_GETTEXT, i, (LPARAM) buf); + for (j = 0; + j <= HMAC_MAX + && strcmp(buf, get_ssh2_mac_name(j)) != 0; j++) { + } + if (j <= HMAC_MAX) { + buf2[buf2index] = '0' + j; + buf2index++; + } else { + buf2[buf2index] = '0'; // disabled line + buf2index++; + } + } + } + buf2[buf2index] = 0; + normalize_mac_order(buf2); + strncpy_s(pvar->settings.MacOrder, sizeof(pvar->settings.MacOrder), buf2, _TRUNCATE); + + // Compression order + cipherControl = GetDlgItem(dlg, IDC_SSHCOMP_LIST); + count = (int) SendMessage(cipherControl, LB_GETCOUNT, 0, 0); + buf2index = 0; + for (i = 0; i < count; i++) { + int len = SendMessage(cipherControl, LB_GETTEXTLEN, i, 0); + + if (len > 0 && len < sizeof(buf)) { /* should always be true */ + buf[0] = 0; + SendMessage(cipherControl, LB_GETTEXT, i, (LPARAM) buf); + for (j = 0; + j <= COMP_MAX + && strcmp(buf, get_ssh2_comp_name(j)) != 0; j++) { + } + if (j <= COMP_MAX) { + buf2[buf2index] = '0' + j; + buf2index++; + } else { + buf2[buf2index] = '0'; // disabled line + buf2index++; + } + } + } + buf2[buf2index] = 0; + normalize_comp_order(buf2); + strncpy_s(pvar->settings.CompOrder, sizeof(pvar->settings.CompOrder), buf2, _TRUNCATE); + buf[0] = 0; GetDlgItemText(dlg, IDC_READWRITEFILENAME, buf, sizeof(buf)); j = copy_teraterm_dir_relative_path(pvar->settings.KnownHostsFiles, @@ -2959,19 +3201,76 @@ DeleteObject(DlgSetupFont); } return TRUE; + // Cipher order case IDC_SSHMOVECIPHERUP: move_cur_sel_delta(GetDlgItem(dlg, IDC_SSHCIPHERPREFS), -1); - set_move_button_status(dlg); + set_move_button_status(dlg, IDC_SSHCIPHERPREFS, IDC_SSHMOVECIPHERUP, IDC_SSHMOVECIPHERDOWN); SetFocus(GetDlgItem(dlg, IDC_SSHCIPHERPREFS)); return TRUE; case IDC_SSHMOVECIPHERDOWN: move_cur_sel_delta(GetDlgItem(dlg, IDC_SSHCIPHERPREFS), 1); - set_move_button_status(dlg); + set_move_button_status(dlg, IDC_SSHCIPHERPREFS, IDC_SSHMOVECIPHERUP, IDC_SSHMOVECIPHERDOWN); SetFocus(GetDlgItem(dlg, IDC_SSHCIPHERPREFS)); return TRUE; case IDC_SSHCIPHERPREFS: - set_move_button_status(dlg); + set_move_button_status(dlg, IDC_SSHCIPHERPREFS, IDC_SSHMOVECIPHERUP, IDC_SSHMOVECIPHERDOWN); return TRUE; + // KEX order + case IDC_SSHKEX_MOVEUP: + move_cur_sel_delta(GetDlgItem(dlg, IDC_SSHKEX_LIST), -1); + set_move_button_status(dlg, IDC_SSHKEX_LIST, IDC_SSHKEX_MOVEUP, IDC_SSHKEX_MOVEDOWN); + SetFocus(GetDlgItem(dlg, IDC_SSHKEX_LIST)); + return TRUE; + case IDC_SSHKEX_MOVEDOWN: + move_cur_sel_delta(GetDlgItem(dlg, IDC_SSHKEX_LIST), 1); + set_move_button_status(dlg, IDC_SSHKEX_LIST, IDC_SSHKEX_MOVEUP, IDC_SSHKEX_MOVEDOWN); + SetFocus(GetDlgItem(dlg, IDC_SSHKEX_LIST)); + return TRUE; + case IDC_SSHKEX_LIST: + set_move_button_status(dlg, IDC_SSHKEX_LIST, IDC_SSHKEX_MOVEUP, IDC_SSHKEX_MOVEDOWN); + return TRUE; + // Host Key order + case IDC_SSHHOST_KEY_MOVEUP: + move_cur_sel_delta(GetDlgItem(dlg, IDC_SSHHOST_KEY_LIST), -1); + set_move_button_status(dlg, IDC_SSHHOST_KEY_LIST, IDC_SSHHOST_KEY_MOVEUP, IDC_SSHHOST_KEY_MOVEDOWN); + SetFocus(GetDlgItem(dlg, IDC_SSHHOST_KEY_LIST)); + return TRUE; + case IDC_SSHHOST_KEY_MOVEDOWN: + move_cur_sel_delta(GetDlgItem(dlg, IDC_SSHHOST_KEY_LIST), 1); + set_move_button_status(dlg, IDC_SSHHOST_KEY_LIST, IDC_SSHHOST_KEY_MOVEUP, IDC_SSHHOST_KEY_MOVEDOWN); + SetFocus(GetDlgItem(dlg, IDC_SSHHOST_KEY_LIST)); + return TRUE; + case IDC_SSHHOST_KEY_LIST: + set_move_button_status(dlg, IDC_SSHHOST_KEY_LIST, IDC_SSHHOST_KEY_MOVEUP, IDC_SSHHOST_KEY_MOVEDOWN); + return TRUE; + // Mac order + case IDC_SSHMAC_MOVEUP: + move_cur_sel_delta(GetDlgItem(dlg, IDC_SSHMAC_LIST), -1); + set_move_button_status(dlg, IDC_SSHMAC_LIST, IDC_SSHMAC_MOVEUP, IDC_SSHMAC_MOVEDOWN); + SetFocus(GetDlgItem(dlg, IDC_SSHMAC_LIST)); + return TRUE; + case IDC_SSHMAC_MOVEDOWN: + move_cur_sel_delta(GetDlgItem(dlg, IDC_SSHMAC_LIST), 1); + set_move_button_status(dlg, IDC_SSHMAC_LIST, IDC_SSHMAC_MOVEUP, IDC_SSHMAC_MOVEDOWN); + SetFocus(GetDlgItem(dlg, IDC_SSHMAC_LIST)); + return TRUE; + case IDC_SSHMAC_LIST: + set_move_button_status(dlg, IDC_SSHMAC_LIST, IDC_SSHMAC_MOVEUP, IDC_SSHMAC_MOVEDOWN); + return TRUE; + // Compression order + case IDC_SSHCOMP_MOVEUP: + move_cur_sel_delta(GetDlgItem(dlg, IDC_SSHCOMP_LIST), -1); + set_move_button_status(dlg, IDC_SSHCOMP_LIST, IDC_SSHCOMP_MOVEUP, IDC_SSHCOMP_MOVEDOWN); + SetFocus(GetDlgItem(dlg, IDC_SSHCOMP_LIST)); + return TRUE; + case IDC_SSHCOMP_MOVEDOWN: + move_cur_sel_delta(GetDlgItem(dlg, IDC_SSHCOMP_LIST), 1); + set_move_button_status(dlg, IDC_SSHCOMP_LIST, IDC_SSHCOMP_MOVEUP, IDC_SSHCOMP_MOVEDOWN); + SetFocus(GetDlgItem(dlg, IDC_SSHCOMP_LIST)); + return TRUE; + case IDC_SSHCOMP_LIST: + set_move_button_status(dlg, IDC_SSHCOMP_LIST, IDC_SSHCOMP_MOVEUP, IDC_SSHCOMP_MOVEDOWN); + return TRUE; case IDC_CHOOSEREADWRITEFILE: choose_read_write_file(dlg); return TRUE; Modified: trunk/ttssh2/ttxssh/ttxssh.rc =================================================================== --- trunk/ttssh2/ttxssh/ttxssh.rc 2011-04-15 14:38:56 UTC (rev 4441) +++ trunk/ttssh2/ttxssh/ttxssh.rc 2011-04-16 14:18:33 UTC (rev 4442) @@ -135,35 +135,51 @@ CONTROL "S&erial",IDC_HOSTSERIAL,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,8,89,37,8 END -IDD_SSHSETUP DIALOGEX 0, 0, 223, 282 +IDD_SSHSETUP DIALOGEX 0, 0, 626, 258 STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "TTSSH: Setup" FONT 8, "Tahoma", 0, 0, 0x0 BEGIN - LTEXT "None",IDC_COMPRESSNONE,85,4,18,8 - LTEXT "Highest",IDC_COMPRESSHIGH,175,4,25,8 - RTEXT "&Compression level:",IDC_COMPRESSLABEL,11,12,68,13 - CONTROL "Slider1",IDC_SSHCOMPRESSIONLEVEL,"msctls_trackbar32",TBS_AUTOTICKS | WS_GROUP | WS_TABSTOP,85,12,107,20 - GROUPBOX "&Preferred cipher order",IDC_CIPHERORDER,17,33,187,98 - LISTBOX IDC_SSHCIPHERPREFS,31,45,159,60,LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_GROUP | WS_TABSTOP - PUSHBUTTON "Move &Up",IDC_SSHMOVECIPHERUP,43,110,58,13,WS_GROUP - PUSHBUTTON "Move &Down",IDC_SSHMOVECIPHERDOWN,117,110,58,13 - GROUPBOX "SSH Known Hosts",IDC_KNOWNHOSTS,7,134,209,52 - PUSHBUTTON "Read/&write file:",IDC_CHOOSEREADWRITEFILE,14,145,63,14 - EDITTEXT IDC_READWRITEFILENAME,83,146,126,13,ES_AUTOHSCROLL | WS_GROUP - PUSHBUTTON "&Read-only files:",IDC_CHOOSEREADONLYFILE,14,163,63,14 - EDITTEXT IDC_READONLYFILENAME,83,164,126,13,ES_AUTOHSCROLL | WS_GROUP - LTEXT "HeartBeat(&keep-alive)",IDC_HEARTBEATLABEL,17,193,83,8 - EDITTEXT IDC_HEARTBEAT_EDIT,102,191,26,14,ES_AUTOHSCROLL | ES_NUMBER,WS_EX_RIGHT - LTEXT "sec.(0 to turn off)",IDC_HEARTBEATLABEL2,134,193,77,8 + GROUPBOX "&Preferred cipher order",IDC_CIPHERORDER,17,7,187,98 + LISTBOX IDC_SSHCIPHERPREFS,31,19,159,60,LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_GROUP | WS_TABSTOP + PUSHBUTTON "Move Up(&0)",IDC_SSHMOVECIPHERUP,43,84,58,13,WS_GROUP + PUSHBUTTON "Move Down(&1)",IDC_SSHMOVECIPHERDOWN,117,84,58,13 + GROUPBOX "K&EX order",IDC_KEX_ORDER,224,8,187,98 + LISTBOX IDC_SSHKEX_LIST,238,20,159,60,LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_GROUP | WS_TABSTOP + PUSHBUTTON "Move Up(&2)",IDC_SSHKEX_MOVEUP,250,85,58,13,WS_GROUP + PUSHBUTTON "Move Down(&3)",IDC_SSHKEX_MOVEDOWN,324,85,58,13 + GROUPBOX "Ho&st Key order",IDC_HOST_KEY_ORDER,423,8,187,98 + LISTBOX IDC_SSHHOST_KEY_LIST,437,23,159,60,LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_GROUP | WS_TABSTOP + PUSHBUTTON "Move Up(&4)",IDC_SSHHOST_KEY_MOVEUP,449,85,58,13,WS_GROUP + PUSHBUTTON "Move Down(&5)",IDC_SSHHOST_KEY_MOVEDOWN,523,85,58,13 + GROUPBOX "MAC or&der",IDC_MAC_ORDER,224,114,187,98 + LISTBOX IDC_SSHMAC_LIST,238,127,159,60,LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_GROUP | WS_TABSTOP + PUSHBUTTON "Move Up(&6)",IDC_SSHMAC_MOVEUP,250,191,58,13,WS_GROUP + PUSHBUTTON "Move Down(&7)",IDC_SSHMAC_MOVEDOWN,324,191,58,13 + GROUPBOX "Compress&ion order",IDC_COMP_ORDER,423,114,187,139 + LISTBOX IDC_SSHCOMP_LIST,437,127,159,60,LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_GROUP | WS_TABSTOP + PUSHBUTTON "Move Up(&8)",IDC_SSHCOMP_MOVEUP,449,191,58,13,WS_GROUP + PUSHBUTTON "Move Down(&9)",IDC_SSHCOMP_MOVEDOWN,523,191,58,13 + LTEXT "None",IDC_COMPRESSNONE,494,216,18,8 + LTEXT "Highest",IDC_COMPRESSHIGH,584,216,25,8 + RTEXT "&Compression level:",IDC_COMPRESSLABEL,420,224,68,13 + CONTROL "Slider1",IDC_SSHCOMPRESSIONLEVEL,"msctls_trackbar32",TBS_AUTOTICKS | WS_GROUP | WS_TABSTOP,494,224,107,20 + GROUPBOX "SSH Known Hosts",IDC_KNOWNHOSTS,7,108,209,52 + PUSHBUTTON "Read/&write file:",IDC_CHOOSEREADWRITEFILE,14,119,63,14 + EDITTEXT IDC_READWRITEFILENAME,83,120,126,13,ES_AUTOHSCROLL | WS_GROUP + PUSHBUTTON "&Read-only files:",IDC_CHOOSEREADONLYFILE,14,137,63,14 + EDITTEXT IDC_READONLYFILENAME,83,138,126,13,ES_AUTOHSCROLL | WS_GROUP + LTEXT "HeartBeat(&keep-alive)",IDC_HEARTBEATLABEL,17,167,83,8 + EDITTEXT IDC_HEARTBEAT_EDIT,102,165,26,14,ES_AUTOHSCROLL | ES_NUMBER,WS_EX_RIGHT + LTEXT "sec.(0 to turn off)",IDC_HEARTBEATLABEL2,134,167,77,8 CONTROL "Remember password in &memory",IDC_REMEMBERPASSWORD, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,207,187,10 - CONTROL "Enable &agent forwarding",IDC_FORWARDAGENT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,221,187,10 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,181,187,10 + CONTROL "Enable &agent forwarding",IDC_FORWARDAGENT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,195,187,10 CONTROL "C&onfirm agent forwarding",IDC_FORWARDAGENTCONFIRM, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,235,187,10 - LTEXT "All options take effect the next time a session is started.",IDC_NOTICEBANNER,17,249,187,12 - DEFPUSHBUTTON "OK",IDOK,49,263,50,14 - PUSHBUTTON "Cancel",IDCANCEL,119,263,50,14 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,17,209,187,10 + LTEXT "All options take effect the next time a session is started.",IDC_NOTICEBANNER,17,223,187,12 + DEFPUSHBUTTON "OK",IDOK,49,237,50,14 + PUSHBUTTON "Cancel",IDCANCEL,119,237,50,14 END IDD_SSHUNKNOWNHOST DIALOGEX 0, 0, 215, 242 @@ -416,9 +432,9 @@ IDD_SSHSETUP, DIALOG BEGIN LEFTMARGIN, 7 - RIGHTMARGIN, 216 + RIGHTMARGIN, 619 TOPMARGIN, 4 - BOTTOMMARGIN, 277 + BOTTOMMARGIN, 253 END IDD_SSHUNKNOWNHOST, DIALOG