[krbdev.mit.edu #8979] Portability bug in aclocal.m4

"Brook Milligan via RT" <[email protected]>
Newsgroups gmane.comp.encryption.kerberos.bugs
Message-ID <[email protected]>
Tue Jan 19 00:18:47 2021: Request 8979 was acted upon.
 Transaction: Ticket created by [email protected]
       Queue: krb5
     Subject: Portability bug in aclocal.m4
       Owner: Nobody
  Requestors: [email protected]
      Status: new
 Ticket <URL: https://krbdev.mit.edu/rt/Ticket/Display.html?id=8979 >


Empty bodies in shell conditionals are not portable.  Some shells allow them; others do not.  POSIX does not allow them other than as an extension.  As a consequence, including empty conditional bodies in configure scripts intended to be portable is a bug.

An empty conditional body can occur in the configure script generated for Kerberos by the following code fragment in aclocal.m4.  If AC_CONFIG_AUX_DIR() generates no code, this conditional reduces to "if condition; then else … fi” with an empty then body.  Some shells then fail with an “unexpected else” error.

The correct fix seems to be to add a colon to ensure that the then body is never empty.

Cheers,
Brook

--- aclocal.m4.orig	2020-05-22 00:21:40.000000000 +0000
+++ aclocal.m4
@@ -15,6 +15,7 @@ ac_config_fragdir=$ac_reltopdir/config
 # echo "Looking for $srcdir/$ac_config_fragdir"
 if test -d "$srcdir/$ac_config_fragdir"; then
   AC_CONFIG_AUX_DIR(K5_TOPDIR/config)
+  :
 else
   AC_MSG_ERROR([can not find config/ directory in $ac_reltopdir])
 fi



_______________________________________________
krb5-bugs mailing list
[email protected]
https://mailman.mit.edu/mailman/listinfo/krb5-bugs
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.