Граф коммитов

41 Коммитов

Автор SHA1 Сообщение Дата
Simon Tatham ef885c78ca Add a new back-end function to return the exit code of the remote
process. This is functional in SSH, and vestigial (just returns 0)
in the other three protocols. Plink's Windows exit code is now
determined by the remote process exit code, which should make it
more usable in scripting applications. Tested in both SSH1 and SSH2.

[originally from svn r1518]
2001-12-29 15:31:42 +00:00
Simon Tatham 3270c74f9e Configurable TCP_NODELAY option on network connections
[originally from svn r1428]
2001-11-29 21:47:11 +00:00
Simon Tatham 39c3f9b8bc Fix pasting of newlines in local line editing mode. Possibly not a
very _good_ fix; something might want doing after the release.

[originally from svn r1277]
2001-09-19 20:07:15 +00:00
Simon Tatham f08de20a1e Robert de Bath's asynchronous-connect patch. Helps a lot in port
forwarding; improves Event Log; and causes the PuTTY window to
appear earlier in the setup process.

[originally from svn r1239]
2001-09-07 22:39:01 +00:00
Simon Tatham c87fa98d09 Extensive changes that _should_ fix the socket buffering problems,
by ceasing to listen on input channels if the corresponding output
channel isn't accepting data. Has had basic check-I-didn't-actually-
break-anything-too-badly testing, but hasn't been genuinely tested
in stress conditions (because concocting stress conditions is non-
trivial).

[originally from svn r1198]
2001-08-25 17:09:23 +00:00
Simon Tatham a4c1aad9b2 Yet another possible segfault path in the backends fixed. I don't
_believe_ I'm still finding these. I have no idea what I was
thinking when I wrote this stuff.

[originally from svn r1162]
2001-07-31 14:23:21 +00:00
Simon Tatham e001f1533e From RDB: a patch to allow special keys (^C, ^Z, Delete, Return) to
send Telnet special sequences (Interrupt Process, Suspend, Erase
Char, End Of Line) instead of their ASCII equivalents. In particular
Return -> Telnet End Of Line is _always_ enabled irrespective of the
configuration, while the others are optional. Also in this patch, an
entertainingly ghastly use of `switch' to allow literal ^M^J to do
the same thing as magic-^M (the Return key) when in Raw protocol.

[originally from svn r1109]
2001-05-09 15:12:26 +00:00
Simon Tatham c2eb57a034 `realhost', passed back from all the backend init functions, was
scoped within those functions. It's now dynamically allocated.

[originally from svn r1108]
2001-05-09 14:01:15 +00:00
Simon Tatham d1d65fa6d0 From RDB: telnet can now start up in passive mode, in which it
doesn't do any negotiation until the remote side does.

[originally from svn r1107]
2001-05-09 13:51:07 +00:00
Simon Tatham 3730ada5ce Run entire source base through GNU indent to tidy up the varying
coding styles of the various contributors! Woohoo!

[originally from svn r1098]
2001-05-06 14:35:20 +00:00
Simon Tatham 7b0e082700 Dave Hinton's modifications to the network layer interface, which
should make it possible to add SSL support later.

[originally from svn r996]
2001-03-13 10:22:45 +00:00
Simon Tatham 0507b7437a Various bug/warning fixes from Jacob
[originally from svn r926]
2001-02-05 13:04:00 +00:00
Simon Tatham 60585cff9c Yet another attempt at OOB handling in the network abstraction. This
version allows you to specify, per socket, which sockets receive OOB
data in-line (so that you know what was before the mark and what was
after) and which receive it out of line (so it's really a one-byte
out-of-band facility rather than discard-to-mark). This reflects the
fact that rlogin appears to make more sense in the latter mode, and
telnet in the former. This patch makes rlogin work right for me.

