version 1.3, 1999/10/17 16:56:09 |
version 1.4, 1999/11/24 00:26:02 |
|
|
* SSH Protocol 1.5 aka New Channel Protocol |
* SSH Protocol 1.5 aka New Channel Protocol |
* Thanks to Martina, Axel and everyone who left Erlangen, leaving me bored. |
* Thanks to Martina, Axel and everyone who left Erlangen, leaving me bored. |
* Written by Markus Friedl in October 1999 |
* Written by Markus Friedl in October 1999 |
* |
* |
* Protocol versions 1.3 and 1.5 differ in the handshake protocol used for the |
* Protocol versions 1.3 and 1.5 differ in the handshake protocol used for the |
* tear down of channels: |
* tear down of channels: |
* |
* |
* 1.3: strict request-ack-protocol: |
* 1.3: strict request-ack-protocol: |
* CLOSE -> |
* CLOSE -> |
* <- CLOSE_CONFIRM |
* <- CLOSE_CONFIRM |
* |
* |
* 1.5: uses variations of: |
* 1.5: uses variations of: |
* IEOF -> |
* IEOF -> |
* <- OCLOSE |
* <- OCLOSE |
* <- IEOF |
* <- IEOF |
* OCLOSE -> |
* OCLOSE -> |
* i.e. both sides have to close the channel |
* i.e. both sides have to close the channel |
* |
* |
* See the debugging output from 'ssh -v' and 'sshd -d' of |
* See the debugging output from 'ssh -v' and 'sshd -d' of |
* ssh-1.2.27 as an example. |
* ssh-1.2.27 as an example. |
* |
* |
*/ |
*/ |
|
|
/* ssh-proto-1.5 overloads prot-1.3-message-types */ |
/* ssh-proto-1.5 overloads prot-1.3-message-types */ |
|
|
#define CHAN_OUTPUT_CLOSED 0x80 |
#define CHAN_OUTPUT_CLOSED 0x80 |
|
|
/* EVENTS for the input state */ |
/* EVENTS for the input state */ |
void chan_rcvd_oclose(Channel *c); |
void chan_rcvd_oclose(Channel * c); |
void chan_read_failed(Channel *c); |
void chan_read_failed(Channel * c); |
void chan_ibuf_empty(Channel *c); |
void chan_ibuf_empty(Channel * c); |
|
|
/* EVENTS for the output state */ |
/* EVENTS for the output state */ |
void chan_rcvd_ieof(Channel *c); |
void chan_rcvd_ieof(Channel * c); |
void chan_write_failed(Channel *c); |
void chan_write_failed(Channel * c); |
void chan_obuf_empty(Channel *c); |
void chan_obuf_empty(Channel * c); |
|
|
void chan_init_iostates(Channel *c); |
void chan_init_iostates(Channel * c); |
#endif |
#endif |