diff options
author | markd <markd@pkgsrc.org> | 2006-10-23 10:49:34 +0000 |
---|---|---|
committer | markd <markd@pkgsrc.org> | 2006-10-23 10:49:34 +0000 |
commit | c8d85ffb854a2d5d5e54405cf31d1ac46ef165a5 (patch) | |
tree | 75ac499db7cbb8e0abd44201a9bdc80169c0044b /mail/thunderbird/patches | |
parent | 298a50dfa212abd80007f69ba31cb7a5b950a6b7 (diff) | |
download | pkgsrc-c8d85ffb854a2d5d5e54405cf31d1ac46ef165a5.tar.gz |
thunderbird's ldap doesn't work talking to an ipv4 ldap server if
talking to ipv4 addresses using ipv6 addresses isn't allowed, which is
the default on NetBSD. Patch to use a v4 socket when talking to an ipv4
ldap server. Fixes my PR 33511.
seamonkey/firefox/sunbird have the same code so make the same patch.
OKed ghen. Bump PKGREVISION.
Diffstat (limited to 'mail/thunderbird/patches')
-rw-r--r-- | mail/thunderbird/patches/patch-at | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/mail/thunderbird/patches/patch-at b/mail/thunderbird/patches/patch-at new file mode 100644 index 00000000000..864d6b219dd --- /dev/null +++ b/mail/thunderbird/patches/patch-at @@ -0,0 +1,36 @@ +$NetBSD: patch-at,v 1.1 2006/10/23 10:49:34 markd Exp $ + +--- directory/c-sdk/ldap/libraries/libprldap/ldappr-io.c.orig 2006-05-25 11:38:04.000000000 +1200 ++++ directory/c-sdk/ldap/libraries/libprldap/ldappr-io.c +@@ -292,12 +292,12 @@ prldap_try_one_address( struct lextiof_s + * Set up address and open a TCP socket: + */ + if ( PR_SUCCESS != PR_SetNetAddr( PR_IpAddrNull, /* don't touch IP addr. */ +- PRLDAP_DEFAULT_ADDRESS_FAMILY, (PRUint16)port, addrp )) { ++ PR_NetAddrFamily( addrp ), (PRUint16)port, addrp )) { + return( -1 ); + } + + if (( prsockp->prsock_prfd = PR_OpenTCPSocket( +- PRLDAP_DEFAULT_ADDRESS_FAMILY )) == NULL ) { ++ PR_NetAddrFamily( addrp ))) == NULL ) { + return( -1 ); + } + +@@ -390,14 +390,14 @@ prldap_connect( const char *hostlist, in + + if ( PR_SUCCESS == PR_StringToNetAddr( host, &addr )) { + +- if ( PRLDAP_DEFAULT_ADDRESS_FAMILY == PR_AF_INET6 && ++ /*if ( PRLDAP_DEFAULT_ADDRESS_FAMILY == PR_AF_INET6 && + PR_AF_INET == PR_NetAddrFamily( &addr )) { + PRUint32 ipv4ip = addr.inet.ip; + memset( &addr, 0, sizeof(addr)); + PR_ConvertIPv4AddrToIPv6( ipv4ip, &addr.ipv6.ip ); + addr.ipv6.family = PR_AF_INET6; + +- } ++ }*/ + rc = prldap_try_one_address( prsockp, &addr, port, + timeout, options ); + } else { |