[originally from svn r921]
2001-02-01 14:11:04 +00:00
Simon Tatham 930fcdadeb Robert de Bath's TCP Urgent / Telnet SYNCH patch.
[originally from svn r912]
2001-01-29 14:49:21 +00:00
Simon Tatham 362d3deaf1 Prevent duplicate sk_close() calls on the same socket when the
connection dies unexpectedly (CONNABORTED / CONNRESET)

[originally from svn r910]
2001-01-29 14:30:59 +00:00
Simon Tatham 62a76699ad Ensure all backends _remember_ the connection has closed after
receiving a network error. Should prevent the cascading-error-box
bug.

[originally from svn r900]
2001-01-26 12:22:16 +00:00
Simon Tatham 7a79df8fe6 Rethink the whole line discipline architecture. Instead of having
multiple switchable line disciplines, we now have a single unified
one which changes its behaviour based on option settings. Each
option setting can be suggested by the back end and/or the terminal
handler, and can be forcibly overridden by the configuration. Local
echo and local line editing are separate, independently switchable,
options.

[originally from svn r895]
2001-01-24 14:08:20 +00:00
Simon Tatham 89505459e3 Improve socket error handling so that a socket error isn't an
automatic fatalbox(). Instead, the error is passed to the receiver
routine, which can decide just how fatal the problem really is.

[originally from svn r894]
2001-01-24 10:11:18 +00:00
Simon Tatham ca90be26a8 Experimental Rlogin support, thanks to Delian Delchev. Local flow
control is unsupported, and server-to-client comms may fail for want
of working TCP Urgent.

[originally from svn r875]
2001-01-19 10:10:37 +00:00
Simon Tatham 372a4e1e7e Fix failure to re-enable local line discipline when TELOPT_ECHO is
turned _back off_ by the remote server. (server sends WONT)

[originally from svn r756]
2000-10-24 11:16:25 +00:00
Simon Tatham bbbda4110b Created a shiny new abstraction for the socket handling. Has many
advantages:
 - protocol modules can call sk_write() without having to worry
   about writes blocking, because blocking writes are handled in the
   abstraction layer and retried later.
 - `Lost connection while sending' is a thing of the past.
 - <winsock.h> is no longer needed in most modules, because
   "putty.h" doesn't have to declare `SOCKET' variables any more,
   only the abstracted `Socket' type.
 - select()-equivalent between multiple sockets will now be handled
   sensibly, which opens the way for things like SSH port
   forwarding.

[originally from svn r744]
2000-10-23 10:32:37 +00:00
Simon Tatham e32603347c Introduce a sane interface function, from_backend(), for backends to
use when they have data from the network. Replaces the utterly daft
inbuf / inbuf_head / term_out() interface, which only made sense
when feeding to terminal.c. (terminal.c now implements
from_backend() as a small function that gateways to the old
interface.)

As a side effect, from_backend() also has an `is_stderr' parameter,
so scp can once again separate the server's pronouncements on stderr
from the actual protocol progress on stdout.

