diff --git a/openssh-5.5p1-x11.patch b/openssh-5.5p1-x11.patch index bcf0ced..cac5d5e 100644 --- a/openssh-5.5p1-x11.patch +++ b/openssh-5.5p1-x11.patch @@ -1,7 +1,7 @@ -diff -up openssh-5.5p1/channels.c.x11 openssh-5.5p1/channels.c ---- openssh-5.5p1/channels.c.x11 2010-06-30 15:22:45.000000000 +0200 -+++ openssh-5.5p1/channels.c 2010-06-30 15:27:42.000000000 +0200 -@@ -3332,7 +3332,7 @@ x11_create_display_inet(int x11_display_ +diff -up openssh-5.3p1/channels.c.bz595935 openssh-5.3p1/channels.c +--- openssh-5.3p1/channels.c.bz595935 2010-08-12 14:19:28.000000000 +0200 ++++ openssh-5.3p1/channels.c 2010-08-12 14:33:51.000000000 +0200 +@@ -3185,7 +3185,7 @@ x11_create_display_inet(int x11_display_ } static int @@ -10,20 +10,25 @@ diff -up openssh-5.5p1/channels.c.x11 openssh-5.5p1/channels.c { int sock; struct sockaddr_un addr; -@@ -3342,7 +3342,11 @@ connect_local_xsocket_path(const char *p +@@ -3195,11 +3195,14 @@ connect_local_xsocket_path(const char *p error("socket: %.100s", strerror(errno)); memset(&addr, 0, sizeof(addr)); addr.sun_family = AF_UNIX; - strlcpy(addr.sun_path, pathname, sizeof addr.sun_path); +- if (connect(sock, (struct sockaddr *)&addr, sizeof(addr)) == 0) + if (len <= 0) + return -1; + if (len > sizeof addr.sun_path) + len = sizeof addr.sun_path; -+ memcpy(addr.sun_path, pathname , len); - if (connect(sock, (struct sockaddr *)&addr, sizeof(addr)) == 0) ++ memcpy(addr.sun_path, pathname, len); ++ if (connect(sock, (struct sockaddr *)&addr, sizeof addr - (sizeof addr.sun_path - len) ) == 0) return sock; close(sock); -@@ -3354,8 +3358,18 @@ static int +- error("connect %.100s: %.100s", addr.sun_path, strerror(errno)); + return -1; + } + +@@ -3207,8 +3210,21 @@ static int connect_local_xsocket(u_int dnr) { char buf[1024]; @@ -40,7 +45,10 @@ diff -up openssh-5.5p1/channels.c.x11 openssh-5.5p1/channels.c + if ((ret = connect_local_xsocket_path(buf, len + 1)) >= 0) + return ret; +#endif -+ return connect_local_xsocket_path(buf + 1, len); ++ if ((ret = connect_local_xsocket_path(buf + 1, len)) >= 0) ++ return ret; ++ error("connect %.100s: %.100s", buf + 1, strerror(errno)); ++ return -1; } int diff --git a/openssh.spec b/openssh.spec index 5692622..377dc91 100644 --- a/openssh.spec +++ b/openssh.spec @@ -70,7 +70,7 @@ %endif # Do not forget to bump pam_ssh_agent_auth release if you rewind the main package release to 1 -%define openssh_rel 22 +%define openssh_rel 23 %define openssh_ver 5.5p1 %define pam_ssh_agent_rel 26 %define pam_ssh_agent_ver 0.9.2 @@ -589,6 +589,9 @@ fi %endif %changelog +* Fri Nov 5 2010 Jan F. Chadima - 5.5p1-23 + 0.9.2-26 +- update x11 patch (#648896) + * Fri Oct 20 2010 Jan F. Chadima - 5.5p1-22 + 0.9.2-26 - update gsskex patch (#645389)