Timeline

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

239 check-ins using file unix/uxcons.c version e62b9d6ced

2003-01-12
07:06
Cute though DNSAddresses are, they're a poor match for the model the rest of PuTTY has of DNS resolution, so I've replaced them with something more conventional. Sorry. The new code has the advantage of working, of course. check-in: 677e3ac503 user: ben tags: trunk
2003-01-11
19:37
Use memset() rather than OTMemzero(), and hence remove the need to weak link against OTUtilityLib. check-in: a4f5dbc17e user: ben tags: trunk
19:25
Remove code for splatting test data into new terminals, since we can do that over real network connections now. check-in: 6e48f77281 user: ben tags: trunk
19:24
Change error handling to store the error number rather than the string, and to convert to a string only on demand. This makes it possible to have the string contain the error number if we don't recognise it. check-in: d7536c3985 user: ben tags: trunk
17:33
Initial import of Owen's OpenTransport interface. It doesn't work yet, but it does compile and link. check-in: ebd926c45f user: ben tags: trunk
13:43
Add an indirection layer between mtcpnet.c and the rest of PuTTY so that we can have runtime switching between MacTCP and OpenTransport, and so that we can cope if there's no TCP/IP stack available at all (albeit with very little functionality at present). check-in: ced4a2aac4 user: ben tags: trunk
11:36
Calling plug_closing() is highly likely to result in a call to sk_close(), so arrange that mactcp_poll() can cope with that and not access freed memory when it happens. check-in: 54ae5e5df7 user: ben tags: trunk
11:31
When polling MacTCP connections, check the connection state and if the far end has sent a FIN pass that up to the plug. TODO: handle less graceful connection closures. check-in: 0f347a7892 user: ben tags: trunk
08:20
Move the prototype for platform_get_x11_auth() from x11fwd.c to ssh.h so that it can be checked against the implementation. check-in: 81acda317b user: ben tags: trunk
08:08
Add a cast for a char * vs unsigned char * conflict. check-in: 2fb4a2e5b1 user: ben tags: trunk
08:08
const fallout from Simon's X forwarding changes. check-in: f97554fe73 user: ben tags: trunk
04:05
Yet _another_ `received data for nonexistent channel' bug. This time it was because we received WINDOW_ADJUST on a channel we'd already sent CLOSE on, and reflexively attempted to continue sending the buffered data in response. Should now be fixed. check-in: 98f54831b9 user: simon tags: trunk
03:46
Hack around an oddity in X display names and xauth. check-in: 34e60855a6 user: simon tags: trunk
03:31
Support XDM-AUTHORIZATION-1 for connecting to local X servers. If we're going to be a security program, we can at least make a token effort to use the most secure local X auth available! And I'm still half-tempted to see if I can support it for remote X servers too... check-in: 82547fdbe1 user: simon tags: trunk
2003-01-10
12:33
Introduce framework for authenticating with the local X server. Windows and Mac backends have acquired auth-finding functions which do nothing; Unix backend has acquired one which actually works, so Plink can now do X forwarding believably. (This checkin stretches into some unlikely parts of the code because there have been one or two knock-on effects involving `const'. Bah.) check-in: 5ec7a0298b user: simon tags: trunk
09:23
Ask for a meaningful subject line on messages. check-in: 3166a5fce9 user: ben tags: trunk
2003-01-09
17:29
Implement get_window_title(). check-in: bc5029d78b user: ben tags: trunk
17:04
Forcibly close any TCP connections that are still open when PuTTY exits. This saves leaving them lying around to crash the machine later. check-in: c527de7848 user: ben tags: trunk
16:51
Use c2pstrcpy() rather than silly sprintf() tricks. check-in: ad409e8d2c user: ben tags: trunk
16:45
c2pstr() is deprecated. Use c2pstrcpy() instead. check-in: 5802067d97 user: ben tags: trunk
16:39
Take advantage of having control over the default font to do the job properly: ask the system script what it's preferred monospaced font is, and use that if possible. Failing, that, try the Roman script system, and if that fails, fall back to Monaco 9. check-in: 849df9085a user: ben tags: trunk
13:27
Set PuTTY's canBackground flag so that it receives CPU time (to process incoming data) while in the background. check-in: 12ff76e80c user: ben tags: trunk
13:26
Install a notification procedure (ASR) on each TCP connection that wakes PuTTY up when something happens. This should allow it to receive data without having to poll for it continuously. check-in: f5c80ac867 user: ben tags: trunk
13:26
Remove the diagnostic added in rev 1.42 [r2288]; apparently it's all true and WinSock _does_ occasionally send us netevent messages with no socket for no reason. Ignore them when they appear. check-in: 5d62036b85 user: simon tags: trunk
13:24
Switching from -opt space to -opt time on 68K Macs only loses us about 2K of disc space, and we need all the speed we can get, so do that. check-in: 58ef8dc86d user: ben tags: trunk
12:28
Unix plink now catches SIGWINCH and propagates local terminal resizes to the remote end. check-in: 52b6f1b0fb user: simon tags: trunk
12:14
Support asynchronous connect() in Unix networking. Now a port forwarding to a nonexistent host shouldn't hold up the rest of the program. check-in: 869235486e user: simon tags: trunk
12:06
I'm sick of all those #ifdefs in settings.c, and in any case plink and pterm need at least one default setting to be _different_ (pterm needs the default term type to be `xterm', while plink needs it to be taken from $TERM). So here's a completely new alternative mechanism for platform- and app-specific default settings. Ben will probably want to check the integrity of the Mac port, since I've fiddled with it without testing that it still compiles. check-in: 22de118cfc user: simon tags: trunk
11:33
Yikes! Forgot to zero the password after SSH2 PW authentication. check-in: aa17fae5a8 user: simon tags: trunk
2003-01-08
17:58
Add PuTTYtel binaries. check-in: 1162767e1c user: ben tags: trunk
17:56
Rather useless entropy-collection functions for Mac OS. These need work. check-in: 4669558932 user: ben tags: trunk
16:48
The CFM-68K build isn't working at the moment (we blow past its global data limit what with libcharset and the crypto stuff), so don't include it in "all". check-in: 79d8b22e1c user: ben tags: trunk
16:46
Fairly major hackery to get SSH going on the Mac. Half the support functions are only dummy stubs, but it's still minimally usable. At least, as long as you don't want to do anything complex like logging out. check-in: 6459e357ed user: ben tags: trunk
03:15
We just got mailed a Dr Watson log which suggests I failed to initialise term->paste_len during initialisation, and indeed looking at the code confirms this. I'm puzzled as to why valgrind didn't spot this in pterm, though, since it's all in cross-platform code! check-in: e6bf04bb91 user: simon tags: trunk
2003-01-07
17:05
Use '\012' as the end of the SSH banner line, not '\n'. Mac compilers default to making '\n' == '\015'. check-in: d44d168232 user: ben tags: trunk
16:45
Initialise the "protocol" field of a new ssh_tag to NULL so Bad Things don't happen if we try to type things before the SSH banner has been received. check-in: b61b55710e user: ben tags: trunk
14:47
Move the various big tables to the start of the file to save mucking about with ifdefs for specific compilers. check-in: ea9dc97847 user: ben tags: trunk
07:09
Ahem. Now pterm actually uses wc_to_mb in a situation where it needs to pass in a default character, it would help if wc_to_mb actually _honoured_ the default-character parameter. check-in: d7a9c4eae7 user: simon tags: trunk
2003-01-06
15:46
It looks like Visual C (or whatever the Windows snapshots are built with) objects to incomplete static array declarations, which I introduced to work around a bug in SC/MrC. Use #ifdefs to decide whether to enable the workaround or not. check-in: f7bf7975a3 user: ben tags: trunk
2003-01-05
17:48
One usually includes .h files, not .c files. That explains why it was taking so long to compile! check-in: a199a6db2a user: ben tags: trunk
17:38
Include putty.h to get prototypes for exported functions. check-in: 1f033399f4 user: ben tags: trunk
17:36
zlib_disable_compression() and zlib_huflookup() are unused outside this file. Make them static. check-in: fdb9f081cc user: ben tags: trunk
17:34
SHA512_Core_Init() and SHA512_Block() are unused outside this file. Make them static. check-in: 4245630337 user: ben tags: trunk
17:32
rsa2_sign() is unused outside this file. Make it static. check-in: 3260047bd9 user: ben tags: trunk
17:30
random_stir() is unused outside this file. Make it static. Include putty.h to get prototypes for random_init() and random_get_savedata(). check-in: 636691c265 user: ben tags: trunk
17:28
Move prototypes for base64_decode_atom(), base64_lines(), and base64_encode() from import.c to ssh.h, so that the implementation can see them. This necessitates ssh.h's including <stdio.h>. Also remove a spare prototype for base64_encode_atom() from import.c. check-in: 07dc052ae1 user: ben tags: trunk
17:14
dss_sign() is unused outside this file. Make it static. check-in: 3934d17e64 user: ben tags: trunk
17:12
des_key_setup(), des_encipher(), and des_decipher() are unreferenced outside this file. Make them static. check-in: ba2fe1a855 user: ben tags: trunk
17:09
Include ssh.h for the crc32() and crc32_update() prototypes. check-in: 3755b0612b user: ben tags: trunk
17:05
bigdivmod() is unreferenced outside this file. Make it static. diagbn() is unreferenced. #if it out. check-in: e7b4c7d1a8 user: ben tags: trunk
17:03
aes_setup() is unused outside this file. Make it static. check-in: ac0529bede user: ben tags: trunk
17:01
Make ssh1_pkt_type(), ssh2_pkt_type, logeventf(), setup_userpass_input(), process_userpass_input(), and ssh_unthrottle() static, since they're not referenced outside this file. check-in: 0fbb2d9948 user: ben tags: trunk
16:53
Move x11fwd and portfwd prototypes from ssh.c into ssh.h so they can be seen by (and checked against) the definitions. check-in: f286ce2a32 user: ben tags: trunk
16:52
SC in "finding an actual bug" shocker! Set the port number before passing it to name_lookup(). check-in: 436176626c user: ben tags: trunk
09:31
sshsha.c and sshmd5.c compile fine on PowerPC now. check-in: d50d641ccf user: ben tags: trunk
09:31
Make SHA_Core_Init() (only used in this file) static. check-in: d794fd86f7 user: ben tags: trunk
09:29
Make MD5_Core_Init and MD5_Block (both only referenced in this file) static. check-in: d692d91a3c user: ben tags: trunk
08:23
"possible unintended assignment"? I think not. check-in: f6c15f8be1 user: ben tags: trunk
08:20
char * vs unsigned char * (by explicit cast). check-in: 546b9eaebf user: ben tags: trunk
08:18
Commas at the end of enumerator lists aren't allowed. check-in: 86f463676f user: ben tags: trunk
08:14
Eliminate more unsigned char * vs char * errors using explicit casts. check-in: 3bfa9585d4 user: ben tags: trunk
08:11
Fix more unsigned char * vs char * warnings, usually by making implicit casts explicit. check-in: 4f18716ac4 user: ben tags: trunk
08:00
Replace implict char-*-to-unsigned-char-* casts with explicit ones. check-in: 912e776089 user: ben tags: trunk
07:57
SC (Apple's 68K C compiler) seems to treat tentative definitions of complete arrya as full definitions, and hence gets upset when it finds a full definition later. This is a bug (see K&R2 A10.2), but an easy one to work around by making the tentative definitions incomplete, so I've done that. check-in: 5537b6e0a6 user: ben tags: trunk
07:46
Deal with "possible unintended assignment" warnings. check-in: 616c91e0f9 user: ben tags: trunk
07:43
Attack char * vs unsigned char * conversions. In most cases, I've just gone for replacing the implicit casts with explicit ones. Where there was something obviously better that I could do, I've done it, though. check-in: 768d1ae040 user: ben tags: trunk
07:04
Fix more "possible unintended assignment" warnings. check-in: 0a86a76f46 user: ben tags: trunk
06:53
Add reception support for MacTCP. Now I can log in over TELNET, just about. There are still lots of things to fix, like urgent data or the fact that everything seems to happen one keypress too late, but this is an important milestone. check-in: 36cecb15a9 user: ben tags: trunk
05:31
When looking for the correct backend to use, look in the configuration structure for the session, not the almost-dead global cfg. check-in: 4b17c5fd29 user: ben tags: trunk
04:52
Second work-in-progress MacTCP commit. We can now open a connection, but not transfer any data across it. check-in: 477d7eb08d user: ben tags: trunk
2003-01-04
18:06
Add some backends, a network interface and some library routines to the Mac port. check-in: 8b6dd26a4f user: ben tags: trunk
13:51
Beginnings of a MacTCP network layer. This has all of the DNS interface present, including stuff to find and load the MacTCP DNR. Actually making a TCP connection is still unimplemented, though, and much testing remains to be done. check-in: 84ea43dc4f user: ben tags: trunk
13:01
Add a vsnprintf() for the Mac, which doesn't have one of its own. This is the NetBSD kernel printf, which is integer-only and under a Berkeley-style (now 3-clause) copyright owned by UCB. This has only been compile-tested, but almost all of my changes were in the definitions at the top (the exception being to remove tty output). This lacks 64-bit support because the Apple 68K C compiler, SC, lacks it too. check-in: 2a57d4473b user: ben tags: trunk
11:24
Provide a version of stricmp() and strnicmp() for Mac OS, which doesn't have its own. These are from NetBSD's libc, and have a standard (now 3-clause) Berkeley licence. Also provide a definition of DWORD and a better definition of BYTE. check-in: 92d9baf2f5 user: ben tags: trunk
10:56
Fix some char * vs unsigned char * conversions, plus a stylistic nit, both courtesy of Apple's compilers. check-in: ad7d112417 user: ben tags: trunk
10:42
Hammer out some char * vs unsigned char * problems. In general, I've kept any buffers used internally by telnet.c as unsigned char, and cast to/from char * when interacting with the rest of PuTTY. Not actually tested, since I'm some way from actually being able to link this yet. Also clean up a couple of style warnings from Apple's compilers. check-in: c65b711d2a user: ben tags: trunk
10:21
Fix a few stylistic warnings from Apple's C compilers. check-in: bd0b904aca user: ben tags: trunk
06:45
<MacTypes.h> says we should use NULL rather than nil in C, so do that. check-in: ed057fdda3 user: ben tags: trunk
2003-01-03
18:48
Re-arrange the sums in the size tip code so as to ensure that we're always do division on positive numbers, hence avoiding nasty problems of rounding towards zero when I wanted rounding down. check-in: 75816ae5a8 user: ben tags: trunk
18:31
Small simplification in mac_init(). check-in: 552855f125 user: ben tags: trunk
18:13
Correct handling of Mac OS 8.5 Window Manager and Control Manager. The new functions turn out to be available only to PowerPC applications, through WindowsLib and ControlsLib respectively, so we weak-link against those in the obvious way. check-in: 93bc4dcd01 user: ben tags: trunk
11:52
Work around a weird bug in gdk_draw_text_wc(). check-in: f98d345130 user: simon tags: trunk
06:20
Update copyright notices that both Owen and Simon managed to miss. _How_ many copies of the licence do we need? *grin* check-in: 0d2d1aec4c user: ben tags: trunk
04:59
Update more copyright dates. Sometimes I think we ought to have an automated means of doing this every year :-( check-in: 93a7dacf1d user: simon tags: trunk
03:49
Update copyright dates check-in: 74696bae8c user: owen tags: trunk
2003-01-02
18:40
Pull in Script.r so we can use verBritain in the 'vers' resources rather than hardcoding 2. check-in: c4cf818e9f user: ben tags: trunk
17:52
Any Mac that can handle CFM-68K code must have at least a 68020 CPU, and hence be equipped with Color QuickDraw, as are all PowerPC systems. Hence, don't bother with support for basic QuickDraw in the CFM-68K and PowerPC builds. check-in: 4485563b58 user: ben tags: trunk
17:39
Add a prototype for init_ucs(). check-in: 0daf5a32d9 user: ben tags: trunk
12:09
Having tested it, note that the Classic 68K build seems to work on Mac OS X now. Also describe more generally which builds work where. check-in: 929436e185 user: ben tags: trunk
11:07
... of course, that would be better still if I remembered to update `nvalid'. Ahem. check-in: ad06ad29a5 user: simon tags: trunk
10:56
A better solution to the problem of duplicated positions in CS_ISO8859_1_X11: where two SBCS positions map to the same Unicode code point, we now have a `sortpriority' hint which can tell sbcsgen.pl which one it should preferentially generate when converting back to SBCS. check-in: aa609d3f62 user: simon tags: trunk
10:20
CJK cleanups. Correct handling when the cursor is covering the right-hand half of a CJK wide character; correct handling of cut and paste when CJK text wraps between lines _irrespective of the parity of the starting column_; correct handling of wordness values irrespective of which half of a CJK character the user double-clicked on; correct handling when any terminal activity overwrites only one half of a CJK wide character. I think we now behave marginally better than xterm in this respect (it has a redraw problem when you overwrite the RH half of a CJK char), so I'm happy. Also redefined the internal UCSWIDE marker to something in the surrogate range, while I'm here, so that U+303F is available for use by actual users. check-in: c969a020c7 user: simon tags: trunk
10:17
Fixes to direct-to-font mode: I'd inadvertently enabled it for any font whose encoding comes up as CS_NONE - but this is also true for iso10646-1 fonts, since libcharset doesn't support wide-character encodings! Hence UTF-8 cut and paste was enabled in ordinary modes, but disabled in UTF-8 mode, which was a bit embarrassing. Now we have a dedicated flag variable indicating direct-to-font mode. check-in: fb856615d4 user: simon tags: trunk
08:23
Mention that Shift-Ins works here. check-in: 5929f24830 user: ben tags: trunk
05:14
Fix `telnet-resize-iac'. (IAC bytes were not duplicated when they occurred in a NAWS subnegotiation. Result: a terminal width or height of 255 was not being correctly sent to the server.) check-in: 8a9f2bac80 user: simon tags: trunk
04:45
A couple of X forwarding fixes for Unix Plink. Firstly, under Unix the default X display should be whatever comes out of $DISPLAY, rather than Windows's hardwired `localhost:0'. Secondly, this may give rise to a display name without a hostname (`:0' or similar), which we now need to be able to deal with. Of course, we still don't _properly_ support X forwarding in Unix Plink, since we still can't authenticate with the local display. check-in: b7c53546d7 user: simon tags: trunk
04:41
Propagate the screen number from a local X display to the remote forwarded one. Fixes `x11-default-screen'. check-in: dc76e6731e user: simon tags: trunk
04:07
sk_nonamelookup() should ensure the sockaddr it returns has `error' set to NULL. Otherwise it'll be random uninitialised goop. Not good. check-in: cf579ee730 user: simon tags: trunk
04:07
Presence of unexpected characters in the proxy exclude list causes a tight loop in proxy_for_destination(). Fixed. check-in: 7801b75dda user: simon tags: trunk
2003-01-01
18:33
If for some reason do_text() fails to translate from Unicode to the font encoding, have it go through the rest of its motions with an empty string anyway, so as to at least give a sensible empty box of the right colour. If SetFallbackUnicodeToText() fails, switch over to using the charset library, hence avoiding problems in do_text(). If the version of the Unicode Converter we're using doesn't understand about interrupt-safe fallback functions, don't try to tell it we've got one. This prevents SetFallbackUnicodeToText() from failing on systems with old Unicode Converters. check-in: d8f4c0f611 user: ben tags: trunk
16:25
Proper support for using the font's own character encoding. If we know what that encoding actually is, we can do our best to support additional charsets (VT100 linedrawing, SCO ACS, UTF-8 mode) using the available characters; if we don't, we fall back to a mode where we disable all Unicode cut-and-paste and assume any Unicode character is undisplayable. check-in: 82f2469b77 user: simon tags: trunk
15:53
Support for double-width (CJK) characters, using the xterm-like options -fw and -fwb to specify wide and wide-bold fonts. check-in: 21b2cdb2c9 user: simon tags: trunk
14:28
The redirection operator I wanted was >>, not >. check-in: 136780623c user: ben tags: trunk
14:26
Ignore .rsrc files. check-in: 5467bbdbe0 user: ben tags: trunk
13:51
Add a mechanism for determining which charset to use for a given Mac OS font, and use it. check-in: d8ed6e3ca5 user: ben tags: trunk
11:03
Having painstakingly generated those reverse mapping tables in sbcsdat.c, it would seem a shame not to actually use them. Ahem. Thanks to Ben, without whose checkin in this area I'd have forgotten completely :-) check-in: bc2e7ebcc5 user: simon tags: trunk
10:24
Add all the Mac OS simple single-byte character sets from ftp.unicode.org. Also add the older variants described there, and the character set used by the "VT100" font (old and new). Since RFC 1345 defines "macintosh" to refer to the currency-sign variant of Mac OS Roman, update our table to match. check-in: d155c28797 user: ben tags: trunk
05:45
Remove a couple of unnecessary casts that my compiler seems to have taken exception to. check-in: 55215e0e23 user: ben tags: trunk
2002-12-31
16:49
Use the shiny new character-set library to handle conversion from Unicode to Mac OS Roman for display if the Unicode Converter isn't around. Support for Mac character sets other than Roman (e.g. the variant used by the Apple VT100 font) is still absent. check-in: f40b538bf5 user: ben tags: trunk
16:40
Add "-notOnce" to the compiler options on the Mac to stop the compiler assuming that duplicate #includes of the same file are idempotent. I mean, it's not even true for the standard headers (think <assert.h>), and certainly isn't true here. check-in: e4a7932213 user: ben tags: trunk
16:37
I have no idea what Simon thought he was doing casting what was once a struct sbcs_data * (first element an array of unsigned long) into a wchar_t *, but I think it's reasonably safe to assume that it was a mistake. check-in: 3aa3320e23 user: ben tags: trunk
15:12
Add internal prototypes to keep my compiler from complaining. check-in: b71b21ecfd user: ben tags: trunk
14:11
Add a small comment explaining my failure to find any way to get QuickDraw to give me the missing-character glyph for a font. While I'm here, change the character we substitute for unmappable ones to '.', since that's what the charset library uses. check-in: b4709f6309 user: ben tags: trunk
09:42
Better, I think, to avoid mapping 0x00 -> U+0020 in the X11 nonstandard font encoding. 0x20 maps to it, so it's not as if it's in short supply. check-in: 9f9d2dbfe3 user: simon tags: trunk
06:20
First draft of Unicode support in pterm. It's pretty complete: it does UTF-8 copy and paste (falling back to normal strings if necessary), it understands X font encodings and translates things accordingly so that if you have a Unicode font you can ask for virtually any single-byte encoding and get it (Mac-Roman pterm, anyone?), and so on. There's work left to be done (wide fonts for CJK spring to mind), but I reckon this is a pretty good start. check-in: 94580ef671 user: simon tags: trunk
05:03
SCO ACS part 2 (ESC[12m) apparently puts the top half of CP437 into _both_ halves of the character set, rather than flipping the two halves. My source for this is linux/drivers/char/console.c. check-in: ac8af152ff user: simon tags: trunk
04:04
Dimitrie Paun's patch for Winelib support. Actually does nothing except add a couple of commented-out lines to Makefile.cyg; the Winelib user must uncomment them to do the compilation. check-in: 631202fdb3 user: simon tags: trunk
2002-12-30
19:40
Add a minimalist settings dialogue, which contains a single button marked "open". Still, it seems to work. check-in: 7664066586 user: ben tags: trunk
17:33
Remove mentions of files and functions that no longer exist. check-in: 9f04a1cd91 user: ben tags: trunk
17:15
No need to compile resources manually now. check-in: 48c9502107 user: ben tags: trunk
17:14
Add support for compiling 'vers' resources into Mac applications. This is needlessly complex because Rez's preprocessor doesn't do either ANSI or K&R stringification, and the MPW Shell isn't much good as shells go. Also make _all_ the Mac executables depend on reources, not just the Classic 68K one. check-in: 14a9efc5f6 user: ben tags: trunk
13:01
Set the default directory to somewhere useful (the PuTTY saved sessions folder) when we start up. check-in: 0ae0844a7b user: ben tags: trunk
12:21
Add an "open" command to the "file" (now "session") menu on the Mac to open an existing saved session. This has entailed adding an extra hook to settings.c to allow for loading settings other than by name. check-in: f3d111cbe4 user: ben tags: trunk
09:41
Remove a spurious reference to a variable I've removed. check-in: d3b3e47d66 user: ben tags: trunk
08:20
Finally add support for building Mac resource forks. This adds a new kind of compiled resource file, .rsrc, which is built from .r, and adds mechanisms to the MPW makefile generator to handle this. check-in: c0c8b8421f user: ben tags: trunk
08:17
Add spaces to system include lines to that mkfiles.pl doesn't try to follow them (silly Rez can't do angle-bracket includes). check-in: f316f2470c user: ben tags: trunk
07:43
More cleanup to Mac build procedures, notably: - Remove an unused library from the CFM-68K link line. - Set the fragment name in CFM builds to "PuTTY". - Set the hasBundle and isShared bits on freshly-created applications. check-in: 7702162659 user: ben tags: trunk
2002-12-29
13:19
Add various files produced by the build system. check-in: 74c534d03c user: ben tags: trunk
13:14
Don't try to call TerminateUnicodeConverter() in the CFM world: it isn't there. check-in: d7b56f740a user: ben tags: trunk
13:11
Brutally simplify out all the junk that MPW left here when it first wrote this file. check-in: 056c43460d user: ben tags: trunk
13:01
Add support for building a CFM-68K version of PuTTY, which is rather smaller than the Classic 68K version. This requires installing more bits of the Text Encoding Converter SDK, since Apple seem to have forgotten to put _any_ 68k bits for it, either CFM or Classic, in Universal Interfaces. Also don't bother linking against libraries we don't seem to need. check-in: b4b1783c81 user: ben tags: trunk
09:44
Substantial overhaul of Mac build system. We now have working PowerPC builds, and optimisation (for size) enabled. check-in: 80dda9eb2c user: ben tags: trunk
09:08
Put prototypes for the functions exported by wcwidth.c in putty.h, and remove one from terminal.c. Have wcwidth.c include putty.h to get its prototypes. check-in: 84cbe1ec20 user: ben tags: trunk
08:47
Make resizeline() and lineptr() static and give them prototypes. check-in: 94a4a80b07 user: ben tags: trunk
07:41
Use the "far" versions of all libraries for which they seem to exist. This should make things less likely to break as the code gets bigger. check-in: 11541b383f user: ben tags: trunk
07:21
Add some pragmas so that Mac compilers know that fatalbox() and modalfatalbox() don't return. check-in: 90a15a28f3 user: ben tags: trunk
2002-12-28
16:44
It would be better if I deleted the unused variable from the correct function. check-in: 93fb9a8b45 user: ben tags: trunk
16:25
Remove more unused variables. check-in: 359457afa1 user: ben tags: trunk
16:22
Dispose of some unused local variables. check-in: e9823bb04e user: ben tags: trunk
16:17
The current version of SC generates warnings for unused parameters just like MrC. Turn them off, since they're clearly silly. check-in: 651fb5d66f user: ben tags: trunk
2002-12-27
10:54
Mention in the documentation that the method of generating RSA keys might give a bit count one less than the one the user asked for. Two people have been worried by this now, and it's probably worth documenting that it's perfectly normal. check-in: b523ff7892 user: simon tags: trunk
2002-12-19
08:24
Move the stderr output of event log messages in verbose mode to the general logging module rather than localising it in ssh.c. This means it should work in other protocols as well (notably Telnet, where it might actually be useful for debugging negotiations). check-in: 9ea3dc8f8a user: simon tags: trunk
08:22
First crack at an implementation of TELOPT_BINARY, which apparently RFC 1123 (host requirements) says is compulsory. check-in: 9adf61e6b9 user: simon tags: trunk
05:51
logeventf() shouldn't throw stuff at stderr, since it invokes the ssh.c logevent _macro_ which has already done so! Duhh. check-in: 919330be30 user: simon tags: trunk
2002-12-18
10:23
Support for doing DNS at the proxy end. I've invented a new type of SockAddr, which just contains an unresolved hostname and is created by a stub function in *net.c. It's an error to pass this to most of the real-meat functions in *net.c; these fake addresses should have been dealt with by the time they get down that far. proxy.c now contains name_lookup(), a wrapper on sk_namelookup() which decides whether or not to do real DNS, and the individual proxy implementations each deal sensibly with being handed an unresolved address and avoid ever passing one down to *net.c. check-in: 8d3480376f user: simon tags: trunk
06:32
Better reporting of DNS errors while trying to find the proxy server. check-in: 99f372c051 user: simon tags: trunk
06:18
Stop proxying connections to localhost by default; should fix `x11-proxy-crash'. check-in: 414b5ad689 user: simon tags: trunk
05:51
Placate a trivial compiler warning. check-in: aa211f76ec user: simon tags: trunk
05:49
Improve the tab order in the Tunnels box: the `Add' button should happen _after_ all the controls that set up the forwarding, since that's the obvious order you'd want to use them in. check-in: 8dd1f75204 user: simon tags: trunk
05:39
Implement `portfwd-loopback-choice'. Works on local side in Unix as well, though it's a lot less useful since you still can't bind to low-numbered ports of odd loopback IPs. Should work in principle for SSH2 remote forwardings as well as local ones, but OpenSSH seems unwilling to cooperate. check-in: dbd436ea57 user: simon tags: trunk
04:06
BUG_SSH2_DERIVEKEY is apparently only present in SSH 2.0.11 and before, not in 2.0.13. Verified on at least one host. Fixes bug `ssh2-keyderive-nonbug'. check-in: ae5af25955 user: simon tags: trunk
03:54
`Leonid' points out a stupid mistake in MD5 HMAC initialisation: we should initialise _both_ MD5 states, not the same one twice. check-in: 6d0701ede7 user: simon tags: trunk
03:47
logeventf()'s first argument is ssh, not ssh->frontend! This is what I get for making the latter a `void *' - type checking deserts me in my hour of need. Should fix Andrey Borzenkov's bug. check-in: d0d528cb50 user: simon tags: trunk
2002-12-15
07:31
Fixing trivial warnings spotted by Mingw-2.0.0/gcc-3.2: window.c:90: warning: `do_mouse_wheel_msg' declared `static' but never defined Introduced in 1.185 [r1499]. This function doesn't appear to ever have existed. check-in: 338cfdddcd user: jacob tags: trunk
07:25
Fixing trivial warnings spotted by Mingw-2.0.0/gcc-3.2: psftp.c: In function `sftp_cmd_chmod': psftp.c:835: warning: too many arguments for format check-in: 4bac67db09 user: jacob tags: trunk
07:23
Fixing trivial warnings spotted by Mingw-2.0.0/gcc-3.2: plink.c:65: warning: `password' defined but not used (introduced in 1.50 [r1525]) check-in: 9e1703aa20 user: jacob tags: trunk
07:19
Fixing trivial warnings spotted by Mingw-2.0.0/gcc-3.2: plink.c: In function `from_backend': plink.c:172: warning: unused variable `h' (introduced in 1.35 [r1198]) check-in: 79157afa19 user: jacob tags: trunk
06:44
From Greg Prosser: Apparently using "MS Shell Dlg" instead of "MS Sans Serif" in resource files interoperates better with WinXP (enabling font smoothing and improving display of password boxes). I've verified that it's harmless on Win95. check-in: fb34fb93ef user: jacob tags: trunk
05:51
faq-rh8-utf8: Problems with Red Hat 8.0 and UTF-8 check-in: ffc81b2da9 user: jacob tags: trunk
2002-12-12
18:50
Remove an unnecessary "{Includes}" from the example Rez command. check-in: 98b7dfbce8 user: ben tags: trunk
18:45
Provide a full set of small application icons for PuTTY, now equipped with small lightning flashes too. check-in: d805d34ee5 user: ben tags: trunk
18:02
Use the Unicode Converter to convert from Unicode to the display encoding if it's available. Linking against the static Unicode Converter library costs us about 30k on Classic 68K, which I can live with. Because the default fallback converter can generate multiple output characters for a single input character, we provide our own fallback that doesn't. It converts everything to '?' instead. check-in: dcc146b8f8 user: ben tags: trunk
17:55
When loading a string setting, expect in the same form we would have saved (raw text rather than Pascal string). check-in: 34cbd53221 user: ben tags: trunk
2002-12-11
12:34
Add some documentation for the Mac port. check-in: ec4bb81593 user: ben tags: trunk
2002-12-10
04:19
IPv4/IPv6 sense problem in SOCKS5 proxying spotted by Andrey Borzenkov -- recent change. check-in: 5bddd9c406 user: jacob tags: trunk
2002-12-09
19:11
Since PuTTY depends on lots of features of System 7, have it bale out if it finds itself running on anything older. This is better than killing the whole system with an umimplemented trap. check-in: e43ab09ead user: ben tags: trunk
17:26
When resizing the window, redraw the grow box as well as the scroll bar. I wasn't noticing the bug on my system, since the Appearance Manager handles the grow box itself when it's present. check-in: e3c1b93626 user: ben tags: trunk
16:49
Update the non-Color Quickdraw code in pre_paint() to match recent changes to the Color Quickdraw code. This makes redraw work properly on old Macs again. check-in: 5dc205fd4e user: ben tags: trunk
2002-12-08
16:23
Oops. When deciding which attributes are interesting, we want the union of all the screens' capabilites, not the intersection. check-in: 2e3d5339ea user: ben tags: trunk
16:15
Remove a stray prototype for mac_set_attr_mask(). check-in: 2940fe81db user: ben tags: trunk
16:09
Remove some unused cruft. check-in: eb485ece1b user: ben tags: trunk
10:54
Modify bug-compatibility checks to use wildcards. Should have exactly the same behaviour as before (tested a little bit), but should be easier to expand. (This is the easy bit -- work still needs to be done to fix ssh2-keyderive-nonbug, vshell-no-bug-compat, etc -- but should be easier now.) check-in: 2a30734076 user: jacob tags: trunk
09:32
Wrong length was causing spurious \0 to be sent during SSH negotiation with HTTP proxy -- fixed. (Also added a "len -= eol" to HTTP header munching, although it has no practical effect.) HTTP proxying now works again, hurrah. check-in: 4855a5106d user: jacob tags: trunk
08:44
Argh. With DEBUG and MALLOC_LOG enabled, I found output intended for the console was ending up in one or other of debug.log or putty_mem.log. I don't really understand why, but I've put some extra paranoia and caching in debug(()) and that seems to have fixed it (tm). Perhaps I can get back to debugging... check-in: e721a3bd3c user: jacob tags: trunk
06:10
Doofus Award: logfopen is shared between SSH-packet and session-logging modes, so of _course_ it has to be mode "wb". Restored, and added \r to all of the SSH packet logging stuff. check-in: cdc3577870 user: jacob tags: trunk
05:00
Add a new diagnostic in winnet.c, to attempt to pinpoint the reason for the tree234 assertion failure we've had reported recently. check-in: 3b797c50ef user: simon tags: trunk
2002-12-07
19:17
Slightly cheesy size-tip implementation. This is suboptimal in two ways: * It paints over the top-left corner of the terminal window. A little floating window would be rather nicer and not much harder to do. * It uses the low-memory global, DragHook, which is unavailable in Carbon and broken in some versions of Mac OS 8 (8.5?). I suspect this is unavoidable, though. check-in: adb5d2eab3 user: ben tags: trunk
15:35
For some reason Roman Pompejus' original logging patch opened the log in "wb" mode. Since we were mostly writing "\n" rather than "\r\n", I've changed it to just "w" and refunded the difference. check-in: fa81f923aa user: jacob tags: trunk
15:15
Fix write to freed memory in HTTP proxying. Things aren't entirely happy yet, though. check-in: 92c07321a3 user: jacob tags: trunk
09:21
When scrolling part of the window, scroll the update region as well so that parts that haven't been painted yet still get an update event in their new location. This code seems far too complicated, and I suspect there's a better way. Still, scrolling continuously with the window partially off-screen now works. check-in: dba4f50b19 user: ben tags: trunk
06:03
Ignore generated Mac Makefile check-in: eba08271c0 user: jacob tags: trunk
2002-12-05
18:09
Use the Script Manager to find a small Roman font for the licence box rather than assuming that the application font at 9pt will be useful (which it probably won't be on non-Roman systems). check-in: b171e8568d user: ben tags: trunk
2002-12-04
13:44
Add some comments explaining what each of these functions is used for. check-in: ab46b32ce0 user: ben tags: trunk
06:53
Avoid potential memory leak. check-in: 7582a3be6f user: owen tags: trunk
06:40
#include <signal.h>. Compiled fine without it on Debian 3.0, but not on 2.2. Wonder what changed. check-in: 861d27cdcc user: simon tags: trunk
06:39
Changed to use strerror() check-in: fe6c8e80c3 user: owen tags: trunk
2002-12-02
15:06
Driver script for building PuTTY under MPW. MPW isn't multi-tasking, so its "make" program just emits a script for us to run. This script wraps all that horribleness up so we don't have to see it. check-in: 3690b6d49e user: ben tags: trunk
15:03
Add an entry for the Mac version of PuTTY. check-in: c78f03d164 user: ben tags: trunk
15:01
Add support for generating MPW Makefiles. This makes the following changes: * splitline gets support for changing the continuation character. * deps returns a data structure for the output routine to format as appropriate. * There's a new program type, [M], for Macintosh. * There's a new backend to output mac/Makefile.mpw. check-in: 6656319f6a user: ben tags: trunk
2002-11-28
18:32
Improve support for non-colour displays by adding a mask of attributes to ignore when breaking text into runs for display, and implement setting this on Mac (other ports just use 0xffffffff). We don't use DeviceLoop for this any more because Apple Technical Q&A QA1024 says we shouldn't. Unlike their example, we don't depend on the Display Manager's being present either. check-in: a3ea3b85eb user: ben tags: trunk
15:10
Don't call SetFractEnable every time we draw some text, since SetFractEnable unconditionally flushes the Font Manager's width cache, and the default is fine for us anyway. This more or less doubles redraw speed, which is nice, but still not really fast enough. check-in: 670f1ee5f3 user: ben tags: trunk
15:02
Follow the recommendations in Tech Note TB575 for clipping off the space for the horizontal scroll bar when drawing the grow box. check-in: db92cc34a6 user: ben tags: trunk
2002-11-27
18:25
Use StdText() rather than DrawText, so that (later) we can support scaling of text to get double-width etc. Also set the background when scrolling in Original Quickdraw. check-in: 2fc3b84078 user: ben tags: trunk
2002-11-26
13:35
Increase the size of the `font' buffer in the Config structure, for the benefit of X font names which are rather more verbose than Windows. One day I want to replace all these fixed-size buffers with sensible dynamically allocated stuff, but not today. check-in: af1eb83a03 user: simon tags: trunk
2002-11-25
19:32
Substantial overhaul of colour handling in do_text(). Highlights include: * No more mucking about with transfer modes. We always set up the foreground and background sensibly, EraseRect the whole lot and use srcOr. Apple Tech Note QD505 suggests that this should be faster than srcCopy. * Always use the Palette Manager if we've got Color QuickDraw, even in 1bpp modes. * Apply the cursor colours _after_ all the other stuff, rather than trying to get them through everything else intact. Unfortunately, this doesn't make much difference to the speed. check-in: 027cb71bef user: ben tags: trunk
17:34
Make the default font on Mac OS be Monaco 9 rather than Monaco 10, since the former is available as a bitmap. check-in: 7d5b90b918 user: ben tags: trunk
13:02
Remove a spurious 'q'. check-in: ef26ead7b5 user: ben tags: trunk
2002-11-24
09:08
Add support for displaying the licence window. check-in: 8279651556 user: ben tags: trunk
2002-11-23
18:38
Fix scrolling on systems without Color QuickDraw. It seems that the current background colour and pen mode have some silly effects on ScrollRect, so set them back to their defaults before calling it. check-in: 0e0d9ebd85 user: ben tags: trunk
16:36
Don't try to initialise the palette unless we have Color QuickDraw. This gets PuTTY running on my Mac SE again (albeit very slowly and with scroll optimisation broken for some reason). check-in: d53a7b1a20 user: ben tags: trunk
15:42
Fix a bug in scroll_display(): when the scrolled region contains the cursor we need to update dispcurs as well as disptext. Add scroll optimisation to scroll(). This makes it rather obvious that scroll optimisation is breaking with PuTTY's usual policy of lazy updates, since scrolling is done eagerly. Fixing this so that all the scrolling is saved up for do_paint would be nice, but non-trivial. check-in: c9c0583c1f user: ben tags: trunk
14:40
Remove stray debugging printfs. check-in: 01da9b4054 user: ben tags: trunk
14:02
Add a Config * argument to ldisc_create(), and use it in place of the global cfg throughout ldisc.c. Not tested other than on Mac, but all other ports just pass &cfg as this argument for now. check-in: 94b6511b43 user: ben tags: trunk
13:58
Return the state information from loop_init() in the correct way. This means the backend actually works now. check-in: c4b4347f36 user: ben tags: trunk
13:01
Add a "Config *" argument to term_init(), and use that instead of the global cfg throughout the terminal emulator. Not tested in PuTTY and pterm, but they just pass in &cfg. check-in: 40ee80fefa user: ben tags: trunk
12:22
Only try to retrieve a 'vers' resource from the current resource file (the application), rather from the entire chain. This prevents us displaying the System version if PuTTY doesn't have one. Also cope with not finding any 'vers' resource. check-in: 89b1b55a38 user: ben tags: trunk
09:11
We don't currently need the Thread Manager (and all being well we never will), so stop checking for it. check-in: d3ceeb65ae user: ben tags: trunk
08:22
On a keypress, hide the mouse cursor, send the key to the line discipline (rather than straight to the backend), and then prod the terminal. I think this is closer to the correct set of things to do. check-in: 092c0546f5 user: ben tags: trunk
07:16
Remove a debugging printf. check-in: 3343e1370f user: ben tags: trunk
07:07
Bring in some of my scroll-optimisation stuff from the old Mac port. This introduces a new front-end function, do_scroll(), which is expected to scroll a part of the physical display and cause repaint events for any areas that couldn't be scrolled (e.g. because they were hidden). scroll_display() is a wrapper around this which also updates disptext to match. Currently, scroll_display is only used in response to user scrollback requests (via term_scroll()), but extending scroll() to use it as well should be easy. All of this is conditional on the front end's defining OPTIMISE_SCROLL, since only the Mac front end currently implements do_scroll(). check-in: 541d90c0c7 user: ben tags: trunk
05:22
Note about CTRL-C trick for copying text of error dialogs check-in: d1cf6a636f user: jacob tags: trunk
2002-11-21
18:07
Update the status of the Mac port. check-in: 444194ac16 user: ben tags: trunk
2002-11-20
18:15
Note that default will change to SSH-2 next release check-in: 3764566923 user: jacob tags: trunk
14:09
Fixes for more robust handling of command-line parse errors. check-in: 7ee5329b06 user: simon tags: trunk
13:56
Interchange two parameters in a printf, to prevent a silly segfault. check-in: f3b8077033 user: simon tags: trunk
13:49
Largely-placeholder man page for Plink, for the sake of not irritating `make install'. Thanks RJK, again. check-in: 48b2f36b44 user: simon tags: trunk
2002-11-19
18:33
Fiddle with mac_initpalette() so that the cursor works in 2bpp modes as well. check-in: c0ae1e21a6 user: ben tags: trunk
18:11
Remove has_focus from Session and use the one in Terminal. Active vs passive cursor now behaves correctly. check-in: 076340b548 user: ben tags: trunk
17:59
Remove CURSOR_FG_BOLD and CURSOR_BG_BOLD, and hence bring reality in line with palette_reset()'s expectations. check-in: b59ff742d9 user: ben tags: trunk
16:05
Pass co-ordinates to term_paint() in characters rather than pixels. Partial redraws now work rather better. check-in: 6ca95659b9 user: ben tags: trunk
13:36
Add mac/ to include paths after discussion with bjh21 check-in: aa7e2b5a71 user: jacob tags: trunk
06:29
A couple of useful test backends. check-in: f02d55cce3 user: ben tags: trunk
2002-11-18
20:14
Mac resource source file, missed in last commit. check-in: e9754805ae user: ben tags: trunk
20:13
Tentative merge of ben-mac-port (only dead for three years!) into the trunk. This doesn't include any mkfiles.pl glue, and is missing one or two other fixes. The terminal emulator is kind of working, though, as, I believe, is the store module. Everything else is yet to be done. check-in: a8c9c17c13 user: ben tags: trunk
17:49
When processing input, refer to CR and LF as \015 and \012 respectively, rather than \r and \n. The latter tend to get swapped around by Mac C compilers. check-in: 99f7b1fb00 user: ben tags: trunk
16:27
ISO-IR entry 157 appears to correspond to ISO/IEC 8859-10, and lists code point 3/13 as HORIZONTAL BAR, which agrees with unicode.org's mapping table. Change ours to match (it used to have EM DASH, courtesy of RDB). This brings all our 8859-to-Unicode tables into line with unicode.org. check-in: 6681056a36 user: ben tags: trunk
14:06
More comment cleanup. check-in: b5f2a15f53 user: ben tags: trunk
12:24
Don't forget the IEC! check-in: 5e93843f61 user: ben tags: trunk
12:14
Both ISO and unicode.org now admit the existence of 8859-11 (:2001, FWIW), and unicode.org agrees with our mapping table. Update text accordingly. check-in: 4aef9c405a user: ben tags: trunk
2002-11-17
09:06
Thanks to Hans-Juergen Petrich for spotting this tiny memory leak: `otherbuf' should still be freed even if the RegEnumKey function that was supposed to fill it with data failed. While I'm at it, also remove the redundant check for its non-NULL-ness (what's the point of having a malloc wrapper that dies rather than return NULL if you then waste effort checking its return value for NULL _anyway_, eh?). check-in: 0d0bacf563 user: simon tags: trunk
2002-11-16
20:00
Apple's C compilers don't think that putting parentheses around assignments in "if" conditions is enough. Use an actual comparison against NULL instead. check-in: 3f66765184 user: ben tags: trunk
19:56
Change a temporary buffer from unsigned chars to chars, avoiding a pointer-cast warning. check-in: 75b250d599 user: ben tags: trunk
2002-11-12
12:55
Bump latest version to 0.53b for release! check-in: 4ea63b3b0d user: simon tags: trunk
2002-11-09
18:03
Use <stddef.h> to get wchar_t, rather than <wchar.h> (or nothing, in putty.h). Both are required to contain wchar_t in C99, but only <stddef.h> does in the version of MPW I've got here. check-in: fb9bb66b3f user: ben tags: trunk
15:46
Rename CharWidth() to char_width(). The former name clashes with an API function in Mac OS. check-in: b80c92ed92 user: ben tags: trunk
2002-11-07
14:01
Improve robustness in random seed file handling. check-in: 609779a448 user: simon tags: trunk
13:49
Robustness fixes for KEXINIT handling and others. In particular, I've created a self-mallocing variant of sprintf, to obviate any future need for paranoid %.100s type stuff in format strings. check-in: c58e86fe39 user: simon tags: trunk
13:37
Borland makefile needs to define _WINDOWS; apparently this makefile hasn't worked since the Unix port started and nobody has noticed until now :-) check-in: fe11b098c6 user: simon tags: trunk
2002-11-05
07:21
Packet-level logging should now work properly in Unix Plink. check-in: e3ba678484 user: simon tags: trunk