1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-01-25 01:02:24 +00:00
putty-source/unix
Simon Tatham b9a25510b0 Centralise PuTTY and Plink's non-option argument handling.
This is another piece of long-overdue refactoring similar to the
recent commit e3796cb77. But where that one dealt with normalisation
of stuff already stored _in_ a Conf by whatever means (including, in
particular, handling a user typing 'username@host.name' into the
Hostname box of the GUI session dialog box), this one deals with
handling argv entries and putting them into the Conf.

This isn't exactly a pure no-functional-change-at-all refactoring. On
the other hand, it isn't a full-on cleanup that completely
rationalises all the user-visible behaviour as well as the code
structure. It's somewhere in between: I've preserved all the behaviour
quirks that I could imagine a reason for having intended, but taken
the opportunity to _not_ faithfully replicate anything I thought was
clearly just a bug.

So, for example, the following inconsistency is carefully preserved:
the command 'plink -load session nextword' treats 'nextword' as a host
name if the loaded session hasn't provided a hostname already, and
otherwise treats 'nextword' as the remote command to execute on the
already-specified remote host, but the same combination of arguments
to GUI PuTTY will _always_ treat 'nextword' as a hostname, overriding
a hostname (if any) in the saved session. That makes some sense to me
because of the different shapes of the overall command lines.

On the other hand, there are two behaviour changes I know of as a
result of this commit: a third argument to GUI PuTTY (after a hostname
and port) now provokes an error message instead of being silently
ignored, and in Plink, if you combine a -P option (specifying a port
number) with the historical comma-separated protocol selection prefix
on the hostname argument (which I'd completely forgotten even existed
until this piece of work), then the -P will now override the selected
protocol's default port number, whereas previously the default port
would win. For example, 'plink -P 12345 telnet,hostname' will now
connect via Telnet to port 12345 instead of to port 23.

