Fix autoconf check for mailspool world write permission
authormarkus schnalke <meillo@marmaro.de>
Wed, 26 Aug 2015 19:36:54 +0000 (21:36 +0200)
committermarkus schnalke <meillo@marmaro.de>
Wed, 26 Aug 2015 19:36:54 +0000 (21:36 +0200)
This is a bugfix and improvement for commit b15b7cc (``Use
realpath to find the mailspool'').

We can even do this check much simpler, if we focus on the
problem that

        $lspath -dlL $mailspool

does not check the target of a symlink, although -L is given.
The contradicting -d seems to overrule it.

We can fix this more easily by appending a slash to the path:

        $ ls -ld /var/mail/
        drwxrwxr-t 2 root root 4096 Apr 29 06:36 /var/mail//

Without the slash it was:

        $ ls -ld /var/mail
        lrwxrwxrwx 1 root root 10 Nov 22  2011 /var/mail -> spool/mail/

This small change does it for one level of indirection.
This should be sufficient.

configure.ac

index b8f41f2..2cda6e0 100644 (file)
@@ -143,10 +143,6 @@ AC_PROG_RANLIB      dnl Check for `ranlib'
 AC_PROG_AWK         dnl Check for mawk,gawk,nawk, then awk
 AC_PROG_LEX         dnl Check for lex/flex
 
-dnl Look for `realpath'
-pathtmp=/bin:/usr/bin:/usr/local/bin
-AC_PATH_PROG(realpathpath, realpath, no, [$pathtmp])
-
 dnl Look for `cut'
 pathtmp=/usr/bin:/bin:/usr/local/bin:/usr/xpg4/bin:/usr/ucb
 AC_PATH_PROG(cutpath, cut, no, [$pathtmp])
@@ -243,7 +239,6 @@ AC_CACHE_CHECK(where mail spool is located, nmh_cv_mailspool,
                   /usr/spool/mail  dnl
                   /dev/null;       dnl Just in case we fall through
 do
-  mailspool = $realpathpath $mailspool;
   test -d $mailspool && break
 done
 nmh_cv_mailspool=$mailspool
@@ -255,7 +250,7 @@ dnl See whether the mail spool directory is world-writable.
 if test "$lspath" != "no" -a "$cutpath" != "no"; then
   AC_CACHE_CHECK(whether the mail spool is world-writable,
                  nmh_cv_mailspool_world_writable,
-  [if test "`$lspath -dlL $mailspool | $cutpath -c9`" = "-"; then
+  [if test "`$lspath -dl $mailspool/ | $cutpath -c9`" = "-"; then
     nmh_cv_mailspool_world_writable=no
   else
     nmh_cv_mailspool_world_writable=yes