aboutsummaryrefslogtreecommitdiff
path: root/security
diff options
context:
space:
mode:
authorRoman Bogorodskiy <novel@FreeBSD.org>2012-03-19 17:08:16 +0000
committerRoman Bogorodskiy <novel@FreeBSD.org>2012-03-19 17:08:16 +0000
commitf2a5ffc75c19c9326696ac9aafa2193de76a2656 (patch)
tree969cee7c31403ffd53527bd425536f955c54a8f4 /security
parentb0dbf985769ff57b897710abcdbae9baae6c7e48 (diff)
Notes
Diffstat (limited to 'security')
-rw-r--r--security/cyrus-sasl2/Makefile2
-rw-r--r--security/cyrus-sasl2/files/patch-lib-saslutil.c59
2 files changed, 60 insertions, 1 deletions
diff --git a/security/cyrus-sasl2/Makefile b/security/cyrus-sasl2/Makefile
index e9d509ff97b6..75fe5d773ff8 100644
--- a/security/cyrus-sasl2/Makefile
+++ b/security/cyrus-sasl2/Makefile
@@ -7,7 +7,7 @@
PORTNAME= cyrus-sasl
PORTVERSION= 2.1.25
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= security ipv6
MASTER_SITES= ftp://ftp.cyrusimap.org/cyrus-sasl/
diff --git a/security/cyrus-sasl2/files/patch-lib-saslutil.c b/security/cyrus-sasl2/files/patch-lib-saslutil.c
new file mode 100644
index 000000000000..1f611747136c
--- /dev/null
+++ b/security/cyrus-sasl2/files/patch-lib-saslutil.c
@@ -0,0 +1,59 @@
+--- lib/saslutil.c.orig 2011-10-21 13:59:59.354462366 +0200
++++ lib/saslutil.c 2011-10-21 14:10:55.849675881 +0200
+@@ -555,32 +555,44 @@
+ NULL, /* don't care abour service/port */
+ &hints,
+ &result) != 0) {
+- /* errno on Unix, WSASetLastError on Windows are already done by the function */
+- return (-1);
++ if (abort_if_no_fqdn) {
++ /* errno on Unix, WSASetLastError on Windows are already done by the function */
++ return (-1);
++ } else {
++ goto LOWERCASE;
++ }
+ }
+
+- if (abort_if_no_fqdn && (result == NULL || result->ai_canonname == NULL)) {
++ if (result == NULL || result->ai_canonname == NULL) {
+ freeaddrinfo (result);
++ if (abort_if_no_fqdn) {
+ #ifdef WIN32
+- WSASetLastError (WSANO_DATA);
++ WSASetLastError (WSANO_DATA);
+ #elif defined(ENODATA)
+- errno = ENODATA;
++ errno = ENODATA;
+ #elif defined(EADDRNOTAVAIL)
+- errno = EADDRNOTAVAIL;
++ errno = EADDRNOTAVAIL;
+ #endif
+- return (-1);
++ return (-1);
++ } else {
++ goto LOWERCASE;
++ }
+ }
+
+- if (abort_if_no_fqdn && strchr (result->ai_canonname, '.') == NULL) {
++ if (strchr (result->ai_canonname, '.') == NULL) {
+ freeaddrinfo (result);
++ if (abort_if_no_fqdn) {
+ #ifdef WIN32
+- WSASetLastError (WSANO_DATA);
++ WSASetLastError (WSANO_DATA);
+ #elif defined(ENODATA)
+- errno = ENODATA;
++ errno = ENODATA;
+ #elif defined(EADDRNOTAVAIL)
+- errno = EADDRNOTAVAIL;
++ errno = EADDRNOTAVAIL;
+ #endif
+- return (-1);
++ return (-1);
++ } else {
++ goto LOWERCASE;
++ }
+ }
+
+