Hello list,
Please forgive me if this is posted multiple times: I have come to believe
that one must be subscribed to the nessus list in order to post to it,
so I'll try it again.
I have found numerous issues with the configure scripts shipped with
Nessus, and literally five minutes after I finished patching 1.2.7 and
1.3.4 I got the "Nessus 2.0 is out!" message via BugTraq..
All three patches themselves are on my web site (they're very similar),
and I'm including the patch comments here. Feel free to fetch and patch
as required.
Regards,
Steve
---
Stephen J Friedl | Software Consultant | Tustin, CA | +1 714 544-6561
www.unixwiz.net | I speak for me only | KA8CMY | [EMAIL PROTECTED]
For: nessus-core-2.0.0
From: Stephen J. Friedl <[EMAIL PROTECTED]>
Date: Mon Feb 24 03:38:59 PST 2003
Subj: numerous nessus-core "configure" issues
Patch built with:
LC_ALL=C TZ=UTC0 diff -Naur configure.in.orig configure.in > patch.txt
These Patch locations:
http://www.unixwiz.net/patches/nessus-core-1.2.7-config-patch.txt
http://www.unixwiz.net/patches/nessus-core-1.3.4-config-patch.txt
http://www.unixwiz.net/patches/nessus-core-2.0.0-config-patch.txt
While building nessus-core under Red Hat Linux 8.0, we found problems
with configure. A few are outright bugs, while others look like
idiosynchracies. These three patches fix all of them, and we're including
the same patch header on both because they fix the same problems. See the
first line of this file to see which version this patches.
Problem #1 - the AC_PATH_PROG() autoconf macro is used to locate
programs such as gtk-config in the system path, and it's
called like
AC_PATH_PROG(GTKCONFIG, gtk-config,,$XPATH:$PATH)
If it's found, the GTKCONFIG variable is set to the full path.
The problem is that the autoconf-generated shell code tries to
run through the path with something like this:
IFS=:
for ac_dir in $XPATH:$PATH
do
# try stuff with $dir
done
POSIX says that IFS expansion is only supposed to occur during
variable expansion (inside $XPATH and $PATH), so the colon
separating the two variables is NOT supposed to be a word
boundary.
Plenty of older shells exhibit non-POSIX behavior, but newer
ones do not, and it behooves us to stop depending on on the
nonportable behavior.
By setting $XPATH to be the entire path, not just the "auxilliary"
path, and using just this one variable in AC_PATH_PROG, this
obviates the problem altogether.
Those curious to read about this bash issue can find it here:
http://mail.gnu.org/archive/html/bug-bash/2001-07/msg00083.html
Problem #2: if only GTK 2 is found, the configure script generates a
warning messages that suggests we complain to the GTK people.
But since this is done from the AC_WARN macro, the *comma*
in the warning text is treated as an argument separator, so
everything after this is silently truncated. We changed the
comma to a dash.
Problem #3: At one point $PKGCONFIG is misspelled $PKGONFIG
Problem #4: a fruitless search for pkg-config reports "gtk-config not found".
I don't know the whole GTK business, and the code surrounding this
is a little fuzzy, so I might have solved only a partial problem (or
maybe even the wrong problem).
---
Apply the patches and rebuild:
# cd /source/nessus-core
# patch -p0 < /tmp/patchfile.txt or wherever
# autoconf configure.in > configure
# ./configure
Our testing used autoconf 2.53