[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: OpenLDAP patch



A follow up...

openldap needs libsasl7-dev to compile, that package wasn't in the
Debian archive so I had to patch it too. Here is the patch.

Igor


diff -ur cyrus-sasl-1.5.24/include/saslplug.h cyrus-sasl-1.5.24.new/include/saslplug.h
--- cyrus-sasl-1.5.24/include/saslplug.h	Sun Feb 27 17:39:02 2000
+++ cyrus-sasl-1.5.24.new/include/saslplug.h	Mon Oct 30 03:17:20 2000
@@ -116,7 +116,7 @@
 	       int priority,
 	       const char *plugin_name,
 	       int sasl_error,	/* %z */
-	       int errno,	/* %m */
+	       int errn,	/* %m */
 	       const char *format,
 	       ...);
 } sasl_utils_t;
diff -ur cyrus-sasl-1.5.24/lib/common.c cyrus-sasl-1.5.24.new/lib/common.c
--- cyrus-sasl-1.5.24/lib/common.c	Mon Jul 17 13:21:02 2000
+++ cyrus-sasl-1.5.24.new/lib/common.c	Mon Oct 30 03:14:09 2000
@@ -245,11 +245,25 @@
   conn->global_callbacks = global_callbacks;
 
   if (serverFQDN==NULL) {
+#ifdef MAXHOSTNAMELEN
     char name[MAXHOSTNAMELEN];
     memset(name, 0, sizeof(name));
     gethostname(name, MAXHOSTNAMELEN);
+#else
+    char *name = NULL;
+    size_t name_len = 0;
+    do {
+      name_len += 64;
+      name = sasl_REALLOC(name, name_len);
+			if (!name) return SASL_NOMEM;
+      gethostname(name, name_len);
+    } while (errno == ENAMETOOLONG);
+#endif
 
     result = _sasl_strdup(name, &conn->serverFQDN, NULL);
+#ifndef MAXHOSTNAMELEN
+    free(name);
+#endif
     if (result != SASL_OK)
       goto cleanup_mutex;
   } else {
@@ -843,7 +857,7 @@
 	   int priority,
 	   const char *plugin_name,
 	   int sasl_error,	/* %z */
-	   int errno,	/* %m */
+	   int errn,	/* %m */
 	   const char *format,
 	   ...)
 {
@@ -924,9 +938,9 @@
 	    done=1;
 	    break;
 
-	  case 'm': /* insert the errno string */
+	  case 'm': /* insert the errn string */
 	    result = add_string(&out, &alloclen, &outlen,
-				strerror(errno));
+				strerror(errn));
 	    if (result != SASL_OK)
 	      return result;
 	    done=1;

Reply to: