At long last: PuTTY will now report its version to the server

sensibly, as a release or a snapshot or a local build. With any luck
this should make bug reporting easier to handle, because anyone who
sends their Event Log should automatically include the version :-)

[originally from svn r1003]
This commit is contained in:
Simon Tatham 2001-03-15 12:15:02 +00:00
Родитель a405770ec5
Коммит 080d59422b
3 изменённых файлов: 19 добавлений и 3 удалений

8
ssh.c
Просмотреть файл

@ -1193,7 +1193,8 @@ static int do_ssh_init(unsigned char c) {
/* /*
* This is a v2 server. Begin v2 protocol. * This is a v2 server. Begin v2 protocol.
*/ */
char *verstring = "SSH-2.0-PuTTY"; char verstring[80];
sprintf(verstring, "SSH-2.0-%s", sshver);
SHA_Init(&exhashbase); SHA_Init(&exhashbase);
/* /*
* Hash our version string and their version string. * Hash our version string and their version string.
@ -1212,8 +1213,9 @@ static int do_ssh_init(unsigned char c) {
/* /*
* This is a v1 server. Begin v1 protocol. * This is a v1 server. Begin v1 protocol.
*/ */
sprintf(vstring, "SSH-%s-PuTTY\n", sprintf(vstring, "SSH-%s-%s\n",
(ssh_versioncmp(version, "1.5") <= 0 ? version : "1.5")); (ssh_versioncmp(version, "1.5") <= 0 ? version : "1.5"),
sshver);
sprintf(vlog, "We claim version: %s", vstring); sprintf(vlog, "We claim version: %s", vstring);
vlog[strcspn(vlog, "\r\n")] = '\0'; vlog[strcspn(vlog, "\r\n")] = '\0';
logevent(vlog); logevent(vlog);

5
ssh.h
Просмотреть файл

@ -182,6 +182,11 @@ extern const struct ssh_mac ssh_md5;
extern const struct ssh_mac ssh_sha1; extern const struct ssh_mac ssh_sha1;
extern const struct ssh_mac ssh_sha1_buggy; extern const struct ssh_mac ssh_sha1_buggy;
/*
* PuTTY version number formatted as an SSH version string.
*/
extern char sshver[];
#ifndef MSCRYPTOAPI #ifndef MSCRYPTOAPI
void SHATransform(word32 *digest, word32 *data); void SHATransform(word32 *digest, word32 *data);
#endif #endif

Просмотреть файл

@ -8,13 +8,22 @@
#if defined SNAPSHOT #if defined SNAPSHOT
char ver[] = "Development snapshot " STR(SNAPSHOT); char ver[] = "Development snapshot " STR(SNAPSHOT);
char sshver[] = "PuTTY-Snapshot-" STR(SNAPSHOT);
#elif defined RELEASE #elif defined RELEASE
char ver[] = "Release " STR(RELEASE); char ver[] = "Release " STR(RELEASE);
char sshver[] = "PuTTY-Release-" STR(RELEASE);
#else #else
char ver[] = "Unidentified build, " __DATE__ " " __TIME__; char ver[] = "Unidentified build, " __DATE__ " " __TIME__;
char sshver[] = "PuTTY-Local: " __DATE__ " " __TIME__;
#endif #endif
/*
* SSH local version string MUST be under 40 characters. Here's a
* compile time assertion to verify this.
*/
enum { vorpal_sword = 1 / (sizeof(sshver) <= 40) };