Timeline

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

28 check-ins using file unix/gtkwin.c version d11a08f17b

2011-08-18
05:47
Fix a suspected bug in PSCP's SCP protocol fallback from r9214 (untested since I don't have access to a server that still needs this fallback). check-in: 35ad2471cb user: jacob tags: trunk
05:45
Restore data-bits options for "-sercfg" that were accidentally lost in r9214. check-in: 96a0aff613 user: jacob tags: trunk
2011-08-13
09:48
Readjust Pageant's SID check _again_, to make it the union of the policies before and after r9178, and hence able to talk to both 0.60-like and 0.61-like clients. I had failed to consider that many pieces of code derived from PuTTY would have imported the Pageant client code, so we shouldn't randomly stop supporting things just because _we_ aren't using them any more. check-in: 7ccaeb366c user: simon tags: trunk
2011-08-12
12:28
Updates to svn:ignore: ignore libversion.a in the top-level directory (for people doing their builds there), and ignore 'compile' in the unix subdirectory (a dropping from autotools that I missed). check-in: dee503b112 user: simon tags: trunk
2011-08-11
13:13
If we're printing password prompts to /dev/tty rather than standard error, we should also read the corresponding password inputs from /dev/tty. That way, redirection of Plink's standard input will play nicely with SSH sessions that need interactive login. (This is what we get for disdaining getpass(3) and going it alone, of course. But we had no choice, due to the extra output part way through keyboard-interactive.) check-in: 8196d21cac user: simon tags: trunk
12:59
Propagate file permissions in both directions in Unix pscp and psftp. I think I have to consider this to be a separate but related change to the wishlist item 'pscp-filemodes'; that was written before the Unix port existed, and referred to the ability to configure the permissions used for files copied from Windows to Unix - which is still not done. check-in: 797da58367 user: simon tags: trunk
2011-07-27
13:43
Fix bug in which the SSH-only tools (pscp, psftp) did not honour a nonstandard port number when loading a saved session. Occurs because those tools include be_none.c which defines no entries in backends[] at all, as a result of which settings.c doesn't recognise the word 'ssh' in the saved session's protocol field and instead sets the protocol to something idiotic - which _then_ means that when pscp.c forces the protocol to PROT_SSH, it also resets the port number as it would when overriding a saved session specifying a protocol other than SSH. The immediate solution is to define a new be_ssh.c citing only ssh_backend, and include that in the SSH-only tools. However, I wonder if a better approach (perhaps when I redesign session loading and saving) would be not to be so clever, and just have all the tools contain a complete list of known protocol names for purposes of understanding what's in the saved session data, and complain if you try to use one they don't know how to actually speak. check-in: 1cf8e55201 user: simon tags: trunk
2011-07-23
06:58
Add a convenience option to mkfiles.pl for Unix users. If you run 'mkfiles.pl -u', it will do its normal processing, then run mkauto.sh to regenerate configure and Makefile.in, then run configure in the Unix subdirectory to regenerate unix/Makefile. So it's a handy one-stop shop for going all the way from a modified Recipe to the end-product Unix makefile, if you're adding source files during development. check-in: 1159f161a7 user: simon tags: trunk
06:40
Add a wrapper script called 'configure' at the top level, which runs the real configure script from the unix subdirectory, but with cwd unchanged so that you end up doing a VPATH build in the top-level source directory. Should, ideally, placate the people who expect 'configure' to be at the top level, while still letting _me_ keep all the Unix-specific stuff in the Unix subdirectory. check-in: 305236bf03 user: simon tags: trunk
06:36
Rename --with-gtk-version to --with-gtk, and support its negation --without-gtk as a means of manually overriding the makefile into one building the command-line tools only (as it would if GTK were not found at all at configure time). check-in: fa0c434b75 user: simon tags: trunk
06:33
Switch to using automake for the Unix autoconfigured build. mkfiles.pl no longer generates a Makefile.in, but instead generates a Makefile.am on which mkauto.sh runs automake. This means that the autoconfigured makefile now does build-time dependency tracking (a standard feature of automake-generated makefiles), and is generally more like what Unix people will expect. Some of the old-style make command-line settings (VER=-DRELEASE=foo, XFLAGS=-DDEBUG) will still work; the COMPAT settings are better done by autoconfiguration, and my habitual 'XFLAGS="-g -O0"' for an easily debuggable build will actually not work any more because CFLAGS is specified _after_ XFLAGS, so I should instead write 'make CFLAGS=-O0' (-g is the default in automake, removed at 'make install' time). The new makefile will automatically degrade into one that builds the command-line tools only, in the case where GTK could not be found. In principle, therefore, it should be an adequate replacement for _both_ the static Unix makefiles, Makefile.gtk and Makefile.ux. I haven't actually retired those in this commit, but I'm pretty tempted. check-in: 5673b9ee77 user: simon tags: trunk
2011-07-20
12:50
When we check for libX11 in the autoconf script, add it to $GTK_LIBS on success rather than to $LIBS, because it's only used in the GUI tools and we don't want the command-line tools linked against it. check-in: 0aef2c9483 user: simon tags: trunk
10:55
Fix 'Duplicate Session' on Windows, broken during the config revamp. (In an embarrassingly silly way, too. No end of difficult stuff about Conf serialisation done with great care and working just fine, and then a trivial goof in using sscanf lets the whole lot down.) check-in: 552d854ddf user: simon tags: trunk
2011-07-19
12:06
Trivial fix for assertion failure introduced by the config revamp. Spotted by Leonid Lisovskiy. check-in: a1d007c7bc user: simon tags: trunk
2011-07-18
13:09
Minor amendment to r9226: don't log GSSAPI failure in the Event Log twice. (Once in the GSSAPI code, once at the top of the main auth loop. Removed the latter.) check-in: 5ba3965a58 user: simon tags: trunk
13:04
Reinstate a missing invocation of the FONT_QUALITY macro which I accidentally removed in the big config revamp. check-in: 73aacdd5a1 user: simon tags: trunk
2011-07-17
17:35
Fix a typo in r9214 that plausibly explains a resizing weirdness I had with today's snapshot on Windows. check-in: 322ea75b60 user: jacob tags: trunk
17:17
Fix version reporting in Unix builds versioned by a specific svn revision ('Custom build r1234'). Those builds were passing '-DSVN_REV=r1234' to version.c, instead of -DSVN_REV=1234 as they should have, leading to silly run-time version messages such as 'plink: Custom build rr9226'. To chop the r off the front of the revision string passed in, I've used a bashism in mkunxarc.sh. I think this is an acceptable extra dependency. check-in: 1826aa4c4e user: simon tags: trunk
17:17
--with-gtk-version option to configure, so you can explicitly tell it which GTK version you want to build with if both are installed. Based on a patch by Malcolm Smith, though somewhat modified. check-in: 1f7aaf36c7 user: simon tags: trunk
17:17
Support for re-running autoconf in the absence of the autoconf macro files which provide auto-detection of GTK 1 and GTK 2. This makes it easier for casual PuTTY developers to rerun autoconf for their own purposes without having to install obscure extra packages. Obviously the resulting configure script will not know how to detect whichever version of GTK they didn't have support for, so it won't be product- quality by my standards, but it should be good enough that they can prepare unrelated patches to send to us. check-in: 442e9e10a6 user: simon tags: trunk
2011-07-16
07:06
Reorganise the logging and display of messages about SSH authentication. We should now produce an Event Log entry for every authentication attempted and every authentication failure; meanwhile, messages in the PuTTY window will not be generated for the failure of auth types unless we also announced in the PuTTY window that we were trying them. (GSSAPI was getting the latter wrong, leading to spurious 'Access denied' for many users of 0.61.) check-in: 068c9141e5 user: simon tags: trunk
07:03
Mostly cosmetic change: don't claim to have found an SSH agent if SSH_AUTH_SOCK is defined to the empty string. (Because a common way to 'unset' it is to run commands like 'SSH_AUTH_SOCK= putty -load thing'.) check-in: 1e2bd9c501 user: simon tags: trunk
06:13
Fix display of VT100 vertically-offset horizontal line characters (o,p,r,s). They are displayed in Windows by actually writing the centred one (q) with a vertical offset, in case fonts don't have the offset versions; this requires terminal.c to separate those characters into distinct calls to do_text(). Unfortunately, it was only breaking up a text-drawing call _before_ one of those characters, not after one. Spotted by Robert de Bath. check-in: 212f345d1f user: simon tags: trunk
2011-07-15
13:30
Don't delete everything under a string-subkeyed primary key by using a loop that fetches the next item using conf_get_str_strs and passing the previous key as a parameter, because the previous key will have been freed by the intervening conf_del_str_str. Instead, use the technique of repeatedly using conf_get_str_nthstrkey with index 0 and deleting what comes back, as PSCP and PSFTP do. Spotted by Minefield with the aid of Jacob, or possibly vice versa. check-in: b26163158f user: simon tags: trunk
13:21
Missing free. check-in: 37a083ba13 user: simon tags: trunk
13:18
conf_copy_into must empty the entire target conf before filling it with the entries from the source one, otherwise add234 will keep failing ("this key already exists"). Completely broke Plink, ahem. check-in: 976bebec7b user: simon tags: trunk
11:03
When doing manual underlining, underline the text in question rather than a box to the right of it. Probably introduced sometime around r9063. check-in: 08a0d45df9 user: jacob tags: trunk
2011-07-14
13:52
Post-release destabilisation! Completely remove the struct type 'Config' in putty.h, which stores all PuTTY's settings and includes an arbitrary length limit on every single one of those settings which is stored in string form. In place of it is 'Conf', an opaque data type everywhere outside the new file conf.c, which stores a list of (key, value) pairs in which every key contains an integer identifying a configuration setting, and for some of those integers the key also contains extra parts (so that, for instance, CONF_environmt is a string-to-string mapping). Everywhere that a Config was previously used, a Conf is now; everywhere there was a Config structure copy, conf_copy() is called; every lookup, adjustment, load and save operation on a Config has been rewritten; and there's a mechanism for serialising a Conf into a binary blob and back for use with Duplicate Session. User-visible effects of this change _should_ be minimal, though I don't doubt I've introduced one or two bugs here and there which will eventually be found. The _intended_ visible effects of this change are that all arbitrary limits on configuration strings and lists (e.g. limit on number of port forwardings) should now disappear; that list boxes in the configuration will now be displayed in a sorted order rather than the arbitrary order in which they were added to the list (since the underlying data structure is now a sorted tree234 rather than an ad-hoc comma-separated string); and one more specific change, which is that local and dynamic port forwardings on the same port number are now mutually exclusive in the configuration (putting 'D' in the key rather than the value was a mistake in the first place). One other reorganisation as a result of this is that I've moved all the dialog.c standard handlers (dlg_stdeditbox_handler and friends) out into config.c, because I can't really justify calling them generic any more. When they took a pointer to an arbitrary structure type and the offset of a field within that structure, they were independent of whether that structure was a Config or something completely different, but now they really do expect to talk to a Conf, which can _only_ be used for PuTTY configuration, so I've renamed them all things like conf_editbox_handler and moved them out of the nominally independent dialog-box management module into the PuTTY-specific config.c. check-in: a2c0243430 user: simon tags: trunk