diff options
author | Cy Schubert <cy@FreeBSD.org> | 2011-09-06 15:55:36 +0000 |
---|---|---|
committer | Cy Schubert <cy@FreeBSD.org> | 2011-09-06 15:55:36 +0000 |
commit | 6fc815c911b3e2a2c0d8d926deadbc1125575d4e (patch) | |
tree | 29ea8de63130080a81e76160a9864057d67daa0b /security/krb5 | |
parent | 6d9f6a687c4a28a6f7cdb0ad2e1d38f5a45398eb (diff) | |
download | ports-6fc815c911b3e2a2c0d8d926deadbc1125575d4e.tar.gz ports-6fc815c911b3e2a2c0d8d926deadbc1125575d4e.zip |
Notes
Diffstat (limited to 'security/krb5')
-rw-r--r-- | security/krb5/Makefile | 1 | ||||
-rw-r--r-- | security/krb5/files/patch-lib-rpc-clnt_tcp.c | 21 |
2 files changed, 22 insertions, 0 deletions
diff --git a/security/krb5/Makefile b/security/krb5/Makefile index ed7d95ee8e57..e817b3721539 100644 --- a/security/krb5/Makefile +++ b/security/krb5/Makefile @@ -7,6 +7,7 @@ PORTNAME= krb5 PORTVERSION= 1.9.1 +PORTREVISION= 1 CATEGORIES= security MASTER_SITES= http://web.mit.edu/kerberos/dist/${PORTNAME}/${PORTVERSION:C/^[0-9]*\.[0-9]*/&X/:C/X\.[0-9]*$//:C/X//}/ #PATCH_SITES= http://web.mit.edu/kerberos/advisories/ diff --git a/security/krb5/files/patch-lib-rpc-clnt_tcp.c b/security/krb5/files/patch-lib-rpc-clnt_tcp.c new file mode 100644 index 000000000000..8427e25152e1 --- /dev/null +++ b/security/krb5/files/patch-lib-rpc-clnt_tcp.c @@ -0,0 +1,21 @@ +--- lib/rpc/clnt_tcp.c.orig 2011-09-06 02:05:14.000000000 +0000 ++++ lib/rpc/clnt_tcp.c 2011-09-06 02:10:30.000000000 +0000 +@@ -187,9 +187,16 @@ + ct->ct_sock = *sockp; + ct->ct_wait.tv_usec = 0; + ct->ct_waitset = FALSE; +- if (raddr == NULL) +- memset(&ct->ct_addr, 0, sizeof(ct->ct_addr)); ++ if (raddr == NULL) { ++ /* Get the remote address from the socket, if it's IPv4. */ ++ struct sockaddr_in sin; ++ socklen_t len = sizeof(sin); ++ int ret = getpeername(ct->ct_sock, (struct sockaddr *)&sin, &len); ++ if (ret == 0 && len == sizeof(sin) && sin.sin_family == AF_INET) ++ ct->ct_addr = sin; + else ++ memset(&ct->ct_addr, 0, sizeof(ct->ct_addr)); ++ } else + ct->ct_addr = *raddr; + + /* |