There may be scope for removing or rethinking some of the command-
line syntax quirks in the wake of this change. If we do decide to do
anything like that, then hopefully having it all in one place will
make it easier to remove or change things consistently across the
tools.
2017-12-07 20:13:33 +00:00
..
configure Move the Unix configure script up to the top level. 2014-02-22 18:01:32 +00:00
gtkapp.c Knock off another refactoring from the OS X to-do list. 2017-11-27 20:45:14 +00:00
gtkask.c Unix buildinfo: stop saying 'GTK' in pure CLI utilities. 2017-02-22 22:10:05 +00:00
gtkcfg.c On OS X, be able to configure either Option or Command as Meta. 2015-09-01 19:12:19 +01:00
gtkcols.c Memory leak: add a columns_finalize() method. 2017-11-26 11:36:00 +00:00
gtkcols.h New Columns method, columns_force_same_height(). 2015-08-24 19:34:23 +01:00
gtkcomm.c Remove the post_main() mechanism. 2017-11-26 20:03:12 +00:00
gtkcompat.h GTK2: Return 2.20 compatibility back 2017-02-23 20:03:01 +00:00
gtkdlg.c Remove the modal message_box function completely. 2017-11-26 20:02:00 +00:00
gtkfont.c Handle GTK 3.22's deprecation of gdk_cairo_create(). 2017-02-27 19:58:39 +00:00
gtkfont.h Handle GTK 3.22's deprecation of gdk_cairo_create(). 2017-02-27 19:58:39 +00:00
gtkmain.c Centralise PuTTY and Plink's non-option argument handling. 2017-12-07 20:13:33 +00:00
gtkmisc.c Include the compile-time GTK version in the build info. 2017-02-15 19:32:42 +00:00
gtkmisc.h Move more functions into the new gtkmisc.c. 2015-08-31 15:45:43 +01:00
gtkwin.c ctrl-shift-page-up/down to top or bottom of scrollback 2017-12-03 15:35:40 +00:00
osxlaunch.c resolve (no real impact) issue found by cppcheck: 2017-06-19 21:42:16 +05:00
pterm.bundle OS X makefile: stop depending on JHBUILD_PREFIX. 2017-11-26 11:45:48 +00:00
pterm.plist Create OS X application bundles for PuTTY and pterm. 2016-03-23 22:22:48 +00:00
putty.bundle OS X makefile: stop depending on JHBUILD_PREFIX. 2017-11-26 11:45:48 +00:00
putty.plist Create OS X application bundles for PuTTY and pterm. 2016-03-23 22:22:48 +00:00
unix.h Centralise PuTTY and Plink's non-option argument handling. 2017-12-07 20:13:33 +00:00
ux_x11.c Post-release destabilisation! Completely remove the struct type 2011-07-14 18:52:21 +00:00
uxagentc.c Memory leak: free conn->retbuf in uxagentc.c. 2017-11-26 11:32:34 +00:00
uxcfg.c Post-release destabilisation! Completely remove the struct type 2011-07-14 18:52:21 +00:00
uxcons.c Add some missing checks for EINTR after select(2). 2017-01-06 19:29:06 +00:00
uxgen.c cmdgen: option to specify the random number device to use. 2016-03-30 08:30:40 +01:00
uxgss.c Post-release destabilisation! Completely remove the struct type 2011-07-14 18:52:21 +00:00
uxmisc.c Fix memory leak in the new make_dir_path(). 2016-08-10 19:34:46 +01:00
uxnet.c Fix stale-pointer bugs in connection-fatal network errors. 2017-11-26 19:59:27 +00:00
uxnogtk.c Include the compile-time GTK version in the build info. 2017-02-15 19:32:42 +00:00
uxnoise.c Fix minor file descriptor leaks. Found by cppcheck, reported by Tim Kosse. 2009-09-16 22:28:20 +00:00
uxpeer.c Log identifying information for the other end of connections. 2015-05-18 14:03:10 +01:00
uxpgnt.c Get rid of fatalbox() completely. 2017-11-26 17:43:02 +00:00
uxplink.c Centralise PuTTY and Plink's non-option argument handling. 2017-12-07 20:13:33 +00:00
uxprint.c Update to r8614: another -D_FORTIFY_SOURCE=2 fix. 2010-02-20 11:21:25 +00:00
uxproxy.c unix: make uxsel callback functions return void. 2017-05-14 16:34:48 +01:00
uxpterm.c Centralise PuTTY and Plink's non-option argument handling. 2017-12-07 20:13:33 +00:00
uxpty.c Reinstate the SIGCHLD handler in ptermapp. 2017-11-26 11:42:22 +00:00
uxputty.c Centralise PuTTY and Plink's non-option argument handling. 2017-12-07 20:13:33 +00:00
uxsel.c unix: make select_result() return void. 2017-05-14 16:34:48 +01:00
uxser.c unix: make uxsel callback functions return void. 2017-05-14 16:34:48 +01:00
uxsftp.c Unix buildinfo: stop saying 'GTK' in pure CLI utilities. 2017-02-22 22:10:05 +00:00
uxshare.c Move make_dir_and_check_ours() out into uxmisc.c. 2015-05-05 20:16:22 +01:00
uxsignal.c Rename some of the more stupidly named files in the Unix back end. 2004-12-31 13:02:46 +00:00
uxstore.c Put in some explicit null-pointer checks. 2017-02-14 23:25:25 +00:00
uxucs.c Giant const-correctness patch of doom! 2015-05-15 12:47:44 +01:00
x11misc.c Ignore X11 BadMatch errors during cut buffer setup. 2016-03-20 18:30:03 +00:00
x11misc.h Ignore X11 BadMatch errors during cut buffer setup. 2016-03-20 18:30:03 +00:00
xkeysym.c Support for non-ISO-8859-1 X keysyms. So in particular, pterm in a 2003-04-27 11:10:48 +00:00
xpmptcfg.c Tweak the icon script, and the generated icons, to more closely 2007-01-07 10:17:12 +00:00
xpmpterm.c Tweak the icon script, and the generated icons, to more closely 2007-01-07 10:17:12 +00:00
xpmpucfg.c Tweak the icon script, and the generated icons, to more closely 2007-01-07 10:17:12 +00:00
xpmputty.c Tweak the icon script, and the generated icons, to more closely 2007-01-07 10:17:12 +00:00