[originally from svn r729]
2000-10-20 13:51:46 +00:00
Simon Tatham fd5588d087 Robert de Bath's big patch:
- cope with strange WinSock wrappers not supporting SIOCATMARK
  - define yet more terminal compatibility modes
  - support UK-ASCII (just like US-ASCII but # is a sterling sign)
  - support connection keepalives at a configurable interval

[originally from svn r692]
2000-10-09 12:53:32 +00:00
Simon Tatham 9a9bd54197 Store default port number in each back end
[originally from svn r669]
2000-10-04 14:35:15 +00:00
Simon Tatham e70425dda6 Enable better build-time flexibility over which WinSock to include
[originally from svn r615]
2000-09-22 13:16:49 +00:00
Simon Tatham c0ac8ab9b4 Bug fix: line discipline selection is not enabled until after ssh
authentication phase to stop user/password prompts behaving oddly

[originally from svn r614]
2000-09-22 13:10:19 +00:00
Simon Tatham e5ef37f3f5 Prevent network errors from summarily closing the window when CoE is off
[originally from svn r613]
2000-09-22 11:04:57 +00:00
Simon Tatham 4109ac3dfc Stop plink losing data at start of session
[originally from svn r577]
2000-09-08 16:42:11 +00:00
Simon Tatham 8394a48620 Added a fourth application: plink, a command line connection utility
[originally from svn r575]
2000-09-08 14:45:20 +00:00
Simon Tatham 0d5d39064a Robert de Bath's Big Patch, part 1
[originally from svn r516]
2000-07-26 12:13:51 +00:00
Simon Tatham 0d672df0ed RDB's patch:
- `local ldisc' config option now switches between PuTTY's original
   behaviour when off (aggressively start negotiations, never use
   local line discipline) and Unix telnet's off-port-25 behaviour
   when on (wait to be negotiated with, toggle local line discipline
   when TELOPT_ECHO changes)
 - SYNCH handling has been improved again, though it may still be
   broken due to WinSock being irretrievably pants

[originally from svn r420]
2000-03-17 10:37:35 +00:00
Simon Tatham de9572d7a6 Robert de Bath's patch: when the user presses CR, the Telnet backend
now sends NVT `NL' (CR,LF) instead of NVT `CR' (CR,NUL). Unix
telnetd apparently cares not a jot for the difference, but others do.

[originally from svn r407]
2000-03-11 14:25:35 +00:00
Simon Tatham 3ee28098bc Robert de Bath's patch: integrate line disciplines into Telnet and have them
interoperate sensibly with ECHO negotiations

[originally from svn r401]
2000-03-11 14:06:11 +00:00
Simon Tatham a8d5838ebc Robert de Bath's multi-purpose patch, slightly modified.
- ^E answerback is now `PuTTY'.
 - The framework is now in place for the scrollback to reset to
   bottom on display _or_ keyboard events _or_ both. An actual
   configurable option isn't yet present, but most of the code is in
   place.
 - Try to deal with the problems where incoming data gets dropped
   after decoding but before display.
 - Scrollback behaviour has changed: instead of keying it off
   `scroll' versus `delete top line', things now go into the
   scrollback from _either_ of those but only if the primary screen
   is selected. Should fix problems with `less' and talkers.
 - must_update variable has gone because rdb correctly observed that
   it didn't seem to be doing a great deal :-)

[originally from svn r328]
1999-11-30 10:52:07 +00:00
Simon Tatham 3a3aaaf86d Fix printing of Telnet GA as ugrave
[originally from svn r313]
1999-11-16 09:57:40 +00:00
Simon Tatham b51c18f24c Fix unexpected network error 5000
[originally from svn r286]
1999-11-09 11:34:14 +00:00
Simon Tatham f6c63320ea Changes from executor:
- NetHack keypad mode (Shift only works with NumLock off)
 - Alt-Space handling (best I could manage; not too bad considering)
 - Event Log rather than Telnet Negotiation Log

[originally from svn r284]
1999-11-09 11:10:04 +00:00
Simon Tatham c409f643f8 Stop IAC IAC from being swallowed in telnet (fix due to Robert de Bath)
[originally from svn r232]
1999-10-04 14:20:17 +00:00
Simon Tatham 4e889024e3 Jimen Ching's patches to remove compiler warnings
[originally from svn r183]
1999-07-20 13:01:56 +00:00
Simon Tatham 60ab6a5d82 John Sullivan's patches plus more fixes:
- Stop using the identifier `environ' as some platforms make it a macro
  - Fix silly error box at end of connection in FWHACK mode
  - Fix GPF on maximise-then-restore
  - Use SetCapture to allow drag-selecting outside the window
  - Correctly update window title when iconic and in win_name_always mode

[originally from svn r12]
1999-01-08 13:10:19 +00:00
Simon Tatham c74130d423 Initial checkin: beta 0.43
[originally from svn r11]
1999-01-08 13:02:13 +00:00