From 4834571d2b8116cdc3e2d6b04ccd35d5ea484f6f Mon Sep 17 00:00:00 2001 From: basney Date: Tue, 11 Sep 2007 21:35:39 +0000 Subject: [PATCH] update to http://www.psc.edu/networking/projects/hpn-ssh/openssh-4.7p1-hpn12v18.diff.gz --- openssh/channels.h | 6 ++++-- openssh/clientloop.c | 12 ++++++++++-- openssh/readconf.c | 1 - openssh/scp.c | 2 +- openssh/servconf.c | 2 -- openssh/ssh.c | 1 + openssh/sshconnect.c | 4 ++-- openssh/sshconnect2.c | 4 +--- openssh/sshd_config | 1 + openssh/version.h | 2 +- 10 files changed, 21 insertions(+), 14 deletions(-) diff --git a/openssh/channels.h b/openssh/channels.h index 105fe64..c018fb7 100644 --- a/openssh/channels.h +++ b/openssh/channels.h @@ -124,9 +124,11 @@ struct Channel { /* default window/packet sizes for tcp/x11-fwd-channel */ #define CHAN_SES_PACKET_DEFAULT (32*1024) -#define CHAN_SES_WINDOW_DEFAULT (64*CHAN_SES_PACKET_DEFAULT) +#define CHAN_SES_WINDOW_DEFAULT (4*CHAN_SES_PACKET_DEFAULT) + #define CHAN_TCP_PACKET_DEFAULT (32*1024) -#define CHAN_TCP_WINDOW_DEFAULT (64*CHAN_TCP_PACKET_DEFAULT) +#define CHAN_TCP_WINDOW_DEFAULT (4*CHAN_TCP_PACKET_DEFAULT) + #define CHAN_X11_PACKET_DEFAULT (16*1024) #define CHAN_X11_WINDOW_DEFAULT (4*CHAN_X11_PACKET_DEFAULT) diff --git a/openssh/clientloop.c b/openssh/clientloop.c index 2ce7f66..386102b 100644 --- a/openssh/clientloop.c +++ b/openssh/clientloop.c @@ -1862,10 +1862,18 @@ client_request_tun_fwd(int tun_mode, int local_tun, int remote_tun) return -1; } - c = channel_new("tun", SSH_CHANNEL_OPENING, fd, fd, -1, - CHAN_TCP_WINDOW_DEFAULT, CHAN_TCP_PACKET_DEFAULT, 0, "tun", 1); + if(options.hpn_disabled) + c = channel_new("tun", SSH_CHANNEL_OPENING, fd, fd, -1, + CHAN_TCP_WINDOW_DEFAULT, CHAN_TCP_PACKET_DEFAULT, + 0, "tun", 1); + else + c = channel_new("tun", SSH_CHANNEL_OPENING, fd, fd, -1, + options.hpn_buffer_size, CHAN_TCP_PACKET_DEFAULT, + 0, "tun", 1); c->datagram = 1; + + #if defined(SSH_TUN_FILTER) if (options.tun_open == SSH_TUNMODE_POINTOPOINT) channel_register_filter(c->self, sys_tun_infilter, diff --git a/openssh/readconf.c b/openssh/readconf.c index 81e4f7b..3dce5a2 100644 --- a/openssh/readconf.c +++ b/openssh/readconf.c @@ -510,7 +510,6 @@ parse_flag: intptr = &options->verify_host_key_dns; goto parse_yesnoask; - case oStrictHostKeyChecking: intptr = &options->strict_host_key_checking; parse_yesnoask: diff --git a/openssh/scp.c b/openssh/scp.c index 0e1c967..e1933b1 100644 --- a/openssh/scp.c +++ b/openssh/scp.c @@ -585,7 +585,7 @@ source(int argc, char **argv) off_t i, amt, statbytes; size_t result; int fd = -1, haderr, indx; - char *last, *name, buf[2048], encname[MAXPATHLEN]; + char *last, *name, buf[16384], encname[MAXPATHLEN]; int len; for (indx = 0; indx < argc; ++indx) { diff --git a/openssh/servconf.c b/openssh/servconf.c index 4ba6604..fe0c9e8 100644 --- a/openssh/servconf.c +++ b/openssh/servconf.c @@ -318,8 +318,6 @@ fill_default_server_options(ServerOptions *options) if (use_privsep == -1) use_privsep = 1; - - #ifndef HAVE_MMAP if (use_privsep && options->compression == 1) { error("This platform does not support both privilege " diff --git a/openssh/ssh.c b/openssh/ssh.c index ec97e35..d0cd860 100644 --- a/openssh/ssh.c +++ b/openssh/ssh.c @@ -1267,6 +1267,7 @@ ssh_session2_open(void) "session", SSH_CHANNEL_OPENING, in, out, err, window, packetmax, CHAN_EXTENDED_WRITE, "client-session", /*nonblock*/0); + if ((options.tcp_rcv_buf_poll > 0) && (!options.hpn_disabled)) { c->dynamic_window = 1; debug ("Enabled Dynamic Window Scaling\n"); diff --git a/openssh/sshconnect.c b/openssh/sshconnect.c index e016e19..8a6932c 100644 --- a/openssh/sshconnect.c +++ b/openssh/sshconnect.c @@ -222,8 +222,8 @@ ssh_create_socket(int privileged, struct addrinfo *ai) if (options.tcp_rcv_buf > 0) ssh_set_socket_recvbuf(sock); - - /* Bind the socket to an alternative local IP address */ + + /* Bind the socket to an alternative local IP address */ if (options.bind_address == NULL) return sock; diff --git a/openssh/sshconnect2.c b/openssh/sshconnect2.c index 16401c6..42aadb1 100644 --- a/openssh/sshconnect2.c +++ b/openssh/sshconnect2.c @@ -73,7 +73,6 @@ extern char *client_version_string; extern char *server_version_string; extern Options options; -extern Kex *xxx_kex; /* tty_flag is set in ssh.c. use this in ssh_userauth2 */ /* if it is set then prevent the switch to the null cipher */ @@ -140,8 +139,7 @@ ssh_kex2(char *host, struct sockaddr *hostaddr) if (options.ciphers != NULL) { myproposal[PROPOSAL_ENC_ALGS_CTOS] = myproposal[PROPOSAL_ENC_ALGS_STOC] = options.ciphers; - } - + } myproposal[PROPOSAL_ENC_ALGS_CTOS] = compat_cipher_proposal(myproposal[PROPOSAL_ENC_ALGS_CTOS]); myproposal[PROPOSAL_ENC_ALGS_STOC] = diff --git a/openssh/sshd_config b/openssh/sshd_config index 37f49b8..d9ede78 100644 --- a/openssh/sshd_config +++ b/openssh/sshd_config @@ -116,6 +116,7 @@ Protocol 2 # override default of no subsystems Subsystem sftp /usr/libexec/sftp-server + # the following are HPN related configuration options # tcp receive buffer polling. enable in autotuning kernels #TcpRcvBufPoll no diff --git a/openssh/version.h b/openssh/version.h index 7084760..562009c 100644 --- a/openssh/version.h +++ b/openssh/version.h @@ -23,6 +23,6 @@ #define SSH_VERSION "OpenSSH_4.7" #define SSH_PORTABLE "p1" -#define SSH_HPN "-hpn12v17" +#define SSH_HPN "-hpn12v18" #define SSH_RELEASE SSH_VERSION SSH_PORTABLE SSH_HPN \ NCSA_VERSION GSI_VERSION KRB5_VERSION MGLUE_VERSION -- 2.45.2