[krbdev.mit.edu #7074] Another Solaris 8 incompatibility (krb5-1.9.1)

Richard Basch via RT rt-comment at krbdev.mit.edu
Fri Jan 13 18:42:45 EST 2012


In addition to the prior bug I reported with ksu (setenv), there is another
compilation issue with Solaris 8.
This one occurs if you attempt to compile with --with-ldap.

Isblank() is not defined, but the code assumes the function exists and
merely is lacking a prototype. This fix is more of a workaround to use the
isspace() function if isblank() does not exist. Unfortunately, isspace()
will match additional characters such as \r and \n, whereas isblank() should
only match \t and 0x20 (space).

I still have some testing to do, but at least things are progressing
further.

-Richard


-----Original Message-----
From: Richard Basch [mailto:probe at k9.internal.bright-prospects.com] 
Sent: Wednesday, January 11, 2012 8:57 PM
To: probe at k9.internal.bright-prospects.com
Subject: 

--- src/configure.in.orig	2010-11-01 16:36:17.000000000 -0400
+++ src/configure.in	2012-01-11 20:35:47.000000000 -0500
@@ -214,7 +214,7 @@
 AC_PROG_LEX
 AC_C_CONST
 AC_HEADER_DIRENT
-AC_CHECK_FUNCS(strdup setvbuf inet_ntoa inet_aton seteuid setresuid
setreuid setegid setresgid setregid setsid flock fchmod chmod strftime
strptime geteuid setenv unsetenv getenv gmtime_r localtime_r bswap16 bswap64
mkstemp getusershell access getcwd srand48 srand srandom stat strchr
strerror strerror_r)
+AC_CHECK_FUNCS(strdup setvbuf inet_ntoa inet_aton seteuid setresuid
setreuid setegid setresgid setregid setsid flock fchmod chmod strftime
strptime geteuid setenv unsetenv getenv gmtime_r localtime_r bswap16 bswap64
mkstemp getusershell access getcwd srand48 srand srandom stat strchr
strerror strerror_r isblank)
 
 AC_CHECK_FUNC(mkstemp,
 [MKSTEMP_ST_OBJ=
--- src/plugins/kdb/ldap/libkdb_ldap/kdb_ldap.c.orig	2010-07-15
00:18:00.000000000 -0400
+++ src/plugins/kdb/ldap/libkdb_ldap/kdb_ldap.c	2012-01-11
20:15:30.000000000 -0500
@@ -40,9 +40,13 @@
 #include <kdb5.h>
 #include <kadm5/admin.h>
 
+#if defined(isblank) || defined(HAVE_ISBLANK)
 #if defined(NEED_ISBLANK_PROTO) && !defined(isblank)
 extern int isblank();
 #endif
+#else /* isblank missing */
+#define isblank isspace
+#endif
 
 krb5_error_code
 krb5_ldap_get_db_opt(char *input, char **opt, char **val)




More information about the krb5-bugs mailing list