diff --git a/cmdline.c b/cmdline.c index fbf1e5c9..92c87b3b 100644 --- a/cmdline.c +++ b/cmdline.c @@ -575,8 +575,19 @@ int cmdline_process_param(const char *p, char *value, } } - if (!strcmp(p, "-sessionlog") || - !strcmp(p, "-sshlog") || + if (!strcmp(p, "-sessionlog")) { + Filename *fn; + RETURN(2); + UNAVAILABLE_IN(TOOLTYPE_FILETRANSFER); + /* but available even in TOOLTYPE_NONNETWORK, cf pterm "-log" */ + SAVEABLE(0); + fn = filename_from_str(value); + conf_set_filename(conf, CONF_logfilename, fn); + conf_set_int(conf, CONF_logtype, LGTYP_DEBUG); + filename_free(fn); + } + + if (!strcmp(p, "-sshlog") || !strcmp(p, "-sshrawlog")) { Filename *fn; RETURN(2); @@ -585,7 +596,6 @@ int cmdline_process_param(const char *p, char *value, fn = filename_from_str(value); conf_set_filename(conf, CONF_logfilename, fn); conf_set_int(conf, CONF_logtype, - !strcmp(p, "-sessionlog") ? LGTYP_DEBUG : !strcmp(p, "-sshlog") ? LGTYP_PACKETS : /* !strcmp(p, "-sshrawlog") ? */ LGTYP_SSHRAW); filename_free(fn); diff --git a/doc/man-pl.but b/doc/man-pl.but index 6a358cea..b597b83f 100644 --- a/doc/man-pl.but +++ b/doc/man-pl.but @@ -184,6 +184,20 @@ DSR/DTR. } +\dt \cw{\-sshlog} \e{logfile} + +\dt \cw{\-sshrawlog} \e{logfile} + +\dd For SSH connections, these options make \cw{plink} log protocol +details to a file. (Some of these may be sensitive, although by default +an effort is made to suppress obvious passwords.) + +\lcont{ +\cw{\-sshlog} logs decoded SSH packets and other events (those that +\cw{\-v} would print). \cw{\-sshrawlog} additionally logs the raw +encrypted packet data. +} + \S{plink-manpage-more-information} MORE INFORMATION For more information on plink, it's probably best to go and look at diff --git a/doc/man-pscp.but b/doc/man-pscp.but index 5cd5ac8c..1b95d4d2 100644 --- a/doc/man-pscp.but +++ b/doc/man-pscp.but @@ -115,6 +115,20 @@ written. } \dd Force use of SFTP protocol. +\dt \cw{\-sshlog} \e{logfile} + +\dt \cw{\-sshrawlog} \e{logfile} + +\dd These options make \cw{pscp} log protocol details to a file. +(Some of these may be sensitive, although by default an effort is made +to suppress obvious passwords.) + +\lcont{ +\cw{\-sshlog} logs decoded SSH packets and other events (those that +\cw{\-v} would print). \cw{\-sshrawlog} additionally logs the raw +encrypted packet data. +} + \S{pscp-manpage-more-information} MORE INFORMATION For more information on \cw{pscp} it's probably best to go and look at diff --git a/doc/man-psft.but b/doc/man-psft.but index f24d7206..0194779a 100644 --- a/doc/man-psft.but +++ b/doc/man-psft.but @@ -95,6 +95,20 @@ accepted (unless a saved session also overrides host keys, in which case those will be added to), and the host key cache will not be written. } +\dt \cw{\-sshlog} \e{logfile} + +\dt \cw{\-sshrawlog} \e{logfile} + +\dd These options make \cw{psftp} log protocol details to a file. +(Some of these may be sensitive, although by default an effort is made +to suppress obvious passwords.) + +\lcont{ +\cw{\-sshlog} logs decoded SSH packets and other events (those that +\cw{\-v} would print). \cw{\-sshrawlog} additionally logs the raw +encrypted packet data. +} + \S{psftp-manpage-commands} COMMANDS For a list of commands available inside \cw{psftp}, type \cw{help} diff --git a/doc/man-ptel.but b/doc/man-ptel.but index c0ee9c64..07a756b1 100644 --- a/doc/man-ptel.but +++ b/doc/man-ptel.but @@ -109,7 +109,7 @@ changed under control of the server.) to specify it explicitly if you have changed the default using the \cw{ScrollBar} resource. -\dt \cw{\-log} \e{filename} +\dt \cw{\-log} \e{logfile}, \cw{\-sessionlog} \e{logfile} \dd This option makes \cw{puttytel} log all the terminal output to a file as well as displaying it in the terminal. diff --git a/doc/man-pter.but b/doc/man-pter.but index a357e3e3..26d5842d 100644 --- a/doc/man-pter.but +++ b/doc/man-pter.but @@ -153,7 +153,7 @@ default using the \cw{LoginShell} resource. to specify it explicitly if you have changed the default using the \cw{ScrollBar} resource. -\dt \cw{\-log} \e{filename} +\dt \cw{\-log} \e{logfile}, \cw{\-sessionlog} \e{logfile} \dd This option makes \cw{pterm} log all the terminal output to a file as well as displaying it in the terminal. diff --git a/doc/man-putt.but b/doc/man-putt.but index 76694def..67bcba83 100644 --- a/doc/man-putt.but +++ b/doc/man-putt.but @@ -108,11 +108,24 @@ changed under control of the server.) to specify it explicitly if you have changed the default using the \cw{ScrollBar} resource. -\dt \cw{\-log} \e{filename} +\dt \cw{\-log} \e{logfile}, \cw{\-sessionlog} \e{logfile} \dd This option makes \cw{putty} log all the terminal output to a file as well as displaying it in the terminal. +\dt \cw{\-sshlog} \e{logfile} + +\dt \cw{\-sshrawlog} \e{logfile} + +\dd For SSH connections, these options make \cw{putty} log protocol +details to a file. (Some of these may be sensitive, although by default +an effort is made to suppress obvious passwords.) + +\lcont{ +\cw{\-sshlog} logs decoded SSH packets and other events (those that +\cw{\-v} would print). \cw{\-sshrawlog} additionally logs the raw +encrypted packet data. +} \dt \cw{\-cs} \e{charset} diff --git a/pscp.c b/pscp.c index 0b37def1..a4e55fe0 100644 --- a/pscp.c +++ b/pscp.c @@ -2239,6 +2239,9 @@ static void usage(void) printf(" -unsafe allow server-side wildcards (DANGEROUS)\n"); printf(" -sftp force use of SFTP protocol\n"); printf(" -scp force use of SCP protocol\n"); + printf(" -sshlog file\n"); + printf(" -sshrawlog file\n"); + printf(" log protocol details to a file\n"); #if 0 /* * -gui is an internal option, used by GUI front ends to get diff --git a/psftp.c b/psftp.c index 93a96a4e..92b57a2f 100644 --- a/psftp.c +++ b/psftp.c @@ -2647,6 +2647,9 @@ static void usage(void) printf(" -hostkey aa:bb:cc:...\n"); printf(" manually specify a host key (may be repeated)\n"); printf(" -batch disable all interactive prompts\n"); + printf(" -sshlog file\n"); + printf(" -sshrawlog file\n"); + printf(" log protocol details to a file\n"); cleanup_exit(1); } diff --git a/unix/gtkwin.c b/unix/gtkwin.c index 872e6bb9..b1c86dd8 100644 --- a/unix/gtkwin.c +++ b/unix/gtkwin.c @@ -3749,7 +3749,7 @@ static void help(FILE *fp) { " -ut, +ut Do(default) or do not update utmp\n" " -ls, +ls Do(default) or do not make shell a login shell\n" " -sb, +sb Do(default) or do not display a scrollbar\n" -" -log PATH Log all output to a file\n" +" -log PATH, -sessionlog PATH Log all output to a file\n" " -nethack Map numeric keypad to hjklyubn direction keys\n" " -xrm RESOURCE-STRING Set an X resource\n" " -e COMMAND [ARGS...] Execute command (consumes all remaining args)\n" diff --git a/unix/uxplink.c b/unix/uxplink.c index b8c55489..3d3a645f 100644 --- a/unix/uxplink.c +++ b/unix/uxplink.c @@ -581,6 +581,9 @@ static void usage(void) printf(" -N don't start a shell/command (SSH-2 only)\n"); printf(" -nc host:port\n"); printf(" open tunnel in place of session (SSH-2 only)\n"); + printf(" -sshlog file\n"); + printf(" -sshrawlog file\n"); + printf(" log protocol details to a file\n"); printf(" -shareexists\n"); printf(" test whether a connection-sharing upstream exists\n"); exit(1); diff --git a/windows/winplink.c b/windows/winplink.c index 78311b59..ac4dab29 100644 --- a/windows/winplink.c +++ b/windows/winplink.c @@ -212,6 +212,9 @@ static void usage(void) printf(" -N don't start a shell/command (SSH-2 only)\n"); printf(" -nc host:port\n"); printf(" open tunnel in place of session (SSH-2 only)\n"); + printf(" -sshlog file\n"); + printf(" -sshrawlog file\n"); + printf(" log protocol details to a file\n"); printf(" -shareexists\n"); printf(" test whether a connection-sharing upstream exists\n"); exit(1);