From scm-commit at wald.intevation.org Fri Aug 1 09:33:04 2008 From: scm-commit at wald.intevation.org (scm-commit@wald.intevation.org) Date: Fri, 1 Aug 2008 09:33:04 +0200 (CEST) Subject: [Openvas-commits] r1090 - trunk/openvas-client Message-ID: <20080801073304.77FBF40714@pyrosoma.intevation.org> Author: jan Date: 2008-08-01 09:33:04 +0200 (Fri, 01 Aug 2008) New Revision: 1090 Modified: trunk/openvas-client/ChangeLog Log: Added forgotten ChangeLog entry. Modified: trunk/openvas-client/ChangeLog =================================================================== --- trunk/openvas-client/ChangeLog 2008-07-31 14:48:30 UTC (rev 1089) +++ trunk/openvas-client/ChangeLog 2008-08-01 07:33:04 UTC (rev 1090) @@ -1,3 +1,7 @@ +2008-07-31 Vlatko Kosturjak + + * po/hr.po: New. Initial Croatian translation of OpenVAS client. + 2008-07-19 Jan Wagner * packaging/debian/changelog, packaging/debian/control, From scm-commit at wald.intevation.org Fri Aug 1 19:57:26 2008 From: scm-commit at wald.intevation.org (scm-commit@wald.intevation.org) Date: Fri, 1 Aug 2008 19:57:26 +0200 (CEST) Subject: [Openvas-commits] r1091 - trunk/doc Message-ID: <20080801175726.43A344072C@pyrosoma.intevation.org> Author: jan Date: 2008-08-01 19:57:26 +0200 (Fri, 01 Aug 2008) New Revision: 1091 Modified: trunk/doc/howto-release.txt Log: Fixed typo. Modified: trunk/doc/howto-release.txt =================================================================== --- trunk/doc/howto-release.txt 2008-08-01 07:33:04 UTC (rev 1090) +++ trunk/doc/howto-release.txt 2008-08-01 17:57:26 UTC (rev 1091) @@ -15,7 +15,7 @@ 5. $ make dist and test the tarball again. - This test oftern uncovers dependency problems that did not occur + This test often uncovers dependency problems that did not occur in home development enviroment. So, do the tests carefully in a fresh environment. From scm-commit at wald.intevation.org Fri Aug 1 19:58:36 2008 From: scm-commit at wald.intevation.org (scm-commit@wald.intevation.org) Date: Fri, 1 Aug 2008 19:58:36 +0200 (CEST) Subject: [Openvas-commits] r1092 - trunk Message-ID: <20080801175836.33D644072C@pyrosoma.intevation.org> Author: jan Date: 2008-08-01 19:58:36 +0200 (Fri, 01 Aug 2008) New Revision: 1092 Added: trunk/openvas-compendium/ Removed: trunk/openvas-manual/ Log: Renaming module openvas-manual to openvas-compendium. Copied: trunk/openvas-compendium (from rev 1090, trunk/openvas-manual) From scm-commit at wald.intevation.org Fri Aug 1 20:08:05 2008 From: scm-commit at wald.intevation.org (scm-commit@wald.intevation.org) Date: Fri, 1 Aug 2008 20:08:05 +0200 (CEST) Subject: [Openvas-commits] r1093 - in trunk: doc/openvas-compendium openvas-compendium Message-ID: <20080801180805.6B1BF4072C@pyrosoma.intevation.org> Author: jan Date: 2008-08-01 20:08:03 +0200 (Fri, 01 Aug 2008) New Revision: 1093 Added: trunk/openvas-compendium/openvas-compendium.tex Removed: trunk/doc/openvas-compendium/openvas-compendium.tex Modified: trunk/openvas-compendium/ChangeLog Log: Moving openvas-compendium.tex to the openvas-compendium module. Deleted: trunk/doc/openvas-compendium/openvas-compendium.tex =================================================================== --- trunk/doc/openvas-compendium/openvas-compendium.tex 2008-08-01 17:58:36 UTC (rev 1092) +++ trunk/doc/openvas-compendium/openvas-compendium.tex 2008-08-01 18:08:03 UTC (rev 1093) @@ -1,2417 +0,0 @@ -% OpenVAS -% $Id$ -% Description: The OpenVAS Compendium -% Note, that this a HyperLaTeX source and not plain LaTeX! -% -% Authors: -% Jan-Oliver Wagner -% Michael Wiegand -% Tim Brown -% -% Copyright: -% Copyright (C) 2008 Intevation GmbH -% Copyright (C) 2008 Tim Brown -% -% This program is free software; you can redistribute it and/or modify -% it under the terms of the GNU General Public License version 2, -% as published by the Free Software Foundation -% -% This program is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. -% -% You should have received a copy of the GNU General Public License -% along with this program; if not, write to the Free Software -% Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. - -\documentclass[a4paper,11pt,twoside,titlepage,dvips]{scrbook} -\usepackage{hyperlatex} -\usepackage{a4wide} -\usepackage{times} -\usepackage[latin1]{inputenc} -\usepackage[T1]{fontenc} -\usepackage{ifpdf} -\T\ifpdf\usepackage[pdftex]{graphicx}\else\usepackage{graphicx}\fi -\W\usepackage{graphicx} -\usepackage{alltt} -\usepackage{moreverb} -\usepackage{fancyhdr} -%\W\usepackage{rhxpanel} -\W\usepackage{sequential} -\W\htmldirectory{./html} - - - -\newcommand{\IncludeImage}[2][]{\texorhtml{% -\begin{center}% -\ifpdf - \DeclareGraphicsExtensions{.png} - \includegraphics[#1]{#2.png}% -\else - \DeclareGraphicsExtensions{.eps} - \includegraphics[#1]{#2}% -\fi -\end{center}% -}{% -\htmlimg{../#2.png}% -}} - -% Hyperref should be among the last packages loaded -\usepackage{hyperref} - - -\newcommand{\compendiumversion}{0.1.0-svn} -\newcommand{\compendiumdate}{20080708} -\newcommand{\compendiumauthor}[1]{\begin{small}(by {#1})\end{small}} -\newcommand{\hyperurl}[1]{\htmlonly{\xml{p}\small -\xlink{{#1}}{{#1}}\xml{br}}\texonly{\small{#1}}} - -% for a consistent appearance of key names -\newcommand{\openvasd}{openvasd} -\newcommand{\openvasnvtsync}{openvas-nvt-sync} - -\T\fancyhead{} % clear all fields -\T\fancyhead[LO,RE]{OpenVAS Compendium \compendiumversion\ \compendiumdate} -\T\fancyhead[RO,LE]{\thepage} -\T\fancyfoot[C]{\includegraphics[width=1cm]{images/openvas-logo}} - - -% Title stuff -\htmltitle{OpenVAS Compendium} -\title{ -\IncludeImage[width=10cm]{images/openvas-logo} -\ \\ -OpenVAS Compendium} - -\author{\htmlonly{\xml{p}\small -\xlink{List of PDF Download Versions}{http://wald.intevation.org/frs/?group_id=29}\xml{br} -%To \xlink{OpenVAS online Compendium}{openvas-compendium.html}\xml{br} -To \xlink{OpenVAS Homepage}{http://www.openvas.org/}\xml{p} -}% -A Publication of the OpenVAS Project\\ - \small Jan-Oliver Wagner, Michael Wiegand, Tim Brown, Carsten Koch Mauthe} -\date{Version \compendiumversion\ as of \compendiumdate\ } - - -\begin{document} -\thispagestyle{empty} -\pagestyle{fancy} -\T\parindent0cm -\T\parskip\medskipamount - - -\maketitle - - -\chapter*{Imprint} - -\noindent -Copyright \copyright{} 2008 Intevation GmbH\\ - -\IncludeImage[width=5cm]{images/cc-by-sa-logo} - -This work is licensed under the - -Creative Commons License Attribution-ShareAlike 3.0 Unported - -\hyperurl{http://creativecommons.org/licenses/by-sa/3.0/deed.en} - -%Special Thanks to:\\ -%XXX YYY for ZZZ (2008).\\ - -\clearpage -\tableofcontents -\clearpage - -\chapter{Introduction} -\section{About this Compendium} - -\compendiumauthor{Jan-Oliver Wagner} - -This compendium was compiled by people involved in the -OpenVAS project. The intention is to provide a comprehensive documentation -for all aspects of network vulnerability scanning with OpenVAS. - -This ranges from instructions on how to use the OpenVAS-Client graphical user -interface, run specific test methods and write NASL vulnerability tests to -details on the internal architecture of the actual scan server software. - -The present version of the compendium is far from complete. However, the section -about OpenVAS-Client is already complete. - -\section{About the OpenVAS Project} - -\compendiumauthor{Michael Wiegand} - -OpenVAS stands for Open Vulnerability Assessment System and is a network -security scanner with associated tools like a graphical user front-end. The core -is a server component with a set of network vulnerability tests (NVTs) to detect -security problems in remote systems and applications. - -OpenVAS products are Free Software under GNU GPL and a fork of the Nessus -security scanner. - -\section{About the OpenVAS Software} - -\compendiumauthor{Michael Wiegand} - -\IncludeImage[width=10cm]{images/OpenVAS-Structure} - -The OpenVAS software consists of five distinct parts which are provided and -maintained by the OpenVAS projects. The individual parts are: -\begin{description} - \item[OpenVAS-Server:] This is the core component of OpenVAS. It contains the -functionality used for scanning a large number of target servers at a high -speed. Scans will always originate from the host where OpenVAS-Server is -running; therefore, this machine has to be able reach the intended targets. - \item[OpenVAS-Client:] OpenVAS-Client controls the OpenVAS server, -processes the scan results and displays them to the user. OpenVAS-Client can run -on any machine able to connect to the OpenVAS-Server and can control multiple -servers. - \item[OpenVAS-Libraries:] This module contains functionality used by -OpenVAS-Server. - \item[OpenVAS-LibNASL:] The NVTs are written in the ``Nessus Attack Scripting -Language'' (NASL). This module contains the functionality needed by -OpenVAS-Server to interface with NASL. - \item[OpenVAS-Plugins:] This module contains a base set of NVTs. Please be -aware that the update cycle of this module is not intended to ensure the -availability of the most recent NVTs. If you need up-to-date NVTs you should -consider subscribing to a NVT feed as described in section \ref{sec:NVT feed}. -\end{description} - -\clearpage - -\chapter{Planning OpenVAS-based Network Auditing} -\compendiumauthor{Jan-Oliver Wagner} - -Note: This section is not complete yet. - -\section{Consider Coverage of Available Vulnerability Tests} -\label{sec:NVT feed} - -As one of the first tasks of planning security audits based -on OpenVAS, you should compare your targets with the coverage -of the currently available OpenVAS vulnerability tests. - -Please be aware that the OpenVAS server (actually its module -``openvas-plugins'') delivers only a base set of tests. -The update cycle of this base set is quite long compared to -the occurrence of new vulnerabilities and respective tests. -New or changed tests are delivered via so-called ``feed services''. - -If you want to test your network against the latest threats, a successful -outcome will depend on the quality of the feed service(s) you subscribed to. -Although the set of -tests provided by ``openvas-plugins'' will detect a large range of older, -well-known vulnerabilities, it will most probably be outdated by the time you -use it and will not be able to detect the most recent vulnerabilities. In order -to stay up-to-date with the latest security threats, you will need a feed -service that provides you with the most recent tests for these threats. - -The OpenVAS project maintains a feed of its own: - - http://www.openvas.org/openvas-nvt-feed.html - -To evaluate your need for an up-to-date feed service, you should think about -the following questions: - -\begin{itemize} -\item To what extent do the available feeds and their maintained - families cover my audit target? -\item In case you are planning a permanent auditing solution and not just a - single shot: How sustainable is the feed service organized? -\end{itemize} - -\section{Choose Location of Scan-Server} - -If you are planning to use the OpenVAS security scanner in your network, the -best location for the machine running the server module depends on the targets -you want to evaluate: - -\begin{itemize} -\item Target is a public server: - - Several tests do follow the very same path - as various attacks do: from a remote network. - If you are only interested in these tests, - you may use a arbitrary location of your OpenVAS - server outside of the targeted network. - - However, you are advised to contact the - administration of the target systems beforehand and inform them that you - are planning on running OpenVAS against their machines. - Because OpenVAS will actively look for vulnerabilities on the target - system, a scan will under certain circumstances look like a real attack on - the target system and might be acted upon legally and/or technically by - the administration of the system in question. - -\item Targets are intranet desktops: - -\item Targets are intranet servers: - -\item Targets are intranet active network components: - -\end{itemize} - -\section{Choose Type of Scan-Server} - - -\clearpage - -\chapter{Installing and Configuring OpenVAS-Server} -\label{chap:Install-And-Configure-Server} - -\compendiumauthor{Tim Brown, Jan-Oliver Wagner and Michael Wiegand} -\section{Installing Binary Packages} - -Easily installable binary packages for OpenVAS-Client are available for -download on the OpenVAS website. The availability of these packages may change -over time and thus the following descriptions might be slightly outdated; -please refer to the OpenVAS website for up-to-date information. - -\subsection{Debian "Sid" (unstable) and "Lenny" (testing)} - -OpenVAS server is currently being integrated into Debian. The following modules -are already available for ``Sid'' and ``Lenny'': -\begin{itemize} - \item libopenvas1 - \item libopenvas1-dev -\end{itemize} - - You can install these modules with the following commands: - -\begin{verbatim} - # apt-get install libopenvas1 - # apt-get install libopenvas1-dev -\end{verbatim} - -ATTENTION: For the remaining modules you need to get the latest -source tar-balls and compile them on your own. - -\subsection{Debian 4.0 ``Etch''(stable)} - -The OpenVAS-Server modules are not official packages for the Debian 4.0 release -("Etch"). To help you to run OpenVAS-Server on Debian Etch, the OpenVAS project -provides backports for some modules for Etch. You can install these modules on -Debian Etch by following these steps: - -Select the following resource and add the line to the file -\verb!/etc/apt/sources.list! on your system: - -\begin{verbatim} -deb http://apt.intevation.de/ etch openvas -\end{verbatim} - -Then, update your package list and install the available modules: (Please note -that some modules are not yet available as backports. You have to compile the -remaining modules on your own.) -\begin{verbatim} -# apt-get update -# apt-get install libopenvas1 -# apt-get install libopenvas1-dev -\end{verbatim} - -Note: If you know of further sources of backports, let the -OpenVAS team know and they will be added to this list. - -\subsection{Gentoo} -\label{sec:gentoo-server} - -The ebuilds are in the Gentoo portage. To get the most recent packages simply -run: - -\begin{verbatim} - #emerge --sync -\end{verbatim} - -Because all OpenVAS packages are masked, you need to unmask the packages by -keyword using one of the following ways: -\begin{enumerate} - \item Edit \verb!/etc/portage/package.keywords! and add the packages: -\begin{verbatim} - net-analyzer/openvas ~x86 - net-analyzer/openvas-client ~x86 - net-analyzer/openvas-libnasl ~x86 - net-analyzer/openvas-libraries ~x86 - net-analyzer/openvas-plugins ~x86 - net-analyzer/openvas-server ~x86 -\end{verbatim} - After that you can run: -\begin{verbatim} - #emerge net-analyzer/openvas - #emerge net-analyzer/openvas-server - #emerge net-analyzer/openvas-client -\end{verbatim} -\item To emerge all masked OpenVAS packages together you can use -the following command: -\begin{verbatim} - # ACCEPT_KEYWORDS="~x86" emerge openvas -\end{verbatim} -\end{enumerate} - - For the server package there are the following "USE-Flags": gtk tcpd debug -prelude - - Set them in the \verb!/etc/make.conf! to enable the support e.g. for prelude: -\begin{verbatim} - USE="prelude" -\end{verbatim} - -or run it via the command line: - -\begin{verbatim} - # ACCEPT_KEYWORDS="~x86" USE="prelude -debug" emerge openvas -\end{verbatim} - -\subsection{OpenSUSE 10.2} - -In the download area you will find the files - -\begin{itemize} -\item openvas-libraries-N.N.N-M.suse102.openvas.i586.rpm -\item openvas-libnasl-N.N.N-M.suse102.openvas.i586.rpm -\item openvas-server-N.N.N-M.suse102.openvas.i586.rpm -\item openvas-plugins-N.N.N-M.suse102.openvas.i586.rpm -\end{itemize} - -where N.N.N stands for the version of OpenVAS-Client and M for the package -release number. - -For installation follow these steps as user "root" (insert the most -current version numbers): -\begin{verbatim} -# rpm -i openvas-libraries-N.N.N-M.suse102.openvas.i586.rpm -# rpm -i openvas-libnasl-N.N.N-M.suse102.openvas.i586.rpm -# rpm -i openvas-server-N.N.N-M.suse102.openvas.i586.rpm -# rpm -i openvas-plugins-N.N.N-M.suse102.openvas.i586.rpm -# openvas-mkcert -# openvas-adduser -# openvas-nvt-sync -# openvasd -D -\end{verbatim} - -Note that you need to restart openvasd after each reboot and -after each NVT synchronization. - -The corresponding source RPM files are -named openvas-MODULE-N.N.N-M.suse102.openvas.src.rpm (where MODULE is -"libraries", "libnasl", "server" and "plugins"). You will need these files only -if you plan to rebuild the actual installation package. - -Finally, you will find the -files openvas-MODULE-devel-N.N.N-M.suse102.openvas.i586.rpm (except for module -"plugins"). These packages will install some files that are needed to compile -some of the packages or rebuild packages from the source RPM packages. For -simply running the OpenVAS server, it is not necessary to install the -devel- -packages. - -\subsection{Fedora 8} - -In the download area you will find the files -\begin{itemize} -\item openvas-libraries-N.N.N-M.fc8.openvas.i586.rpm -\item openvas-libnasl-N.N.N-M.fc8.openvas.i586.rpm -\item openvas-server-N.N.N-M.fc8.openvas.i586.rpm -\item openvas-plugins-N.N.N-M.fc8.openvas.i586.rpm -\end{itemize} - - where N.N.N stands for the version of OpenVAS-Client and M for the package -release number. - - For installation follow these steps as user "root" (insert the most current -version numbers): -\begin{verbatim} -# rpm -i openvas-libraries-N.N.N-M.fc8.openvas.i586.rpm -# rpm -i openvas-libnasl-N.N.N-M.fc8.openvas.i586.rpm -# rpm -i openvas-server-N.N.N-M.fc8.openvas.i586.rpm -# rpm -i openvas-plugins-N.N.N-M.fc8.openvas.i586.rpm -# openvas-mkcert -# openvas-adduser -# openvas-nvt-sync -# openvasd -D -\end{verbatim} - -Note that you need to restart openvasd after each reboot and -after each NVT synchronization. - -Also note that you may need to open the OpenVAS port to allow OpenVAS-Client to -connect from other machines. This could be done by switching off the firewall -(not recommended) or by adding a line like this to the file -\verb|/etc/sysconfig/iptables| at the appropriate position: - -\begin{verbatim} - -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1241 -j -ACCEPT -\end{verbatim} - -You need to run the following command after this change: -\begin{verbatim} -/etc/init.d/iptables restart -\end{verbatim} - -The corresponding source RPM files are named -openvas-MODULE-N.N.N-M.fc8.openvas.src.rpm (where MODULE is "libraries", -"libnasl", "server" and "plugins"). You will need these files only if you plan -to rebuild the actual installation package. - -Finally, you will find the -files openvas-MODULE-devel-N.N.N-M.fc8.openvas.i586.rpm (except for module -"plugins"). These packages will install some files that are needed to compile -some of the packages or rebuild packages from the source RPM packages. For -simply running the OpenVAS server, it is not necessary to install the -devel- -packages. - -\section{Compiling OpenVAS-Server from Source Packages} - -\subsection{Latest source code release} - -The download link for the latest source code release can be found in the -"Download" section on the OpenVAS website. - -Download the four ".tar.gz" source code archives and unpack with "tar -xzf -openvas-MODULE-N.N.N.tar.gz". Compiling from source is currently geared towards -GNU/Linux systems, but may work as well in other environments. - -You have to compile and install the packages in the the following sequence: -\begin{enumerate} -\item openvas-libraries -\item openvas-libnasl -\item openvas-server -\item openvas-plugins -\end{enumerate} - -Now read the file \verb|INSTALL_README| inside the directory "openvas-libraries" -for the next steps. - -Repeat for each module and read the corresponding INSTALL or README files. - -\subsection{Most current state of development (directly from the source code -management -system)} - -You need subversion to retrieve the code: -\begin{verbatim} -$ svn checkout -https://svn.wald.intevation.org/svn/openvas/trunk/openvas-libraries -$ svn checkout -https://svn.wald.intevation.org/svn/openvas/trunk/openvas-libnasl -$ svn checkout https://svn.wald.intevation.org/svn/openvas/trunk/openvas-server -$ svn checkout -https://svn.wald.intevation.org/svn/openvas/trunk/openvas-plugins -\end{verbatim} - -Now read the file \verb|INSTALL_README| inside the directory "openvas-libraries" -for the next steps. - -Repeat for each module and read the corresponding INSTALL or README files. - -Although the OpenVAS team is committed to maintaining a high code quality, -please be aware that you are using a development state that may be incomplete -and unstable and should not be used in production environments. - -\section{Configuring OpenVAS-Server} -\label{sec:Configuring OpenVAS-Server} -\compendiumauthor{Michael Wiegand} - -\subsection{Generating a Server Certificate} - -For security reasons, communication between server and client is only possible -through SSL encrypted connections. In order to establish an SSL encrypted -connection, the server needs to have an SSL certificate. If the machine -OpenVAS-Server is running on does not have a certificate, you will to generate -one yourself. The easiest way to do this is through the \verb|openvas-mkcert| -script provided by the OpenVAS-Server package. This will generate two -certificates: one certificate for a local certificate authority (CA) and a -second certificate for the OpenVAS server which is signed by the CA and is -presented to connecting clients. - -\subsection{Adding New Users} - -In order to use an OpenVAS server, a client needs to have a user account on the -server. The OpenVAS-Server package provides the \verb|openvas-adduser| script -to simplify creating user account. Using \verb|openvas-adduser|, you can specify -whether the user should use a password or a certificate to authenticate himself -and optionally restrict the access rights of the user. - -Restricted access rights can be useful to prevent users from scanning arbitrary -hosts or networks. You can specify rules that restrict an user to certain hosts -or subnets or even prevent him from scanning any host but his own. - -The correct syntax for user rules is: - -\verb#accept|deny ip/mask# - -and - -\verb#default accept|deny# - -Where \verb#mask# is the CIDR netmask of the rule. - -The \verb#default# statement must be the last rule and defines the policy for -the user. - -The following rule set will allow the user to test 192.168.1.0/24, -192.168.3.0/24 and 172.22.0.0/16, but nothing else: - -\begin{verbatim} -accept 192.168.1.0/24 -accept 192.168.3.0/24 -accept 172.22.0.0/16 -default deny -\end{verbatim} - -The following rule set will allow the user to test whatever he wants, -except the network 192.168.1.0/24: - -\begin{verbatim} -deny 192.168.1.0/24 -default accept -\end{verbatim} - -The keyword \verb#client_ip# is replaced at runtime by the IP address -of the user. If you want to restrict the user to be able to scan only the system -he is connecting from, you can use the following ruleset: - -\begin{verbatim} -accept client_ip -default deny -\end{verbatim} - -\subsection{Advanced Configuration} - -If you need to make changes to the default OpenVAS-Server configuration, you can -do so in the configuration file located at \verb#/etc/openvas/openvasd.conf#. - -The following settings can be configured through the openvasd.conf configuration -file (note: the default values for your distribution may differ from the default -values described here): - -\begin{description} - \item[plugins\_folder] This setting configures the path where the NVT scripts -can be found. \textit{(default value: /lib/openvas/plugins)} - \item[max\_hosts] The maximum number of hosts that will be tested -simultaneously. \textit{(default value: 30)} - \item[max\_checks] The maximum number of checks that will run simultaneously -against a given host. \textit{(default value: 10)} - \item[be\_nice] Niceness. If set to 'yes', openvasd will renice itself to 10. -\textit{(default value: no)} - \item[logfile] The file used to log activity. If this value is set to 'syslog', -OpenVAS-Server will use syslogd for logging. -\textit{(default value: /var/log/openvas/openvasd.messages)} - \item[log\_whole\_attack] This setting controls how detailed should be logged. If -this option is set to 'no', only the start and end time of the scan is logged. -If set to 'yes', OpenVAS-Server will log more information, including the time -each plugin took to execute. Be aware that this may cause OpenVAS-Server to use -more hard disk space and to access the hard disk more often during the scan. -\textit{(default value: no)} - \item[log\_plugins\_name\_at\_load] This setting controls whether the names of the -plugins that are loaded by the server should be logged. -\textit{(default value: no)} - - \item[dumpfile] This option configures the name of the file that should be used -for debugging output. If this option is set to '-', debugging output will be -written to stdout. \textit{(default value: /var/log/openvas/openvasd.dump)} - - \item[rules] The filename for the server rules file. -\textit{(default value: /etc/openvas/openvasd.rules)} - - \item[users] The filename for the user database. -\textit{(default value: /etc/openvas/openvasd.users)} - - \item[cgi\_path] The default CGI paths to check, separated by colons(':'). -\textit{(default value: /cgi-bin:/scripts)} - - \item[port\_range] The range of ports that will be scanned by the port scanners. -If this setting is set to 'default', OpenVAS-Server will scan the ports -specified in the file found at \verb#/var/lib/openvas/openvas-services#. -\textit{(default value: default)} - - \item[optimize\_test] Security tests may request to be launched if and only if -certain information gathered by other tests exists in the knowledge base, or if -and only if a given port is open. If this option is set to 'yes', it will speed -up the test, but may cause the OpenVAS server to miss some vulnerabilities. -\textit{(default value: yes)} - - \item[language] The language to use in plugin description. Currently the values -'english' and 'french' are supported. \textit{(default value: english)} - - \item[checks\_read\_timeout] The read timeout (in seconds) for the sockets used -while scanning. \textit{(default value: 5)} - - \item[non\_simult\_ports] This option can be used to specify a list of ports or -services against which plugins should not be run simultaneously. -\textit{(default value: 139, 445)} - - \item[plugins\_timeout] The maximum lifetime of a plugin (in seconds). -\textit{(default value: 320)} - - \item[safe\_checks] Some security checks may harm the target server, by -disabling the remote service temporarily or until a reboot. If this option, is -set to 'yes', the OpenVAS server will rely on banners instead of actually -performing a security check. This will result in a less reliable report, but you -is less likely to disrupt functionality on the target system during a test. -\textit{(default value: yes)} - - \item[auto\_enable\_dependencies] If this option is set to 'yes', OpenVAS-Server -will automatically enable plugins which are need by the plugins selected by the -user. \textit{(default value: yes)} - - \item[silent\_dependencies] If this option is set to 'yes', output from plugins -which were enabled automatically will not be send to the client. -\textit{(default value: yes)} - - \item[use\_mac\_addr] Designate hosts by MAC address, not IP address; this can -be useful in DHCP networks. \textit{(default value: no)} - - \item[save\_knowledge\_base] This option controls whether the knowledge base -created during the scan should be saved to disk. \textit{(default value: no)} - - \item[kb\_restore] This setting controls whether the knowledge base should be -restored for each test. \textit{(default value: no)} - - \item[only\_test\_hosts\_whose\_kb\_we\_dont\_have] If this option is set to -'yes', OpenVAS-Server will only test the hosts that are not yet in the knowledge -base. This can be used to scan new hosts once if they appear in a subnet for the -first time, for example. \textit{(default value: no)} - - \item[only\_test\_hosts\_whose\_kb\_we\_have] If this option is set to 'yes', -OpenVAS-Server will only test the hosts that are already in the knowledge -base. This is useful for scanning only a set of host that are already known to -the server. \textit{(default value: no)} - - \item[kb\_dont\_replay\_scanners] If this option is set to 'yes' and the option -kb\_restore has been enabled, scanner plugins will not be launched if they have -already been launched in the past. \textit{(default value: no)} - - \item[kb\_dont\_replay\_info\_gathering] If this option is set to 'yes' and the -option kb\_restore has been enabled, information gathering plugins will not be -launched if they have already been launched in the past. -\textit{(default value: no)} - - \item[kb\_dont\_replay\_attacks] If this option is set to 'yes' and the option -kb\_restore has been enabled, attack plugins will not be launched if they have -already been launched in the past. \textit{(default value: no)} - - \item[kb\_dont\_replay\_denials] If this option is set to 'yes' and the option -kb\_restore has been enable, denial of service plugins will not be launched if -they have already been launched in the past. \textit{(default value: no)} - - \item[kb\_max\_age] This option sets the maximum age of the knowledge base (in -seconds). \textit{(default value: 864000)} - - \item[slice\_network\_addresses] If this option is set to 'yes', OpenVAS will -not scan a network sequentially, (10.0.0.1, 10.0.0.2, 10.0.0.3) but will attempt -to slice the workload throughout the whole network (i.e.: 10.0.0.1, 10.0.0.127, -10.0.0.2, 10.0.0.128). \textit{(default value: no)} - - \item[nasl\_no\_signature\_check] If this option is set to 'yes', -OpenVAS-Server will not check the signatures of the NASL scripts and will run -scripts even if they have no or no valid signature. Be aware that setting this -option to 'yes' does pose a security risk. However, at the current stage of -OpenVAS development, signatures are only available for a limited subset of -tests. If this option is set to 'no', you will only be able to use a very -limited number of plugins. For this reason, this option will default to 'yes' -until an infrastructure for signature checking has been established. -\textit{(default value: yes)} -\end{description} - -\section{Managing NVT signatures} -\compendiumauthor{Jan-Oliver Wagner} - -This section explains what you need to do to allow your OpenVAS-Server to -execute only signed NVTs with a trust level you decide. - -Currently, some signed NVTs are available by using the command -\verb#openvas-nvt-sync# which is included in openvas-plugins since release -0.9.1. The signatures correspond to the certificate "OpenVAS Transfer Integrity" -available on the OpenVAS website. - -\subsection{What is a Signature?} - -A clever method is applied to compute a unique checksum for a file. If only a -single character in the file changes, the checksum will change as well. This -checksum is digitally signed in a way that you can test with a public -certificate whether a certain key was used to create the signature. Such a key -and certificate do always form a pair that is related to each other. If the -signed file has been modified by a third party, the signature will be broken. In -this case you should not trust the file. - -If the signature is not broken, the question remains if you trust the owner of -the key. If you decided to do so (and there any many ways and supporting -technologies to manage this), you can accept the file as trustworthy. - -\subsection{The Signature Format} - -The signatures for OpenVAS NVTs and associated files (.nasl, .inc and .nes) are -standard so-called "ASCII-armored detached OpenPGP signatures" created with -GnuPG. This format features: - -\begin{itemize} - \item Multiple signer keys possible - \item Site administrators can decide which keys to trust - \item Signatures can be created and verified with widely available tools like -GnuPG - \item detached signatures do not require changes to the signed file (like -inline signatures would) -\end{itemize} - -The name of the signature file is the name of the signed file with the added -extension ".asc". That is, the name of the signature file for a file -"myscript.nasl" is "myscript.nasl.asc". - -Please note the difference to Nessus: Nessus signatures were inline x509-based -signatures. This concept does not consider multiple signatures. Please be aware -that OpenVAS no longer supports Nessus signatures and will consider plugins -unsigned even if the have a valid Nessus signature. - -\subsection{The Signature Verification Process} - -The signature verification of the OpenVAS server is activated by setting -"nasl\_no\_signature\_check = no" in /etc/openvas/openvasd.conf. - -At start-up the openvas daemon (openvasd) checks all signatures for validity. -Only fully trusted files are considered by the server and thus loaded and made -available to OpenVAS client. - -The trust check uses a special list of certificates managed for the -OpenVAS server. It is a standard GnuPG keyring located by default in -/etc/openvas/gnupg. - -When OpenVAS verifies a signature it checks all signatures contained in the -signature file and all signatures must be fully valid. This means that all of -the following criteria must be fulfilled for all signatures: - -\begin{itemize} - \item The certificate must be present in the keyring. - \item The key must be fully valid. - \item The signature must be valid. -\end{itemize} - -If any of the signatures does not meet all of these criteria, that file is -considered untrustworthy and will not be executed at all. If all signatures meet -the criteria, the script is trusted fully and may execute all functions. If no -signature file exists, the script is not executed at all. - -Again, pleas note the difference to Nessus: For Nessus signatures, three levels -were distinguished: no signature, a bad signature and a good signature. Plugins -with no signature were still executed, but in a "restricted" mode where no -functions that were regarded critical could be executed. OpenVAS explicitly only -distinguishes between fully trusted and untrusted files. - -\subsection{How to Add a Certificate} - -To add a certificate to the OpenVAS Server keyring, use this command: - -\begin{verbatim} -# gpg --homedir=/etc/openvas/gnupg --import certificate-file.asc -\end{verbatim} - -See the OpenVAS website for available certificate files. - -\subsection{How to Set Trust} - -To express trust into keys that signed NVTs (see "How to set trust" below) you -need a signing key for your OpenVAS installation. You can use an existing key, -or you can generate a new one: - -\begin{verbatim} -# gpg --homedir=/etc/openvas/gnupg --gen-key -\end{verbatim} - -This needs to be done only once for an OpenVAS-Server installation. - -For OpenVAS to trust a signature, the key used to create the signature has to be -valid. A certificate corresponding to this key that was just imported has an -unknown validity and thus is considered not valid. - -In order to trust a certificate for your purpose, you have to sign it. The -recommended way is to use local signatures that remain only in the keyring of -your OpenVAS Server installation. - -To sign a certificate you need to know its KEY\_ID. You can get it either -from the OpenVAS website or via a "list-keys" command. Then you can locally -sign: - -\begin{verbatim} -# gpg --homedir=/etc/openvas/gnupg --list-keys - -# gpg --homedir=/etc/openvas/gnupg --lsign-key KEY_ID -\end{verbatim} - -Before signing you should be absolutely sure that you are signing correct -certificate. You may use its fingerprint and other methods to convince yourself. - -\subsection{How to Remove a Certificate} - -\begin{verbatim} -# gpg --homedir=/etc/openvas/gnupg --delete-keys KEY_ID -\end{verbatim} - -\subsection{Manual Signature Verification} - -In case you want to manually verify the validity of a .nasl file, you can -either run GnuPG: - -\begin{verbatim} -$ gpg --homedir=/etc/openvas/gnupg gpg --verify script.nasl.asc script.nasl -\end{verbatim} - -Or you can use the standalone nasl interpreter: -\begin{verbatim} -$ openvas-nasl -p script.nasl -\end{verbatim} - -The -p Option means that the script is only parsed and not executed. - -To debug the signature verification done by the nasl interpreter, use the -T -option to enable the trace mode. The signature verification will leave more -detailed information about the verification and the signatures found in the -trace file. -\clearpage - -\chapter{Installing and Configuring OpenVAS-Client} -\compendiumauthor{Tim Brown, Jan-Oliver Wagner and Michael Wiegand} - -\section{Installing Binary Packages} - -Easily installable binary packages for OpenVAS-Client are available for -download on the OpenVAS website. The availability of these packages may change -over time; please refer to the OpenVAS website for up-to-date information. - -\subsection{Debian "Sid" (unstable) and "Lenny" (testing)} - -OpenVAS-Client is an official Debian package for the distribution "unstable" -("Sid) and "testing" ("Lenny"). You can find more information about the Debian -packages on the OpenVAS-Client package pages -for Sid\footnote{http://packages.debian.org/sid/openvas-client} and -Lenny\footnote{http://packages.debian.org/lenny/openvas-client}. - -This means you can simply install OpenVAS-Client on Debian Sid or Debian -Lenny with the following command: -\begin{verbatim} -# apt-get install openvas-client -\end{verbatim} - -\subsection{Debian "Etch" 4.0 (stable)} - -OpenVAS-Client is not an official package for the Debian 4.0 release ("Etch"). -To enable you to easily run OpenVAS-Client on Debian Etch, the OpenVAS -project provides backports for Etch. You can install OpenVAS-Client on -Debian Etch by following these steps: - -Select the following resource and add the line -to the file /etc/apt/sources.list on your system: -\begin{verbatim} - deb http://apt.intevation.de/ etch openvas -\end{verbatim} - -Then, update your package list and install OpenVAS-Client: - -\begin{verbatim} - # apt-get update - # apt-get install openvas-client -\end{verbatim} - -\subsection{Ubuntu 8.10 "Intrepid Ibex"} - -OpenVAS-Client has been added to the upcoming Ubuntu 8.10 release -("Intrepid Ibex") which is scheduled for release in October 2008. You can find -more information about the Ubuntu -package on the OpenVAS Client package page for Intrepid Ibex (at -\hyperurl{http://packages.ubuntu.com/intrepid/openvas-client}). - -This means you can simply install OpenVAS-Client on Ubuntu 8.10 with the -following command: - -\begin{verbatim} -# apt-get install openvas-client -\end{verbatim} - -Backported packages are also available for the Ubuntu 8.04 LTS release ("Hardy -Heron"). To install OpenVAS-Client on Ubuntu 8.04 LTS, simply follow the -instructions for Debian 4.0 "Etch" as described above. - -\subsection{Gentoo} - -Please see the installation description for OpenVAS-Server on Gentoo in -section \ref{sec:gentoo-server}. - -\subsection{OpenSUSE 10.2} - -In the download area you will find the file -openvas-client-N.N.N-M.suse102.openvas.i586.rpm where N.N.N stands for the -version of OpenVAS-Client and M for the package release number. - -The corresponding source RPM files are named -openvas-client-N.N.N-M.suse102.openvas.src.rpm. -You will need these files only if you plan to rebuild the actual installation -package. - - -\subsection{Fedora 8} - -In the download area you will find the file -openvas-client-N.N.N-M.fc8.openvas.i586.rpm -where N.N.N stands for the version of OpenVAS-Client and -M for the package release number. - -The corresponding source RPM files are named -openvas-client-N.N.N-M.fc8.openvas.src.rpm. -You will need these files only if you plan to rebuild -the actual installation package. - -\subsection{Windows XP SP2} - -In the download area you will find the file OpenVAS-Client-N.N.N-M-LL-setup.exe -where N.N.N stands for the version of OpenVAS-Client, M for the package release -number and LL for the language (e.g. en=English, de=German, sv=Swedish). - -\section{Compiling OpenVAS-Client from Source Packages} - -\subsection{Latest source code release} - -Download the ".tar.gz" source code archive from the download section of the -OpenVAS website and unpack with "tar -xzf openvas-client-N.N.N.tar.gz". -Compiling from source is currently geared towards GNU/Linux systems, but may -work as well in other environments. - -Now read the README file inside the new directory for further instructions. - -\subsection{Most current state of development (directly from the source code -management system)} - -You need subversion to retrieve the code: - -\begin{verbatim} - $ svn checkout -https://svn.wald.intevation.org/svn/openvas/trunk/openvas-client -\end{verbatim} - -Change to the new directory and follow the instructions of the README file. - -Although the OpenVAS team is committed to maintaining a high code quality, -please -be aware that you are using a development state that may be incomplete and -unstable and should not be used in production environments. - -\clearpage - -\chapter{Using OpenVAS-Client} -\compendiumauthor{Jan-Oliver Wagner} - -This section describes the basic components of OpenVAS-Client -and how to use them for day-to-day use as well as more specific -features that might be of interest for advanced users. - -This documentation assumes OpenVAS-Client in version 1.0.4. Newer version -might offer additional or changed functionality. In case, please refer to the website -for information or support. - -\section{The Main Window} -\label{sec:MainWindow} - -The main window of OpenVAS-Client is split into two major sections: -On the left-hand side is the treelist with an overview of the locally -stored tasks, scopes and reports. On the right-hand side there is -a notebook with pages for comments, options and reports. This is the -place where a security scan can be configured, commented upon and -its result reviewed. - -\IncludeImage[width=10cm]{images/mainwindow-en} - -When you first start of OpenVAS-Client, you will see only one entry -in the list: Global Settings. These settings you see on the first start-up are -the default settings shipped with OpenVAS-Client. They do not cover a -specific selection of plugins since a connection to an OpenVAS server is -required to make a plugin selection. You can establish a connection with a -server and then specify a global default plugin selection for later use. - - -\subsection{Tasks} - -Tasks are intended to cover all activities of a major topic. A task could be - {}``Test the machines of our headquarter'' or {}``Customer -XYZ Inc.''. - -A task can contain a comment that explains the task in more detail. -Also any type of additional info or reminder can be entered in the -comment area, e.g. when to run the next series of scans or based on -which contract the scans are performed. - -A task has neither options nor a report. Apart from the comment, -it just contains a number of scopes. - -Possible operations for tasks are: - - -\paragraph{New} - -Adds a new task with the title {}``unnamed''. - - -\paragraph{Rename} - -Allows to edit the title in the treelist either by clicking -on the title or by selecting the corresponding menu item. - - -\paragraph{Remove} - -This means the removal of all scopes associated with this task and thus the -removal action prompts for a confirmation. - - -\subsection{Scopes} - -A scope can be seen as a sub-task. It defines a certain security scan. -The title should indicate the scope of this scan, e.g. {}``Careful -scan of web server production system'', {}``Aggressive scan of web -server alpha test system'' or {}``All Sun workstations''. - -Comments can also be specified for each scope and may explain the -scope in more detail as well as contain any other helpful hints regarding -the respective scope. - -The scope is associated with a full set of options for the security -scan. When creating a new scope, the general settings are copied. The -scan options are explained in detail in a later section. - -It should be noted that a connection to an OpenVAS server is established within -the context of a specific scope. If a scope is connected to the server, a scan -based on the settings for this scope can be executed. An icon to the right of -the scope title indicates the connection status of this scope. This means a task -can contain a selection of scopes that connect to different OpenVAS servers -with different plugins. - -Next, a scope may contain a number of reports. Whenever a scope is -successfully executed, the resulting report is added to its list of -reports. Also, importing a report from a file or from an OpenVAS server -will add the report to the currently selected scope. - -Please note that changes to a scope are always and only stored when -executing a scan. If you make changes to a scope like a new plugin -selection and leave OpenVAS-Client without running a scan, these changes -will be discarded. - -Possible operations for scopes are: - - -\paragraph{Execute} - -The scope configuration is stored to disk and a security scan is executed -with the currently specified options using the currently connected -OpenVAS server. - - -\paragraph{New} - -Adds a new scope entitled {}``unnamed'' as part of the currently -selected task. As a default the global settings are copied. Note, -that only explicitly saved global settings are taken as defaults. -If you changed them inside OpenVAS-Client without saving them, they -will have no effect. - - -\paragraph{Rename} - -Allows to edit the title in the treelist either by clicking -on the title or by selecting the corresponding menu item. - - -\paragraph{Remove} - -This means the removal of all associated reports and thus the removal -action prompts for a confirmation. - - -\paragraph{Move to task} - -It is possible to move a scope with all of its reports from one task -to another. This menu item has subitems which represent the other -tasks. Select one of them and the scope will be moved. - - -\paragraph{Open} - -You can load a scope file and add it to the current task with this -menu command. Note that here only the parameter sets are covered but -not the reports which are represented by files of their own. So, opening -and saving (see below) scopes is a method to transfer you settings -to someone else or to create a copy of the current scope for yourself. - - -\paragraph{Save As} - -Saves the current scope to a file (which is of nessusrc type). Note -that only the parameter sets are stored but not the reports. See above -the description of {}``Open'' for more hints. - - -\subsection{Reports} -\label{sec:Reports} - -A report is the result of a security scan. It contains the results -of the executed plugins associated with the corresponding subnet, -host, port and severity. - -Managed within OpenVAS-Client, additionally a comment and, if available, -the scan options leading to the report, can be stored. This additional -information is not contained in the plain OpenVAS report files and -thus gets lost when being exported. This also means that imported reports -have no comments or scan options associated. - -Possible operations for reports are: - - -\paragraph{Remove} - -Deletes the report and its comments and options. The -user is prompted to confirm the removal. - - -\paragraph{Import} - -Allows to import a report from a file. The standard exchange format -is NBE (files suffixed {}``.nbe''). The file selection dialog allows -to select the desired report file. A error hint will be displayed -if the file format was not NBE. Else, the report is added to the currently -selected scope. Neither comments nor options will be there for a report -imported from a NBE file. - - -\paragraph{Export} - -Allows to export the currently selected report either in a re-importable -format (NBE) or in a format for further processing or presentation -(XML, HTML, HTML with Pies and Graphs, \LaTeX{}, ASCII Text and PDF). -It is recommended to use NBE if re-importing is planned and to use -PDF for creating simple report documents that need no further editing. -Use one of the other if you want to further process the report or -integrate it into your own document style. - - -\paragraph{Print} - -Selecting the Print command will create a PDF version of the current report -and tries to run a PDF viewer installed on your system. OpenVAS-Client will try -a number of well-known PDF viewers; if there is a PDF viewer installed on your -system and this menu item does not work, please check if the executable file for -your PDF viewer is available in your system path. - - -\section{Authentication} - -OpenVAS-Client needs to connect to an OpenVAS server in order to retrieve -the available plugins and to actually execute a security scan. - -OpenVAS-Client can handle multiple connections to different servers. -Each scope has a connection of its own. Additionally, the Global Settings -can be connected to an OpenVAS server to define default plugin selections -and plugin parameters. Note that only explicitly saved Global Settings -are used as defaults for new scopes. - -\IncludeImage[width=5cm]{images/authentication-dlg-en} - -The connection status is indicated with a icon in the tasks/scopes/reports -treelist next to the title of the global settings or a scope. Only -scopes are connected with the OpenVAS server. - -More information on the connection status is shown in the statusbar -at the bottom of the main window. There, the connection information -is displayed, i.e.. {}``Connection: username at host.test.example''. -At bottom right there is an icon indicating the connection status. - -The connection dialog allows to specify the following settings for establishing -a connection to an OpenVAS server: - - -\paragraph{Host} - -The hostname or IP address of the server where an OpenVAS server is running. - - -\paragraph{Port} - -The port where the OpenVAS Server waits for connections. Older Nessus -Servers used 3001, but the official port now is 1241. With the default -button you can reset this option to the default port. - - -\paragraph{Login} - -Your username on the selected OpenVAS server. To use an OpenVAS server you have -to have an account on the OpenVAS server. Please contact the administrator of -the server if you need an account. - - -\paragraph{Password} - -The password for your account on the OpenVAS server. - - -\paragraph{Authentication by Certificate:} - -If you use this method you have to have a key/certificate pair created -for you. This is usually done by the administrator of OpenVAS server -using the available scripts. The administrator will give you the -two files you need to specify (User Certificate File and User Key -File). The administrator may create a key without a password or with -a password. If you have a password for the User Key File you must -enter the password in the corresponding text field. - - -\subparagraph{Trusted CA:} - -This certificate defines a certificate authority (CA) you trust. With -this certificate you will be able to check that you are connecting to a trusted -OpenVAS server. This is checked if you have the ``Paranoia Level'' set -to 2 or 3 and is is not checked with a ``Paranoia Level'' of 1. Note that -you can set the Paranoia Level by hand in the nessusrc files or when -first connecting to an OpenVAS server where you are asked explicitly. - -The default path for the Trusted CA is the filename used by the OpenVAS server -itself. Thus, if you are running OpenVAS-Client on the same -machine or have the same volume mounted, you can just use the default. - -If you are running OpenVAS-Client from a remote machine, you need to have a copy -of the CA certificate and set the location of the certificate file -manually. - - -\section{Scan Options} - -This section explains the most important configuration options for -a security scan. - -\subsection{General} - -This page covers all the general scan options. See the screenshot -for the main window in section \ref{sec:MainWindow}. - - -\paragraph{Port range} - -Ports that will be scanned by the OpenVAS server. You can enter single -ports, such as {}``1-8000'' or more complex sets, such as -{}``21,23,25,1024-2048,6000''. -Put {}``-1'' for no portscan, or put {}``default'' to scan the -default ports in the OpenVAS services file. - - -\paragraph{Consider unscanned ports as closed} - -To save scanning time, you may ask the OpenVAS server to declare TCP ports -it did not scan as closed. This will result in an incomplete audit -but it will reduce scanning time and prevent the OpenVAS server from sending -packets to ports you did not specify. If this option is disabled, -the OpenVAS server will consider ports whose state it does not know -as open. - - -\paragraph{Number of hosts to test at the same time} - -Maximal number of hosts that the OpenVAS server will test at the same -time. Be aware that the OpenVAS server will spawn max\_hosts max\_checks -processes! - - -\paragraph{Number of checks to perform at the same time} - -Maximal number of security checks that will be launched at the same -time against each host. Be aware that the OpenVAS server will spawn -max\_hosts x max\_checks processes! - - -\paragraph{Path to CGIs} - -It is possible to check for the presence of CGIs in multiple paths -like {}``/cgi-bin'', {}``/cgis'', {}``/home-cgis'' and so on. -In that case, put all your paths here separated by colons. For instance: -{}``/cgi-bin:/cgi-aws:/cgi''. - - -\paragraph{Do a reverse lookup of the IP before testing it} - -If this option is set, the OpenVAS server will do a reverse lookup on the -IP addresses before it tests them. This may slow down the whole test. - - -\paragraph{Optimize the test} - -Security tests may ask the OpenVAS server to be launched if and only -if some information gathered by other tests exists in the knowledge -base, or if and only if a given port is open. This option speeds up -the test, but may cause the OpenVAS server to miss some vulnerabilities. If you -are paranoid, disable this option. - - -\paragraph{Safe checks} - -Some security checks may harm the target server, by disabling the -remote service temporarily or until a reboot. If you enable this option, -the OpenVAS server will rely on banners instead of actually performing -a security check. You will obtain a less reliable report, but you -are less likely to disrupt functionality on the target system by doing a test. -From a security point of view, we recommend you disable this option; from -a system administrator point of view, we recommend you enable it. - - -\paragraph{Designate hosts by their MAC address} - -If you enable this option, the hosts on the local network will be -designated by their ethernet MAC address instead of their IP address. -This is especially useful if you are using the OpenVAS server in a DHCP network. -If unsure, disable this option. - - -\paragraph{Port Scanner} - -This is the list of available port scanners. Port scanners are a special -category of plugins and therefore presented separately from the other -plugins. The list is only available if a connection to an OpenVAS server -has been established. You can activate one or more of the scanners. -Clicking on an entry shows the details for the respective scanner -plugin. - - -\subsection{Plugins} - -The plugins are stored on the OpenVAS server. Thus, to make a selection -of the plugins to apply you need to connect to a server. Otherwise -this page will remain empty. - -\IncludeImage[width=12cm]{images/mainwindow-plugins-en} - -The Plugins are separated into a number of families which can be activated or -deactivated as a whole by checking the box to the right of family -name. Also, a family can be expanded to show all of its member plugins -where you can refine the selection by activating or deactivating single -plugins using the checkbox to the right of the plugin name. - -The column {}``Warning'' contains a warning sign for some plugins. -The warning sign means that this plugin may harm the target host by -disabling the attacked service or by crashing the host. You should -be careful when you enable it since it may disrupt functionality on the -target server. - -Below the plugin list the total number of plugins loaded from the -server is shown, together with the total number of currently selected -plugin as well as the number of plugins shown due to an applied filter. - -The following actions are possible: - - -\subparagraph{Enable all} - -Enables all plugins. - - -\subparagraph{Disable all} - -Disables all plugins. - - -\subparagraph{Expand all} - -Expands the plugin tree-list to maximum so that the list contains -all plugins. - - -\subparagraph{Collapse all} - -Only show the plugin families. - - -\subparagraph{Enable dependencies at runtime} - -If you enable this option, the OpenVAS server will automatically enable the -plugins needed by the set of plugins you selected. - - -\subparagraph{Silent dependencies} - -If you enable this option, the OpenVAS server will not report data -coming from the plugins that you did not specifically enable. - - -\subparagraph{Filter} - -The filter dialog lets you select plugins with the characteristics -you want. \textbf{Note} that you will erase your previous selection -by applying a filter. - - -\paragraph{Plugin information dialog} - -Double-clicking on a specific plugin title will raise a information -dialog for the respective plugin. - -The information shown are the ones specified within the corresponding -plugin. - -The following actions are possible in this dialog: - - -\subparagraph{Set plugin timeout} - -Allows you to specify a timeout for the plugin. - - -\subparagraph{Show dependencies} - -This lists the dependencies for the selected plugin. It also provides -information on whether the dependencies are currently -enabled or disabled. - - -\subsection{Credentials} - -Some of the plugins allow to enter credentials to test certain applications, -for example Samba or websites (HTTP). These plugins work the same way as the -plugins listed in the {}``Plugin Preferences'' list. -For better handling they are collected under {}``Credentials''. - -\IncludeImage[width=10cm]{images/mainwindow-credentials-en} - - -\subsection{Plugin Preferences} - -Some of the plugins allow to refine with specific parameters. All -of the configurable plugins' parameters are collected on this page -where the user may modify the default values. - -\IncludeImage[width=10cm]{images/mainwindow-pluginprefs-en} - -Only a comparably small number of plugins offer a configuration. - - -\subsection{Target Selection} - -\IncludeImage[width=12cm]{images/mainwindow-targetselection-en} - - - -\paragraph{Target(s)} - -The first host(s) that will be attacked by the OpenVAS server. The options -below allow you to extend the test to a larger set of targets. You -may define several targets by separating them with a comma -(,). i.e. : {}``host1,host2''. - -A special syntax is {}``file:/some/where/targetlist.txt'' which -means that the actual target names are loaded from that list. - - -\paragraph{Read from file} - -A textfile can be specified that contains the list of targets. This -textfile may contain comma-separated lists of host and also may contain -many of such lines. - - -\paragraph{Perform a DNS Zone transfer} - -The OpenVAS server will perform an AXFR request (that is, a zone transfer) -to the target name server and will attempt to obtain the list of the -hosts in the target domain. Then, it will test each host. - - -\section{Reports} - - -\subsection{Report Page of OpenVAS-Client} - -The report page consists of three elements. On the left hand a tree list -allows you to browser via hosts, ports and severity to single reports. -On top of this treelist is a selection for re-ordering the tree structure. -On the right hand the text area contains the actual report text. The -whole design is focused on supporting an explorative understanding -of the scan results. - -\IncludeImage[width=13cm]{images/mainwindow-report-en} - -\subsection{Report Formats} - -The scan results can be exported into a number of formats. Basically -it can be distinguished between three types of formats: interchange formats, -editable documents and read-only documents. The last type is currently -represented by the PDF Report file. With a capable viewer it allows you to -browse back and forth through the document using the various inserted -hyperlinks. - -For further information see the section \ref{sec:Reports} about the menu command -{}``Report->Export''. - -\section{OpenVAS-Client Preferences} - -OpenVAS-Client allows you to specify some individual preferences that -determine some ways how the client GUI works. - -\IncludeImage[width=10cm]{images/preferences-dlg-en} - - -The following selection are available: - - -\subsection{User Interface} - - -\paragraph{Auto expand tree elements} - -In the left-hand treeview clicking on a task or a scope automatically -expands the corresponding tree if checked. - -If not checked, the user has to manually click on the expand icon -each time. - -\paragraph{Order by} - -This setting controls how the scan results are sorted in the report window. The -default is to sort the results by host first, then by port and severity. -Depending on your context, it might make more sense to choose the second option -and sort the results by port first; for example, you might be more interested in -a quick overview over which hosts are running a service on a certain port than -in which ports are open on a certain host. - -\subsection{Connection to the OpenVAS server} - - -\paragraph{Automatically connect} - -If this setting is enabled, OpenVAS-Client will try to connect to -the server when a scope is executed. For user certificates without -a password, this will work immediately. For password protected user -certificates or simple password based authentication, the password -will be stored in memory after a successful login until OpenVAS-Client -is closed. - -\paragraph{Protocol version} - -This setting controls which protocol the client will ask the server to use for -communication between client and server. Right now, it is possible to choose -between NTP 1.2 (the legacy protocol used by Nessus) and OTP 1.0 (the upcoming -OpenVAS Transport Protocol). Please be aware that the server will close the -connection if the client asks for an unsupported protocol. - -\subsection{Plugin Cache} - - -\paragraph{Cache plugin information when connecting} - -If this setting is enabled, OpenVAS-Client will create a cache for -the respective scope containing all plugin information. This has essentially -three effects: - -First, reconnecting the same scope might be much faster because MD5 -checksums are used to discover changed and new plugins. Only -the changes will be downloaded. Of course, connecting to a different -OpenVAS server will usually force a new download of all plugins. - -Second, all plugin information is available even when the client -has no connection to the server. Thus you can review which plugins are selected -and what the current plugin preferences are. Note that the selection -might change after connecting for a actual scan because new plugins -might become available and others might disappear. -Loading the cache may take a couple of seconds. If you don't want -this, switch off the option {}``Load plugin cache for scopes immediately''. - -Third, the downside of caching: The cache will consume several megabytes -for each scope. If you do not have sufficient storage space available, you -should disable this feature. If you want to remove the caches, search for the -files {}``nessus\_plugin\_cache'' in your OpenVAS directory -(the directory ``.openvas'' in your home directory). Simply deleting them is -sufficient. - - -\paragraph{Use plugin cache with reports} - -Enabling this setting will make OpenVAS-Client attach all Plugin Information -to newly created scan reports. This allows to review the plugin selection -and the plugin preferences for a report in the OpenVAS-Client GUI. -So, this cache is for increasing transparency not performance. - -Again, the downside is that several megabytes of cache per report will -be generated. Disable this option if you do not have sufficient storage space -available. If you want to remove the caches, search for the files -{}``nessus\_plugin\_cache'' in your Nessus directory -(the directory ``.openvas'' in your home directory). Simply deleting them is -sufficient. - - -\paragraph{Load plugin cache for scopes immediately} - -Disabling this option will cause OpenVAS-Client to not automatically -load a scope's cache when made active. You won't see the plugin selection -nor the plugin preferences. So, in fact this option could remove the -second effect of the above described option {}``Cache plugin information -when connecting'' for the benefit of avoiding to load possibly huge -caches once clicking on a scope entry. - - -\subsection{Report} - - -\paragraph{Include plugin details in PDF} - -Enabling this setting will make OpenVAS-Client add an appendix to -each PDF Report containing the details of those plugins that produced -relevant results for the report. They are linked within the PDF so -that the information can easily be browsed. - -Be aware, however, that this could significantly increase the size -of your PDF file. On average, you can expect two plugin descriptions -to consume one page. - -\paragraph{Show script origin in report window} - -Enabling this option will cause OpenVAS-Client to show additional information -in the report window regarding the origin of the reported security issue. If -this option is enabled, these reports will contain the name and the OID of the -NVT that reported the issue. - -\subsection{External Links in HTML/PDF} - -These settings determine the URLs for linking more information on -OpenVAS NVTs, CVE/CAN and BugTraq IDs in HTML or PDF reports. The defaults as -shown in the screenshots are recommended since these are the definitive -sources for up-to-date information. The defaults are -restored when the fields are left empty. - -In case you want to package an OpenVAS report with e.g. CVE/CAN details -for offline-reading, you may enter an appropriate definition like -``mitre/\%s/\%s/\%s.html'' -in case you have a directory structure relative to the report file -with mitre/CVE/yyyy/nnnn.html and mitre/CAN/yyyy/nnnn.html where yyyy -is the year and nnnn is the number of the record. Then you could package -all files together. - -Note, that the strings defined here are inserted into the html link -parameter ``href'' as they are. The tool ``htmldoc'' is used to produce -a PDF out of this html report. Depending on the version and features -the created links in the PDF file may be created differently. - -\clearpage - -\chapter{Knowledge Base} -\compendiumauthor{} - -\clearpage - -\chapter{Performing Local Security Checks} -\compendiumauthor{Jan-Oliver Wagner} -\section{Debian Local Security Checks} - -This section explains how to run local security checks with OpenVAS. So far, -this procedure has been tested only with Debian local security checks. - -\subsection{Prerequisites} - -To perform local security checks, you need a working OpenVAS-Server -installation. Information on setting up and configuring OpenVAS-Server is -available in chapter \ref{chap:Install-And-Configure-Server}. - -\subsection{Create users for local security checks} - -First, you need a key with certificate: - -\begin{verbatim} -$ ssh-keygen -t rsa -f ~/.ssh/id_rsa_sshovas -C -"OpenVAS-Local-Security-Checks-Key" -$ openssl pkcs8 -topk8 -v2 des3 -in ~/.ssh/id_rsa_sshovas -out sshovas_rsa.p8 -\end{verbatim} - -Note: The comment (here: "OpenVAS-Local-Security-Checks-Key") must not -contain spaces. -Currently, you need a rsa pkcs8 key for OpenVAS local security checks. - -Now, for each target system: -\begin{verbatim} -# adduser --disabled-password sshovas -Name: OpenVAS Local Security Checks -# su - sshovas -$ mkdir .ssh -$ cp /some/path/id_rsa_sshovas.pub .ssh/authorized_keys -$ chmod 500 .ssh -$ chmod 400 .ssh/authorized_keys -\end{verbatim} - -\subsection{Configure the local security checks in OpenVAS-Client} - -In Preferences, configure SSH Authorization: -\begin{verbatim} -SSH login name: sshovas -SSH private key: ~/.ssh/sshovas_rsa.p8 -SSH key passphrase: ******** -SSH public key: ssh/id_rsa_sshovas.pub -\end{verbatim} - -Note: It is actually not necessary to submit the public key, but currently this -is necessary due to a bug inherited from Nessus. - -Next, make sure you select at least these plugins: -\begin{itemize} -\item Debian Local Security Checks/* -\item Misc/Determine List of installed packages via SSH login -\item Service Detection/Services -\item Settings/Global variable settings -\item Settings/SSH Authorization -\end {itemize} -or ensure dependencies are resolved at runtime (see checkboxes) if you select -only some local security checks. - -\section{Windows Local Security Checks} - -In order to provide - analogous to the Linux Local Security Check - a framework -for checking and testing for Microsoft Windows vulnerabilities, a new -Application Programming Interface (API) was introduced by the OpenVAS team. - -This API (for the Nessus Attack Scripting Language, NASL) allows to check and -examine binary files (e.g. DLLs) as well Microsoft Windows meta-data on -Microsoft Windows machines by accessing the complete file system using default -Windows administrative shares. - -The functionality is similar to the Nessus Windows Local Security checks. -However, the OpenVAS solution is using samba (smbclient) and does not -re-implement the binary SMB protocol in NASL. - -The advantage of this smbclient integration is to act more flexible on protocol -changes on the SAMBA/CEFIS protocol side. - -\subsection{Preparing the OpenVAS Server} - -To install the WLSC, a few steps are required to be taken on the server that -hosts and runs the actual scan daemon "openvasd". - -It depends on the operating system where you run the OpenVAS server, how the -steps are carried out technically. - -\begin{enumerate} - -\item Install SAMBA (http://www.samba.org) - -Installation packages should be readily available for your operating system. - -\item Make sure that the binary "smbclient" in is the installation/execution -path. - -\item Check the permissions of openvasd and smbclient: smbclient must be -executable with the permissions of openvasd. - -\end{enumerate} - -\subsection{Preparing the Microsoft Windows target} - -The WLSC implementation has been tested on the following Microsoft Windows -Operating Systems: -\begin{itemize} -\item Windows NT 4.0 -\item Windows 2000 -\item Windows XP SP2 -\item Windows XP SP3 -\item Windows Vista -\end{itemize} -Probably the WLSC is also compatible with other Microsoft Operating Systems. -Once the SMB Port of a Windows target is accessible, the Operating System (OS) -and SAMBA Version could be detected immediately and will be reported. For deeper -tests the following steps are required: - -You need the Windows credentials for an administrative user. Usually this is the -user name (Default is "Administrator") and the correct password for this user. -There is no default password, this has been defined before during the Windows -installation process. - -These credentials are entered in the OpenVAS-Client GUI as SMB Credentials and -are used on every host in the target list. - -If you plan to scan a whole Windows Domain, you can enter the -Domain-Administrative user and password instead of the target host credentials. - -Make sure the Windows-(personal) Firewall is disabled for the OpenVAS Server -host, or a correct rule for the Test-Network is entered. - -\paragraph{Additional Note for Windows XP} - -For Windows XP it is important that "Easy Filesharing" is switched off. -To disable this, the Windows Click-Path is: Windows Explorer/Tools/Folder -Options/View (see screenshot below). - -Without this setting, "smbclient" is not able to retrieve files from the Windows -System shares (\verb!C$,D$...!). - -\subsection{Executing the checks via OpenVAS-Client} - -Using the OpenVAS-Client you specify the credentials and the target host -information will be reported as illustrated by the following two screenshots: - -\clearpage - -\chapter{Using Integrated Tools} - -\section{Security Local Auditing Daemon (SLAD)} -\compendiumauthor{Jan-Oliver Wagner} -\subsection{How to use Security Local Auditing Daemon (SLAD) with OpenVAS} - -Homepage: \hyperurl{http://www.dn-systems.org/slad.shtml} - -This description is a quick guide how you get first results with SLAD via -OpenVAS. For real production mode you should make yourself familiar with the -details of SLAD and its integrated tools. There is also the SLAD developer's and -administrator's guide as PDF file. - -\begin{enumerate} - -\item Download SLADinstaller from -\hyperurl{http://www.dn-systems.org/boss/slad2/sladinstaller-1.1.tar.gz} - -\item You may want to apply this patch: -\begin{verbatim} -diff -r -u sladinstaller-1.1-orig/gtk.cpp sladinstaller-1.1-openvas/gtk.cpp ---- sladinstaller-1.1-orig/gtk.cpp 2006-04-23 15:57:01.000000000 +0200 -+++ sladinstaller-1.1-openvas/gtk.cpp 2008-04-30 15:59:07.452562817 +0200 -@@ -299,8 +299,8 @@ - else - dir="~"; -} -- // and nessus directory -- dir+="/.nessus"; -+ // and OpenVAS directory -+ dir+="/.openvas"; - mkdir(dir.c_str(), 0700); - - std::string ip_; -\end{verbatim} - -\item Compile sladinstaller by just typing "make", which works at least on a -Debian GNU/Linux "Etch" 4.0. There is a file "INSTALL" which might provide some -helpful hints. - -\item Prepare SSH Authorization: It is required to use a SSH key created -following the example for ssh-keygen and openssl on the page about local -security checks. Especially take care you create a RSA .p8 key file. Reason: -sladinstaller would else create a key that is not usable with OpenVAS due to the -migration from OpenSSL to GNU/TLS. - -\item Make sure SLAD is not installed yet on your target system. Is so, remove -it this way: -\begin{verbatim} -# /opt/slad/bin/slad-uninstall.sh -\end{verbatim} - -\item Run sladinstaller and fill out the entries. Take care you apply the SSH -key you've just created on your own and don't let sladinstaller create one for -you. Hostname defines the target system. - -\item It might be necessary you have to adjust the sshd configuration of the -target system allow sladinstaller to log in. Just follow the hints given by -sladinstaller. - -\item Finally, you need to install the file "slad.inc" (which is specific to -your SLAD version) for your OpenVAS Server. Assume, SLAD is installed on the -same system as the OpenVAS Server. Then it would execute this: -\begin{verbatim} -# cd /opt/slad/share/nessus_plugins/ -# /opt/slad/bin/sladd -s plugins | awk -f sladbuild.awk > -/usr/local/openvas-production/lib/openvas/plugins/slad.inc -\end{verbatim} - -\item Finally, run OpenVAS-Client and configure your task to scan the target -where you installed SLAD and fill out the "SLAD init" preferences and, if -wished, -adjust the "SLAD run" preferences. A first scan will schedule the tasks, the -next scan will retrieve the results that were collected so far (lsof is fast, -John-the-ripper could take very long). -\end{enumerate} - -\section{Nikto} -\compendiumauthor{Michael Wiegand} - -Nikto is an Open Source (GPL) web server scanner which performs comprehensive -tests against web servers for multiple items, including over 3500 potentially -dangerous files/CGIs, versions on over 900 servers, and version specific -problems on over 250 servers. Scan items and plugins are frequently updated and -can be automatically updated (if desired). - -OpenVAS is able to recognize an installed version of Nikto and can integrate -the results of a Nikto scan in the scan results. - -\subsection{Prerequisites} - -In order to be able to perform a Nikto scan from within OpenVAS, the following -requirements must be met: -\begin{itemize} - \item There has to be a version of Nikto that can be found in the system path. -The OpenVAS integration of Nikto is optimized for Nikto versions >= 2.0, but -will probably work with older versions as well. - \item The OpenVAS plugin for Nikto integration (\textit{nikto.nasl}) needs to -be present and enabled. You can find the plugin in the section \textit{CGI -abuses} in the plugin section of your client. -\end{itemize} - -\subsection{Starting a Nikto scan} - -If the Nikto plugin is present and enabled, it will be executed with your next -scan. The results returned by Nikto will be available together with the rest of -the scan results. - -\subsection{Understanding Nikto results} - -Some web servers are (intentionally or unintentionally) configured to respond -to requests for non-existent with an HTTP status code other than 404. This can -be used to direct these requests from human users to a page with helpful -information (like a sitemap), but tends to confuse security assessment tools -like Nikto checking whether possibly sensitive or dangerous content can be -accessed on the target server. - -The Nikto plugin is able to recognize this condition in most web servers and -will (in the default setting) refuse to launch Nikto under these circumstances. -You can however force the Nikto plugin to launch Nikto by enabling the option -\textit{Force scan even without 404s} in the plugin preferences. - -If you enable this option, please be aware that the results of the Nikto scan -are likely to contain false positives; because of the web server configuration -described above Nikto may be convinced that certain files exist on the web -server, even though the server simply redirected these requests to a generic -page. - -This is especially true for older versions of Nikto (< 2.0); but even with -newer versions you may need to manually evaluate whether the threats reported -by Nikto are real threats or simply the result of the web server configuration. - -\clearpage - -\chapter{Developers Guide for NASL scripts} - -\section{Basic Structure of a NASL NASL Scripts} - -\compendiumauthor{Tim Brown} - -\subsection{API Documentation} - -\subsubsection{script\_oid()} - -This function is intended to replace \verb!script_id!, the current method of uniquely -identifying NASL scripts. The logic behind this is that \verb!script_id! has only a single -global namespace. With plans by several organisations to develop and contribute -plugin feeds it was deemed necessary to introduce a new namespace that could be -shared between each organisation. - -The current proposed implementation of this function is as follows. Any plugin that -contains a \verb!script_id! call will automatically be given an OID from the namespace -allocated for legacy plugins. Moreover \verb!script_oid! can only be used on plugins -that do not have a \verb!script_id! set. The OID namespace for legacy plugins has the -prefix "1.3.6.1.4.1.25623.1.0". The OpenVAS OID namespace is currently administered -by Tim Brown. - -Both the client and server as well as the libraries on which they depend are being -updated to support this functionality. You can detect if it is supported by checking -OPENVAS\_NASL\_LEVEL is greater than 2206. - -\verb!script_oid! should be called like so: - -\begin{verbatim} - ... - if(description) - { - if (OPENVAS_NASL_LEVEL >= 2206) - { - script_oid("1.3.6.1.4.1.25623.1.0.90010"); - } - else - { - script_id(90010); - } - ... -\end{verbatim} - -\section{Writing WLSC NASL Scripts} - -\compendiumauthor{Carsten Koch Mauthe} - -The SMB-Client API is made available as \verb!smbcl_func.inc!. This file has to -be included in any WLSC Script. - -\subsubsection{smbclientavail()} - -This function returns TRUE if smbclient can be used from within openvasd. -It also sets the knowledge base item "SMB/smbclient". It should be called first -in any WLSC Script. -Example: - -\begin{verbatim} - include("smbcl_func.inc"); - if(!get_kb_item("SMB/smbclient")) - { - smbclientavail(); - } - if(get_kb_item("SMB/smbclient")) - { - do something; - } - else - { - report = string("SMBClient not found on this host !"); - security_note(port:0, proto:"SMBClient", data:report); - exit(0); - } -\end{verbatim} - -\subsubsection{smbversion()} - -This function returns TRUE if successful and writes the DOMAIN, OS Version and -SMB Server version to the knowledge base as items "SMB/DOMAIN", "SMB/OS" and -"SMB/SERVER". - - -\subsubsection{smbgetfile(share, filename, tmp\_filename)} - -Use this function to get a file from the target host and save this file locally -using tmp\_filename. Returns TRUE if successful. -Example: -\begin{verbatim} - tmp_filename = get_tmp_dir() + "tmpfile" + rand(); - orig_filename = "C:\Windows\systems32\ntdll.dll"; - smbgetfile(share: "C$", filename: orig_filename, tmp_filename: tmp_filename) -\end{verbatim} - -\subsubsection{smbgetdir(share, dir, typ)} - -Use this function to get directory entries from the SMB source. -\begin{description} - \item[typ = 0:] All entries - \item[typ = 1:] Only file entries - \item[typ = 2:] Only directory entries -\end{description} - -With this it is possible to check for one or more files or directories. -Returns NULL or array of Strings containing found entries. -Example: - -\begin{verbatim} - r = smbgetdir(share: "C$", dir: "C:\Windows\systems32\*.dll", typ: 1); -\end{verbatim} - -\subsubsection{GetPEFileVersion (tmp\_filename, orig\_filename)} - -This function returns the Version of Windows PE/32 executables like .exe or -.dll. Together with smbgetfile, this can be used to check for Windows -vulnerabilities. - -Example: -\begin{verbatim} - tmp_filename = get_tmp_dir() + "tmpfile" + rand(); - orig_filename = "C:\Windows\systems32\ntdll.dll"; - if(smbgetfile(share: "C$", filename: orig_filename, - tmp_filename: tmp_filename)) - { - v = GetPEFileVersion(tmp_filename:tmp_filename, - orig_filename:orig_filename); - if(v = "1.2.3.4") - { - ... -\end{verbatim} - -\subsubsection{get\_windir()} - -This function returns the standard Windows folder WINNT or WINDOWS, depending on -the OS found by "smbversion". - -\subsection{Example} - -This is a complete NASL test for a Windows Local Security Check. It can be found -in the OpenVAS plugins as win\_CVE-2007-0043.nasl. - -\begin{verbatim} -# -# This script was written by -# Carsten Koch-Mauthe -# -# -# This script is released under the GNU GPLv2 -# -# $Revision: 01 $ - -if(description) -{ - if (OPENVAS_NASL_LEVEL >= 2206) - { - script_oid("1.3.6.1.4.1.25623.1.0.90010"); - } - else - { - script_id(90010); - } - script_version ("$Revision: 01 $"); - script_cve_id("CVE-2007-0043"); - name["english"] = ".NET JIT Compiler Vulnerability"; - script_name(english:name["english"]); - - desc["english"] = -"The remote host is affected by the vulnerabilities described in CVE-2007-0043 - -Checking if System.web.dll version is less than 2.0.50727.832 - -Impact - The Just In Time (JIT) Compiler service in Microsoft - .NET Framework 1.0, 1.1, and 2.0 for Windows 2000, XP, - Server 2003, and Vista allows user-assisted remote - attackers to execute arbitrary code via unspecified - vectors involving an unchecked buffer, probably a - buffer overflow, aka .NET JIT Compiler Vulnerability. - Checking if System.web.dll version is less than 2.0.50727.832 - -References: - http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2007-0043 - -Solution: - All users should upgrade to the latest version. - - -Risk factor : High"; - - script_description(english:desc["english"]); - summary["english"] = "Test for .NET JIT Compiler Vulnerability"; - script_summary(english:summary["english"]); - script_category(ACT_GATHER_INFO); - script_copyright(english:"This script is under GPLv2"); - family["english"] = "Windows.NET"; - script_family(english:family["english"]); - exit(0); -} - -# -# The code starts here -# - -include("version_func.inc"); -include("smbcl_func.inc"); - -if(!get_kb_item("SMB/smbclient")) -{ - smbclientavail(); -} -test_version = "2.0.50727.832"; - -if(get_kb_item("SMB/smbclient")) -{ - if(smbversion() == 0) - { - report = string("Error getting SMB-Data -> " + - get_kb_item("SMB/ERROR")); - security_note(port:0, proto:"SMBClient", data:report); - exit(0); - } -} -else -{ - report = string("SMBClient not found on this host !"); - security_note(port:0, proto:"SMBClient", data:report); - exit(0); -} - -win_dir = get_windir(); -if(!isnull(win_dir)) -{ - path = win_dir+"Microsoft.NET\Framework\"; - filespec = "v2*"; - r = smbgetdir(share: "C$", dir: path+filespec, typ: 2); - if(!isnull(r)) - { - filespec = r[0] + "\" + "system.web.dll"; - r = smbgetdir(share: "C$", dir: path+filespec, typ: 1); - if(!isnull(r)) - { - tmp_filename = get_tmp_dir() + "tmpfile" + rand(); - orig_filename = path + filespec; - if(smbgetfile(share: "C$", filename: orig_filename, - tmp_filename: tmp_filename)) - { - v = GetPEFileVersion(tmp_filename:tmp_filename, - orig_filename:orig_filename); - unlink(tmp_filename); - if(version_is_less(version: v, test_version: test_version)) - { - security_hole(port:0, proto:"SMB"); - report = report + "Fileversion : C$ " + - orig_filename + " "+ v + string("\n"); - security_hole(port:0, proto:"SMB", data:report); - } - } - else - { - report = string("Error getting SMB-File -> " + - get_kb_item("SMB/ERROR")) + string("\n"); - security_note(port:0, proto:"SMB", data:report); - } - } - } - else - { - report = string(".NET V2xx not found/no access -> " + - get_kb_item("SMB/ERROR")) + string("\n"); - security_note(port:0, proto:"SMB", data:report); - } -} - -exit(0); -\end{verbatim} - - -\clearpage - -\chapter{Developers Guide for OpenVAS Server and Client} -\compendiumauthor{Jan-Oliver Wagner} -\section{The OpenVAS Source Code Map} - -\section{Management of OpenVAS Change Requests} - -OpenVAS change requests describe proposed changes to one of the OpenVAS -components. Though this is a formalized approach, this does not replace open -discussion among interested developers on the mailing lists. In fact, these open -discussions are the main source of change requests. This approach is intended -to make the OpenVAS development process as transparent as possible to the -OpenVAS developers as well as to the OpenVAS user community and other interested -parties. - -You can find the most current change requests at: - -\hyperurl{http://www.openvas.org/openvas-crs.html}. - -A complete change request consists of the following sections: - -\begin{description} - \item[Status:] A general description of the current status of this request. -This could be something like ``in discussion'', ``agreed (voted +3) for release -1.4'' or ``Step 1 and 2 implemented''. - \item[Purpose:] A concise summary of the reasons for this change request. - \item[References:] Links to corresponding issue tracker entries or mailing list -discussions. - \item[Rationale:] A more verbose explanation as to why this change request -should be implemented. - \item[Effects:] The effects should this change request be implemented, -describing changes to API, compatibility, user experience and so on. - \item[Design and Implementation:] Technical details regarding the -implementation of this change request. - \item[History:] Date, name and description of changes to this change request in -ChangeLog format. -\end{description} - -Change requests can be created by anybody; although most change requests are -created by OpenVAS developers, this is not in any way meant to exclude -anyone from creating their own change request and submitting it to the -openvas-discuss mailing list. Authors of change requests are encouraged to -discuss their ideas for change requests on this mailing or in the OpenVAS IRC -channel (\#openvas on irc.oftc.net) before compiling the actual request. - -The OpenVAS developer community regularly votes on new change requests. Every -OpenVAS developer can vote for or against a certain changed request by voting -``+1'' (for), ``+/-0'' (somewhat for/against) or ``-1'' (against). After a -number of days has passed, the votes are counted; a positive result means that -the change request has been accepted and will be implemented in future versions -of OpenVAS. - -The voting process itself is not yet fully formalized and subject to change; -ideas and suggestions are welcome. - -\section{Submitting Patches} - -\section{Write-Access to Source Code Repository} - -Write access to the source code repository is granted by the project -coordinators. If you want to able to commit changes to the source code -repository, just drop a message on the openvas-devel mailing list. -Usually you are asked to send your first changes as patches to the -mailing list to demonstrate you know what you are doing. If these -are accepted, it is also usual that you are immediately approved for -write access to the source code repository. - -Note that that changes to the code repository are watched by several -developers. Low quality changes or uncoordinated high-impact-changes -might get reverted immediately. - -\section{Maintaining ChangeLog} - -Any main module of OpenVAS maintains a ``ChangeLog'' file in its -root directory. It is a GNU-style ChangeLog and syntax highlighting -for your favorite editor should work out of the box. - -Some rules for the ChangeLog file: - -\begin{itemize} -\item Keep the GNU-style syntax for your new entries. Your syntax-highlighting - editor will support you. -\item Make atomic commits: Always include the updated ChangeLog file together with - the changed files. -\item List any changed file explicitly in the ChangeLog, even if there were many. - See the ChangeLog file for examples how to write the change information. -\end{itemize} - -Note: The ChangeLog is intentionally not created automatically. Before committing, -developers are forced to reflect on the changes they did. This regularly leads -to detection of suboptimal changes or identification of intermediate (try-out/debugging) -changes that of course should not go to the main repository. - -The developer's ChangeLog is the base for writing the user's CHANGES when a new -release is prepared. - -\section{Source Code Style Guide} - -Currently there is no complete definition of a style guide -for the source code of OpenVAS. - -In fact, several styles have been mixed into OpenVAS over -the last years, most inherited from the old Nessus times. - -However, some rules should always be followed when adding -new code or when changing some source code lines anyway. -For the rest, it makes sense to be close to the GNU coding style -which you will find more or less applied already. - -\begin{itemize} - -\item Indention: Do not use tabulators at all, only regular spaces. - -\item Indention: Indent with a step of 2 space characters. - -\item Function definitions: Do not use old K\&R style. - -\end{itemize} - -\clearpage - -\chapter{Document License: CC by SA} - -\begin{latexonly} -\urlstyle{normal} - -\begin{center} -\IncludeImage[width=5cm]{images/cc-by-sa-logo} -\textbf{Creative Commons Attribution-ShareAlike 3.0 Unported} -\end{center} - - -You are free to copy, distribute and transmit the work under the following -conditions: - -\textit{Attribution.} You must give the original author credit. - -\textit{Share Alike.} If you alter, transform, or build upon this work, -you may distribute the resulting work only under a license identical to this one. - -\begin{itemize} - \item For any reuse or distribution, you must make clear to others the license terms of this work. - \item Any of the above conditions can be waived if you get permission from the copyright holder. -\end{itemize} - - -Nothing in this license impairs or restricts the author's moral rights.\\ -To view the full licensing agreement, visit -\begin{center} - \normalsize\hyperurl{http://creativecommons.org/licenses/by-sa/3.0/} -\end{center} -or mail to Creative Commons, 543 Howard Street, 5th Floor, San Francisco, California, 94105, USA. -\end{latexonly} - -\W \hyperurl{http://creativecommons.org/licenses/by-sa/3.0/} - -\end{document} Modified: trunk/openvas-compendium/ChangeLog =================================================================== --- trunk/openvas-compendium/ChangeLog 2008-08-01 17:58:36 UTC (rev 1092) +++ trunk/openvas-compendium/ChangeLog 2008-08-01 18:08:03 UTC (rev 1093) @@ -1,3 +1,7 @@ +2008-08-01 Jan-Oliver Wagner + + * openvas-compendium.tex: New. Moved here from doc module. + 2008-06-01 Michael Wiegand Removing support of old XML report format according to Copied: trunk/openvas-compendium/openvas-compendium.tex (from rev 1090, trunk/doc/openvas-compendium/openvas-compendium.tex) From scm-commit at wald.intevation.org Fri Aug 1 20:23:10 2008 From: scm-commit at wald.intevation.org (scm-commit@wald.intevation.org) Date: Fri, 1 Aug 2008 20:23:10 +0200 (CEST) Subject: [Openvas-commits] r1094 - trunk/openvas-compendium Message-ID: <20080801182310.E246C4072C@pyrosoma.intevation.org> Author: jan Date: 2008-08-01 20:23:10 +0200 (Fri, 01 Aug 2008) New Revision: 1094 Removed: trunk/openvas-compendium/images/ trunk/openvas-compendium/users-manual-de.lyx trunk/openvas-compendium/users-manual.lyx Modified: trunk/openvas-compendium/ChangeLog Log: Removing the old english and german manual and associated files. * images/mainwindow-kb-de.png, images/mainwindow-targetselection-de.png, images/mainwindow-credentials-de.png, images/mainwindow-pluginprefs-de.png, images/mainwindow-de.png, images/preferences-dlg-en.png, images/mainwindow-targetselection-en.png, images/mainwindow-kb-en.png, images/mainwindow-credentials-en.png, images/mainwindow-pluginprefs-en.png, images/authentication-dlg-de.png, images/mainwindow-report-de.png, images/mainwindow-en.png, images/mainwindow-plugins-de.png, images/authentication-dlg-en.png, images/mainwindow-report-en.png, images/mainwindow-plugins-en.png, images/preferences-dlg-de.png: Removed. * images/: Removed. * users-manual-de.lyx, users-manual.lyx: Removed. Modified: trunk/openvas-compendium/ChangeLog =================================================================== --- trunk/openvas-compendium/ChangeLog 2008-08-01 18:08:03 UTC (rev 1093) +++ trunk/openvas-compendium/ChangeLog 2008-08-01 18:23:10 UTC (rev 1094) @@ -1,5 +1,24 @@ 2008-08-01 Jan-Oliver Wagner + Removing the old english and german manual and associated files. + + * images/mainwindow-kb-de.png, images/mainwindow-targetselection-de.png, + images/mainwindow-credentials-de.png, images/mainwindow-pluginprefs-de.png, + images/mainwindow-de.png, images/preferences-dlg-en.png, + images/mainwindow-targetselection-en.png, images/mainwindow-kb-en.png, + images/mainwindow-credentials-en.png, images/mainwindow-pluginprefs-en.png, + images/authentication-dlg-de.png, images/mainwindow-report-de.png, + images/mainwindow-en.png, images/mainwindow-plugins-de.png, + images/authentication-dlg-en.png, images/mainwindow-report-en.png, + images/mainwindow-plugins-en.png, images/preferences-dlg-de.png: + Removed. + + * images/: Removed. + + * users-manual-de.lyx, users-manual.lyx: Removed. + +2008-08-01 Jan-Oliver Wagner + * openvas-compendium.tex: New. Moved here from doc module. 2008-06-01 Michael Wiegand Deleted: trunk/openvas-compendium/users-manual-de.lyx =================================================================== --- trunk/openvas-compendium/users-manual-de.lyx 2008-08-01 18:08:03 UTC (rev 1093) +++ trunk/openvas-compendium/users-manual-de.lyx 2008-08-01 18:23:10 UTC (rev 1094) @@ -1,3649 +0,0 @@ -#LyX 1.4.3 created this file. For more info see http://www.lyx.org/ -\lyxformat 245 -\begin_document -\begin_header -\textclass article -\begin_preamble -\usepackage{times}[12pt] -\end_preamble -\language ngerman -\inputencoding auto -\fontscheme default -\graphics default -\paperfontsize default -\spacing single -\papersize a4paper -\use_geometry false -\use_amsmath 1 -\cite_engine basic -\use_bibtopic false -\paperorientation portrait -\secnumdepth 3 -\tocdepth 3 -\paragraph_separation indent -\defskip medskip -\quotes_language english -\papercolumns 1 -\papersides 1 -\paperpagestyle default -\tracking_changes false -\output_changes true -\end_header - -\begin_body - -\begin_layout Standard -\align center - -\series bold -\size largest -OpenVAS-Client Benutzerhandbuch -\end_layout - -\begin_layout Standard -\begin_inset VSpace bigskip -\end_inset - - -\end_layout - -\begin_layout Standard -\align center -\begin_inset Graphics - filename OpenVAS-logo.png - keepAspectRatio - clip - -\end_inset - - -\end_layout - -\begin_layout Standard -\begin_inset VSpace bigskip -\end_inset - - -\end_layout - -\begin_layout Standard -\align center - -\series bold -\size large -$Date: 2006-05-19 09:58:15 $ -\end_layout - -\begin_layout Standard -\begin_inset VSpace bigskip -\end_inset - - -\end_layout - -\begin_layout Standard -\align center - -\series bold -\size large -Renaud Deraison -\end_layout - -\begin_layout Standard -\begin_inset VSpace bigskip -\end_inset - - -\end_layout - -\begin_layout Standard -\align center - -\series bold -\size large -Jan-Oliver Wagner -\end_layout - -\begin_layout Standard -\begin_inset VSpace bigskip -\end_inset - - -\end_layout - -\begin_layout Standard -\align center -Deutsche Übersetzung: -\end_layout - -\begin_layout Standard -\align center -Frank Koormann und -\end_layout - -\begin_layout Standard -\align center -Jan-Oliver Wagner -\end_layout - -\begin_layout Standard -\begin_inset VSpace vfill -\end_inset - - -\end_layout - -\begin_layout Standard - -\newpage - -\begin_inset LatexCommand \tableofcontents{} - -\end_inset - - -\end_layout - -\begin_layout Section* -Über dieses Dokument -\end_layout - -\begin_layout Standard -Dieses Dokument beschreibt die Verwendung des OpenVAS oder Nessus Server - über die GTK+ GUI -\begin_inset Quotes eld -\end_inset - -OpenVAS-Client -\begin_inset Quotes erd -\end_inset - -. - Die Beschreibung deckt unter Umständen nicht die gesamte Funktionalität - von OpenVAS oder Nessus Server ab, noch erhebt sie Anspruch auf Vollständigkeit. -\end_layout - -\begin_layout Standard -Bitte beachten Sie, dass es eine Namensänderung von NessusClient nach OpenVAS-Cl -ient etwa Anfang Juli 2007 gab. - NessusClient 1.x wird seitdem als OpenVAS-Client weiterentwickelt während - der vollständig neu entwickelte NessusClient 3.x auf QT anstatt GTK+ basiert - und auch keine Freie Software mehr ist. -\end_layout - -\begin_layout Standard -Aufgrund dieser Namensänderung können in diesem Handbuch noch entsprechende - Inkonsistenzen vorliegen. - -\end_layout - -\begin_layout Section -Überblick -\end_layout - -\begin_layout Standard -Das -\begin_inset Quotes eld -\end_inset - -Nessus -\begin_inset Quotes erd -\end_inset - --Projekt bietet einen leistungsfähigen, aktuellen und leicht benutzbaren - Security-Scanner als Freie Software unter der GNU General Public Licence - (GPL). - Mit Nessus können Sie Computer-Netzwerke im Fernzugriff prüfen und festzustelle -n, ob die -\begin_inset Quotes eld -\end_inset - -bösen Jungs" (auch 'Cracker') eindringen oder es anderweitig missbrauchen - können. -\end_layout - -\begin_layout Paragraph -Intelligentes Scannen -\end_layout - -\begin_layout Standard -Im Gegensatz zu vielen anderen Security-Scannern trifft Nessus keine Voraussetzu -ngen. - Z.B sind Scans einzelner Dienste nicht an bestimmte Ports gebunden: Wenn - Sie etwa einen WWW-Server an Port 1234 betreiben, so wird Nessus ihn entdecken - und auf Sicherheitslücken überprüfen. - Ebenso werden Sicherheitslücken nicht einfach anhand von Versionsnummern - installierter Dienste geschätzt, sondern es wird versucht, vermeintliche - Sicherheitslücken tatsächlich auszunutzen. - Damit kann geprüft werden ob Fixes eine Lücke auch tatsächlich geschlossen - haben. - -\end_layout - -\begin_layout Paragraph -Modulare Architektur -\end_layout - -\begin_layout Standard -Die Klient/Server Architektur von Nessus erlaubt eine flexible Installation - von Scanner (der Server) und Benutzeroberfläche (der Klient) in vielfältigen - Konfigurationen. - Dadurch reduzieren sich Installations- und Betreuungsaufwand: Ein Server - kann von vielen Klienten benutzt werden. - -\end_layout - -\begin_layout Standard -\begin_inset VSpace defskip -\end_inset - - -\end_layout - -\begin_layout Standard -\noindent -Weitere Funktionen des Nessus Security Scanner: -\end_layout - -\begin_layout Paragraph -\noindent -Plugin Architektur -\end_layout - -\begin_layout Standard -\noindent -Jeder Sicherheitstest ist als externes Plugin implementiert. - Dadurch können leicht eigene Tests hinzugefügt werden, ohne direkt in den - Code des Nessus Servers ( -\family typewriter -nessusd -\family default -) einzugreifen. - Eine vollständige Liste der verfügbaren Plugins findet sich unter http://cgi.nes -sus.org/plugins. -\end_layout - -\begin_layout Paragraph -\noindent -CVE kompatibel -\end_layout - -\begin_layout Standard -\noindent -Jedes Plugin enthält einen Bezug zum CVE-Verzeichnis (Common Vulnerabilities - and Exposures) für Administratoren für weitere Informationen zu veröffentlichte -n Sicherheitslücken. - Plugins bieten außerdem Verweise zu -\series bold -CERT, Bugtraq -\series default - und Meldungen von Herstellern. -\end_layout - -\begin_layout Paragraph -\noindent -NASL -\end_layout - -\begin_layout Standard -\noindent -Der Nessus Security-Scanner enthält NASL (Nessus Attack Scripting Language), - eine Programmiersprache speziell für die einfache und schnelle Entwicklung - von Sicherheitstests. - Diese Tests können auch in C implementiert werden. -\end_layout - -\begin_layout Paragraph -\noindent -Aktuelle Datenbank von Sicherheitslücken/-tests -\end_layout - -\begin_layout Standard -\noindent -Das Nessus-Projekt konzentriert sich auf die Entwicklung von Tests für aktuelle - Sicherheitslücken. - Die Datenbank der Sicherheitstests wird täglich aktualisiert, die neuesten - Tests sind unter http://www.nessus.org/scripts.php sowie dem FTP Server und - seinen Spiegelservern verfügbar. - -\end_layout - -\begin_layout Paragraph -\noindent -Unbegrenzte Anzahl simultaner Tests -\end_layout - -\begin_layout Standard -\noindent -Abhängig von der Leistungsfähigkeit des Rechners auf dem der Nessus Server - läuft können viele Host-Rechner gleichzeitig überprüft werden. -\end_layout - -\begin_layout Paragraph -\noindent -Flexible Dienste-Erkennung -\end_layout - -\begin_layout Standard -\noindent -Nessus verlässt sich nicht darauf, dass der zu überprüfende Host-Rechner - den von der IANA vorgegebenen Portnummern entsprechend konfiguriert ist. - Ein FTP-Server wird auch an einem -\begin_inset Quotes eld -\end_inset - -Nicht-Standard-Port -\begin_inset Quotes erd -\end_inset - - erkannt (z.B. - an Port 31337), ebenso ein WWW-Server an Port 8080. -\end_layout - -\begin_layout Paragraph -\noindent -Mehrfache Dienste -\end_layout - -\begin_layout Standard -\noindent -Nessus beendet Scans nicht, sobald ein zu prüfender Dienst an einem Port - gefunden wurde: Laufen auf dem Host-Rechner z.B. - zwei (oder noch mehr) WWW-Server an Port 80 und 8080, so wird Nessus alle - einzeln testen. -\end_layout - -\begin_layout Paragraph -\noindent -Kooperation von Tests -\end_layout - -\begin_layout Standard -\noindent -Die von Nessus durchgeführten Tests nutzen von anderen Tests bereits vorliegende - Informationen: Bietet ein FTP-Server beispielsweise keinen anonymen Login - (durch einen Test ermittelt), so werden keine weiteren Tests ausgeführt, - die ausschließlich anonyme Logins betreffende Sicherheitslücken überprüfen. -\end_layout - -\begin_layout Paragraph -\noindent -Umfangreiche Berichte -\end_layout - -\begin_layout Standard -\noindent -Nessus listet nicht nur auf, welche Lücken entdeckt wurden, sondern bietet, - soweit verfügbar, auch Hinweise, wie die Lücken geschlossen werden können. - Zur Bewertung der Dringlichkeit von Gegenmaßnahmen wird jede Sicherheitslücke - einem Risiko-Level zugeordnet (von niedrig bis sehr hoch). -\end_layout - -\begin_layout Paragraph -\noindent -Export von Berichten -\end_layout - -\begin_layout Standard -\noindent -Der Nessus-Klient kann Berichte als XML, HTML, ASCII, LaTeX, PDF und leicht - zu parsende Dateien exportieren. -\end_layout - -\begin_layout Paragraph -\noindent -Volle SSL-Unterstützung -\end_layout - -\begin_layout Standard -\noindent -Nessus kann SSL-bezogene Dienste https, smtps, imaps, u.a. - testen. - Darüber hinaus kann Nessus mit einem Zertifikat versehen werden und so - in PKI-basierten Umgebungen eingesetzt werden. -\end_layout - -\begin_layout Paragraph -\noindent -Intelligente Plugins (optional) -\end_layout - -\begin_layout Standard -\noindent -Nessus erkennt, welche Tests auf einen Host-Rechner angewandt werden sollten. - Dies verhindert z.B. - dass Sendmail-Sicherheitslücken auf einem Mail-Server mit Postfix untersucht - werden. - Diese Option nennt sich "Test optimieren". -\end_layout - -\begin_layout Paragraph -\noindent -Nicht-destruktive Scans (optional) -\end_layout - -\begin_layout Standard -\noindent -Der oben beschriebene Ansatz, Sicherheitslücken tatsächlich auszutesten, - kann dazu führen, dass Dienste abstürzen. - Soll dies vermieden werden so können -\begin_inset Quotes eld -\end_inset - -Sichere Prüfungen" durchgeführt werden. - Nessus verlässt sich dann auf Kennungen der Dienste anstatt durch Testen - von Lücken zu untersuchen, ob tatsächlich ein Sicherheitsproblem vorliegt. -\end_layout - -\begin_layout Paragraph -\noindent -Unabhängige Entwickler -\end_layout - -\begin_layout Standard -\noindent -Die Nessus-Entwickler sind nicht abhängig von anderen Software-Herstellern. - Es gibt keinen Grund, eine Sicherheitslücke in Programm XYZ zu verschweigen. -\end_layout - -\begin_layout Paragraph -\noindent -Erreichbarkeit der Entwickler -\end_layout - -\begin_layout Standard -\noindent -Sie vermissen eine Funktion in Nessus? Nehmen Sie einfach Kontakt mit den - Entwicklern auf, unter http://www.nessus.org/contact/ oder auf der Nessus - Mailing-Liste. - Wir antworten und sind offen für sinnvolle Erweiterungen. -\end_layout - -\begin_layout Paragraph -\noindent -Transparentes Bug-Tracking-System. -\end_layout - -\begin_layout Standard -\noindent -Sie haben einen Bug gefunden? Melden Sie ihn bitte unter http://bugs.nessus.org. -\end_layout - -\begin_layout Paragraph -\noindent -Umfangreiche Tests -\end_layout - -\begin_layout Standard -\noindent -Es gibt mehr als 7000 Nessus Tests (und es werden ständig mehr!), die in - 23 verschieden Gruppen unterteilt sind: -\end_layout - -\begin_layout Itemize -Hintertüren (Backdoors) -\end_layout - -\begin_layout Itemize -CGI Lücken -\end_layout - -\begin_layout Itemize -CISCO -\end_layout - -\begin_layout Itemize -Denial of Service (DoS) -\end_layout - -\begin_layout Itemize -finger Lücken -\end_layout - -\begin_layout Itemize -Firewalls -\end_layout - -\begin_layout Itemize -FTP -\end_layout - -\begin_layout Itemize -Erlangung einer remote-Shell -\end_layout - -\begin_layout Itemize -Erlangung von Root-Rechten (remote) -\end_layout - -\begin_layout Itemize -Allgemein -\end_layout - -\begin_layout Itemize -Verschiedenes -\end_layout - -\begin_layout Itemize -Netware -\end_layout - -\begin_layout Itemize -NIS -\end_layout - -\begin_layout Itemize -Port Scanner -\end_layout - -\begin_layout Itemize -Remote Dateizugriff -\end_layout - -\begin_layout Itemize -RPC -\end_layout - -\begin_layout Itemize -Einstellungen -\end_layout - -\begin_layout Itemize -SMTP Probleme -\end_layout - -\begin_layout Itemize -SNMP -\end_layout - -\begin_layout Itemize -Ungetestet -\end_layout - -\begin_layout Itemize -Nutzlose Dienste -\end_layout - -\begin_layout Itemize -Windows -\end_layout - -\begin_layout Itemize -Windows: Benutzer-Verwaltung -\end_layout - -\begin_layout Section -Installation -\end_layout - -\begin_layout Standard -Bitte beachten Sie, dass die getestete Veröffentlichung des Nessus Entwickler-Te -ams der Quelltext von Nessus ist. - Binär-Pakete sind sehr wahrscheinlich für die meisten Stadard-Betriebssysteme - erhältlich, aber nicht notwendigerweise durch das Nessus Entwickler-Team - getestet. -\end_layout - -\begin_layout Standard -Für Betriebssysteme die hier nicht aufgelistet sind können trotzdem durchaus - gut gepflegte Pakete vorliegen. -\end_layout - -\begin_layout Subsection -Aus dem Quelltext -\end_layout - -\begin_layout Standard -Der übliche Weg einer ganz grundlegenden Installation beginnt mit den Quellen - als CVS Snapshot oder einem tar-Archiv (tar-ball) des Quelltextes. - Mit der Kommando-Sequenz -\begin_inset Quotes eld -\end_inset - -./configure ; make ; make install -\begin_inset Quotes erd -\end_inset - - läßt sich das Modul konfigurieren, kompilieren und installieren. - Wie üblich enthält das Paket Dateien mit Detail-Informationen zur Konfiguration - und Installation. - Lesen Sie diese bitte zunächst! Erst danach sollten Sie mit der Installation - fortfahren. -\end_layout - -\begin_layout Subsection -Debian GNU/Linux -\end_layout - -\begin_layout Standard -Debian unterstützt Nessus-Pakete aktiv. - Bitte lesen Sie die Debian Dokumentation zur Installation von Standard-Paketen. - -\end_layout - -\begin_layout Subsubsection -Debian -\begin_inset Quotes eld -\end_inset - -Woody -\begin_inset Quotes erd -\end_inset - - 3.0 -\end_layout - -\begin_layout Standard -Die offizielle Version von Nessus für Woody ist 1.0.10. - Diese ist vollkommen veraltet und es sollte weder der Nessus Server noch - Klient in dieser Version verwendet werden! -\end_layout - -\begin_layout Standard -OpenVAS-Client hat anspruchslose Abhängigkeiten zu anderen Paketen während - der Kompilation und zur Laufzeit. - Daher könnte es leicht möglich sein, sogenannte -\begin_inset Quotes eld -\end_inset - -Backports -\begin_inset Quotes erd -\end_inset - - für Woody von neueren Debian Quell-Paketen von OpenVAS-Client herzustellen. -\end_layout - -\begin_layout Subsubsection -Debian -\begin_inset Quotes eld -\end_inset - -Sarge -\begin_inset Quotes erd -\end_inset - - 3.1 -\end_layout - -\begin_layout Standard -Die offizielle Version von Nessus für Sarge ist 2.2.3. - OpenVAS-Client ist kompatibel zu diesem Nessus Server, aber es ist empfehlenswe -rt Nessus Server wegen Fehlerkorrekturen auf neuere Versionen zu aktualisieren. -\end_layout - -\begin_layout Standard -OpenVAS-Client hat anspruchslose Abhängigkeiten zu anderen Paketen während - der Kompilation und zur Laufzeit. - Daher könnte es leicht möglich sein, sogenannte -\begin_inset Quotes eld -\end_inset - -Backports -\begin_inset Quotes erd -\end_inset - - für Sarge von neueren Debian Quell-Paketen von OpenVAS-Client herzustellen. -\end_layout - -\begin_layout Subsubsection -Debian -\begin_inset Quotes eld -\end_inset - -Etch -\begin_inset Quotes erd -\end_inset - - -\end_layout - -\begin_layout Standard -Aktuell ist Etch die Testing-Version von Debian, also im fluß. - Mindestens Nessus Version 2.2.7 ist enthalten. - Es steht zu erwarten, dass OpenVAS-Client Pakete verfügbar werden, sobald - OpenVAS-Client veröffentlicht wird. -\end_layout - -\begin_layout Subsection -RedHat Linux -\end_layout - -\begin_layout Standard -Im Download-Bereich von www.nessus.org finden Sie evtl. - RPM Pakete für RedHat und Fedora welche von Tenable Network Security bereitgest -ellt werden. -\end_layout - -\begin_layout Subsubsection -Fedora Core 4 und 5 -\end_layout - -\begin_layout Standard -Diese Distribution führt aktiv eigene Nessus Pakete im Extras-Bereich. - Wenn Sie eine neuere Version als die aktuell angebotene benötige, so finden - Sie auch hier Backports. - Bei der Suche nach entsprechenden RPM-Pakete können Ihnen rpmfind.net oder - ähnliche Dienste helfen. -\end_layout - -\begin_layout Standard -Es existiert zum aktuellen Zeitpunkt noch kein bei Fedora gepflegtes Paket - für OpenVAS-Client. -\end_layout - -\begin_layout Standard -OpenVAS-Client hat anspruchslose Abhängigkeiten zu anderen Paketen während - der Kompilation und zur Laufzeit. - Daher könnte es leicht möglich sein, sogenannte -\begin_inset Quotes eld -\end_inset - -Backports -\begin_inset Quotes erd -\end_inset - - von OpenVAS-Client herzustellen oder sogar die Pakete direkt zu installieren. -\end_layout - -\begin_layout Subsection -SUSE Linux -\end_layout - -\begin_layout Standard -Im Download-Bereich von www.nessus.org finden Sie evtl. - RPM Pakete für SUSE welche von Tenable Network Security bereitgestellt - werden. -\end_layout - -\begin_layout Subsubsection -SUSE Linux 9.2 -\end_layout - -\begin_layout Standard -Die aktuellste Version der Nessus Serie 2.0 ist Teil der Distribution. - Es wird dringend empfohlen auf die aktuellste Version der 2.2 Serie zu aktualisi -eren. - Wenn Sie eine neuere Version benötigen, so finden Sie auch hier Backports. - Bei der Suche nach entsprechenden RPM-Pakete können Ihnen rpmfind.net oder - ähnliche Dienste helfen. -\end_layout - -\begin_layout Standard -Es existiert zum aktuellen Zeitpunkt noch kein bei SUSE gepflegtes Paket - für OpenVAS-Client. -\end_layout - -\begin_layout Standard -OpenVAS-Client hat anspruchslose Abhängigkeiten zu anderen Paketen während - der Kompilation und zur Laufzeit. - Daher könnte es leicht möglich sein, sogenannte -\begin_inset Quotes eld -\end_inset - -Backports -\begin_inset Quotes erd -\end_inset - - von OpenVAS-Client herzustellen oder sogar die Pakete direkt zu installieren. -\end_layout - -\begin_layout Subsection -MS Windows -\end_layout - -\begin_layout Subsubsection -Windows XP SP2 -\end_layout - -\begin_layout Standard -Für Windows ist ein reguläres Setup-Paket für OpenVAS-Client verfügbar. - Es sollte die Bezeichnung -\shape italic -OpenVAS-ClientN.N.N-setup-LL.exe -\shape default - haben. - Rufen Sie den Installer direkt auf oder benutzen Sie den Windows Software-Manag -er. - mit letzterem können Sie Nessus auch leicht und vollständig wieder entfernen. - N.N.N entspricht der Version von Nessus, z.B. - 1.0.0. - LL steht für die Sprache wobei -\begin_inset Quotes eld -\end_inset - -en -\begin_inset Quotes erd -\end_inset - - die englische Version ist, -\begin_inset Quotes eld -\end_inset - -de -\begin_inset Quotes erd -\end_inset - - die deutsche und -\begin_inset Quotes eld -\end_inset - -sv -\begin_inset Quotes erd -\end_inset - - die schwedische. -\end_layout - -\begin_layout Subsection -Migration des Nessus GTK Klient von Version 2.2 -\end_layout - -\begin_layout Standard -OpenVAS-Client nutzt anderes Konzept, -\begin_inset Quotes eld -\end_inset - -Session -\begin_inset Quotes erd -\end_inset - --Daten zu speichern als der Nessus GTK Client der in Nessus 2.2 enthalten - war. - Tatsächlich wurde das gesamte Konzept von Aufgabe (task), Bereich (scope) - und Report (report) grundlegend erneuert. -\end_layout - -\begin_layout Standard -Der Hauptunterschied: Nessus GTK Klienten bis hin zu Version 2.2 beachten - zur Konfiguration eine einzelne Datei -\begin_inset Quotes eld -\end_inset - -.nessusrc -\begin_inset Quotes erd -\end_inset - - im Heimat-Verzeichnis des Benutzers. - Neuere Versionen nutzen eine Verzeichnis-Struktur mit dem Hauptverzeichnis - -\begin_inset Quotes eld -\end_inset - -.nessus -\begin_inset Quotes erd -\end_inset - - im Heimat-Verzeichnis des Benutzers. - -\end_layout - -\begin_layout Standard -Dennoch treten keine Konflikte auf, wenn Sie eine neue Nessus-Version starten: - Eine vorhandene Datei -\begin_inset Quotes eld -\end_inset - -.nessusrc -\begin_inset Quotes erd -\end_inset - - wird als Vorlage für die globalen Einstellungen (siehe unten) genutzt. - Die Konfiguration Ihres Nessus Klient 2.2 wird also die Voreinstellung für - OpenVAS-Client. -\end_layout - -\begin_layout Standard -Selbst wenn Sie anschließend wieder einen Nessus GTK Klient 2.2 starten, - kann dieser weiterhin die erhalten gebliebenen Einstellungen in der Datei - -\begin_inset Quotes eld -\end_inset - -.nessusrc -\begin_inset Quotes erd -\end_inset - - nutzen. -\end_layout - -\begin_layout Section -Der erste Report -\end_layout - -\begin_layout Standard -Dieser Abschnitt dient als kurze Einführung für neue Anwender in die Arbeit - mit Nessus. - Die notwendigen Schritte zur Durchführung eines ersten Sicherheits-Scans - werden dargestellt. - Es wird empfohlen, nach einem ersten erfolgreichen Scan die weitere Abschnitte - zur Nutzung von OpenVAS-Client durchzuarbeiten. -\end_layout - -\begin_layout Subsection -Starten von OpenVAS-Client -\end_layout - -\begin_layout Standard -Auf jedem UNIX-artigem System können Sie einfach -\begin_inset Quotes eld -\end_inset - -OpenVAS-Client -\begin_inset Quotes erd -\end_inset - - in einer Shell eingeben. - Selbstverständlich sollte X Windows laufen. -\end_layout - -\begin_layout Standard -Für Debian GNU/Linux, SUSE Linux, RedHat/Fedora und MS Windows werden zusätzlich - Menü-Einträge in der Benutzeroberfläche erzeugt, wenn Sie eines der oben - dargestellten Installations-Pakete benutzen. -\end_layout - -\begin_layout Subsection -Der Nessus Scan Assistent -\end_layout - -\begin_layout Standard -Der Nessus Scan Assistent kann Sie als Anfänger bei einem ersten Scan unterstütz -en. - Zweck des Assistenten ist es, alle für einen Scan notwendigen Parameter - logisch und selbsterklärend zusammen zu fassen. -\end_layout - -\begin_layout Standard - -\series bold -Dennoch sollten Sie beachten -\series default -, dass ein Scan durchgeführt mit Unterstützung des Assistenten auf den explizit - gespeicherten globalen Einstellungen basiert. - Wenn Sie in den globalen Einstellungen bereits einige gefährliche Optionen - aktiviert haben, so werden diese auf den konkreten Scan vererbt! -\end_layout - -\begin_layout Section -Grundlagen von OpenVAS-Client -\end_layout - -\begin_layout Standard -Dieser Abschnitt stellt alle grundlegenden Elemente von OpenVAS-Client vor - und beschreibt die typische Anwendung des Klient. - Spätere Abschnitte beschreiben spezielle Funktionen des Klienten und richten - sich an fortgeschrittene Anwender. -\end_layout - -\begin_layout Subsection -Das Hauptfenster -\end_layout - -\begin_layout Standard -Das Hauptfenster von OpenVAS-Client teilt sich in zwei wichtige Bereiche: - Links bietet eine Baumstruktur eine Übersicht lokal gespeicherter Aufgaben, - Bereiche und Reporte. - Im rechten Bereich finden sich Karteikarten mit Kommentaren, Einstellungen - und Reporte. - Hier lassen sich Scans einstellen und kommentieren und Ergebnisse sichten. - Beachten Sie, dass die Karte der Einstellungen selbst wieder eine Sammlung - von Karten enthält. -\end_layout - -\begin_layout Standard -\align center -\begin_inset Graphics - filename images/mainwindow-de.png - width 100text% - keepAspectRatio - -\end_inset - - -\end_layout - -\begin_layout Standard -Nach dem ersten Start von OpenVAS-Client enthält die Baumstruktur nur einen - Eintrag: Globale Einstellungen. - Dies sind die Voreinstellungen für OpenVAS-Client. - Diese berücksichtigen keine bestimmte Auswahl an Plugins, dafür ist eine - Verbindung zu einem Nessus Server notwendig. - Sie müssen eine Verbindung zu einem Server aufbauen und dann die Einstellungen - für eine Auswahl von Plugins angeben. - Speichern Sie dann Ihre bevorzugten Voreinstellungen über den Menüpunkt - -\begin_inset Quotes eld -\end_inset - -Globale Einstellungen speichern -\begin_inset Quotes erd -\end_inset - - des Menüs -\begin_inset Quotes eld -\end_inset - -Datei -\begin_inset Quotes erd -\end_inset - -. -\end_layout - -\begin_layout Subsubsection -Aufgaben -\end_layout - -\begin_layout Standard -Der Sinn von Aufgaben ist es, alle Aktionen eines Oberthemas zusammen zu - fassen. - Oberthemen sind z.B. - -\begin_inset Quotes eld -\end_inset - -Test aller Rechner am Standort ABC -\begin_inset Quotes erd -\end_inset - - oder -\begin_inset Quotes eld -\end_inset - -Kunde XYZ GmbH -\begin_inset Quotes erd -\end_inset - -. -\end_layout - -\begin_layout Standard -Einer Aufgabe kann ein Kommentar zugeordnet werden, der das Oberthema detaillier -ter beschreibt. - Hier können auch weitere wichtige Informationen oder Hinweise angegeben - werden: Etwa wann die nächste Serie von Scans durchgeführt werden soll - oder auf welcher Vertragsgrundlage die Scans durchgeführt werden. -\end_layout - -\begin_layout Standard -Eine Aufgabe hat keine Optionen oder Reporte. - Sie stellt nur eine Sammlung von Bereichen dar. -\end_layout - -\begin_layout Standard -Mögliche Aktionen bezüglich Aufgaben: -\end_layout - -\begin_layout Paragraph -Neu -\end_layout - -\begin_layout Standard -Erzeugt eine neue Aufgabe mit dem Titel -\begin_inset Quotes eld -\end_inset - -unbenannte Aufgabe -\begin_inset Quotes erd -\end_inset - -. -\end_layout - -\begin_layout Paragraph -Umbenennen -\end_layout - -\begin_layout Standard -Der Titel einer Aufgabe kann entweder direkt in der Baumstruktur durch Anklicken - des Titels oder durch Auswahl des entsprechenden Menü-Eintrags geändert - werden. -\end_layout - -\begin_layout Paragraph -Löschen -\end_layout - -\begin_layout Standard -Löschen einer Aufgabe bedeutet das Löschen aller zugehörigen Bereiche! Daher - erfolgt eine Sicherheitsabfrage vor der eigentlichen Löschung. -\end_layout - -\begin_layout Subsubsection -Bereiche -\end_layout - -\begin_layout Standard -Ein Bereich kann als Teil-Aufgabe angesehen werden: Er bezeichnet einen - bestimmten Sicherheits-Scan. - Der Titel sollte aussagekräftig das Ziel des Scans beschreiben, z.B.: -\begin_inset Quotes eld -\end_inset - -Behutsamer Scan des produktiven Web-Servers -\begin_inset Quotes erd -\end_inset - -, -\begin_inset Quotes eld -\end_inset - -Aggressiver Scan des Web-Server Test-Systems -\begin_inset Quotes erd -\end_inset - - oder -\begin_inset Quotes eld -\end_inset - -Alle Sun Workstations -\begin_inset Quotes erd -\end_inset - -. -\end_layout - -\begin_layout Standard -Zu jedem Bereich kann ein Kommentar gespeichert werden, der die Bedeutung - des Scans detaillierter beschreiben und sonstige hilfreiche Informationen - enthalten kann. -\end_layout - -\begin_layout Standard -Ein Bereich umfasst auch einen vollständigen Satz an Einstellungen für den - Sicherheits-Scan. - Wenn ein neuer Bereich erstellt wird, werden zunächst die -\begin_inset Quotes eld -\end_inset - -Allgemeinen Einstellungen -\begin_inset Quotes erd -\end_inset - - kopiert. - Die einzelnen Optionen werden weiter unten genauer beschrieben. - Für jeden Bereich kann eine Verbindung zu einem Nessus Server aufgebaut - werden. - Anschließend kann die Auswahl von Plugins als Teil der Einstellungen durchgefüh -rt werden. - Ein Symbol rechts neben dem Titel zeigt die aktive Verbindung zu einem - Nessus Server an. - Sinn der Zuordnung eines Servers zu einem Bereich ist, dass jeder Server - unterschiedliche Plugins anbieten kann. - Mit dem Aufbau der Verbindung bezieht OpenVAS-Client eine Liste der verfügbaren - Plugins. -\end_layout - -\begin_layout Standard -Ein Bereich kann außerdem eine Sammlung von Reports umfassen. - Jedes Mal, wenn ein Scan erfolgreich durchgeführt wurde, wird ein neuer - Report angelegt. - zusätzlich können Reports aus Dateien oder von einem Nessus Server geladen - werden. -\end_layout - -\begin_layout Standard -Bitte beachten Sie, dass Änderungen an einem Bereich werden immer und nur - genau dann gespeichert wenn ein Scan gestartet wird. - Machen Sie Änderungen beispielsweise an der Plugin-Auswahl und schliessen - dann OpenVAS-Client ohne einen Scan durchzuführen, so werden die Änderungen - verworfen. -\end_layout - -\begin_layout Standard -Mögliche Aktionen bezüglich Bereiche: -\end_layout - -\begin_layout Paragraph -Ausführen -\end_layout - -\begin_layout Standard -Die Konfiguration für den Bereich wird gespeichert und ein Sicherheits-Scan - wird mit den aktuellen Einstellungen durch den verbundenen Nessus Server - ausgeführt. -\end_layout - -\begin_layout Paragraph -Neu -\end_layout - -\begin_layout Standard -Ein neuer Bereich mit dem Titel -\begin_inset Quotes eld -\end_inset - -unbenannter Bereich -\begin_inset Quotes erd -\end_inset - - wird als Teil der aktuell ausgewählten Aufgabe angelegt. - Als Voreinstellung werden die allgemeinen Einstellungen kopiert. - Beachten Sie hier, dass nur explizit gespeicherte Global Einstellungen - als Voreinstellungen verwendet werden. - Änderungen die nur im OpenVAS-Client vorliegen, haben keine Auswirkung - für einen neuen Bereich. -\end_layout - -\begin_layout Paragraph -Umbenennen -\end_layout - -\begin_layout Standard -Der Titel eines Bereichs kann entweder direkt in der Baumstruktur durch - Anklicken des Titels oder durch Auswahl des entsprechenden Menü-Eintrags - geändert werden. -\end_layout - -\begin_layout Paragraph -Löschen -\end_layout - -\begin_layout Standard -Löschen eines Bereichs bedeutet das Löschen aller zugehörigen Reports! Daher - erfolgt eine Sicherheitsabfrage vor der eigentlichen Löschung. -\end_layout - -\begin_layout Paragraph -Verschieben zu Aufgabe -\end_layout - -\begin_layout Standard -Ein Bereich mit allen zugeordneten Reporten kann von einer Aufgabe zu einer - anderen verschoben werden. - Ein Untermenü enthält die Liste aller Aufgaben, hieraus kann das Ziel ausgewähl -t werden. -\end_layout - -\begin_layout Paragraph -Öffnen -\end_layout - -\begin_layout Standard -Ein Bereich kann geladen und der aktuellen Aufgabe zugeordnet werden. - Mit diesem Schritt werden jedoch nur die Einstellungen für den Bereich - geladen! Die Reports liegen in eigenen Dateien vor, die separat importiert - werden können. - Die Aktionen Öffnen und Speichern (siehe unten) erlauben es, Einstellungen - für einen bestimmten Bereich an andere weiterzugeben oder selbst Sicherungskopi -e anzulegen. -\end_layout - -\begin_layout Paragraph -Speichern als -\end_layout - -\begin_layout Standard -Der aktuellen Bereich wird in eine Datei gespeichert (in der Struktur von - nessusrc). - Es werden nur die Einstellungen des Bereichs gespeichert, nicht die zugehörigen - Reporte. -\end_layout - -\begin_layout Subsubsection -Reporte -\end_layout - -\begin_layout Standard -Ein Report ist das Ergebnis eines Sicherheits-Scans. - Er enthält die Ergebnisse der ausgeführten Plugins zusammen mit Informationen - zu Sub-Netz, Zielrechner, Port und Schwere der festgestellten Lücke. -\end_layout - -\begin_layout Standard -Durch OpenVAS-Client verwaltet kann zusätzlich ein Kommentar angegeben werden. - Soweit verfügbar werden auch die zum Scan gehörenden Einstellungen gespeichert. - Diese zusätzlichen Informationen sind nicht Teil der Nessus Report Dateien - und gehen daher verloren, wenn ein Report exportiert wird! Umgekehrt enthalten - auch importierte Reports keine Kommentare oder die zum Report gehörenden - Einstellungen. - -\end_layout - -\begin_layout Standard -Mögliche Aktionen bezüglich Reports: -\end_layout - -\begin_layout Paragraph -Löschen -\end_layout - -\begin_layout Standard -Löscht den aktuellen Report und zugehörige Kommentare und Einstellungen. - Es erfolgt eine Sicherheits-Abfrage vor der Löschung. -\end_layout - -\begin_layout Paragraph -Import -\end_layout - -\begin_layout Standard -Importiert einen Report aus einer Datei. - Der Standard für Austauschformate ist NBE (Dateiendung -\begin_inset Quotes eld -\end_inset - -.nbe -\begin_inset Quotes erd -\end_inset - -). - Über den Dateiauswahl-Dialog kann der gewünschte Report ausgewählt werden. - Konnte der Report nicht importiert werden, so erfolgt eine Fehlermeldung. - Sonst wird der Report dem aktuellen Bereich hinzugefügt. - Beachten Sie, dass weder Kommentare noch Einstellungen aus einer NBE-Datei - importiert werden. -\end_layout - -\begin_layout Paragraph -Export -\end_layout - -\begin_layout Standard -Der aktuell ausgewählte Report kann exportiert werden. - Entweder im Nessus-Austauschformat (NBE) oder in einem Format zur Weiterverarbe -itung bzw. - Darstellung der Ergebnisse (XML, HTML, HTML mit Diagrammen, LaTeX, ASCII - Text und PDF). - Es wird empfohlen, das NBE-Format zu nutzen, wenn die Daten mit anderen - ausgetauscht werden sollen und das PDF für einfache Berichte, die keiner - weiteren Überarbeitung bedürfen. - Die anderen Formate eignen sich zur Weiterverarbeitung der Ergebnisse bzw. - zur Übernahme in eigene Dokumente. -\end_layout - -\begin_layout Paragraph -Drucken -\end_layout - -\begin_layout Standard -Das Druck-Kommando erzeugt einen PDF-Report und einen auf dem System installiert -en PDF-Betrachter zu starten. - Mittels dessen Druckfunktionen kann der Bericht dann gedruckt werden. - Sollte trotz eines installierten Betrachters kein Programm gestartet werden, - prüfen Sie bitte, ob sich die Installation in den aktuellen Suchpfaden - befindet. -\end_layout - -\begin_layout Subsection -Authentifizierung -\end_layout - -\begin_layout Standard -OpenVAS-Client benötigt eine Verbindung zu einem Nessus Server für die Abfrage - der Liste verfügbarer Plugins und zum tatsächlichen Lauf eines Sicherheits-Scan -s. -\end_layout - -\begin_layout Standard -OpenVAS-Client kann viele Verbindungen zu verschiedenen Servern gleichzeitig - halten. - Jedem Bereich ist eine eigene Verbindung zu einem Server zugeordnet. - Zusätzlich kann für die allgemeinen Einstellungen ein Server verbunden - sein, um die Voreinstellung für Plugin-Auswahl und -Parameter zu bestimmen. - Beachten Sie hier, dass nur explizit gespeicherte Globale Einstellungen - als Voreinstellung für neue Bereich verwendet werden. - -\end_layout - -\begin_layout Standard -\align center -\begin_inset Graphics - filename images/authentication-dlg-de.png - scale 90 - -\end_inset - - -\end_layout - -\begin_layout Standard -Der Status der Verbindung zum Server wird durch ein Symbol neben dem Titel - eines Bereichs oder den allgemeinen Einstellungen in der Baumstruktur dargestel -lt. - Nur für Bereiche kann eine Verbindung zu Nessus Servern aufgebaut werden, - nicht für Aufgaben oder Reports. -\end_layout - -\begin_layout Standard -Weitere Informationen zum Verbindungsstatus zeigt die Status-Zeile am Fuß - des Hauptfensters: Hier werden die tatsächlichen Verbindungsdaten angezeigt, - z.B. - -\begin_inset Quotes eld -\end_inset - -Verbindung: username at host.test.example -\begin_inset Quotes erd -\end_inset - -. - Ganz unten rechts ist ein Icon zu sehen welches anzeigt ob die bestehnde - Verbindung verschlüsselt ist oder nicht, ganz so wie es die meisten Web-Browser - auch anzeigen. - -\end_layout - -\begin_layout Standard -Der -\begin_inset Quotes eld -\end_inset - -Verbinden -\begin_inset Quotes erd -\end_inset - --Dialog bietet verschiedene Einstellungsmöglichkeiten für den Aufbau einer - Verbindung zu einem Nessus Server: -\end_layout - -\begin_layout Paragraph -Host-Name -\end_layout - -\begin_layout Standard -Der Domain-Name oder die IP-Adresse des Rechners, auf dem der Nessus Server - läuft. -\end_layout - -\begin_layout Paragraph -Port -\end_layout - -\begin_layout Standard -Der Port an dem der Nessus Server auf Verbindungen wartet. - Ältere Nessus Server benutzten Port 3001, der offizielle Port ist nun 1241. - Mit dem -\begin_inset Quotes eld -\end_inset - -Vorgabe -\begin_inset Quotes erd -\end_inset - --Knopf können Sie diesen immer wieder einfach einstellen. -\end_layout - -\begin_layout Paragraph -Login -\end_layout - -\begin_layout Standard -Ihr Nutzername auf dem ausgewählten Host-Rechner. - Um einen bestimmten Nessus Server benutzen zu können benötigen Sie ein - Nutzer-Konto für diesen Server. - Der Administrator des Servers kann ein Konto einrichten. -\end_layout - -\begin_layout Paragraph -Passwort -\end_layout - -\begin_layout Standard -Das Passwort für Ihr Nutzer-Konto auf einem Nessus Server. - Verwenden Sie hier kein Passwort, dass Sie auch für andere Nutzer-Konten - verwenden. - Insbesonderen dann nicht, wenn Sie auch unverschlüsselte Verbindungen zu - einem Nessus Server aufbauen. -\end_layout - -\begin_layout Paragraph -SSL Optionen -\end_layout - -\begin_layout Subparagraph -Verwende SSL Verschlüsselung: -\end_layout - -\begin_layout Standard -Es gibt zwei grundsätzliche Methoden der Authentifizierung: via Login/Passwort - Kombination oder mittels Zertifikaten (mit oder ohne Passwort). - In jedem Fall sollten Sie SSL Verschlüsselung aktivieren, damit Passworte - nicht im Klartext durch das Netzwerk transferiert werden. - Die Verschlüsselung ist jedoch für Fälle abschaltbar, in denen kein SSL - verfügbar ist, aber trotzdem mit Nessus gearbeitet werden soll. -\end_layout - -\begin_layout Subparagraph -Vertrauenswürdige CA: -\end_layout - -\begin_layout Standard -Das Zertifikat benennt eine Certificate Authority (CA) der Sie vertrauen. - Mit diesem Zertifikat überprüfen Sie, ob Sie sich mit einem vertrauenswürdigen - Nessus Server verbinden. - Die Überprüfung wird für die Paranoia Level 2 und 3 durchgeführt, nicht - jedoch für den Level 1. - Der Paranoia Level kann manuell ein der Konfigurationsdatei .nessusrc eingestell -t werden. - Wenn Sie zum ersten Mal eine Verbindung zu einem Nessus Server aufbauen - werden Sie außerdem ausdrücklich nach dem gewünschten Paranoia Level gefragt. - -\end_layout - -\begin_layout Standard -Der vorgegebene Pfad für die vertrauenswürdige CA der Dateiname der lokalen - Nessus Server Installation. - Wenn Sie also Nessus Klient und Server auf dem gleichen Rechner laufen - lassen oder beide das gleiche Dateisystem nutzen, so können Sie diese Vorgabe - einfach benutzen. -\end_layout - -\begin_layout Standard -Wenn Sie Nessus remote benutzen, so benötigen Sie eine Kopie des CA Zertifikats, - die Sie an beliebiger Stelle in Ihrem Heimat-Verzeichnis ablegen können. -\end_layout - -\begin_layout Subparagraph -Authentifizierung durch Zertifikate: -\end_layout - -\begin_layout Standard -Wenn Sie diese Methode benutzen, benötigen Sie ein für Sie erstelltes Schlüssel/ -Zertifikat Paar. - Dieses erstellt üblicherweise der Administrator des Nessus Servers mit - den entsprechenden Skripten. - Sie erhalten zwei Dateien: Benutzer-Zertifikat und Benutzer-Schlüssel. - Der Schlüssel kann mit einem Passwort versehen sein, dieses geben Sie dann - bitte in das entsprechende Textfeld ein. -\end_layout - -\begin_layout Subsection -Scan Optionen -\end_layout - -\begin_layout Standard -Dieser Abschnitt erläutert die wichtigsten Konfigurations-Optionen für einen - Sicherheits-Scan (auf der Karte -\begin_inset Quotes eld -\end_inset - -Optionen -\begin_inset Quotes erd -\end_inset - -). - Speziellere Optionen (z.B. - Zugriffsregel, von der Wissensbasis gelöste Scans) werden später im Kapitel - über spezielle Funktionen erläutert -\end_layout - -\begin_layout Subsubsection -Allgemein -\end_layout - -\begin_layout Standard -Diese Karte enthält alle allgemeinen Scan-Einstellungen, vergleichen Sie - dazu auch den Screenshot des Hauptfensters oben. -\end_layout - -\begin_layout Paragraph -Port-Bereich -\end_layout - -\begin_layout Standard -Ports die durch Nessus Server gescannt werden sollen. - Es können entweder ein Port-Bereich angegeben werden, wie z.B. - -\begin_inset Quotes eld -\end_inset - -1-8000 -\begin_inset Quotes erd -\end_inset - - oder auch komplexe Mengen wie -\begin_inset Quotes eld -\end_inset - -21,23,25,1024-2048,6000 -\begin_inset Quotes erd -\end_inset - -. -\begin_inset Quotes eld -\end_inset - --1 -\begin_inset Quotes erd -\end_inset - - bedeutet keine Port-Scans durchzuführen, -\begin_inset Quotes eld -\end_inset - -default -\begin_inset Quotes erd -\end_inset - - bedeutet die der Nessus Dienste Datei angegebenen Ports zu scannen. -\end_layout - -\begin_layout Paragraph -Nicht gescannte Ports als geschlossen betrachten -\end_layout - -\begin_layout Standard -Um Zeit zu sparen können Sie dem Nessus Server vorgeben, TCP-Ports die nicht - gescannt wurden als geschlossen zu betrachten. - Die Überprüfung des Zielsystems ist damit unvollständig aber die Scan-Zeit - reduziert sich. - Außerdem schickt der Nessus Server keine Pakete an Ports die Sie nicht - vorgegeben haben. - Wenn diese Option nicht aktiviert ist, betrachtet der Nessus Server Ports - deren Status unbekannt ist als offen. -\end_layout - -\begin_layout Paragraph -Anzahl Hosts die zur gleichen Zeit getestet werden sollen -\end_layout - -\begin_layout Standard -Geben Sie hier die maximale Anzahl an Hosts an, die durch den Server gleichzeiti -g gescannt werden sollen. - Beachten Sie, dass der Nessus Server für einen Scan max_hosts x max_tests - Prozesse startet! -\end_layout - -\begin_layout Paragraph -Anzahl Tests die zur gleichen Zeit durchgeführt werden sollen -\end_layout - -\begin_layout Standard -Geben Sie hier die maximale Anzahl an Tests an, die durch den Server gleichzeiti -g gegen jeden Host gestartet werden. - Beachten Sie, dass der Nessus Server für einen Scan max_hosts x max_tests - Prozesse startet! -\end_layout - -\begin_layout Paragraph -Pfad zu den CGIs -\end_layout - -\begin_layout Standard -Nessus bietet die Möglichkeit, mehrere Pfade ( -\begin_inset Quotes eld -\end_inset - -/cgi-bin -\begin_inset Quotes erd -\end_inset - -, -\begin_inset Quotes eld -\end_inset - -/cgis -\begin_inset Quotes erd -\end_inset - -, -\begin_inset Quotes eld -\end_inset - -/home-cgis -\begin_inset Quotes erd -\end_inset - - usw.) nach CGIs zu durchsuchen. - Geben Sie die zu durchsuchenden Pfade durch Doppelpunkte getrennt an: Z.B. - -\begin_inset Quotes eld -\end_inset - -/cgi-bin:/cgi-aws:/~deraison/cgi -\begin_inset Quotes erd -\end_inset - -. -\end_layout - -\begin_layout Paragraph -Vor Test rückwärtige DNS-Namensauflösung der IP -\end_layout - -\begin_layout Standard -Ist diese Option eingeschaltet, so wird Nessus Server eine DNS Rückwärts-Suche - über die IP-Adresse durchführen (DNS reverse lookup) bevor die Tests durchgefüh -rt werden. - Dies kann die Durchführung der Tests insgesamt verlangsamen. -\end_layout - -\begin_layout Paragraph -Test optimieren -\end_layout - -\begin_layout Standard -Sicherheits-Tests bitten unter Umständen den Nessus Server darum, nur dann - gestartet zu werden, wenn bestimmte Informationen die durch andere Plugins - gesammelt wurden, sich in der Wissen-Basis befinden oder nur wenn ein angegeben -er Port offen ist. - Diese Option kann die Tests beschleunigen, kann aber dazu führen, dass - Nessus Server einige Lücken übersieht. - Wer paranoid ist, schaltet diese Option aus. -\end_layout - -\begin_layout Paragraph -Sichere Prüfungen -\end_layout - -\begin_layout Standard -Einige Sicherheits-Tests können dem Ziel-Rechner Schaden zufügen, indem - Dienste zeitweise oder bis zu einem Neustart dort nicht mehr zur Verfügung - stehen. - Wird diese Option eingeschaltet, so wird Nessus Server sich auf gesendete - Banner verlassen und keine echten Tests durchführen. - Die Ergebnisse sind dann entsprechend weniger zuverlässig, aber wenigstens - wird dadurch kein möglicher Ausfall für Benutzer entstehen. - Unter Sicherheitsaspekten ist es angeraten, diese Option auszuschalten. - Aus der Sicht eines Administrators sollte sie angeschaltet bleiben. -\end_layout - -\begin_layout Paragraph -Bestimme Hosts anhand der MAC Adresse -\end_layout - -\begin_layout Standard -Wird diese Option eingeschaltet, so werden die Ziele im lokalen Netzwerk - anhand ihrer Ethernet MAC Adresse anstatt der IP-Adresse bestimmt. - Dies ist insbesondere dann sinnvoll wenn Nessus in einem DHCP-Netzwerk - verwendet wird. - Sind Sie sich unsicher, dann schalten Sie die Option ab. -\end_layout - -\begin_layout Paragraph -Port Scanner -\end_layout - -\begin_layout Standard -Die Liste verfügbarer Port-Scanner. - Post-Scanner stellen eine besondere Kategorie von Plugins dar und werden - daher getrennt von den anderen Plugins dargestellt. - Die Liste ist nur gefüllt, wenn eine Verbindung zu einem Nessus Server - hergestellt wurde. - Sie können einen oder mehrere Scanner auswählen und durch Anklicken mehr - Details zu einem ausgewählten Scanner abfragen. -\end_layout - -\begin_layout Subsubsection -Plugins -\end_layout - -\begin_layout Standard -Plugins werden auf dem Nessus Server gespeichert. - Deshalb benötigen Sie eine Verbindung zu einem Nessus Server, um einen - Auswahl zutreffen. - Ansonsten wird eine leere Liste angezeigt. -\end_layout - -\begin_layout Standard -\align center -\begin_inset Graphics - filename images/mainwindow-plugins-de.png - scale 90 - -\end_inset - - -\end_layout - -\begin_layout Standard -Plugins werden unterschieden in verschiedene Familien, die als Ganzes durch - entsprechende Check-Boxen aktiviert oder deaktiviert werden können. - Auch kann eine Familie aufgeklappt werden, so dass die zugehörigen Plugins - aufgelistet werden und einzeln über die Check-Boxen aktiviert oder deaktiviert - werden können um die Auswahl zu verfeinern. -\end_layout - -\begin_layout Standard -Die Spalte -\begin_inset Quotes eld -\end_inset - -Warnung -\begin_inset Quotes erd -\end_inset - - enthält ein Warnungs-Symbol für einige Plugins. - Dieses Warnungs-Symbol bedeutet, dass das Plugin Dienste auf dem Zielsystem - abschalten oder das gesamte System abschalten könnte. - Sie sollten sehr vorsichtig sein, wenn Sie diese Option einschalten, da - es nötig werden könnte einige Zielsystem manuell neu zu starten. -\end_layout - -\begin_layout Standard -Unterhalb der Plugin-Liste wird die Gesamtzahl der vom Server geladenen - Plugins angezeigt. - Desweiteren auch die Gesamtzahl der ausgewählten Plugins und die Anzahl - der durch einen Filter dargestellten Plugins. -\end_layout - -\begin_layout Standard -Die Folgenden Aktionen sind möglich: -\end_layout - -\begin_layout Subparagraph -Alle einschalten -\end_layout - -\begin_layout Standard -Schaltet alle Plugin-Kategorien ein. -\end_layout - -\begin_layout Subparagraph -Alle ausschalten -\end_layout - -\begin_layout Standard -Schaltet alle Plugin-Kategorien aus. -\end_layout - -\begin_layout Subparagraph -Alles aufklappen -\end_layout - -\begin_layout Standard -Klappt die Plugin-Liste soweit auf, dass sämtliche Plugins angezeigt werden. -\end_layout - -\begin_layout Subparagraph -Alles zusammenklappen -\end_layout - -\begin_layout Standard -Es werden nur noch die Plugin Familien angezeigt. -\end_layout - -\begin_layout Subparagraph -Abhängigkeiten zur Laufzeit berücksichtigen -\end_layout - -\begin_layout Standard -Wird diese Option aktiviert, dann wird Nessus Server alle Plugins einschalten - die abhängig sind von den bereits selektierten. -\end_layout - -\begin_layout Subparagraph -Stille Abhängigkeiten -\end_layout - -\begin_layout Standard -Wird diese Option aktiviert, dann wird Nessus Server keinen Bericht für - solche Plugins senden, die nicht explizit eingeschaltet waren. -\end_layout - -\begin_layout Subparagraph -Filter -\end_layout - -\begin_layout Standard -Der Filter-Dialog erlaubt die Auswahl von Plugins anhand bestimmter Muster. - -\series bold -Beachten Sie -\series default -, dass Sie die vorherige Plugin-Auswahl komplett löschen sobald Sie einen - Filter aktivieren. -\end_layout - -\begin_layout Paragraph -Plugin Info-Dialog -\end_layout - -\begin_layout Standard -Wenn Sie auf einen Plugin-Titel einen Doppel-Click ausführen öffnet sich - ein Dialog, der weitere Informationen zum Plugin bietet. - Die angezeigten Informationen sind im Plugin abgelegt. -\end_layout - -\begin_layout Standard -Folgende Aktionen sind im Info-Dialog möglich: -\end_layout - -\begin_layout Subparagraph -Setze Plugin Timeout -\end_layout - -\begin_layout Standard -Sie können eine Timeout für das Plugin angeben. -\end_layout - -\begin_layout Subparagraph -Zeige Abhängigkeiten -\end_layout - -\begin_layout Standard -Ein weiterer Info-Dialog listet die Abhängigkeiten des Plugins. - Hier wird auch der Status (eingeschaltet/ausgeschaltet) der Plugins angegeben - von denen das aktuelle Plugin abhängt. -\end_layout - -\begin_layout Subsubsection -Zugangsdaten -\end_layout - -\begin_layout Standard -Einige der Plugins bieten die Eingabe von Zugangsdaten für bestimmte Anwendungen - wie z.B. - Samba oder für Web-Sites (HTTP). - Diese Plugins funktionieren völlig analog zu den Plugins die unter -\begin_inset Quotes eld -\end_inset - -Voreinstellungen -\begin_inset Quotes erd -\end_inset - - eine Parametereingabe erlauben. - Für eine bessere Übersicht ist die entsprechende Gruppe aber unter -\begin_inset Quotes eld -\end_inset - -Zugangsdaten -\begin_inset Quotes erd -\end_inset - - getrennt aufgeführt. -\end_layout - -\begin_layout Standard -\align center -\begin_inset Graphics - filename images/mainwindow-credentials-de.png - scale 90 - -\end_inset - - -\end_layout - -\begin_layout Subsubsection -Plugin Voreinstellungen -\end_layout - -\begin_layout Standard -Einige Plugins können anhand von Parametern angepasst werden. - Die Parameter aller konfigurierbaren Plugins werden auf dieser Karte zusammenge -fasst und können modifiziert werden. -\end_layout - -\begin_layout Standard -\align center -\begin_inset Graphics - filename images/mainwindow-pluginprefs-de.png - scale 90 - -\end_inset - - -\end_layout - -\begin_layout Standard -Nur eine vergleichsweise kleine Zahl von Plugins bietet die Möglichkeit - einer Konfiguration. -\end_layout - -\begin_layout Subsubsection -Zielauswahl -\end_layout - -\begin_layout Standard -\align center -\begin_inset Graphics - filename images/mainwindow-targetselection-de.png - scale 90 - -\end_inset - - -\end_layout - -\begin_layout Paragraph -Ziel(e) -\end_layout - -\begin_layout Standard -Die ersten Hosts, die durch den Nessus Server attackiert werden. - Die anderen Optionen erlauben es, den Kreis der zu testenden Systeme zu - erweitern. - Es können diverse Primär-Ziele angegeben werden, indem sie mit Komma (,) - separiert werden, z.B.: -\begin_inset Quotes eld -\end_inset - -host1,host2 -\begin_inset Quotes erd -\end_inset - -. - -\end_layout - -\begin_layout Standard -Eine besondere Syntax ist -\begin_inset Quotes eld -\end_inset - -file:/some/where/targetlist.txt -\begin_inset Quotes erd -\end_inset - -: Die Liste der Ziele wird aus einer Datei gelesen. - Diese kann auch mittels des Knopfs -\begin_inset Quotes eld -\end_inset - -Lese aus Datei -\begin_inset Quotes erd -\end_inset - - komfortabel ausgewählt werden, im entsprechenden Abschnitt des Handbuchs - ist auch das Format der Datei beschrieben. -\end_layout - -\begin_layout Paragraph -Lese aus Datei -\end_layout - -\begin_layout Standard -Es kann über den Dateiauswahl-Dialog eine Textdatei angegeben werden welche - eine Liste der Ziele enthält. - Diese Textdatei kann eine oder mehrere Zeilen mit Komma-separierten Listen - von Hosts enthalten. -\end_layout - -\begin_layout Paragraph -Führe einen DNS Zonentransfer durch -\end_layout - -\begin_layout Standard -Nessus Server wird AXFR Anfragen (Zonen-Transfer) an den Name-Server des - Ziels richten und so eine Liste der Hosts der Ziel-Domäne ermitteln. - Dann wird jeder einzelne Host getestet. -\end_layout - -\begin_layout Subsection -Reports -\end_layout - -\begin_layout Subsubsection -Report Seite von OpenVAS-Client -\end_layout - -\begin_layout Standard -Die Report Seite enthält 3 Elemente: Auf der linken Seite befindet sich - eine Baumstruktur welches es erlaubt über Host, Port und Schweregrad einzelne - Scan-Ergebnissen zu finden. - Oberhalb dieser Baumstruktur ist eine Auswahl mit der man Baumstruktur - umstellen kann. - Auf der rechten Seite befindes sich das Textfeld mit den eigentlichen Scan-Erge -bnissen. - Das gesamte Design unterstützt ein exploratives Verstehen der Scan-Ergebnisse. - -\end_layout - -\begin_layout Standard -\align center -\begin_inset Graphics - filename images/mainwindow-report-de.png - width 90text% - -\end_inset - - -\end_layout - -\begin_layout Subsubsection -Report Formate -\end_layout - -\begin_layout Standard -Die Scan-Ergebnisse können in verschiedene Formate exportiert werden. - Grundsätzlich kann zwischen drei Formaten unterschieden werden: Austauschformat -e, bearbeitbare Dokumente und Read-only Dokumente. - Der letzte Typ ist aktuell der PDF Report. - Mit einem geeigneten Betrachter können Sie im Dokument anhand der eingebetteten - Hyperlinks navigieren. -\end_layout - -\begin_layout Standard -Weitere Informationen zu den Formaten finden Sie im Abschnitt über die Aktion - -\begin_inset Quotes eld -\end_inset - -Report->Export -\begin_inset Quotes erd -\end_inset - -. -\end_layout - -\begin_layout Section -Besondere Funktionen -\end_layout - -\begin_layout Subsection -OpenVAS-Client Voreinstellungen -\end_layout - -\begin_layout Standard -OpenVAS-Client erlaubt es, einige individuelle Vorlieben einzustellen, die - das Verhalten der graphischen Benutzeroberfläche bestimmen. -\end_layout - -\begin_layout Standard -\align center -\begin_inset Graphics - filename images/preferences-dlg-de.png - scale 90 - keepAspectRatio - -\end_inset - - -\end_layout - -\begin_layout Standard -Folgende Einstellungen sind verfügbar: -\end_layout - -\begin_layout Subsubsection -Benutzerschnittstelle -\end_layout - -\begin_layout Paragraph -Automatisches Aufklappen der Baumelemente -\end_layout - -\begin_layout Standard -In der linksseitigen Baumansicht werden die Teilbäume für Aufgaben oder - Bereiche jeweils automatisch aufgeklappt, wenn man sie anwählt und diese - Voreinstellung eingeschaltet ist. -\end_layout - -\begin_layout Standard -Ist die Option nicht ausgewählt, so wird ein Teilbaum erst dann aufgeklappt, - wenn man direkt auf das entsprechende Symbol klick. -\end_layout - -\begin_layout Subsubsection -Verbindung mit Nessus Server -\end_layout - -\begin_layout Paragraph -Automatisch verbinden -\end_layout - -\begin_layout Standard -Ist diese Option eingeschaltet, wird OpenVAS-Client versuchen eine Verbindung - zum Server aufzubauen sobald ein Bereich ausgeführt werden soll. - Bei Verwendung von Benutzer-Zertifikaten ohne Passwort funktioniert das - unmittelbar. - Für Passwort-geschützte Benutzer-Zertifikate oder einfache Passwort-basierte - Anmeldung wird das Passwort im Speicher gehalten bis OpenVAS-Client beendet - wird. -\end_layout - -\begin_layout Subsubsection -Plugin Zwischenspeicher -\end_layout - -\begin_layout Paragraph -Plugin Informationen bei Verbindungsaufbau zwischenspeichern -\end_layout - -\begin_layout Standard -Ist dieses Option eingeschaltet, legt OpenVAS-Client für den entsprechenden - Bereich einen Zwischenspeicher für die kompletten Plugin Informationen - an. - Das wirkt sich auf dreierlei Weise aus: -\end_layout - -\begin_layout Standard -Erstens kann der erneute Verbindungsaufbau zum Nessus Server bedeutent schneller - sein, da MD5 Prüfsummen verwendet werden um nur veränderte und neue Plugins - zu identifizieren. - Nur diese Änderungen werden dann heruntergeladen. - Verbdindet man sich auf einen anderen Nessus Server werden in der Regel - alle Plugins wieder neu heruntergeladen. -\end_layout - -\begin_layout Standard -Zweitens sind sämtliche Plugin Informationen auch dann in OpenVAS-Client - verfügbar wenn man noch keine Verbindung zum Nessus Server aufgebaut hat. - Man kann also ohne Server-Verbindung die Pluginauswahl und die Plugin Voreinste -llungen anschauen oder ändern. - Beachten Sie, dass sich die Pluginauswahl ggf. - beim Verbingsaufbau ändern kann, beispielsweise wenn neue Plugins hinzugekommen - sind oder welche gelöscht werden. - Letzeres passsiert in der Regel jedoch nie. - Den Zwischenspeicher zu laden kann unter Umständen ein paar Sekunden dauern. - Wollen Sie das vermeiden, dann schalten Sie die Option -\begin_inset Quotes eld -\end_inset - -Lade umgehend Plugin Zwischenspeicher für Bereiche -\begin_inset Quotes erd -\end_inset - - aus. -\end_layout - -\begin_layout Standard -Drittens der Nachteil eines Zwischenspeichers: Es werden pro Bereich einige - MByte an Platz benötigt. - Stellt dies ein Problem dar, sollten sie diese Option abschalten. - Wollen Sie bereits erzeugte Zwischenspeicher wieder entfernen, so suchen - Sie nach den Dateien -\begin_inset Quotes eld -\end_inset - -nessus_plugin_cache -\begin_inset Quotes erd -\end_inset - - in Ihrem Nessus Verzeichnis -\begin_inset Quotes eld -\end_inset - -~/.nessus -\begin_inset Quotes erd -\end_inset - -. - Einfaches löschen dieser Dateien reicht aus. -\end_layout - -\begin_layout Paragraph -Verwende Plugin Zwischenspeicher für Reports -\end_layout - -\begin_layout Standard -Schaltet man diese Option ein, so wird OpenVAS-Client sämtliche Plugin Informati -onen allen neuen Scan-Reports beilegen. - Das erlaubt Ihnen die Pluginauswahl und die Plugin Voreinstellungen für - einen Report in der grafischen Benutzeroberfläche anzuschauen. - Dieser Zwischenspeicher dient also der Verbesserung der Transparenz, nicht - der Performanz. -\end_layout - -\begin_layout Standard -Auch hier gibt es den Nachteil, dass pro Report mehrere MByte an Platz benötigt - werden. - Stellt dies ein Problem dar, sollten sie diese Option abschalten. - Wollen Sie bereits erzeugte Zwischenspeicher wieder entfernen, so suchen - Sie nach den Dateien -\begin_inset Quotes eld -\end_inset - -nessus_plugin_cache -\begin_inset Quotes erd -\end_inset - - in Ihrem Nessus Verzeichnis -\begin_inset Quotes eld -\end_inset - -~/.nessus -\begin_inset Quotes erd -\end_inset - -. - Einfaches löschen dieser Dateien reicht aus. -\end_layout - -\begin_layout Paragraph -Lade umgehend Plugin Zwischenspeicher für Bereiche -\end_layout - -\begin_layout Standard -Schaltet man diese Option ab, so wird OpenVAS-Client den Zwischenspeicher - für einen Bereich nicht automatisch laden wenn man einen Bereich anwählt. - Das bedeutet, dass man weder die Pluginauswahl noch die Plugin Einstellungen - zu sehen bekommt wenn man nicht mit dem Nessus Server verbunden ist. - Diese Option schaltet also den zweiten Punkte von -\begin_inset Quotes eld -\end_inset - -Plugin Informationen bei Verbindungsaufbau zwischenspeichern -\begin_inset Quotes erd -\end_inset - - wieder ab um möglicherweise störende längere Ladezeiten des Zwischenspeichers - zu vermeiden wenn man einen Bereich anwählt. -\end_layout - -\begin_layout Subsubsection -Report -\end_layout - -\begin_layout Paragraph -Füge Plugin Details in PDF-Bericht ein -\end_layout - -\begin_layout Standard -Schaltet man diese Option ein, so wird OpenVAS-Client bei der Erstellung - von PDF-Reports einen Anhang mit Details zu solchen Plugins anfügen die - relevante Ergebnisse des Berichts erzeugt haben. - Diese Details sind innerhalb des PDF-Dokumentes verknüpft, so dass man - leicht zu den gewünschten Informationen springen kann. -\end_layout - -\begin_layout Standard -Bedenken Sie aber, dass das PDF-Dokument dadurch unter Umständen signifikant - an Umfang gewinnen kann. - Im Durchschnitt können Sie davon ausgehen, dass etwa zwei Plugin-Beschreibungen - auf einer Seite stehen. -\end_layout - -\begin_layout Subsubsection -Externe Verweise in HTML/PDF -\end_layout - -\begin_layout Standard -Diese Einstellungen bestimmen die URL für die Verweise auf weitere Informationen - zu Nessus Plugins, CVE/CAN und BugTraq ID in Reports der Formate HTML und - PDF. - Die Voreinstellungen wie oben im Screenshot zu sehen werden empfohlen, - da dort jeweils aktuelle Informationen vorhanden sind. - Die Voreinstellungen erhält man zurück wenn man die entsprechenden Felder - leer lässt. -\end_layout - -\begin_layout Standard -Für den Fall, dass Sie einen Nessus Report als Paket mit z.B. - den Details zu CVE/CAN erstellen wollen um alles off-line lesenen zu können, - könnten Sie diese Definition verwenden: ``mitre/%s/%s/%s.html'' falls Sie - eine Verzeichnisstruktur relativ zur Report-Datei haben mit mitre/CVE/yyyy/nnnn. -html und mitre/CAN/yyyy/nnnn.html wobei yyyy da Jahr ist und nnnn die Nummer - des Eintrages. - Dann können alle Dateien in einem Paket zusammengefasst werden. -\end_layout - -\begin_layout Standard -Beachten Sie, dass die Zeichnketten die Sie hier definieren, in den Parameter - ``href'' der HTML-Verweise direkt eingetragen werden. - Da Werkzeug ``htmldoc'' wird verwendet um PDF Reports daraus herzustellen. - Abhängig davon, welche Version mit welchen Eigenschaften Sie auf Ihrem - System haben, kann die Art der erzeugten Verweise in der PDF-Datei variieren. -\end_layout - -\begin_layout Subsection -Benutzer-definierte Zugriffsregeln -\end_layout - -\begin_layout Subsubsection -Allgemein -\end_layout - -\begin_layout Standard -Der Nessus Server verwaltet eine Liste von Zugriffsregeln ähnlich denen - bei Firewall-Anwendungen. - Diese Server-seitigen Regeln können durch einen Nessus Klienten niemals - überschrieben werden. -\end_layout - -\begin_layout Standard -Des weiteren kann der Administrator des Nessus Server zusätzlich spezielle - Regeln für einen Benutzer anlegen, beispielsweise direkt bei der Einrichtung - des Benutzerkontos mit -\family typewriter -nessus-adduser -\family default -. -\end_layout - -\begin_layout Standard -Schließlich hat der Benutzer noch die Möglichkeit, zusätzliche eigene Regeln - in OpenVAS-Client zu setzen. -\end_layout - -\begin_layout Subsubsection -Syntax -\end_layout - -\begin_layout Standard -Eine Regel kann zum einen eine Voreinstellungsregel sein: -\begin_inset Quotes eld -\end_inset - -default deny -\begin_inset Quotes erd -\end_inset - -, -\begin_inset Quotes eld -\end_inset - -default reject -\begin_inset Quotes erd -\end_inset - - oder -\begin_inset Quotes eld -\end_inset - -default accept -\begin_inset Quotes erd -\end_inset - -. -\end_layout - -\begin_layout Standard -Zum anderen kann eine Regel Ziel-spezifisch angegeben werden und besteht - dann aus einer Aktion ( -\begin_inset Quotes eld -\end_inset - -deny -\begin_inset Quotes erd -\end_inset - -, -\begin_inset Quotes eld -\end_inset - -reject -\begin_inset Quotes erd -\end_inset - - oder -\begin_inset Quotes eld -\end_inset - -accept -\begin_inset Quotes erd -\end_inset - -) und dem Ziel spezifiziert durch die IP (z.B. - 192.168.10.10). -\end_layout - -\begin_layout Standard -Beachten Sie, dass hier tatsächlich IPs angegeben werden müssen. - Hostnamen sind aus Sicherheitsgründen nicht gestattet. -\end_layout - -\begin_layout Subsubsection -Regeln in OpenVAS-Client verwalten -\end_layout - -\begin_layout Standard -Eine Regel besteht aus einer Aktion und (falls keine voreingestellte Aktion - definiert wurde) einem Ziel. - Es sind insgesamt 6 Aktionen möglich aus denen der Benutzer in einer Auswahlbox - auswählen kann. - Das Ziel muss separat in einem Texteingabefeld angeben werden. -\end_layout - -\begin_layout Standard -Sobald man -\begin_inset Quotes eld -\end_inset - -Regel hinzufügen -\begin_inset Quotes erd -\end_inset - - anwählt, wird die spezifizierte Regel in der Gruppe -\begin_inset Quotes eld -\end_inset - -Klient-seitige Regeln -\begin_inset Quotes erd -\end_inset - - hinzugefügt. -\end_layout - -\begin_layout Standard -Ist eine Regel in dieser Gruppe selektiert und betätigen Sie -\begin_inset Quotes eld -\end_inset - -Regel entfernen -\begin_inset Quotes erd -\end_inset - -, so wird die selektierte Regel aus der Liste gelöscht. - Selbstverständlich können keine Server-seitigen Regeln gelöscht werden. -\end_layout - -\begin_layout Subsubsection -Beispiel für eine Benutzer-definierte Zugriffsregel -\end_layout - -\begin_layout Standard -Sie sind das Sicherheitsteam von BigBank Corp. - Das Management hat Sie autorisiert, das Netzwerk zu scannen. - Allerdings unter keinen Umständen 172.20.142.2, da dies der SWIFT Server ist. - Die Bank würde erheblichen Schaden erleiden, wenn dieser Server offline - geht. - Also fügen Sie als Klient-seitige Zugriffsregel hinzu: -\end_layout - -\begin_layout Standard -\begin_inset VSpace smallskip -\end_inset - - -\family typewriter -deny 172.20.142.2 -\family default - -\begin_inset VSpace smallskip -\end_inset - - -\end_layout - -\begin_layout Standard -\noindent -Sie können nun sicher sein, dass diese IP nicht gescannt wird, selbst wenn - diese IP bei den Zielen explizit auftaucht. -\end_layout - -\begin_layout Subsubsection -Beispiel für eine Administrator-definierte Zugriffsregel -\end_layout - -\begin_layout Standard -Indem Sie die Datei nessusd.rules editieren (nur der Administrator des Nessus - Server kann dies), können Sie sicherstellen, dass der Nessus Server nicht - verwendet werden kann, um bestimmte Hosts zu scannen. - Falls Ihr internes Netzwerk 10.0.0.0/8 ist, dann wollen Sie in der Regel sicherste -llen, dass niemand Rechner außerhalb dieses Netzes mit dem Server scannen - kann. - Dies erreichen Sie durch folgende Einstellung in -\family typewriter -nessusd.rules -\family default -: -\begin_inset VSpace smallskip -\end_inset - - -\end_layout - -\begin_layout Standard - -\family typewriter -allow 10.0.0.0/8 -\end_layout - -\begin_layout Standard - -\family typewriter -allow 127.0.0.1 -\end_layout - -\begin_layout Standard - -\family typewriter -default deny -\end_layout - -\begin_layout Subsection -Lokale Sicherheitstests: Theorie -\end_layout - -\begin_layout Subsubsection -Was sind -\begin_inset Quotes eld -\end_inset - -lokale -\begin_inset Quotes erd -\end_inset - - Sicherheitstests? -\end_layout - -\begin_layout Standard -Beginnend mit Nessus 2.1.0 ist es möglich, Nessus SSH-Beglaubigungen zu übergeben, - um in ein anderes UNIX-artiges System einzuloggen. - Dort kann dann lokal festgestellt werden, welche Patches auf dem System - ggf. - noch fehlen. - Konkret bedeutet dies, das Nessus einen validen SSH-Schlüssel erhält, sich - damit auf den anderen Systemen einloggt, die Liste der installierten Software - extrahiert und anhand dieser mitteilt, welches Softwarepaket aktualisiert - werden sollte. -\end_layout - -\begin_layout Standard -Das eigentliche Ziel dieser Funktionalität ist es, auf einfache Weise zu - verfolgen, ob alle Patches auf den Systemen eingespielt wurden, ohne dass - möglicherweise Gefahren für das System entstehen indem man aktiv auf Sicherheit -slücken von Außen prüft. - Es ist also wichtig zu verstehen, dass diese Funktionalität keine versteckten - Probleme wie ein unautorisiertes SUID Programm entdecken kann, sondern - nur feststellt, welche Patches auf dem System fehlen. -\end_layout - -\begin_layout Subsubsection -Welche Betriebssysteme werden derzeit unterstützt? -\end_layout - -\begin_layout Standard -Derzeit ist Nessus in der Lage fehlende Patches für folgende Betriebssysteme - festzustellen: -\end_layout - -\begin_layout Itemize -AIX 5.x -\end_layout - -\begin_layout Itemize -Debian -\end_layout - -\begin_layout Itemize -Fedora Core 1 und 2 -\end_layout - -\begin_layout Itemize -FreeBSD 4.x, 5.x (inklusive aller Port Sammlungen) -\end_layout - -\begin_layout Itemize -Gentoo Linux (alle Empfehlungen in 2004) -\end_layout - -\begin_layout Itemize -Mac OS X (und Mac OS X Server) -\end_layout - -\begin_layout Itemize -Mandrake Linux (8.0 bis 10.0) -\end_layout - -\begin_layout Itemize -RedHat Enterprise Linux (2.1 und 3.0) -\end_layout - -\begin_layout Itemize -Solaris (2.5.1, 2.6, 7, 8 und 9) -\end_layout - -\begin_layout Itemize -SuSE Linux (7.0 bis 9.1) -\end_layout - -\begin_layout Itemize -Microsoft Windows NT, 2000, XP, 2003 -\end_layout - -\begin_layout Standard -Wir hoffen, in der Zukunft weitere Systeme (HP-UX, Tru64, etc...) unterstützen - zu können. - -\end_layout - -\begin_layout Subsubsection -Nach welchen Solaris Patches wird geprüft? -\end_layout - -\begin_layout Standard -Es sind Prüfungen für Solaris 2.5.1, 7, 8 und 9 (für beide Architekturen: - sparc und i386) implementiert. - Wir prüfen auf jeden Patch der auf der offiziellen Sun Patch-Seite "Patch - containing security fixes" aufgelistet wird. -\end_layout - -\begin_layout Subsubsection -Ist es geplant weitere Systeme zu unterstützen? -\end_layout - -\begin_layout Standard -Es ist nicht geplant, alle jemals erstellten Betriebssysteme zu unterstützen. - Allerdings haben wir vor, -\begin_inset Quotes eld -\end_inset - -Arbeitsgruppen -\begin_inset Quotes erd -\end_inset - - für bestimmte Betriebssysteme zu schaffen. - Im Prinzip suchen wir also nach Menschen, die für das von Ihnen bevorzugte - Betriebssystem verantwortungsbewußt sämtliche notwendigen Prüfungen auf - Patches implementieren. - Falls Sie dementsprechend interessiert sind, so melden Sie sich am besten - beim Nessus Entwickler-Team. -\end_layout - -\begin_layout Subsubsection -Was sind lokale Sicherheitsprüfungen NICHT? -\end_layout - -\begin_layout Standard -Nessus selbst prüft nicht die lokalen Sicherheitsregeln ab, wie es beispielsweis -e TIGER macht (also Verzeichnis mit Schreibrechten für alle, falsche Zugriffsrec -hte bei sensitiven Konfigurationsdateien, etc). - Lesen Sie bei SLAD (Security Local Auditing Daemon) nach, wie man umfangreiche - Vor-Ort-Tests auf einem potenziell kompromittierten System durchführt. - SLAD kann über Nessus mit den entsprechenden NASL Skripten verwendet werden. -\end_layout - -\begin_layout Subsubsection -Warum benötigt man lokale Sicherheitstests, ist Nessus nicht gut genug, - die Sicherheitsprobleme selbst zu entdecken? -\end_layout - -\begin_layout Standard -Nessus 2.0 ist im Kern ein Netzwerk-basierter Scanner. - Das bedeutet, dass er sich mit den Zielsystemen verbindet und versucht - zu beurteilen ob irgendetwas die Dienste negativ beeinflusst. - Nun hat aber diese Methode, alles über das Netzwerk zu prüfen, auch einige - Nachteile. - Insbesondere kann ein 100% Netzwerk-basierter Scanner folgende Dinge nicht - leisten: -\end_layout - -\begin_layout Itemize -Klient-seitige Fehler feststellen: Es gibt heutzutage mehr und mehr Klient-seiti -ge Verletzbarkeiten, die von Fehlern in Mail-Programmen bis zu XML Bibliotheken - reichen. - Es ist schlichtweg unmöglich, auf diese Probleme hin mit einem Scanner - wie Nessus zu prüfen. - Die einzige Möglichkeit dies zu tun ist über einen passiven Scanner (z.B. - SLAD oder NeVO) oder eben lokale Sicherheitstests auf Patches. -\end_layout - -\begin_layout Itemize -Lokale Fehler feststellen: Klar ist, dass die Sicherheit der lokalen Werkzeuge - nicht über das Netzwerk beurteilt werden kann. - Indem man aber einen lokalen Sicherheitstest laufen läßt, kann man feststellen - ob man einen Overflow in einem SUID-Programm ausnutzen kann, um die Rechte - von root zu erlangen. -\end_layout - -\begin_layout Itemize -Fehler in abgestellten Diensten feststellen: Hat ein Host einen verletzbaren - Dienst installiert, aber dieser läuft nicht zur Zeit des Netzwerk-Scans, - so wird diese Verletzbarkeit nicht entdeckt. - Hat man einen ungepatchten Dienst mit einem Sicherheitsloch, so ist dies - ein echtes Sicherheitsproblem, denn die Lücke kann sofort ausgenutzt werden, - sobald der Dienst in Betrieb genommen wird. -\end_layout - -\begin_layout Standard -Die traditionellen Netzwerk-basierten Scanner haben also ihre Grenzen, die - aber mit der neuen Funktionalität überwunden werden können. -\end_layout - -\begin_layout Subsubsection -Kann Nessus individuell compilierte und installierte Pakete erkennen? -\end_layout - -\begin_layout Standard -Falls Sie beispielsweise Ihren DNS Server per Hand installieren und anstatt - des System-seitigen verwenden, so wird Nessus dies nicht erkennen! -\end_layout - -\begin_layout Standard -Nessus beschränkt sich auf die Patches, die durch den Betriebssystemhersteller - zur Verfügung gestellt werden. - Beachten Sie, dass es normalerweise eine gute Idee ist, bei den Paketen - des Herstellers zu bleiben, da dies eine Aktualisierung des Systems wesentlich - vereinfacht. -\end_layout - -\begin_layout Standard -In der Zukunft wird Nessus in der Lage sein, zu prüfen, ob der laufende - Dienst derselbe ist wie das installierte RPM (oder anderen Paket-Management-Sys -tems) und wird so die Ausgabe-Informationen noch verbessern. -\end_layout - -\begin_layout Subsubsection -Warum um lokale Sicherheitstests kümmern, wenn es gar keine lokalen Benutzer - gibt? -\end_layout - -\begin_layout Standard -Warum sollte es beispielsweise jemanden kümmern, ob der Web-Server einen - lokalen Overflow in einem SUID-Programm hat, wenn es keinen lokalen Benutzer - außer einen selbst gibt? -\end_layout - -\begin_layout Standard -Als diese Funktionalität diskutiert wurde, haben eine Leute entgegengehalten, - dass es Ihnen egal ist, da ihre Server einfach nur Web-Server ohne lokale - Benutzer sind und daher niemand die Verletzbarkeiten ausnutzen kann. - Die Antwort darauf ist eine einfache Praxis-Regel der Sicherheit: -\series bold -Eindämmung -\series default -. - Wenn Ihr Web-Server verletzbar durch einen bestimmten Fehler ist (sei es - eine fehlerhafte Konfiguration, ein schlecht geschriebenes PHP-Skript oder - ein 0day in Apache), dann kann ein Angreifer eine Shell auf Ihrem System - erhalten. - Nun ist die Frage: Wollen Sie es diesem Angreifer einfach machen, Administrator --Privilegien zu erhalten und damit die vollständige Kontrolle über das System? - Oder wollen Sie ihn eindämmen auf die Privilegien des Web-Servers? (Diese - Privilegien werden zumindest verhindern, dass der Angreifer den Kern verändert, - gefährliche Kern-Module lädt und ganz allgemein es schwieriger macht überhaupt - zu entdecken, dass eine Attacke erfolgreich war). - Also, lokale Sicherheit ist wirklich wichtig, denn sie ist die letzte Verteidig -ungslinie. -\end_layout - -\begin_layout Subsubsection -Wie kann das Einschalten der lokalen Sicherheitstests die Scan-Erfahrung - verbessern? -\end_layout - -\begin_layout Standard -Abhängig davon, wie Sie sie benutzen, können lokale Sicherheitstests Ihre - Scan-Erfahrung dramatisch verbessern: -\end_layout - -\begin_layout Itemize -Durch Reduzierung der falschen Positiven: es ist nicht immer möglich über - das Netzwerk festzustellen, ob ein Dienst für einen bestimmten Fehler verletzba -r ist (manchmal ist die einzige Möglichkeit dies zu tun, den Dienst zum - Absturz zu bringen, was natürlich keine Option für Produktiv-Systeme ist). - Manchmal aktualisieren Hersteller ein fehlerhaftes Produkt nicht, sondern - wenden den Patch auf die alte Version an (siehe z.B. - den Standpunkt von RedHat dazu). - Dies macht den Netzwerk-basierten Scannern natürlich das Leben etwas schwerer. -\end_layout - -\begin_layout Itemize -Durch Beschleunigung der Prüfungen: wenn Sie eigentlich nur daran interessiert - sind zu prüfen ob auf allen Systemen alle Patches eingespielt sind, dann - wird die Verwendung der lokalen Sicherheitstests die Zeit für die Prüfung - drastisch reduzieren. - Es dauert nur 6 Sekunden alle lokalen Fehler zu finden (über einen VPN-Link) - während es mindestens 1 Minute dauert, das selbe System über das Netzwerk - zu scannen. -\end_layout - -\begin_layout Itemize -Durch häufigeres Scannen: Jeder Netzwerk-basierte Sicherheits-Scanner birgt - die Gefahr, Geräte oder Dienste auf dem Netzwerk abstürzen zu lassen. - Das gilt für Nessus wie für alle anderen vergleichbaren Systeme. - Der Grund ist einfach: Ein Scanner versucht sich zu allen Diensten auf - dem Zielrechner zu verbinden und einige dieser Dienste (und TCP/IP Stacks) - sind so schlecht geschrieben, dass, wenn man nicht genau die richtigen - Daten schickt, ein Absturz die Folge ist. - Egal wie vorsichtig der Scanner ist, es gibt immer die Gefahr spezielle - Anwendungen zum Absturz zu bringen oder einen belasteten Server mit wenig - Speicherreserve usw. - Dies ist im Speziellen der Fall für Embedded-Geräte, die meistens ganz - ohne Überlegungen zur Sicherheit konstruiert werden. - Es gibt Hersteller von Scannern die -\begin_inset Quotes eld -\end_inset - -100% ungefährliche Scans -\begin_inset Quotes erd -\end_inset - - versprechen, was schlichtweg eine Lüge ist. - Interagiert ein Scanner mit Netzwerkdiensten, so gibt es immer die Möglichkeit, - dass diese zum Absturz gebracht werden. -\newline -In der Konsequenz wird nur noch einmal - pro Monat oder einmal pro Quartal gescannt, obwohl neue Sicherheitsprobleme - jeden Tag hinzukommen bzw. - entdeckt werden. -\newline -Alleine dadurch, dass die lokalen Sicherheitstest eingeschaltet - werden und die Port-Scanner sowie alle anderen Plugins ausgeschaltet werden, - wird Nessus Server sich nur noch per SSH auf die Zielrechner einloggen - und keinen Stress auf dem Netzwerk erzeugen und auch nicht zu schlechten - Überraschungen führen. -\end_layout - -\begin_layout Standard -Es ist also egal, ob sie eine kleine oder sehr große Anzahl Systeme haben, - lokale Sicherheitstests machen Ihnen Ihre Arbeit in jedem Fall einfacher. -\end_layout - -\begin_layout Subsubsection -Verlangsamt diese Funktionalität den Scan? -\end_layout - -\begin_layout Standard -Nein. - Nessus minimiert die Anzahl der SSH Zugriffe auf die Zielrechner und loggt - sich tatsächlich nur ein einziges mal pro System ein, um die Daten dann - in die Wissensbasis zu übertragen. - Schauen Sie sich den Quelltext des Plugins ssh_get_info.nasl für Details - dazu an. -\end_layout - -\begin_layout Subsubsection -Was sind die Nachteile dieser Funktionalität? -\end_layout - -\begin_layout Standard -Derzeit sind die folgenden Einschränkungen bekannt: -\end_layout - -\begin_layout Itemize -Es wird nur SSHv2 unterstützt. - Ein Zugriff auf Hosts über das Protokoll SSHv1 ist nicht möglich. -\end_layout - -\begin_layout Itemize -Sie müssen die Authentifizierungsmethode über öffentliche Schlüssel mit - SSH verwenden. - Es ist zwar etwas komplizierter als einfache Passworte, dafür aber um so - sicherer. -\end_layout - -\begin_layout Itemize -Diese Dokumentation beschreibt nur OpenSSH. -\end_layout - -\begin_layout Subsection -Lokale Sicherheitstests: Wie man sie anschaltet -\end_layout - -\begin_layout Standard -\begin_inset Note Comment -status collapsed - -\begin_layout Standard -What to do with this text - we can probably not just copy the referenced - document, so have a URL instead or write a new text?: -\end_layout - -\begin_layout Standard -\begin_inset Quotes eld -\end_inset - -As a reminder, if you are interested in Windows security checks please read - this document instead. -\begin_inset Quotes erd -\end_inset - - -\end_layout - -\end_inset - - -\end_layout - -\begin_layout Subsubsection -Das Prinzip -\end_layout - -\begin_layout Standard -Für das Aktivieren von lokalen Sicherheitstests liegt die folgende Idee - zugrunde: -\end_layout - -\begin_layout Itemize -Erzeuge ein SSH Schlüsselpaar mit öffentlichem und privatem Schlüssel, die - dann von Nessus verwendet werden. -\end_layout - -\begin_layout Itemize -Erzeuge ein Benutzerkonto auf jedem System auf dem die lokalen Sicherheitstests - durchgeführt werden sollen. -\end_layout - -\begin_layout Itemize -Kopiere den öffentlichen SSH Schlüssel den Nessus verwendet in das Verzeichnis - der jeweiligen Benutzer. -\end_layout - -\begin_layout Itemize -Weise Nessus an, diese SSH Schlüssel zu verwenden um die Scans durchzuführen. -\end_layout - -\begin_layout Standard -Wie man sieht ist es also eine einfache Methode. - Nessus verwendet keine direkte Authentifizierung über Passwort, da sonst - eine Verletzbarkeit über eine man-in-the-middle Attacke gegeben wäre (derzeit - wollen wir das Schlüsselmanagement für die Zielserver nicht selbst übernehmen) -\end_layout - -\begin_layout Standard -Wenn Sie sich nicht mit SSH auskennen und nicht verstehen was Schlüsselpaare - mit öffentlichem und privatem Schlüssel sind, sollten Sie unbedingt zunächst - entsprechende Dokumentation und Literatur heranziehen. -\end_layout - -\begin_layout Subsubsection -Einen öffentlichen SSH-Schlüssel erzeugen -\end_layout - -\begin_layout Standard -Um einen SSH Schlüssel zu erzeugen, verwenden Sie das Kommando ssh-keygen - und speichern Sie den geheimen Schlüssel an einem sicheren Ort: -\begin_inset VSpace defskip -\end_inset - - -\end_layout - -\begin_layout Standard -\align left - -\family typewriter -\size scriptsize -$ ssh-keygen -t dsa -\newline -Generating public/private dsa key pair. - Enter file in which to save the key (/Users/renaud/.ssh/id_dsa): -\newline -/home/renaud/Nes -sus/ssh_key -\newline -Enter passphrase (empty for no passphrase): -\newline -Enter same passphrase - again: -\newline -Your identification has been saved in /home/renaud/Nessus/ssh_key. -\newline -Your - public key has been saved in /home/renaud/Nessus/ssh_key.pub. -\newline -The key fingerprint - is: 06:4a:fd:76:ee:0f:d4:e6:4b:74:84:9a:99:e6:12:ea renaud at myth.local -\newline - -\end_layout - -\begin_layout Standard -Wie Sie am Beispiel oben sehen können, wurden zwei Dateien erzeugt: -\end_layout - -\begin_layout Itemize -/home/renaud/Nessus/ssh_key ist der private SSH Schlüssel. - Transferieren Sie ihn nie auf ein anderes System als das auf dem der Nessus - Klient läuft. -\end_layout - -\begin_layout Itemize -/home/renaud/Nessus/ssh_key.pub ist der öffentliche SSH Schlüssel. - Diese Datei wird auf jedes System kopiert für welches lokale Sicherheitstests - mit Nessus gemacht werden sollen. -\end_layout - -\begin_layout Standard -Wenn Sie bei ssh-keygen nach einem Passwort gefragt werden, dann können - Sie auch zweimal mit Return bestätigen (also kein Passwort spezifizieren). - Natürlich ist es besser einen Schlüssel mit einem Passwort zu schützen. - Aber in diesem Fall ist es so, dass keine zusätzliche Sicherheit gewonnen - wird, da das Passwort zwischen Nessus Klient und Nessus Server zirkuliert - und zudem in der Datei .nessusrc im Klartext gespeichert wird. -\end_layout - -\begin_layout Subsubsection -Ein Benutzerkonto einrichten und einen SSH Schlüssel herstellen -\end_layout - -\begin_layout Standard -\align left -Für jede Plattform die Sie testen wollen, sollten Sie ein neues Benutzerkonto - einrichten ,welches nur für die Verwendung durch Nessus vorgesehen ist. - In diesem Dokument verwenden wir den Namen nessus, das Benutzerkonto könnte - aber auch jeden anderen Namen haben. - Nachdem das Benutzerkonto eingerichtet wurde (mit dem Kommando adduser - oder einem entsprechenden Werkzeug welches Ihr System bereitstellt), sollten - Sie sicherstellen, dass dieser neue Benutzer kein gültiges Passwort hat - (also einen Stern (*) an der entsprechenden Stelle in der Passwort-Datei): -\end_layout - -\begin_layout Standard -\begin_inset VSpace defskip -\end_inset - - -\end_layout - -\begin_layout Standard -\align left - -\family typewriter -\size scriptsize -# vipw -\newline -(...) -\newline -nessus:*:502:502::0:0:Nessus Test Account:/home/nessus:/bin/bash - -\newline -(...) -\family default -\size default - -\newline - -\end_layout - -\begin_layout Standard -Da der Benutzer nun eingerichtet ist, müssen Sie nur noch den Schlüssel - in dessen Heimatverzeichnis kopieren und die Zugriffsrechte für das Verzeichnis - -\begin_inset Quotes eld -\end_inset - -.ssh -\begin_inset Quotes erd -\end_inset - - korrekt setzen: -\begin_inset VSpace defskip -\end_inset - - -\end_layout - -\begin_layout Standard -\align left - -\family typewriter -\size scriptsize -# mkdir ~nessus/.ssh -\newline -# mv ssh_key.pub ~nessus/.ssh/authorized_keys -\newline -# chown - -R nessus:nessus ~nessus/.ssh/ -\newline -# chmod 0600 ~nessus/.ssh/authorized_keys - -\newline -# chmod 0700 ~nessus/.ssh/ -\family default -\size default - -\newline - -\end_layout - -\begin_layout Subsubsection -Nessus aufsetzen -\end_layout - -\begin_layout Standard -Stellen Sie zunächst sicher, dass Sie einen Nessus Server in Version 2.1.0 - oder neuer haben, der mit SSL Unterstützung compiliert ist. - Sie können dies prüfen mit -\begin_inset Quotes eld -\end_inset - -nessusd -d -\begin_inset Quotes erd -\end_inset - -: -\begin_inset VSpace defskip -\end_inset - - -\end_layout - -\begin_layout Standard -\align left - -\family typewriter -\size scriptsize -[root at myth Home]$ nessusd -d -\newline -This is Nessus 2.1.0 for Darwin 7.4.0 -\newline -compiled - with gcc version 3.3 20030304 (Apple Computer, Inc. - build 1495) -\newline -Current setup : -\newline -nasl: 2.1.0 -\newline -libnessus: 2.1.0 SSL support: enabled -\newline - -\end_layout - -\begin_layout Standard -Starten Sie nun OpenVAS-Client und gehen Sie zur Seite mit den Zugangsdaten - und setzen Sie den SSH Benutzernamen und den SSH Schlüssel: -\end_layout - -\begin_layout Standard -\begin_inset Note Comment -status collapsed - -\begin_layout Standard -TODO: screenshot like on http://www.nessus.org/doc/nessus_ssh_local.html -\end_layout - -\end_inset - - -\end_layout - -\begin_layout Standard -Stellen Sie dabei sicher, dass Sie nicht den öffentlichen Schlüssel (.pub) - und den privaten vertauschen. - Stellen Sie außerdem sicher, dass die Option -\begin_inset Quotes eld -\end_inset - -Abhängigkeiten zur Laufzeit berücksichtigen -\begin_inset Quotes erd -\end_inset - - eingeschaltet ist und starten Sie dann den Scan gegen den Host. - Der Nessus Report sollte nun mitteilen, dass das Einloggen erfolgreich - war und alle fehlenden Patches für dieses System auflisten: -\end_layout - -\begin_layout Standard -\begin_inset Note Comment -status collapsed - -\begin_layout Standard -TODO: Report excerpt like on http://www.nessus.org/doc/nessus_ssh_local.html -\end_layout - -\end_inset - - -\end_layout - -\begin_layout Standard -Wiederholen Sie diese Prozedur für jeden Rechner, für den Sie eine lokale - Prüfung machen wollen. -\end_layout - -\begin_layout Subsubsection -Danksagung -\end_layout - -\begin_layout Standard -Die Funktionalität der SSH-basierten lokalen Tests wurde beigesteuert durch: -\end_layout - -\begin_layout Itemize -Nicolas Pouvesle, der einen leichten SSH Klienten in NASL entwickelt hat. -\end_layout - -\begin_layout Itemize -Tenable Network Security, welche über 1200 Plugins für lokale Sicherheitstests - hergestellt haben. -\end_layout - -\begin_layout Section -Optimierung und Feinabstimmung -\end_layout - -\begin_layout Subsection -Wissensbasis -\end_layout - -\begin_layout Standard -Die Speicherung in der Wissensbasis erlaubt es, die Benutzer des Netzwerkes - weniger zu stören indem tägliche Scans eines /24 Netzwerkes durchgeführt - werden, ohne dass dabei die Testresultate jedes mal wieder verworfen werden. -\end_layout - -\begin_layout Standard -\align center -\begin_inset Graphics - filename images/mainwindow-kb-de.png - scale 90 - -\end_inset - - -\end_layout - -\begin_layout Standard -Sowohl der Nessus Server, als auch der Nessus Klient, haben eine Compilier-Optio -n, um die Unterstützung durch eine Wissensbasis prinzipiell zu integrieren. - Dies ist auch voreingestellt, aber man kann auf Nessus Server treffen, - die die Wissensbasis nicht unterstützen. - -\end_layout - -\begin_layout Standard -Im OpenVAS-Client finden Sie die Konfiguration für die Wissensbasis auf - der Seite -\begin_inset Quotes eld -\end_inset - -WB -\begin_inset Quotes erd -\end_inset - - der Optionen (falls dieser Klient entsprechend compiliert wurde). -\end_layout - -\begin_layout Subsubsection -Einführung -\end_layout - -\begin_layout Standard -Die Wissensbasis (WB) ist die Liste der Informationen, die für einen getesteten - Host zusammengetragen wurden. - Diese beinhaltet die Liste der geöffneten Ports, den Typ des Betriebssystems - und eine Reihe weiterer Informationen. - Die Hauptintention ist die Reduzierung der Redundanz bei Tests, so dass - ein Plugin A, welches ein Fakt findet (z.B. - einen Weg wie man in den FTP-Server einloggt) diese Information mit anderen - Plugins teilen kann (beispielsweise wird ein Plugin, welches für seinen - Test in einen FTP-Server einloggen muss, in der WB nachschauen, ob es einen - Weg gibt). - Nach einem Test wird die WB aus dem Speicher entfernt und beim nächsten - Test von Grund auf neu zusammengetragen. -\end_layout - -\begin_layout Standard -Die Idee hinter der Speicherung der Wissensbasis ist es, die Ergebnisse - erneut auch für andere Audits zu verwenden, um damit die Bandbreite zu - schonen. - Hat man beispielsweise die Konfiguration seines Web-Servers in den letzten - 5 Stunden nicht verändert, dann ist es recht unwahrscheinlich, dass dort - ein neuer Port geöffnet wurde, der bei einem erneuten Scan berücksichtigt - werden sollte. - Die Speicherung der Wissensbasis erlaubt: -\end_layout - -\begin_layout Itemize -Schonung der Bandbreite -\end_layout - -\begin_layout Itemize -Zeitersparnis -\end_layout - -\begin_layout Itemize -Test der Hosts nur auf neue Verletzlichkeiten -\end_layout - -\begin_layout Standard -Man kann eine Lebenszeit für die Wissensbasis für jeden Host definieren. - Diese Lebenszeit kann frei gewählt werden und zwischen einigen Sekunden - und ein paar hundert Jahren liegen. - Dieser Abschnitt erklärt wie man die Wissensbasis verwendet um einen Sicherheit -szugewinn durch tägliche Scans ganzer Netze zu erreichen. -\end_layout - -\begin_layout Subsubsection -Verwendung der WB Speicherung -\end_layout - -\begin_layout Standard -Wollen Sie die Wissensbasis Server-seitig speichern lassen, so müssen Sie - die Option -\begin_inset Quotes eld -\end_inset - - -\series bold -WB Speicherung einschalten -\series default - -\begin_inset Quotes erd -\end_inset - - im Klienten einschalten: -\end_layout - -\begin_layout Standard -Diese Option aktiviert die Speicherung der Wissensbasis. - Auf dem Nessus Server werden alle entsprechenden Informationen gesammelt - und gespeichert. - Falls diese Option ausschließlich eingeschaltet ist, so werden die Daten - lediglich gespeichert, aber eben nicht weiter verwendet. - Das bedeutet, dass der Nessus Server diese Daten nicht nutzen wird, wenn - er denselben Host erneut testet. -\end_layout - -\begin_layout Standard -Technisch gesehen wird jede Wissensbasis als separate Datei für jeden Host - auf dem Nessus Server gespeichert. - In Zukunft ist die Verwendung einer Datenbank denkbar. - Die Dateien liegen unter -\begin_inset Quotes eld -\end_inset - -/usr/local/var/nessus/username/kbs/ -\begin_inset Quotes erd -\end_inset - -, wobei username das Benutzerkonto ist unter welchem man entsprechend gearbeitet - hat. -\end_layout - -\begin_layout Subsubsection -Reduzierung der getesteten Hosts in der Wissensbasis -\end_layout - -\begin_layout Standard -Falls -\begin_inset Quotes eld -\end_inset - - -\series bold -WB Speicherung einschalten -\series default - -\begin_inset Quotes erd -\end_inset - - gesetzt ist, dann ist es auch möglich, die Menge der getesteten Hosts die - dort abgelegt werden für den jeweiligen Benutzer einzuschränken. - Unter Umständen wollen Sie nur diejenigen Hosts testen, die bereits in - der Wissensbasis vorliegen. - Andersherum wollen Sie ggf. - nur die Hosts testen, für die keine oder eine veraltete Wissensbasis vorliegt, - Sie damit also den Satz der Wissensbasis komplett und aktuell machen. - Die drei Optionen -\begin_inset Quotes eld -\end_inset - - -\series bold -Alle Hosts testen -\series default -", -\begin_inset Quotes eld -\end_inset - - -\series bold -Nur die Hosts testen welche bisher getestet wurden -\series default -" und -\begin_inset Quotes eld -\end_inset - - -\series bold -Nur die Hosts verwenden die bisher nicht getestet wurden -\series default -" erlauben die entsprechenden Einstellungen. -\end_layout - -\begin_layout Itemize -Falls -\begin_inset Quotes eld -\end_inset - - -\series bold -Alle Hosts testen -\series default - -\begin_inset Quotes erd -\end_inset - - eingestellt ist, dann werden sämtliche Hosts, die bei -\begin_inset Quotes eld -\end_inset - -Ziele -\begin_inset Quotes erd -\end_inset - - stehen, getestet. - Es wird also keine Filterung gemacht und ein Test wie gewohnt durchgeführt. -\end_layout - -\begin_layout Itemize -Wenn Sie die Option -\begin_inset Quotes eld -\end_inset - - -\series bold -Nur die Hosts testen welche bisher getestet wurden -\series default - -\begin_inset Quotes erd -\end_inset - - auswählen, dann werden nur diejenigen Hosts getestet, für die eine aktuelle - Wissensbasis vorliegt. - Dies erlaubt es, beispielsweise darin sicher zu gehen, dass kein Port-Scan - gegen einen Host durchgeführt wird der noch nicht getestet wurde aber in - der Ziel-Liste steht. -\end_layout - -\begin_layout Itemize -Schließlich, falls die Option -\begin_inset Quotes eld -\end_inset - - -\series bold -Nur die Hosts verwenden die bisher nicht getestet wurden -\begin_inset Quotes erd -\end_inset - - -\series default - gesetzt ist, werden nur diejenigen Hosts getestet, für die keine Wissensbasis - vorliegt oder der Wissensbasis veraltet ist. - Diese Option sorgt also für eine frische Wissensbasis für ensprechende - Hosts. -\end_layout - -\begin_layout Standard -Die drei Optionen erlauben folgendes: -\end_layout - -\begin_layout Itemize -Alles testen -\end_layout - -\begin_layout Itemize -Sicherstellen, dass kein störendes Rauschen während der Tests entsteht -\end_layout - -\begin_layout Itemize -Die Wissensbasis zusammenzustellen -\end_layout - -\begin_layout Subsubsection -Wiederverwendung der Wissensbasis für Mehrfachtests -\end_layout - -\begin_layout Standard -Die Wiederverwendung der Wissensbasis, die in der Vergangenheit gespeichert - wurde, kann auch gefahrvoll sein, beispielsweise wenn ein gestern getestetes - System über Nacht kompromittiert und mit einem Root-Kit versehen wurde - und der Eindringling eine Root-Shell auf einem Port stehen läßt der vorher - geschlossen war. - Wenn Sie die Wissensbasis wiederverwenden so werden Sie diesen Fall nicht - mitbekommen. - Auf der anderen Seite will man auf einem gut abgesicherten Netzwerk die - Wissensbasis wiederverwenden, um Zeit zu sparen, wenn man einen Satz neuer - Tests gegen einen Host fahren lassen möchte. -\end_layout - -\begin_layout Standard -Wenn Sie die Option -\begin_inset Quotes eld -\end_inset - - -\series bold -Verwende die Wissensbasis für die Hosts beim Test -\series default - -\begin_inset Quotes erd -\end_inset - - aktivieren, dann werden die vorherigen Wissensbasen in den Speicher geladen - und Nessus Server wird sie aktiv verwenden. - Sie können mit den folgenden vier Optionen kontrollieren, was der Nessus - Server genau machen soll: -\end_layout - -\begin_layout Standard -Ist -\begin_inset Quotes eld -\end_inset - -Keine Scanner starten die schon einmal gestartet wurden -\begin_inset Quotes erd -\end_inset - - gesetzt, dann werden die Scanner die bereits vorher einmal verwendet wurden - nicht erneut verwendet. - Analog funktionieren die drei anderen Optionen. - Falls Sie nur die neuen Tests laufen lassen wollen die Sie über das Kommando - -\begin_inset Quotes eld -\end_inset - -nessus-update-plugins -\begin_inset Quotes erd -\end_inset - - erhalten haben, so dann sollten Sie alle vier Optionen einschalten. - -\end_layout - -\begin_layout Subsubsection -Bedeutung von aktuell -\end_layout - -\begin_layout Standard -In diesem Abschnitt wurde davon gesprochen, dass die Wissensbasis aktuell - sein kann oder veraltet. - Die Bedeutung dafür ist frei konfigurierbar. - Jedes mal, wenn eine Wissensbasis erstellt wird, so wird ein Zeitstempel - mitgespeichert. - Die Option -\begin_inset Quotes eld -\end_inset - - -\series bold -Max. - Alter der gespeicherten Wissensbasis (in Sek.) -\series default - -\begin_inset Quotes erd -\end_inset - - definiert die Zeit nach der eine Wissensbasis als obsolet angesehen wird - und durch eine aktuellere überschrieben wird. -\end_layout - -\begin_layout Standard -Die Voreinstellung ist 864000 (10 Tage), aber Sie sind frei dies beispielsweise - auf 3600 (eine Stunde) zu senken bzw. - auf jeden beliebigen anderen Wert zu setzen. -\end_layout - -\end_body -\end_document Deleted: trunk/openvas-compendium/users-manual.lyx =================================================================== --- trunk/openvas-compendium/users-manual.lyx 2008-08-01 18:08:03 UTC (rev 1093) +++ trunk/openvas-compendium/users-manual.lyx 2008-08-01 18:23:10 UTC (rev 1094) @@ -1,3594 +0,0 @@ -#LyX 1.5.3 created this file. For more info see http://www.lyx.org/ -\lyxformat 276 -\begin_document -\begin_header -\textclass article -\begin_preamble -\usepackage{times}[12pt] -\end_preamble -\language english -\inputencoding auto -\font_roman default -\font_sans default -\font_typewriter default -\font_default_family default -\font_sc false -\font_osf false -\font_sf_scale 100 -\font_tt_scale 100 -\graphics default -\paperfontsize default -\spacing single -\papersize default -\use_geometry false -\use_amsmath 1 -\use_esint 0 -\cite_engine basic -\use_bibtopic false -\paperorientation portrait -\secnumdepth 3 -\tocdepth 3 -\paragraph_separation indent -\defskip medskip -\quotes_language english -\papercolumns 1 -\papersides 1 -\paperpagestyle default -\tracking_changes false -\output_changes false -\author "" -\author "" -\end_header - -\begin_body - -\begin_layout Standard -\align center - -\series bold -\size largest -OpenVAS-Client User's Manual -\end_layout - -\begin_layout Standard -\begin_inset VSpace bigskip -\end_inset - - -\end_layout - -\begin_layout Standard -\align center -\begin_inset Graphics - filename OpenVAS-logo.png - keepAspectRatio - clip - -\end_inset - - -\end_layout - -\begin_layout Standard -\begin_inset VSpace bigskip -\end_inset - - -\end_layout - -\begin_layout Standard -\align center - -\series bold -\size large -$Date: 2006-05-19 09:58:15 $ -\end_layout - -\begin_layout Standard -\begin_inset VSpace bigskip -\end_inset - - -\end_layout - -\begin_layout Standard -\align center - -\series bold -\size large -Renaud Deraison -\end_layout - -\begin_layout Standard -\begin_inset VSpace bigskip -\end_inset - - -\end_layout - -\begin_layout Standard -\align center - -\series bold -\size large -Jan-Oliver Wagner -\end_layout - -\begin_layout Standard -\begin_inset VSpace vfill -\end_inset - - -\end_layout - -\begin_layout Standard -\begin_inset LatexCommand tableofcontents - -\end_inset - - -\end_layout - -\begin_layout Section* -About This Document -\end_layout - -\begin_layout Standard -This document describe how to use a OpenVAS or Nessus Server via the GTK+ - GUI -\begin_inset Quotes eld -\end_inset - -OpenVAS-Client -\begin_inset Quotes erd -\end_inset - -. - This may not cover the whole functionality of the OpenVAS or Nessus Server - nor does it claim to be complete. -\end_layout - -\begin_layout Standard -Please note that a name change from NessusClient to OpenVAS-Client happened - early July 2007. - NessusClient 1.x continues as OpenVAS-Client while the new NessusClient - 3.x release is a entirely new development based on QT instead of GTK+ and - is not a Free Software product. -\end_layout - -\begin_layout Standard - -\emph on -Due to the name change the manual might be inconsistent in some places! -\end_layout - -\begin_layout Section -General Overview -\end_layout - -\begin_layout Standard -The -\begin_inset Quotes eld -\end_inset - -Nessus -\begin_inset Quotes erd -\end_inset - - Project provides powerful, up-to-date and easy to use remote security scanner - as Free Software under GNU General Public License (GNU GPL). - Nessus will allow you to audit remotely a given network and determine whether - bad guys (aka 'crackers') may break into it, or misuse it in some way. -\end_layout - -\begin_layout Paragraph -Intelligent Scanning -\end_layout - -\begin_layout Standard -Unlike many other security scanners, Nessus does not take anything for granted. - That is, it will not consider that a given service is running on a fixed - port - that is, if you run your web server on port 1234, Nessus will detect - it and test its security. - It will also not determine a security vulnerability is present by just - regarding the version number of the remote service, but will really attempt - to exploit the vulnerability. - -\end_layout - -\begin_layout Paragraph -Modular Architecture -\end_layout - -\begin_layout Standard -The client/server arquitecture allows you flexibility to deploy the scanner - (server) and the GUI (client) in multiple configurations reducing management - costs (one server can be used by multiple clients) Some other features - of the Nessus Security Scanner are: -\end_layout - -\begin_layout Paragraph -\noindent -CVE compatible -\end_layout - -\begin_layout Standard -\noindent -Each plugin links to CVE for administrators to retrieve further information - on published vulnerabilities. - They also includes references to -\series bold -CERT, Bugtraq -\series default -, and vendor security alerts. -\end_layout - -\begin_layout Paragraph -\noindent -Plug-in architecture -\end_layout - -\begin_layout Standard -\noindent -Each security test is written as an external plugin. - This way, you can easily add your own tests without having to read the - code of the Nessus Server engine -\family typewriter -nessusd -\family default -. - The complete list of the Nessus plugins is available at http://cgi.nessus.org/plu -gins. -\end_layout - -\begin_layout Paragraph -\noindent -NASL -\end_layout - -\begin_layout Standard -\noindent -The Nessus Security Scanner includes NASL, (Nessus Attack Scripting Language) - a language designed to write security test easily and quickly. - (security checks can also be written in C) -\end_layout - -\begin_layout Paragraph -\noindent -Up-to-date security vulnerability database -\end_layout - -\begin_layout Standard -\noindent -We mostly focus on the development of security checks for recent security - holes. - Our security checks database is updated on a daily basis, and all the newest - security checks are available at http://www.nessus.org/scripts.php and on - the FTP servers and mirrors. - -\end_layout - -\begin_layout Paragraph -\noindent -Can test an unlimited amount of hosts at the same time -\end_layout - -\begin_layout Standard -\noindent -Depending of the power of the station you run the Nessus Server onto, you - can test two, ten or forty hosts at the same time. -\end_layout - -\begin_layout Paragraph -\noindent -Smart service recognition -\end_layout - -\begin_layout Standard -\noindent -Nessus does not believe that the target hosts will respect the IANA assigned - port numbers. - This means that it will recognize a FTP server running on a non-standard - port (31337 say), or a web server running on port 8080. -\end_layout - -\begin_layout Paragraph -\noindent -Multiples services -\end_layout - -\begin_layout Standard -\noindent -Imagine that you run two web servers (or more) on your host, one on port - 80 and another on port 8080. - When it will come to testing their security, Nessus will test both of them. -\end_layout - -\begin_layout Paragraph -\noindent -Tests cooperation -\end_layout - -\begin_layout Standard -\noindent -The security tests performed by Nessus cooperate so that nothing useless - is made. - If your FTP server does not offer anonymous logins, then anonymous-related - security checks will not be performed. -\end_layout - -\begin_layout Paragraph -\noindent -Complete reports -\end_layout - -\begin_layout Standard -\noindent -Nessus will not only tell you what's wrong on your network, but will, most - of the time, tell you how to prevent crackers from exploiting the security - holes found and will give you the risk level of each problem found (from - Low to Very High) -\end_layout - -\begin_layout Paragraph -\noindent -Exportable reports -\end_layout - -\begin_layout Standard -\noindent -The Unix client can export Nessus reports as XML, HTML, text, LaTeX, PDF - and an easy-to-parse file format. -\end_layout - -\begin_layout Paragraph -\noindent -Full SSL support -\end_layout - -\begin_layout Standard -\noindent -Nessus has the ability to test SSLized services such as https, smtps, imaps, - and more. - You can even supply Nessus with a certificate so that it can integrates - into a PKI-fied environement. -\end_layout - -\begin_layout Paragraph -\noindent -Smart plugins (optional) -\end_layout - -\begin_layout Standard -\noindent -Nessus will determine which plugins should or should not be launched against - the remote host (for instance, this prevents the testing of Sendmail vulnerabil -ities against Postfix). - This option is called "optimizations". -\end_layout - -\begin_layout Paragraph -\noindent -Non-destructive (optional) -\end_layout - -\begin_layout Standard -\noindent -If you don't want to take the risk to bring down services on your network, - you can enable the "safe checks" option of Nessus, which will make Nessus - rely on banners rather than exploiting real flaws to determine if a vulnerabili -ty is present. -\end_layout - -\begin_layout Paragraph -\noindent -Independent developers -\end_layout - -\begin_layout Standard -\noindent -The Nessus developers are independent from the rest of the world, so we - will not hide a security vulnerability in the program XYZ because we have - a contract with them. -\end_layout - -\begin_layout Paragraph -\noindent -Easy-to-reach developers -\end_layout - -\begin_layout Standard -\noindent -You feel that there is a missing feature? Just contact ushttp://www.nessus.org/con -tact/ or use the Nessus mailing lists. - We reply and implement what makes sense. -\end_layout - -\begin_layout Paragraph -\noindent -Open bug tracking system. -\end_layout - -\begin_layout Standard -\noindent -Found a bug? Report it here: http://bugs.nessus.org. -\end_layout - -\begin_layout Paragraph -\noindent -Huge number of tests -\end_layout - -\begin_layout Standard -\noindent -There are more than 7000 nessus tests (and constantly growing!) which are - divided into 23 different families: -\end_layout - -\begin_layout Itemize -Backdoors -\end_layout - -\begin_layout Itemize -CGI abuses -\end_layout - -\begin_layout Itemize -CISCO -\end_layout - -\begin_layout Itemize -Denial of Service -\end_layout - -\begin_layout Itemize -Finger abuses -\end_layout - -\begin_layout Itemize -Firewalls -\end_layout - -\begin_layout Itemize -FTP -\end_layout - -\begin_layout Itemize -Gain a shell remotely -\end_layout - -\begin_layout Itemize -Gain root remotely -\end_layout - -\begin_layout Itemize -General -\end_layout - -\begin_layout Itemize -Misc. -\end_layout - -\begin_layout Itemize -Netware -\end_layout - -\begin_layout Itemize -NIS -\end_layout - -\begin_layout Itemize -Port scanners -\end_layout - -\begin_layout Itemize -Remote file access -\end_layout - -\begin_layout Itemize -RPC -\end_layout - -\begin_layout Itemize -Settings -\end_layout - -\begin_layout Itemize -SMTP problems -\end_layout - -\begin_layout Itemize -SNMP -\end_layout - -\begin_layout Itemize -Untested -\end_layout - -\begin_layout Itemize -Useless services -\end_layout - -\begin_layout Itemize -Windows -\end_layout - -\begin_layout Section -Installation -\end_layout - -\begin_layout Standard -Note that only the source is what the Nessus developer team primarily tests - in depth. - Binary installation packages are likely to be available for most standard - operating systems but not necessarily be tested by the Nessus development - team. - Operating systems not listed here may offer well-maintained packages as - well. - -\end_layout - -\begin_layout Section -Server Installation -\end_layout - -\begin_layout Standard -The server package is composed of four components -\end_layout - -\begin_layout Itemize -OpenVAS libraries -\end_layout - -\begin_layout Itemize -OpenVAS libnasl libraries -\end_layout - -\begin_layout Itemize -OpenVAS server -\end_layout - -\begin_layout Itemize -OpenVAS plugins -\end_layout - -\begin_layout Standard -The server package depends on -\end_layout - -\begin_layout Itemize -libgnutls -\end_layout - -\begin_layout Itemize -libpcap -\end_layout - -\begin_layout Itemize -libgpgme -\end_layout - -\begin_layout Itemize -bison -\end_layout - -\begin_layout Subsection -From Source -\end_layout - -\begin_layout Standard -The usual way of installing from scratch is to get a current SVN snapshot - from http://wald.intevation.org/scm/?group_id=29 or a source tar-ball of - the modules listed above from http://wald.intevation.org/projects/openvas/ - and perform the usual sequence -\begin_inset Quotes eld -\end_inset - -./configure ; make ; make install -\begin_inset Quotes erd -\end_inset - -. - In this case, the server modules have to be configured in the following - sequence -\end_layout - -\begin_layout Enumerate -openvas-libraries -\end_layout - -\begin_layout Enumerate -openvas-libnasl -\end_layout - -\begin_layout Enumerate -openvas-server -\end_layout - -\begin_layout Enumerate -openvas-plugins -\end_layout - -\begin_layout Standard -Please read the usual installation relevant files and configuration options - for each package. -\end_layout - -\begin_layout Subsection -Debian GNU/Linux -\end_layout - -\begin_layout Standard -At the moment, support for building the debian way has not been integrated - into OpenVAS libnasl package. - For the other packages dpkg-buildpackage should do the trick -\end_layout - -\begin_layout Subsection -RedHat/SUSE Linux -\end_layout - -\begin_layout Standard -Some rpm spec files exist in some of the packages. - They may/may not build. - We are working on it!. - Please follow the thread at http://lists.wald.intevation.org/pipermail/openvas-dev -el/2008-January/000559.html -\end_layout - -\begin_layout Subsection -MS Windows -\end_layout - -\begin_layout Standard -No support for an MS Windows server exists at the moment. - Though this does not rule out the possibility of being able to build a - server package using the cygwin toolkit. -\end_layout - -\begin_layout Section -Client Installation -\end_layout - -\begin_layout Subsection -From Source -\end_layout - -\begin_layout Standard -The usual way of installing from scratch is to get a current CVS snapshot - or a source tar-ball of the module -\begin_inset Quotes eld -\end_inset - -OpenVAS-Client -\begin_inset Quotes erd -\end_inset - - and perform the usual sequence -\begin_inset Quotes eld -\end_inset - -./configure ; make ; make install -\begin_inset Quotes erd -\end_inset - -. - Please also as usual read the files about installation and configuration - options in the packages first. -\end_layout - -\begin_layout Subsection -Debian GNU/Linux -\end_layout - -\begin_layout Standard -Please refer to the Debian documentation on how to install standard Debian - packages. - Debian actively support Nessus packages. -\end_layout - -\begin_layout Subsubsection -Debian -\begin_inset Quotes eld -\end_inset - -Woody -\begin_inset Quotes erd -\end_inset - - 3.0 -\end_layout - -\begin_layout Standard -The official version of Nessus for Woody is 1.0.10. - This is by far outdated, you should neither use Nessus Server nor Client - as shipped with Woody! -\end_layout - -\begin_layout Standard -The build- and run-dependencies of OpenVAS-Client are conservative so that - you do not need to backport any other package for backporting OpenVAS-Client. - Thus it might work to create a so-called -\begin_inset Quotes eld -\end_inset - -backport -\begin_inset Quotes erd -\end_inset - - for Woody from a newer Debian source package of OpenVAS-Client. -\end_layout - -\begin_layout Subsubsection -Debian -\begin_inset Quotes eld -\end_inset - -Sarge -\begin_inset Quotes erd -\end_inset - - 3.1 -\end_layout - -\begin_layout Standard -The official version of Nessus for Sarge is 2.2.3. - OpenVAS-Client is compatible with this Nessus Server, but it is recommended - to update the Nessus Server to get the newest bug-fixes. -\end_layout - -\begin_layout Standard -The build- and run-dependencies of OpenVAS-Client are conservative so that - you do not need to backport any other package for backporting OpenVAS-Client. - Thus it might work to create a so-called -\begin_inset Quotes eld -\end_inset - -backport -\begin_inset Quotes erd -\end_inset - - for Sarge from a newer Debian source package of OpenVAS-Client. -\end_layout - -\begin_layout Subsubsection -Debian -\begin_inset Quotes eld -\end_inset - -Etch -\begin_inset Quotes erd -\end_inset - - -\end_layout - -\begin_layout Standard -At time of writing, Etch is the current Testing version of Debian and thus - in flux. - At least Nessus 2.2.7 is included. - It is expected that OpenVAS-Client packages will appear, once OpenVAS-Client - is released. -\end_layout - -\begin_layout Subsection -RedHat Linux -\end_layout - -\begin_layout Standard -In the download section of www.nessus.org you might also find RPM packages - for RedHat and Fedora, created by Tenable Network Security. -\end_layout - -\begin_layout Subsubsection -Fedora Core 4 and 5 -\end_layout - -\begin_layout Standard -This distribution actively maintains Nessus as extra packages. - In case you need a newer version than shipped, you may find backports. - Backports for RPM packages maybe found via rpmfind.net or similar services. - At time of writing, OpenVAS-Client is not yet officially part of Fedora - or Fedora extras. -\end_layout - -\begin_layout Standard -The build- and run-dependencies of OpenVAS-Client are conservative so that - you do not need to backport any other package for backporting OpenVAS-Client. - It might even work to install newer packages directly. -\end_layout - -\begin_layout Subsection -SUSE Linux -\end_layout - -\begin_layout Standard -In the download section of www.nessus.org you might also find RPM packages - for SUSE, created by Tenable Network Security. -\end_layout - -\begin_layout Subsubsection -SUSE Linux 9.2 -\end_layout - -\begin_layout Standard -Nessus is part of this distribution with the latest 2.0 release. - It is highly recommended you update Nessus Server to latest 2.2 release. - Backports for RPM packages maybe found via rpmfind.net or similar services. -\end_layout - -\begin_layout Standard -For OpenVAS-Client there is currently no official package for SUSE. -\end_layout - -\begin_layout Standard -The build- and run-dependencies of OpenVAS-Client are conservative so that - you do not need to backport any other package for backporting OpenVAS-Client. - It might even work to install newer packages directly. -\end_layout - -\begin_layout Subsection -MS Windows -\end_layout - -\begin_layout Subsubsection -Windows XP SP2 -\end_layout - -\begin_layout Standard -For Windows a regular setup package is available for OpenVAS-Client, usually - called -\shape italic -OpenVAS-ClientN.N.N-setup-LL.exe -\shape default -. - Either execute it directly or use this in the Windows Manager for Software. - This is also the tool where you can easily and cleanly deinstall OpenVAS-Client - again. - N.N.N defines the version of Nessus, e.g. - 1.0.0. - LL defines the language where -\begin_inset Quotes eld -\end_inset - -en -\begin_inset Quotes erd -\end_inset - - means english, -\begin_inset Quotes eld -\end_inset - -de -\begin_inset Quotes erd -\end_inset - - german and -\begin_inset Quotes eld -\end_inset - -sv -\begin_inset Quotes erd -\end_inset - - swedish version. -\end_layout - -\begin_layout Subsection -Migrating Nessus GTK Client from version 2.2 -\end_layout - -\begin_layout Standard -OpenVAS-Client has a new way to store session data locally compared to the - GTK client that was included in Nessus 2.2. - In fact, the whole concept of tasks, scopes and reports is new since then. -\end_layout - -\begin_layout Standard -The main difference is that Nessus GTK Clients upto 2.2 consider a single - file -\begin_inset Quotes eld -\end_inset - -.nessusrc -\begin_inset Quotes erd -\end_inset - - in the users home directory. - The newer versions use a directory structure with the main directory -\begin_inset Quotes eld -\end_inset - -.nessus -\begin_inset Quotes erd -\end_inset - - in the users home directory. - -\end_layout - -\begin_layout Standard -Nonetheless, there will be no conflict when running the new version because - the new version uses the .nessusrc file as the reference for the global - setting (see below). - In other words, the configuration of your Nessus GTK Client 2.2 will be - the default configuration for OpenVAS-Client. -\end_layout - -\begin_layout Standard -It is even possible to run a Nessus GTK Client 2.2 after a newer version - has been launched. - Version 2.2 will simply use the same file -\begin_inset Quotes eld -\end_inset - -.nessusrc -\begin_inset Quotes erd -\end_inset - -, the new version uses for the global settings. - -\end_layout - -\begin_layout Section -Starting the server -\end_layout - -\begin_layout Standard -Once the server package and openvas-client has been installed, you will - need to initialize your installation by -\end_layout - -\begin_layout Itemize -Generating an OpenVAS server certificate by running -\series bold -openvas-mkcert -\end_layout - -\begin_layout Itemize -Adding an OpenVAS user by running -\series bold -openvas-adduser -\end_layout - -\begin_layout Itemize -Start the daemon by running -\series bold -openvasd -\end_layout - -\begin_layout Itemize -Run the openvas-client.. - (remember to accept your newly signed server certificate) -\end_layout - -\begin_layout Section -The First Report -\end_layout - -\begin_layout Standard -This section is intended to lead a novice user quickly through a first security - scan with Nessus/OpenVAS. - After a successful first scan it is recommended to proceed with the chapter - on the general usage of OpenVAS-Client. -\end_layout - -\begin_layout Subsection -Invoking OpenVAS-Client -\end_layout - -\begin_layout Standard -On any unixoid system you can simply type -\begin_inset Quotes eld -\end_inset - -OpenVAS-Client -\begin_inset Quotes erd -\end_inset - - in a command shell. - Of course you should have X running. -\end_layout - -\begin_layout Standard -For Debian GNU/Linux, SUSE Linux, ReadHat/Fedora and MS Windows you will - additionally find a menu entry for OpenVAS-Client if installed with one - of the above explained install packages. -\end_layout - -\begin_layout Subsection -The Nessus Scan Assistant -\end_layout - -\begin_layout Standard -If you are new to Nessus and OpenVAS-Client you may want to use the Nessus - Scan Assistant to perform you first scan. - The intention of this assistant is summarize the core parameters you need - to enter for a scan and to be self-explanatory. -\end_layout - -\begin_layout Standard -However, -\series bold -you should note -\series default - that the scan performed through the Assistant will be based on the explicitely - saved global settings. - If you have switched on some dangerous options already in the global settings, - these will be inherited! -\end_layout - -\begin_layout Section -General Usage of OpenVAS-Client -\end_layout - -\begin_layout Standard -This section is intended to explain all general elements of OpenVAS-Client - and how to use it in a standard way. - A later chapter will then address more specific features suitable for advanced - users. -\end_layout - -\begin_layout Subsection -The Main Window -\end_layout - -\begin_layout Standard -The main window of OpenVAS-Client is separated into two major sections: - On the left-hand side the treelist with an overview of the locally stored - tasks, scopes and reports. - On the right-hand side there is a notebook with pages for comments, options - and reports. - That is the place where a security scan is to be configured, commented - upon and the result reviewed. -\end_layout - -\begin_layout Standard -\align center -\begin_inset Graphics - filename images/mainwindow-en.png - -\end_inset - - -\end_layout - -\begin_layout Standard -At the first start of OpenVAS-Client, you will see only one entry in the - list: Global Settings. - These settings are defaults coming with OpenVAS-Client. - They are not covering a specific selection of plugins since a connection - to a Nessus Server is required for that. - You can establish a connection with a server and specify the global defaults - for a plugin selection. - You should then save your preferred defaults via menu item -\begin_inset Quotes eld -\end_inset - -Save Global Settings -\begin_inset Quotes erd -\end_inset - - of menu -\begin_inset Quotes eld -\end_inset - -File -\begin_inset Quotes erd -\end_inset - -. -\end_layout - -\begin_layout Subsubsection -Tasks -\end_layout - -\begin_layout Standard -Tasks are intended to cover all activities of a major topic. - E.g., a task could be -\begin_inset Quotes eld -\end_inset - -Test the maschines of our headquarter -\begin_inset Quotes erd -\end_inset - - or -\begin_inset Quotes eld -\end_inset - -Customer XYZ Inc. -\begin_inset Quotes erd -\end_inset - -. -\end_layout - -\begin_layout Standard -A task can contain a comment that explains the task in more detail. - Also any type of additional info or reminder can be entered in the comment - area, e.g. - when to run the next series of scans or based on which contract the scans - are performed. -\end_layout - -\begin_layout Standard -A task has neither options nor a report. - It just contains a number of scopes. -\end_layout - -\begin_layout Standard -Possible operations for tasks are: -\end_layout - -\begin_layout Paragraph -New -\end_layout - -\begin_layout Standard -Adds a new task entitled -\begin_inset Quotes eld -\end_inset - -unnamed -\begin_inset Quotes erd -\end_inset - -. -\end_layout - -\begin_layout Paragraph -Rename -\end_layout - -\begin_layout Standard -Allows to edit the title right in the treelist either by clicking on the - title or by selecting the corresponding menu item. -\end_layout - -\begin_layout Paragraph -Remove -\end_layout - -\begin_layout Standard -This means the removal of all associated scopes and thus the removal action - prompts for an additional confirmation. -\end_layout - -\begin_layout Subsubsection -Scopes -\end_layout - -\begin_layout Standard -A scope can be seen as a sub-task. - It defines a certain security scan. - The title should indicate the scope of this scan, e.g. - -\begin_inset Quotes eld -\end_inset - -Careful scan of web server production system -\begin_inset Quotes erd -\end_inset - -, -\begin_inset Quotes eld -\end_inset - -Aggressive scan of web server alpha test sytem -\begin_inset Quotes erd -\end_inset - - or -\begin_inset Quotes eld -\end_inset - -All Sun workstations -\begin_inset Quotes erd -\end_inset - -. -\end_layout - -\begin_layout Standard -Comments can also be specified for each scope and may explain the scope - in more detail as well as contain any other helpful hint regarding the - respective scope. -\end_layout - -\begin_layout Standard -The scope is associated with a full set of options for the security scan. - Creating a new scope, the general preferences are copied. - The scan options are explained in detail in a later chapter. - However, for each scope a connection to a Nessus Server can be established. - Has this been done, the actual selection of the plugins being a part of - the options can be performed (a plug icon right-hand of the title indicates - the active connection). - The reason is that each Nessus Server may contain its own set of plugins - and thus with establishing a connection, OpenVAS-Client retrieves the list - of available plugins. -\end_layout - -\begin_layout Standard -Next, a scope may contain a number of reports. - Whenever a scope is successfully executed, the resulting report is added - in its list of reports. - Also, importing a report from a file or from a Nessus Server will add the - report to the currently selected scope. -\end_layout - -\begin_layout Standard -Please note that changes to a scope are always and only stored when executing - a scan. - If you make changes to a scope like a new plugin selection and leave OpenVAS-Cl -ient without running a scan, these changes will be discarded. -\end_layout - -\begin_layout Standard -Possible operations for scopes are: -\end_layout - -\begin_layout Paragraph -Execute -\end_layout - -\begin_layout Standard -The scope configuration is stored to disk and a security scan is executed - with the currently specified options issueing the currently connected Nessus - Server. -\end_layout - -\begin_layout Paragraph -New -\end_layout - -\begin_layout Standard -Adds a new scope entitled -\begin_inset Quotes eld -\end_inset - -unnamed -\begin_inset Quotes erd -\end_inset - - as part of the currently selected task. - As a default the global settings are copied. - Note, that only explicitely saved global settings are taken as defaults. - If you changed them inside OpenVAS-Client without saving them, they will - have no effect. -\end_layout - -\begin_layout Paragraph -Rename -\end_layout - -\begin_layout Standard -Allows to edit the title right in the treelist either by clicking on the - title or by selecting the corresponding menu item. -\end_layout - -\begin_layout Paragraph -Remove -\end_layout - -\begin_layout Standard -This means the removal of all associated reports and thus the removal action - prompts for an additional confirmation. -\end_layout - -\begin_layout Paragraph -Move to task -\end_layout - -\begin_layout Standard -It is possible to move a scope with all of its reports from one task to - another. - This menu item has subitems which represent the other tasks. - Select one of them and the scope will be moved. -\end_layout - -\begin_layout Paragraph -Open -\end_layout - -\begin_layout Standard -You can load a scope file and add it to the current task with this menu - command. - Note that here only the parameter sets are covered but not the reports - which are represented by files of their own. - So, opening and saving (see below) scopes is a method to transfer you settings - to someone else or to create a copy of the current scope for yourself. -\end_layout - -\begin_layout Paragraph -Save As -\end_layout - -\begin_layout Standard -Saves the current scope to a file (which is of nessusrc type). - Note that only the parameter sets are stored but not the reports. - See above the description of -\begin_inset Quotes eld -\end_inset - -Open -\begin_inset Quotes erd -\end_inset - - for more hints. - -\end_layout - -\begin_layout Subsubsection -Reports -\end_layout - -\begin_layout Standard -A report is the result of a security scan. - It contains the results of the executed plugins associated with the correspondi -ng subnet, host, port and severity. -\end_layout - -\begin_layout Standard -Managed within OpenVAS-Client, additionally a comment and, if available, - the scan options leading to the report, are stored. - These additional information are not contained in the plain Nessus report - files and thus get lost when being exported. - This also means that imported reports have no comments or scan options - associated. -\end_layout - -\begin_layout Standard -Possible operations for reports are: -\end_layout - -\begin_layout Paragraph -Remove -\end_layout - -\begin_layout Standard -Deletes the report and, if associated, its comments and options. - The user is prompted to confirm the removal. -\end_layout - -\begin_layout Paragraph -Import -\end_layout - -\begin_layout Standard -Allows to import a report from a file. - The standard exchange format is NBE (files suffixed -\begin_inset Quotes eld -\end_inset - -.nbe -\begin_inset Quotes erd -\end_inset - -). - The file selection dialog allows to select the desired report file. - A error hint will be displayed if the file format was not NBE. - Else, the report is added to the currently selected scope. - Neither comments nor options will be there for a report imported from a - NBE file. -\end_layout - -\begin_layout Paragraph -Export -\end_layout - -\begin_layout Standard -Allows to export the currently selected report either in a re-importable - format (NBE) or in a format for further processing or presentation (XML, - HTML, HTML with Pies and Graphs, LaTeX, ASCII Text - and PDF). - It is recommended to use NBE if re-importing is planned and to use PDF - for creating simple report documents that need no further editing. - Use one of the other if you want to further process the report or integrate - it into your own document style. -\end_layout - -\begin_layout Paragraph -Print -\end_layout - -\begin_layout Standard -Selecting the Print command will issue the creation of a PDF report and - run a PDF Viewer installed on your system. - A number of well-known PDF Viewers is tried. - If you think you have one installed but it still does not work, please - check whether the executable file is covered by the search paths. - -\end_layout - -\begin_layout Subsection -Authentication -\end_layout - -\begin_layout Standard -OpenVAS-Client needs to connect to a Nessus Server in order to retrieve - the available plugins and to actually execute a security scan. -\end_layout - -\begin_layout Standard -OpenVAS-Client can handle mutiple connections to different servers. - Each scope has a connection of its own. - Additionally, the Global Settings can be connected to a Nessus Server to - define default plugin selections and plugin parameters. - Note that only explicitly saved Global Settings are taken as defaults for - new Scopes. -\end_layout - -\begin_layout Standard -\align center -\begin_inset Graphics - filename images/authentication-dlg-en.png - scale 90 - -\end_inset - - -\end_layout - -\begin_layout Standard -The connection status is indicated with a icon in the tasks/scopes/reports - treelist next to the title of the global settings or a scope. - Only scopes are connected with Nessus Server. -\end_layout - -\begin_layout Standard -More information on the connection status is shown in the statusbar at the - bottom of the main window. - There, the actual connection information is displayed, ie. - -\begin_inset Quotes eld -\end_inset - -Connection: username at host.test.example -\begin_inset Quotes erd -\end_inset - -. - At bottom right there is an icon indicating whether the connection is encrypted - or not, just like most web browsers indicate this. -\end_layout - -\begin_layout Standard -The connection dialog allows to specify the following data for establishing - a connection to a Nessus Server: -\end_layout - -\begin_layout Paragraph -Host -\end_layout - -\begin_layout Standard -The domain name or IP of the server where a Nessus Server is running. -\end_layout - -\begin_layout Paragraph -Port -\end_layout - -\begin_layout Standard -The port where the Nessus Server waits for connections. - Older Nessus Servers used 3001, but the official port now is 1241. - With the default button you can always return to this default quickly. -\end_layout - -\begin_layout Paragraph -Login -\end_layout - -\begin_layout Standard -Your username at the selected host. - To use a Nessus Server you have to have an account for the Nessus Server. - The administrator of the server should create one for you. -\end_layout - -\begin_layout Paragraph -Password -\end_layout - -\begin_layout Standard -The password for your Nessus Server account. - Don't use the same one you have for your other user accounts and especially - if you ever use unencrypted connections. -\end_layout - -\begin_layout Paragraph -SSL Options -\end_layout - -\begin_layout Subparagraph -Use SSL encryption: -\end_layout - -\begin_layout Standard -For the authentication there are two basic methods, via login/password combinati -on or via certificate (with or without password). - In any case you should switch on SSL encryption to not have the password - transferred as cleartext. - However, if you are in an evironment where you don't get SSL to work, switching - it off is the work around to run Nessus at last. -\end_layout - -\begin_layout Subparagraph -Trusted CA: -\end_layout - -\begin_layout Standard -This certificate defines a certificate authority (CA) you trust. - With this certificate you will check that you are connecting to a trusted - Nessus Server. - This is checked if you have the Paranoia Level set to 2 or 3, it is not - checked with a Paranoia Level of 1. - Note, that you can set the Paranoia Level by hand in the nessusrc files - or when first connecting to a Nessus Server where you are asked explictly. -\end_layout - -\begin_layout Standard -The default path for the Trusted CA is the filename used by the Nessus Server - itself. - Thus, if you are running Nessus Client on the same maschine or have the - same volume mounted, you can just use the default. -\end_layout - -\begin_layout Standard -If you are running Nessus Client from a more remote maschine, you need to - have a copy of the CA certificate and place it to some arbitrary place - in your home directory. -\end_layout - -\begin_layout Subparagraph -Authentication by Certificate: -\end_layout - -\begin_layout Standard -If you use this method you have to have a key/certificate pair created for - you. - This is usually done by the administrator of Nessus Server using the correspond -ing scripts. - The administrator will give you the two files you need to specify (User - Certificate File and User Key File). - The administrator may create a key without a password or with a password. - If you have a password for the User Key File you must enter the password - in the corresponding textentry. -\end_layout - -\begin_layout Subsection -Scan Options -\end_layout - -\begin_layout Standard -This section explains the most important configuration options for a security - scan. - More special option (access rules, knowledge base detached scans) are explained - later in the chapter on special features. -\end_layout - -\begin_layout Subsubsection -General -\end_layout - -\begin_layout Standard -This page covers all the general scan options. - See the screenshot for the main window above. -\end_layout - -\begin_layout Paragraph -Port range -\end_layout - -\begin_layout Standard -Ports that will be scanned by Nessus Server. - You can enter single ports, such as -\begin_inset Quotes eld -\end_inset - -1-8000 -\begin_inset Quotes erd -\end_inset - - or more complex sets, such as -\begin_inset Quotes eld -\end_inset - -21,23,25,1024-2048,6000 -\begin_inset Quotes erd -\end_inset - -. - Put -\begin_inset Quotes eld -\end_inset - --1 -\begin_inset Quotes erd -\end_inset - - for no portscan, or put -\begin_inset Quotes eld -\end_inset - -default -\begin_inset Quotes erd -\end_inset - - to scan the default ports in the Nessus services file. -\end_layout - -\begin_layout Paragraph -Consider unscanned ports as closed -\end_layout - -\begin_layout Standard -To save scanning time, you may ask Nessus Server to declare TCP ports it - did not scan as closed. - This will result in an incomplete audit but it will reduce scanning time - and prevent Nessus Server from sending packets to ports you did not specify. - If this option is disabled, then Nessus Server will consider ports whose - state it does not know as open. -\end_layout - -\begin_layout Paragraph -Number of hosts to test at the same time -\end_layout - -\begin_layout Standard -Maximal number of hosts that the Nessus Server will test at the same time. - Be aware that the Nessus Server will spawn max_hosts max_checks processes! -\end_layout - -\begin_layout Paragraph -Number of checks to perform at the same time -\end_layout - -\begin_layout Standard -Maximal number of security checks that will be launched at the same time - against each host. - Be aware that the Nessus Server will spawn max_hosts x max_checks processes! -\end_layout - -\begin_layout Paragraph -Path to CGIs -\end_layout - -\begin_layout Standard -It is possible to check for the presence of CGIs in multiple paths like - -\begin_inset Quotes eld -\end_inset - -/cgi-bin -\begin_inset Quotes erd -\end_inset - -, -\begin_inset Quotes eld -\end_inset - -/cgis -\begin_inset Quotes erd -\end_inset - -, -\begin_inset Quotes eld -\end_inset - -/home-cgis -\begin_inset Quotes erd -\end_inset - - and so on. - In that case, put all your paths here separated by colons. - For instance: -\begin_inset Quotes eld -\end_inset - -/cgi-bin:/cgi-aws:/~deraison/cgi -\begin_inset Quotes erd -\end_inset - -. -\end_layout - -\begin_layout Paragraph -Do a reverse lookup of the IP before testing it -\end_layout - -\begin_layout Standard -If this option is set, Nessus Server will do a reverse lookup on the IP - addresses before it tests them. - This may slow down the whole test. -\end_layout - -\begin_layout Paragraph -Optimize the test -\end_layout - -\begin_layout Standard -Security tests may ask the Nessus Server to be launched if and only if some - information gathered by other test exist in the knowledge base, or if and - only if a given port is open. - This option speeds up the test, but may make Nessus Server miss some vulnerabil -ity. - If you are paranoid, disable this option. -\end_layout - -\begin_layout Paragraph -Safe checks -\end_layout - -\begin_layout Standard -Some security checks may harm the target server, by disabling the remote - service temporarily or until a reboot. - If you enable this option, Nessus Server will rely on banners instead of - actually performing a security check. - You will obtain a less reliable report, but you will less likely disrupt - the network users by doing a test. - From a security point of view, we recommend you disable this option. - From a sysadmin point of view, we recommand you enable it. -\end_layout - -\begin_layout Paragraph -Designate hosts by their MAC address -\end_layout - -\begin_layout Standard -If you enable this option, the hosts on the local network will be designated - by their ethernet MAC address instead of their IP address. - This is especially useful if you are using Nessus in a DHCP network. - If unsure, disable this option. -\end_layout - -\begin_layout Paragraph -Port Scanner -\end_layout - -\begin_layout Standard -This is the list of available port scanners. - Port scanners are a special category of plugins and therefore presented - separately from the other plugins. - The list is only filled if a connection to a Nessus Server has been established. - You can switch on one or more of the scanners. - Clicking on an entry shows the details for the respecitve scanner plugin. -\end_layout - -\begin_layout Subsubsection -Plugins -\end_layout - -\begin_layout Standard -The plugins are stored on the Nessus Server. - Thus, to make a selection of the plugins to apply you need to connect to - a server. - Otherwise this page will remain empty. -\end_layout - -\begin_layout Standard -\align center -\begin_inset Graphics - filename images/mainwindow-plugins-en.png - scale 90 - -\end_inset - - -\end_layout - -\begin_layout Standard -The Plugins are separated into a number of families which can be as a whole - activated or deactivated by checking the box right of family title. - Also, a family can be expanded to show all of its member plugins where - you can refine the selection by activating or deactivating single plugins - using the checkbox to the right. -\end_layout - -\begin_layout Standard -The column -\begin_inset Quotes eld -\end_inset - -Warning -\begin_inset Quotes erd -\end_inset - - contains warning sign for some plugins. - The warning sign means that this plugin may harm the target host by disabling - the attacked service or by crashing the host. - You should be careful when you enable it since it may force you to reboot - your servers or restart some services manually. -\end_layout - -\begin_layout Standard -Below the plugin list the total number of plugins loaded from the server - is shown, together with the total number of currently selected plugin as - well as the number of plugins shown due to a applied filter. -\end_layout - -\begin_layout Standard -The following actions are possible: -\end_layout - -\begin_layout Subparagraph -Enable all -\end_layout - -\begin_layout Standard -Enables all plugin categories. -\end_layout - -\begin_layout Subparagraph -Disable all -\end_layout - -\begin_layout Standard -Disables all plugin categories. -\end_layout - -\begin_layout Subparagraph -Expand all -\end_layout - -\begin_layout Standard -Expands the Plugin tree-list to maximum so that the list contains all plugins. -\end_layout - -\begin_layout Subparagraph -Collapse all -\end_layout - -\begin_layout Standard -Only show the Plugin families. -\end_layout - -\begin_layout Subparagraph -Enable dependencies at runtime -\end_layout - -\begin_layout Standard -If you enable this option, then Nessus Server will enable the plugins that - are depended on by the set of plugins you selected. -\end_layout - -\begin_layout Subparagraph -Silent dependencies -\end_layout - -\begin_layout Standard -If you enable this option, then Nessus Server will not report data coming - from the plugins that you did not specifically enable. -\end_layout - -\begin_layout Subparagraph -Filter -\end_layout - -\begin_layout Standard -The filter dialog lets you select plugins with the characteristics you want. - -\series bold -Note -\series default -, that you will erase your previous selection immedialty with applying a - filter. -\end_layout - -\begin_layout Paragraph -Plugin information dialog -\end_layout - -\begin_layout Standard -Double-Clicking on a specific plugin title will raise a information dialog - for the respective plugin. -\end_layout - -\begin_layout Standard -The information shown are the ones specified within the corresponding plugin. -\end_layout - -\begin_layout Standard -The following actions are possible in this dialog: -\end_layout - -\begin_layout Subparagraph -Set plugin timeout -\end_layout - -\begin_layout Standard -Allows to specify a timeout for the plugin. -\end_layout - -\begin_layout Subparagraph -Show dependencies -\end_layout - -\begin_layout Standard -Another info dialog is raised listing up the dependencies for the plugin. - Also it is provided a hint whether the dependencies are currently enabled - or disabled. -\end_layout - -\begin_layout Subsubsection -Credentials -\end_layout - -\begin_layout Standard -Some of the plugins allow to enter credentials to test certain applications, - for example Samba or Web-Sites (HTTP). - These plugins work the very same way as the plugins listed in the -\begin_inset Quotes eld -\end_inset - -Plugin Preferences -\begin_inset Quotes erd -\end_inset - - list. - For better handling they are collected under -\begin_inset Quotes eld -\end_inset - -Credentials -\begin_inset Quotes erd -\end_inset - -. -\end_layout - -\begin_layout Standard -\align center -\begin_inset Graphics - filename images/mainwindow-credentials-en.png - scale 90 - -\end_inset - - -\end_layout - -\begin_layout Subsubsection -Plugin Preferences -\end_layout - -\begin_layout Standard -Some of the plugins allow to refine with specific parameters. - All of the configurable plugins' parameters are collected on this page - where the user may modify the default values. -\end_layout - -\begin_layout Standard -\align center -\begin_inset Graphics - filename images/mainwindow-pluginprefs-en.png - scale 90 - -\end_inset - - -\end_layout - -\begin_layout Standard -Only a comparably small number of plugins offers a configuration. -\end_layout - -\begin_layout Subsubsection -Target Selection -\end_layout - -\begin_layout Standard -\align center -\begin_inset Graphics - filename images/mainwindow-targetselection-en.png - scale 90 - -\end_inset - - -\end_layout - -\begin_layout Paragraph -Target(s) -\end_layout - -\begin_layout Standard -The first host(s) that will be attacked by Nessus Server. - The options below allow you to extend the test to a larger set of computer. - You may define several primary targets by separating them with a comma - (,). - ie : -\begin_inset Quotes eld -\end_inset - -host1,host2 -\begin_inset Quotes erd -\end_inset - -. -\end_layout - -\begin_layout Standard -A special syntax is -\begin_inset Quotes eld -\end_inset - -file:/some/where/targetlist.txt -\begin_inset Quotes erd -\end_inset - - which means that the actual target names are loaded from that list. - See for the file syntax also below the description for the button -\begin_inset Quotes eld -\end_inset - -Read from file -\begin_inset Quotes erd -\end_inset - -. -\end_layout - -\begin_layout Paragraph -Read from file -\end_layout - -\begin_layout Standard -A textfile can be specified that contains the list of targets. - This textfile may contain comma-separated lists of host and also may contain - many of such lines. -\end_layout - -\begin_layout Paragraph -Perform a DNS Zone transfer -\end_layout - -\begin_layout Standard -Nessus Server will perform an AXFR request (that is, a zone transfer) to - the target name server and will attempt to obtain the list of the hosts - of the target domain. - Then, it will test each host. -\end_layout - -\begin_layout Subsection -Reports -\end_layout - -\begin_layout Subsubsection -Report Page of OpenVAS-Client -\end_layout - -\begin_layout Standard -The report page consists of 3 elements. - On the left hand a tree list allows to browser via hosts, ports and severity - to single reports. - Ontop of this treelist is a selection for re-ordering the tree structure. - On the right hand the text area contains the actual report text. - The whole design is focused on supporting an explorative understanding - of the scan results. -\end_layout - -\begin_layout Standard -\align center -\begin_inset Graphics - filename images/mainwindow-report-en.png - width 90text% - keepAspectRatio - -\end_inset - - -\end_layout - -\begin_layout Subsubsection -Report Formats -\end_layout - -\begin_layout Standard -The scan results can be exported into a number of formats. - Basically it can be distinguished between 3 types of formats: Interchange-Forma -ts, Editable Documents and Read-only Documents. - The last type currently is the PDF Report file. - With a capable view it allows to browse back and forth through the document - using the various inserted hyperlinks. -\end_layout - -\begin_layout Standard -For further information see the section about the menu command -\begin_inset Quotes eld -\end_inset - -Report->Export -\begin_inset Quotes erd -\end_inset - -. -\end_layout - -\begin_layout Section -Special Features -\end_layout - -\begin_layout Subsection -OpenVAS-Client Preferences -\end_layout - -\begin_layout Standard -OpenVAS-Client allows to specify some individual preferences that determine - some ways how the client GUI works. -\end_layout - -\begin_layout Standard -\align center -\begin_inset Graphics - filename images/preferences-dlg-en.png - scale 90 - keepAspectRatio - -\end_inset - - -\end_layout - -\begin_layout Standard -The following selection are available: -\end_layout - -\begin_layout Subsubsection -User Interface -\end_layout - -\begin_layout Paragraph -Auto expand tree elements -\end_layout - -\begin_layout Standard -In the left-hand treeview clicking on a task or a scope automatically expands - the corresponding tree if checked. -\end_layout - -\begin_layout Standard -If not checked, the user has to manually click on the expand icon each time. -\end_layout - -\begin_layout Subsubsection -Connection to Nessus Server -\end_layout - -\begin_layout Paragraph -Automatically connect -\end_layout - -\begin_layout Standard -If this setting is enabled, OpenVAS-Client will try to connect to the server - when a scope is executed. - For user certificates without a password, this will work immediately. - For password protected user certificates or simple password based authenticatio -n, the password will be stored in memory after a successful login until - OpenVAS-Client is closed. -\end_layout - -\begin_layout Subsubsection -Plugin Cache -\end_layout - -\begin_layout Paragraph -Cache plugin information when connecting -\end_layout - -\begin_layout Standard -If this setting is enabled, OpenVAS-Client will create a cache for the respectiv -e scope containing all plugin information. - This has essentially three effects: -\end_layout - -\begin_layout Standard -First, reconnecting the same scope might be much faster because MD5 check - sums are used to find out about changed and new plugins. - Only the changes will be downloaded. - Of course, connecting to a different Nessus server will usually force a - new download of all plugins. -\end_layout - -\begin_layout Standard -Second, all plugin information are available even when the server has not - been connected. - Thus you can review which plugins are selected and what the current plugin - preferences are. - Note that the selection might change after connecting for a actual scan - because new plugins occur and some might disappear. - The latter usually doesn't happen. - Loading the cache may take a couple of seconds. - If you don't want this, switch off option -\begin_inset Quotes eld -\end_inset - -Load plugin cache for scopes immediately -\begin_inset Quotes erd -\end_inset - -. -\end_layout - -\begin_layout Standard -Third, the downside of caching: The cache will consume several MBytes for - each scope. - If this means a problem, you should disable this feature. - If you want to remove the caches, search for the files -\begin_inset Quotes eld -\end_inset - -nessus_plugin_cache -\begin_inset Quotes erd -\end_inset - - in your Nessus directory ( -\begin_inset Quotes eld -\end_inset - -~/.nessus -\begin_inset Quotes erd -\end_inset - -). - Simply deleting them is sufficient. -\end_layout - -\begin_layout Paragraph -Use plugin cache with reports -\end_layout - -\begin_layout Standard -Enabling this setting will make OpenVAS-Client attach all Plugin Information - to newly created scan reports. - This allows to review the plugin selection and the plugin preferences for - a report in the OpenVAS-Client GUI. - So, this cache is for increasing transparency not performance. -\end_layout - -\begin_layout Standard -Again, the downside is that several MBytes of cache per report will be generated. - Disable this option if this means a problem. - If you want to remove the caches, search for the files -\begin_inset Quotes eld -\end_inset - -nessus_plugin_cache -\begin_inset Quotes erd -\end_inset - - in your Nessus directory ( -\begin_inset Quotes eld -\end_inset - -~/.nessus -\begin_inset Quotes erd -\end_inset - -). - Simply deleting them is sufficient. -\end_layout - -\begin_layout Paragraph -Load plugin cache for scopes immediately -\end_layout - -\begin_layout Standard -Disabling this option will cause OpenVAS-Client to not automatically load - a scope's cache when made active. - You won't see the plugin selection nor the plugin preferences. - So, in fact this option could remove the second effect of the above described - option -\begin_inset Quotes eld -\end_inset - -Cache plugin information when connecting -\begin_inset Quotes erd -\end_inset - - for the benefit of avoiding to load possibly huge caches once clicking - on a scope entry. - -\end_layout - -\begin_layout Subsubsection -Report -\end_layout - -\begin_layout Paragraph -Include plugin details in PDF -\end_layout - -\begin_layout Standard -Enabling this setting will make OpenVAS-Client add an appendix to each PDF - Report containing the details of those plugins that produced relevant results - for the report. - They are linked within the PDF so that the information can easily be browsed. -\end_layout - -\begin_layout Standard -Be aware, however, that this could significantly increase the size of your - PDF file. - On average, you can expect two plugin descriptions to consume one page. -\end_layout - -\begin_layout Subsubsection -External Links in HTML/PDF -\end_layout - -\begin_layout Standard -These settings determine the URLs for linking more information on Nessus - Plugin, CVE/CAN and BugTraq ID in Reports of format HTML or PDF. - The defaults as shown in the screenshots are recommended since there up-to-date - information are to be found. - The defaults are reactivated when field is left empty. -\end_layout - -\begin_layout Standard -In case you want to package a Nessus report with e.g. - CVE/CAN details for offline-reading, you may enter an apropriate definition - like ``mitre/%s/%s/%s.html'' in case you have a directory structure relative - to the report file with mitre/CVE/yyyy/nnnn.html and mitre/CAN/yyyy/nnnn.html - where yyyy is the year and nnnn is the number of the record. - Then you could package all files together. -\end_layout - -\begin_layout Standard -Note, that the strings defined here are filled into the html link parameter - ``href'' as it is. - The tool ``htmldoc'' is issued to produce a pdf out of this html report. - Depending on the version and features the created links in the PDF file - may be created differently. -\end_layout - -\begin_layout Subsection -User-defined Access Rules -\end_layout - -\begin_layout Subsubsection -General -\end_layout - -\begin_layout Standard -Nessus Server keeps a list of access rules similar to usual firewall rules. - In no way can these be overridden by the Nessus Client. -\end_layout - -\begin_layout Standard -Furthermore, the Nessus Server Administrator can add specific rules for - each user while applying the tool -\family typewriter -nessus-adduser -\family default -. -\end_layout - -\begin_layout Standard -And finally, the User may add another set of rules in OpenVAS-Client. -\end_layout - -\begin_layout Subsubsection -Syntax -\end_layout - -\begin_layout Standard -A rule might either be a default definition: -\begin_inset Quotes eld -\end_inset - -default deny -\begin_inset Quotes erd -\end_inset - -, -\begin_inset Quotes eld -\end_inset - -default reject -\begin_inset Quotes erd -\end_inset - - or -\begin_inset Quotes eld -\end_inset - -default accept -\begin_inset Quotes erd -\end_inset - -. -\end_layout - -\begin_layout Standard -Or it is a target specific definition that consists of the action ( -\begin_inset Quotes eld -\end_inset - -deny -\begin_inset Quotes erd -\end_inset - -, -\begin_inset Quotes eld -\end_inset - -reject -\begin_inset Quotes erd -\end_inset - - or -\begin_inset Quotes eld -\end_inset - -accept -\begin_inset Quotes erd -\end_inset - -) and a target specified with its IP (eg. - 192.168.10.10). -\end_layout - -\begin_layout Standard -Note that it must be an IP. - The use of hostnames is not allowed due to security reasons. -\end_layout - -\begin_layout Subsubsection -Manage rules in OpenVAS-Client -\end_layout - -\begin_layout Standard -A rule consists of a action and (in case no default action is dfined) a - target. - There are in total 6 actions available where the user can select one in - the selection box. - The target is to be specified manually in a text entry field. -\end_layout - -\begin_layout Standard -Once clicking the button -\begin_inset Quotes eld -\end_inset - -Add rule -\begin_inset Quotes erd -\end_inset - -, the specified action/target is added to the group -\begin_inset Quotes eld -\end_inset - -Clientside userrules -\begin_inset Quotes erd -\end_inset - -. -\end_layout - -\begin_layout Standard -If a rule in this section is selected, the button -\begin_inset Quotes eld -\end_inset - -Remove rule -\begin_inset Quotes erd -\end_inset - - will delete it from the list. - No serverside rule can be removed of course. -\end_layout - -\begin_layout Subsubsection -Example for User-defined Access Rule -\end_layout - -\begin_layout Standard -You are the security team of BigBank Corp. - The management authorized you to scan the network, BUT you're not allowed - to scan 172.20.142.2 under any circumstance, because it's a SWIFT server and - if it goes down, so does the bank (and your company and legal responsability). - So you add : -\end_layout - -\begin_layout Standard -\begin_inset VSpace smallskip -\end_inset - - -\family typewriter -deny 172.20.142.2 -\family default - -\begin_inset VSpace smallskip -\end_inset - - -\end_layout - -\begin_layout Standard -\noindent -as a user rule in the GUI, and you are now SURE that you'll never scan this - IP - even if you later on ask nessusd to scan it. - -\end_layout - -\begin_layout Subsubsection -Example for a Adminstrator-defined Access Rule -\end_layout - -\begin_layout Standard -By editing nessusd.rules (only the administrator for Nessus Server can do - that), you make sure that nessusd will not be used to scan any system it - should not scan. - If your internal network is 10.0.0.0/8, you basically want to make sure that - nobody will scan anything else (either by fat-fingering an IP or just by - malice), so you edit -\family typewriter -nessusd.rules -\family default - and you add : -\begin_inset VSpace smallskip -\end_inset - - -\end_layout - -\begin_layout Standard - -\family typewriter -allow 10.0.0.0/8 -\end_layout - -\begin_layout Standard - -\family typewriter -allow 127.0.0.1 -\end_layout - -\begin_layout Standard - -\family typewriter -default deny -\end_layout - -\begin_layout Subsection -Local Security Checks: Theory -\end_layout - -\begin_layout Subsubsection -What are "local" security checks? -\end_layout - -\begin_layout Standard -Starting with Nessus 2.1.0, it is possible to give Nessus SSH credentials - to log into the remote Unix systems and determine which patchs need to - be applied. - What this really means is that if you give Nessus the proper SSH key, it - will litterally log into the remote host, extract the list of installed - software, and tell you which packages have an update ready for them. -\end_layout - -\begin_layout Standard -The real goal of this feature is to easily keep track of all the missing - patches of a given system, without the potential hazards and false positives - of remote security checks. - It is really important to understand that enabling local security checks - do not discover flaws such as unauthorized suid binaries, they simply determine - which patches are missing from the remote operating system. -\end_layout - -\begin_layout Subsubsection -Which operating systems are supported at this time? -\end_layout - -\begin_layout Standard -At this time, Nessus is able to determine the missing patches of the following - operating systems : -\end_layout - -\begin_layout Itemize -AIX 5.x -\end_layout - -\begin_layout Itemize -Debian -\end_layout - -\begin_layout Itemize -Fedora Core 1 and 2 -\end_layout - -\begin_layout Itemize -FreeBSD 4.x, 5.x (including the port collection) -\end_layout - -\begin_layout Itemize -Gentoo Linux (all advisories from 2004) -\end_layout - -\begin_layout Itemize -Mac OS X (and Mac OS X Server) -\end_layout - -\begin_layout Itemize -Mandrake Linux (8.0 to 10.0) -\end_layout - -\begin_layout Itemize -RedHat Enterprise Linux (2.1 and 3.0) -\end_layout - -\begin_layout Itemize -Solaris (2.5.1, 2.6, 7, 8 and 9) -\end_layout - -\begin_layout Itemize -SuSE Linux (7.0 to 9.1) -\end_layout - -\begin_layout Itemize -Microsoft Windows NT, 2000, XP, 2003 -\end_layout - -\begin_layout Standard -We hope to support more systems in the future (HP-UX, Tru64, etc...). - -\end_layout - -\begin_layout Subsubsection -Which Solaris patches are checked for? -\end_layout - -\begin_layout Standard -We have implemented checks for Solaris 2.5.1, 7, 8 and 9 (both on sparc and - i386 architectures). - We check for every patch listed by Sun in the "Patch containing security - fixes" of their patch page. -\end_layout - -\begin_layout Subsubsection -Is it intended to support more systems? -\end_layout - -\begin_layout Standard -We do not intend to support every operating system which has ever surfaced - on the face of earth. - However, we intend to create -\begin_inset Quotes eld -\end_inset - -working groups -\begin_inset Quotes erd -\end_inset - - of people working on a given operating system. - Basically, we are looking for people who would be responsible for producing - the security checks relevant to the operating system they use (and love). - If you are interested in taking part in such a group (or to even lead a - given OS group), please contact the Nessus Development Team. -\end_layout - -\begin_layout Subsubsection -What are "local" security checks NOT? -\end_layout - -\begin_layout Standard -At this time, Nessus does not check the local security policy of the remote - system, like Tiger does (ie: directories writeable by any users, wrong - permissions on a sensitive configuration file, and so on...). - Read about SLAD (Security Local Auditing Daemon) for extensive on-site - testing of remote targets that porentially are compromised. - SLAD can be accessed via respective NASL scripts. -\end_layout - -\begin_layout Subsubsection -Why do we need to perform local security checks, is not Nessus good enough - to determine security issues? -\end_layout - -\begin_layout Standard -Nessus 2.0 is, at its heart, a network based scanner. - This means that it will connect to the remote host and attempt to determine - the flaws affecting every service on it. - However, testing everything from the point of view of the network has its - own shortcomings. - In particular, a 100% network-based security scanner can not do the following - : -\end_layout - -\begin_layout Itemize -Determine client-side flaws: There are more and more client-side vulnerabilities - published every day, ranging from flaws in mail clients to XML libraries. - It simply is not possible to check for those from the point of view of - an active scanner. - The only way to detect such flaws is to deploy a passive scanner (ie: NeVO) - or to locally check that every host has been patched. -\end_layout - -\begin_layout Itemize -Determine local flaws: Obviously, the security level of local utilities - can not be determined from the point of view of the network. - By running local security checks, Nessus will tell you if a user logged - into the remote host can use an overflow in a suid binary to gain root - privileges. -\end_layout - -\begin_layout Itemize -Determine flaws in disabled services: If a host has a vulnerable service - installed, but it's not running at the time of the scan, a vulnerability - will be missed. - Having an unpatched disabled service is a potential security hazard - if - the service is ever enabled in the future, it might be exploited. -\end_layout - -\begin_layout Standard -So traditional network-based scanners have their inherent limitations, which - can now be overcomed thanks to this new feature. -\end_layout - -\begin_layout Subsubsection -Will Nessus recognize individually compiled and installed packages? -\end_layout - -\begin_layout Standard -If you e.g. - compiled your DNS server by hand instead of using the system's one: Will - Nessus see it ? No! -\end_layout - -\begin_layout Standard -Nessus sticks to the patches provided by your OS vendor. - However, note that it usually is a good administrative practice to stick - to your vendor packages, as it makes the upgrade of your system much easier. -\end_layout - -\begin_layout Standard -In the future, Nessus might be able to detect if a running server is not - of the same version as the one installed by RPM (or any other packaging - system) and may improve its output this way. -\end_layout - -\begin_layout Subsubsection -Why care about local security if there is no local user? -\end_layout - -\begin_layout Standard -E.g. - why should one care if the web server has local overflows in suid binaries - but there's no local user on it, apart from oneself? -\end_layout - -\begin_layout Standard -At the time this feature starts to be discussed, many people would object - that they don't really care about local security because their server simply - is a web server with no local users, therefore nobody can exploit a local - vulnerability. - The answer is a simple security practice: -\series bold -containment -\series default -. - If your web server is vulnerable to a given flaw (be it a misconfiguration, - a badly written PHP script, or an 0day in Apache), an attacker will be - able to obtain a shell on your system. - The question really is: do you want to make it easy for the attacker to - gain super-user privileges and gain the full control of your system, or - do you want to contain him to the privileges your web server is running - with? (These privileges will prevent the attacker to modify your kernel, - load a rogue kernel module, and generally will make it harder for him to - cover his tracks). - So -\series bold -local security really matters -\series default -, since it's your last line of defense. -\end_layout - -\begin_layout Subsubsection -How can enabling local security checks improve my scanning experience? -\end_layout - -\begin_layout Standard -Depending on how you use them, local security checks can dramatically improve - your scanning experience: -\end_layout - -\begin_layout Itemize -By reducing false positives: it is not always possible to remotely determine - if a given service is vulnerable to a given flaw or not (sometimes the - only way to check for it is to actually crash the service, which is not - an option in a production network). - Sometimes, vendors do not upgrade a faulty product to the newest version - but backport the fix instead (see Red Hat's statement about this), which - also makes life more difficult for network-based scanners . -\end_layout - -\begin_layout Itemize -By speeding up the checks: if all you are interested in is to determine - if all the patches have been installed on your remote hosts, you may want - to only enable local security checks and dramatically reduce the time it - takes to scan your systems. - It only takes 6 seconds to find all the local flaws of a remote system - (over a VPN link) whereas it takes over one minute to scan the same system - entirely with all the network checks. -\end_layout - -\begin_layout Itemize -By scanning more often: Every network-based security scanner create the - risk of crashing devices/services on your network. - This is not specific to Nessus, this really is a hard fact about security - scanning in general. - The reason is simple: a scanner attempts to connect to all the services - on the remote host, and some services (and TCP/IP stacks) out there are - so poorly written that connecting to them too quickly or not sending them - the exact data they are waiting for may crash them. - No matter how gentle the scanner is, there is always a risk of crashing - a custom application, a loaded server which is low on memory, and so on. - This is especially true for embedded devices, most of which being designed - without any consideration for security. - There are scanners vendors out there who are trying to claim that they - have reached -\begin_inset Quotes eld -\end_inset - -100% unintrusive scanning -\begin_inset Quotes erd -\end_inset - -, and this is simple not true. - If a scanner interacts with a network service, there is always a risk for - crashing it. -\newline -As a result, many people only scan once a month or once a quarter, - even though security issues appear every day! -\newline -By only enabling local checks - and disabling port scanners and every other plugins, Nessus Server will - only connect to the SSH port of the remote hosts - no stress on the network, - no bad surprises. -\end_layout - -\begin_layout Standard -So wether you administrate a small number of hosts or a huge number of systems, - local security checks can definitely make your job much easier. -\end_layout - -\begin_layout Subsubsection -Does this feature slow down the scan? -\end_layout - -\begin_layout Standard -No. - Nessus will minimize the number of SSH logins into the remote host, and - will actually log in once, then load its knowledge base with various informatio -n found on the remote host. - Please view the source code of the plugin ssh_get_info.nasl for more details - about what is gathered. -\end_layout - -\begin_layout Subsubsection -What are the caveats of this new feature? -\end_layout - -\begin_layout Standard -At this time, the following caveats are known: -\end_layout - -\begin_layout Itemize -Only SSHv2 is supported. - You can not log into the remote host using SSHv1. -\end_layout - -\begin_layout Itemize -You have to use SSH public key authentication. - It's slightly harder to deploy than a password, but it's much more secure. -\end_layout - -\begin_layout Itemize -This documentation only deals with OpenSSH. - -\end_layout - -\begin_layout Subsection -Local Security Checks: How to enable -\end_layout - -\begin_layout Standard -\begin_inset Note Comment -status collapsed - -\begin_layout Standard -What to do with this text - we can probably not just copy the referenced - document, so have a URL instead or write a new text?: -\end_layout - -\begin_layout Standard -\begin_inset Quotes eld -\end_inset - -As a reminder, if you are interested in Windows security checks please read - this document instead. -\begin_inset Quotes erd -\end_inset - - -\end_layout - -\end_inset - - -\end_layout - -\begin_layout Subsubsection -The principle -\end_layout - -\begin_layout Standard -To enable local security checks, the idea is to: -\end_layout - -\begin_layout Itemize -Create a SSH private/public key pair for Nessus to use -\end_layout - -\begin_layout Itemize -Create a user account on every system for which you want to perform a local - scan -\end_layout - -\begin_layout Itemize -Copy the SSH public key Nessus will use in the directory of the new user -\end_layout - -\begin_layout Itemize -Tell Nessus to use this SSH private and public keys and perform the scan - -\end_layout - -\begin_layout Standard -As you can see this is pretty simple. - Nessus can not use password authentication, otherwise it would be vulnerable - to a man-in-the-middle attack when scanning the remote systems (we do not - want to handle key management for the remote systems just yet). -\end_layout - -\begin_layout Standard -If you are not familiar with SSH public key authentication and understand - what it does, you should consult the ssh documentation or corresponding - publications. -\end_layout - -\begin_layout Subsubsection -Generating a SSH public key -\end_layout - -\begin_layout Standard -To generate a SSH public key, use ssh-keygen and save the key in a safe - place. -\begin_inset VSpace defskip -\end_inset - - -\end_layout - -\begin_layout Standard -\align left - -\family typewriter -\size scriptsize -$ ssh-keygen -t dsa -\newline -Generating public/private dsa key pair. - Enter file in which to save the key (/Users/renaud/.ssh/id_dsa): -\newline -/home/renaud/Nes -sus/ssh_key -\newline -Enter passphrase (empty for no passphrase): -\newline -Enter same passphrase - again: -\newline -Your identification has been saved in /home/renaud/Nessus/ssh_key. -\newline -Your - public key has been saved in /home/renaud/Nessus/ssh_key.pub. -\newline -The key fingerprint - is: 06:4a:fd:76:ee:0f:d4:e6:4b:74:84:9a:99:e6:12:ea renaud at myth.local -\newline - -\end_layout - -\begin_layout Standard -As you can see in the example above, two files have been created: -\end_layout - -\begin_layout Itemize -/home/renaud/Nessus/ssh_key is the private SSH key. - Do not transfer it on a system other than the one running your Nessus client. -\end_layout - -\begin_layout Itemize -/home/renaud/Nessus/ssh_key.pub is the public SSH key. - You will copy this file on every system you want to scan with Nessus. - -\end_layout - -\begin_layout Standard -When ssh-keygen asks you for a passphrase, you may want to enter return - twice (ie: don't set any passphrase). - It's safer to protect a key with a passphrase, however, given the way Nessus - is implemented it will not buy you extra security, as the passphrase will - have to circulate between your Nessus Client and the Nessus Server, and - will be stored in clear text in your .nessusrc configuration file. - If you feel safer, feel free to enter a passphrase. -\end_layout - -\begin_layout Subsubsection -Creating a user account and setting up the SSH key -\end_layout - -\begin_layout Standard -\align left -On every platform you want to test, you want to create a new user account - dedicated to Nessus. - We will call this user nessus in this document, but you can set his name - to any value. - Once you created an account for the user (using adduser or any utility - that the system provides you with), make sure that he has no valid password - set (ie: when editing the file with 'vipw' make sure that the password - field only contains a star): -\end_layout - -\begin_layout Standard -\begin_inset VSpace defskip -\end_inset - - -\end_layout - -\begin_layout Standard -\align left - -\family typewriter -\size scriptsize -# vipw -\newline -(...) -\newline -nessus:*:502:502::0:0:Nessus Test Account:/home/nessus:/bin/bash - -\newline -(...) -\family default -\size default - -\newline - -\end_layout - -\begin_layout Standard -Now that the user has been created, you simply need to copy the key to his - home and set the correct permissions on the .ssh directory: -\begin_inset VSpace defskip -\end_inset - - -\end_layout - -\begin_layout Standard -\align left - -\family typewriter -\size scriptsize -# mkdir ~nessus/.ssh -\newline -# mv ssh_key.pub ~nessus/.ssh/authorized_keys -\newline -# chown - -R nessus:nessus ~nessus/.ssh/ -\newline -# chmod 0600 ~nessus/.ssh/authorized_keys - -\newline -# chmod 0700 ~nessus/.ssh/ -\family default -\size default - -\newline - -\end_layout - -\begin_layout Subsubsection -Setting up Nessus -\end_layout - -\begin_layout Standard -First, make sure that you are running Nessus 2.1.0 or newer and that it has - been compiled with SSL support. - You can do that by typing nessusd -d: -\begin_inset VSpace defskip -\end_inset - - -\end_layout - -\begin_layout Standard -\align left - -\family typewriter -\size scriptsize -[root at myth Home]$ nessusd -d -\newline -This is Nessus 2.1.0 for Darwin 7.4.0 -\newline -compiled - with gcc version 3.3 20030304 (Apple Computer, Inc. - build 1495) -\newline -Current setup : -\newline -nasl: 2.1.0 -\newline -libnessus: 2.1.0 SSL support: enabled -\newline - -\end_layout - -\begin_layout Standard -Then start the OpenVAS-Client, and go to the -\begin_inset Quotes eld -\end_inset - -Credentials -\begin_inset Quotes erd -\end_inset - - section and set the SSH user name and SSH keys properly: -\end_layout - -\begin_layout Standard -\begin_inset Note Comment -status collapsed - -\begin_layout Standard -TODO: screenshot like on http://www.nessus.org/doc/nessus_ssh_local.html -\end_layout - -\end_inset - - -\end_layout - -\begin_layout Standard -Make sure not to mix the public key (keyname.pub) and the private one. - Make sure that the option -\begin_inset Quotes eld -\end_inset - -enable dependencies -\begin_inset Quotes erd -\end_inset - - at runtime (in the plugins) section is checked, and run a scan against - the remote host. - The Nessus report should now tell you that login in was successful, and - should show you all the missing patches on the remote system: -\end_layout - -\begin_layout Standard -\begin_inset Note Comment -status collapsed - -\begin_layout Standard -TODO: Report excerpt like on http://www.nessus.org/doc/nessus_ssh_local.html -\end_layout - -\end_inset - - -\end_layout - -\begin_layout Standard -Repeat the operation for every server for which you want to do a local scan, - and you are ready to go! -\end_layout - -\begin_layout Subsubsection -Acknowledgements -\end_layout - -\begin_layout Standard -The SSH local checks functionality is a courtesy of: -\end_layout - -\begin_layout Itemize -Nicolas Pouvesle who wrote a lightweight SSH client implementation in NASL -\end_layout - -\begin_layout Itemize -Tenable Network Security. - Tenable wrote over 1200 plugins performing local security audits. - -\end_layout - -\begin_layout Section -Optimizing and Fine Tuning -\end_layout - -\begin_layout Subsection -Knowledge Base -\end_layout - -\begin_layout Standard -Knowledge Base saving allows you to not disturb the users of your network - by doing daily portscans of a /24 network and to not waste the result of - other tests. -\end_layout - -\begin_layout Standard -\align center -\begin_inset Graphics - filename images/mainwindow-kb-en.png - scale 90 - -\end_inset - - -\end_layout - -\begin_layout Standard -The Nessus Server as well as the Nessus Clients have a compile option to - switch on Knowledge Base support. - Usually that is the case but you may find servers or clients installations - without this feature. -\end_layout - -\begin_layout Standard -In the OpenVAS-Client you find the configuration of the knowldege base on - the page -\begin_inset Quotes eld -\end_inset - -KB -\begin_inset Quotes erd -\end_inset - - of the -\begin_inset Quotes eld -\end_inset - -Options -\begin_inset Quotes erd -\end_inset - - notebook (provided the respective client support the KB feature). -\end_layout - -\begin_layout Subsubsection -Introduction -\end_layout - -\begin_layout Standard -The knowledge base (KB) is the list of information gathered about a tested - host. - It contains the list of open ports, the operating system type of the host, - and many more information. - Its first purpose was to reduce the redundancy of the tests, so that a - plugin A which finds a fact (for instance, a way to log into the remote - FTP server) writes can share its result with the other plugins (for instance, - a plugin which needs to log into the remote FTP server will look in the - KB if there is a way to do so). - After a test, the KB would be freed from memory, and would be rebuilt from - scratch during the next test. - The idea behind the saving of the knowledge base is to re-use it for another - audit, to reduce the bandwidth consumption of a test. - For instance, if you have not touched the configuration of your web server - during the last 5 hours, it's very unlikely that a new port will be opened - when you do a new port scan on it. - So why waste your bandwidth and time re-doing a portscan when you could - just re-use the result of the previous portscan you did against this host - ? Saving the KB allows you to: -\end_layout - -\begin_layout Itemize -save bandwidth -\end_layout - -\begin_layout Itemize -save time -\end_layout - -\begin_layout Itemize -test the hosts of your network for new vulnerabilities only -\end_layout - -\begin_layout Standard -You can define a lifetime for the knowledge bases attached to the tested - hosts. - This lifetime can range between a few seconds to a hundred of years - you - are free to configure it the way you want. - The purpose of this section is to explain you how to enable and use this - feature to increase your security by making more tests more often, thus - having a day-to-day view of your network. - -\end_layout - -\begin_layout Subsubsection -Using the KB saving -\end_layout - -\begin_layout Standard -If you want the knowledge bases to be saved on the Nessus Server side, you - must enable the option -\begin_inset Quotes eld -\end_inset - - -\series bold -Enable KB saving -\series default - -\begin_inset Quotes erd -\end_inset - - in the client: -\end_layout - -\begin_layout Standard -This option enables all the knowledge base saving, and by enabling this - checkbox, you know that all the information collected about the remote - hosts will be saved on disk. - If you enable this option only, then the data gathered from the hosts you - are testing for will be saved on disk, and that's all. - That is, nessusd will not use it when you test the same host again. - If you want to take advantage of it for the rest of your tests, continue - to read. -\end_layout - -\begin_layout Standard -Technically speaking, each knowledge base is saved on the remote host as - a different file for each tested host. - A database may be pluggable here in the future, but at this time, this - is fine. - The files are located in -\begin_inset Quotes eld -\end_inset - -/usr/local/var/nessus/username/kbs/ -\begin_inset Quotes erd -\end_inset - - where username is the Nessus Server login name in use. -\end_layout - -\begin_layout Subsubsection -Reducing the hosts tested to (re)populate the knowledge bases -\end_layout - -\begin_layout Standard -When -\begin_inset Quotes eld -\end_inset - - -\series bold -Enable KB saving -\series default - -\begin_inset Quotes erd -\end_inset - - is set, then it is possible to reduce the set of tested hosts to populate - the knowledge bases of the current user. - You may want to just test the hosts that already have a knowledge base - attached to, or at the opposite, you may want to only tests the hosts that - have no, or an outdated, knowledge base, so that the set of knowledge bases - is up-to-date and complete. - That's where the three options -\begin_inset Quotes eld -\end_inset - - -\series bold -Test all hosts -\series default -", -\begin_inset Quotes eld -\end_inset - - -\series bold -Only test hosts that have been tested in the past -\series default -" and -\begin_inset Quotes eld -\end_inset - - -\series bold -Only tests hosts that have never been tested in the past -\series default -" are handy. -\end_layout - -\begin_layout Itemize -If -\begin_inset Quotes eld -\end_inset - - -\series bold -Test all hosts -\series default - -\begin_inset Quotes erd -\end_inset - - is set, then all the hosts present in the -\begin_inset Quotes eld -\end_inset - -Target -\begin_inset Quotes erd -\end_inset - - field of the target selection panel will be tested; that is, no filtering - will be done, and everything will be tested as it used to be. - -\end_layout - -\begin_layout Itemize -If you set the option -\begin_inset Quotes eld -\end_inset - - -\series bold -Only test hosts that have been tested in the past -\series default - -\begin_inset Quotes erd -\end_inset - -, only the hosts to which an up-to-date knowledge base is attached will - be tested. - This allows you to make sure that, for instance, no port scan will be done - against hosts that have never been tested in your selection, so you are - sure that network noise will be low. -\end_layout - -\begin_layout Itemize -Last but not least, the option -\begin_inset Quotes eld -\end_inset - - -\series bold -Only test hosts that have never been tested in the past -\begin_inset Quotes erd -\end_inset - - -\series default - is set, then only the hosts that have no knowledge base, or an outdated - one, will be tested, and will be given a fresh new KB. - -\end_layout - -\begin_layout Standard -These three options allow you to do what you want : -\end_layout - -\begin_layout Itemize -test everything -\end_layout - -\begin_layout Itemize -make sure that no noise will be generated during this test -\end_layout - -\begin_layout Itemize -populate the set of knowledge bases -\end_layout - -\begin_layout Subsubsection -Re-using the knowledge base between multiple tests -\end_layout - -\begin_layout Standard -Re-using a knowledge base saved in the past may be dangerous, suppose for - instance that the host you have audited yesterday was broken into during - the night, and that the attacker left a root shell open on a port that - used to be closed. - If you re-use the knowledge base, then you will miss this fact. - On the other hand, on a well-secured network, you may want to re-use a - previously saved KB to save time and test a restricted set of new security - checks against the host. -\end_layout - -\begin_layout Standard -If you enable the option -\begin_inset Quotes eld -\end_inset - - -\series bold -Reuse the knowledge bases about the hosts for the test -\series default - -\begin_inset Quotes erd -\end_inset - -, then the older knowledge base will be reloaded in memory, and Nessus Server - will make an active use of it. - You can control what Nessus Server will make of it using the four following - options: -\end_layout - -\begin_layout Standard -... -\end_layout - -\begin_layout Standard -If -\begin_inset Quotes eld -\end_inset - -Do not execute scanners that have already been executed -\begin_inset Quotes erd -\end_inset - - is set, then scanners you used in an older test won't be used again. - The same for the other three options. - If you just want to execute the new checks you gathered using the command - -\begin_inset Quotes eld -\end_inset - -nessus-update-plugins -\begin_inset Quotes erd -\end_inset - -, then it is suggested you enable all these options. - If you just want to reduce the noise of your network and don't do any port - scan, just enable the first option. - And so on... -\end_layout - -\begin_layout Subsubsection -Defining the meaning of up-to-date -\end_layout - -\begin_layout Standard -Throughout this section, it is said that a KB can be declared as being up-to-dat -e or outdated. - What is meant by this is what you want. - Each time a KB is created, it is attributed a date tag. - The option -\begin_inset Quotes eld -\end_inset - - -\series bold -max age of a saved KB -\series default - -\begin_inset Quotes erd -\end_inset - - defines, in seconds, the amount of time after which a KB is declared as - being obsolete and will be regenerated from scratch. -\end_layout - -\begin_layout Standard -The default value is 864000 (10 days), but you are free to lower this to - 3600 (one hour), or less, or at the opposite, raise this value to whatever - you want. - -\end_layout - -\end_body -\end_document From scm-commit at wald.intevation.org Fri Aug 1 20:43:53 2008 From: scm-commit at wald.intevation.org (scm-commit@wald.intevation.org) Date: Fri, 1 Aug 2008 20:43:53 +0200 (CEST) Subject: [Openvas-commits] r1095 - trunk/openvas-compendium Message-ID: <20080801184353.E68E14072E@pyrosoma.intevation.org> Author: jan Date: 2008-08-01 20:43:53 +0200 (Fri, 01 Aug 2008) New Revision: 1095 Added: trunk/openvas-compendium/images/ Modified: trunk/openvas-compendium/ChangeLog Log: * images/cc-by-sa-logo.png, images/mainwindow-plugins-en.eps, images/cc-by-sa-logo.eps, images/preferences-dlg-en.png, images/mainwindow-targetselection-en.png, images/mainwindow-credentials-en.png, images/preferences-dlg-en.eps, images/mainwindow-pluginprefs-en.png, images/OpenVAS-Structure.png, images/openvas-logo.png, images/mainwindow-targetselection-en.eps, images/mainwindow-credentials-en.eps, images/mainwindow-pluginprefs-en.eps, images/openvas-logo.eps, images/OpenVAS-Structure.eps, images/mainwindow-en.png, images/mainwindow-en.eps, images/authentication-dlg-en.png, images/mainwindow-report-en.png, images/authentication-dlg-en.eps, images/mainwindow-report-en.eps, images/mainwindow-plugins-en.png: New. Moved here from doc module. Modified: trunk/openvas-compendium/ChangeLog =================================================================== --- trunk/openvas-compendium/ChangeLog 2008-08-01 18:23:10 UTC (rev 1094) +++ trunk/openvas-compendium/ChangeLog 2008-08-01 18:43:53 UTC (rev 1095) @@ -1,5 +1,21 @@ 2008-08-01 Jan-Oliver Wagner + * images/cc-by-sa-logo.png, images/mainwindow-plugins-en.eps, + images/cc-by-sa-logo.eps, images/preferences-dlg-en.png, + images/mainwindow-targetselection-en.png, + images/mainwindow-credentials-en.png, + images/preferences-dlg-en.eps, images/mainwindow-pluginprefs-en.png, + images/OpenVAS-Structure.png, images/openvas-logo.png, + images/mainwindow-targetselection-en.eps, + images/mainwindow-credentials-en.eps, images/mainwindow-pluginprefs-en.eps, + images/openvas-logo.eps, images/OpenVAS-Structure.eps, + images/mainwindow-en.png, images/mainwindow-en.eps, + images/authentication-dlg-en.png, images/mainwindow-report-en.png, + images/authentication-dlg-en.eps, images/mainwindow-report-en.eps, + images/mainwindow-plugins-en.png: New. Moved here from doc module. + +2008-08-01 Jan-Oliver Wagner + Removing the old english and german manual and associated files. * images/mainwindow-kb-de.png, images/mainwindow-targetselection-de.png, Copied: trunk/openvas-compendium/images (from rev 1090, trunk/doc/openvas-compendium/images) From scm-commit at wald.intevation.org Fri Aug 1 20:47:00 2008 From: scm-commit at wald.intevation.org (scm-commit@wald.intevation.org) Date: Fri, 1 Aug 2008 20:47:00 +0200 (CEST) Subject: [Openvas-commits] r1096 - trunk/doc/openvas-compendium Message-ID: <20080801184700.88F124072E@pyrosoma.intevation.org> Author: jan Date: 2008-08-01 20:47:00 +0200 (Fri, 01 Aug 2008) New Revision: 1096 Removed: trunk/doc/openvas-compendium/html/ trunk/doc/openvas-compendium/images/ Log: removed empty directories. From scm-commit at wald.intevation.org Fri Aug 1 21:45:21 2008 From: scm-commit at wald.intevation.org (scm-commit@wald.intevation.org) Date: Fri, 1 Aug 2008 21:45:21 +0200 (CEST) Subject: [Openvas-commits] r1097 - trunk/openvas-compendium Message-ID: <20080801194521.4F80840735@pyrosoma.intevation.org> Author: jan Date: 2008-08-01 21:45:20 +0200 (Fri, 01 Aug 2008) New Revision: 1097 Removed: trunk/openvas-compendium/OpenVAS-logo.png Modified: trunk/openvas-compendium/COPYING trunk/openvas-compendium/ChangeLog trunk/openvas-compendium/Makefile trunk/openvas-compendium/README trunk/openvas-compendium/VERSION trunk/openvas-compendium/openvas-compendium.tex Log: * OpenVAS-logo.png: Removed. * VERSION: reset version to 0.1.0.SVN for a new start of the compendium. * README: Rewrote for Compendium. * Makefile: Merged the compendium Makefile of doc module into present Makefile * COPYING: Switched to CC by SA. * openvas-compendium.tex: Removed the GPL notice which was a left over in the comment header. Modified: trunk/openvas-compendium/COPYING =================================================================== --- trunk/openvas-compendium/COPYING 2008-08-01 18:47:00 UTC (rev 1096) +++ trunk/openvas-compendium/COPYING 2008-08-01 19:45:20 UTC (rev 1097) @@ -1,340 +1,5 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 +This work is licensed under the - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. +Creative Commons License Attribution-ShareAlike 3.0 Unported - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. +http://creativecommons.org/licenses/by-sa/3.0/deed.en Modified: trunk/openvas-compendium/ChangeLog =================================================================== --- trunk/openvas-compendium/ChangeLog 2008-08-01 18:47:00 UTC (rev 1096) +++ trunk/openvas-compendium/ChangeLog 2008-08-01 19:45:20 UTC (rev 1097) @@ -1,5 +1,22 @@ 2008-08-01 Jan-Oliver Wagner + * OpenVAS-logo.png: Removed. + + * VERSION: reset version to 0.1.0.SVN for a new start + of the compendium. + + * README: Rewrote for Compendium. + + * Makefile: Merged the compendium Makefile of doc module + into present Makefile + + * COPYING: Switched to CC by SA. + + * openvas-compendium.tex: Removed the GPL notice which + was a left over in the comment header. + +2008-08-01 Jan-Oliver Wagner + * images/cc-by-sa-logo.png, images/mainwindow-plugins-en.eps, images/cc-by-sa-logo.eps, images/preferences-dlg-en.png, images/mainwindow-targetselection-en.png, Modified: trunk/openvas-compendium/Makefile =================================================================== --- trunk/openvas-compendium/Makefile 2008-08-01 18:47:00 UTC (rev 1096) +++ trunk/openvas-compendium/Makefile 2008-08-01 19:45:20 UTC (rev 1097) @@ -2,51 +2,46 @@ INSTALL_DIR=/usr/bin/install -c -d INSTALL=/usr/bin/install -c -# TODO: html is commented out, because the lyx output is not yet prepared -# to work with hyperlatex -all: users-manual.pdf users-manual-de.pdf -#all: users-manual.pdf users-manual-de.pdf users-manual.html users-manual-de.html +latexfile = openvas-compendium +TEX = latex +HYPERLATEX = hyperlatex +PS = dvips +PDF = pdflatex -LYX=lyx +all: pdf -%.pdf: %.lyx - $(LYX) -e pdf $< && $(LYX) -e pdf $< +dvi: + while ($(TEX) $(latexfile) ; \ + grep -q "Rerun to get cross" $(latexfile).log ) do true ; \ + done -%.tex: %.lyx - $(LYX) -e latex $< +hyperhtml: + $(HYPERLATEX) $(latexfile) -%.dvi: %.tex - latex $@ +ps: dvi + $(PS) $(latexfile).dvi -%.ps: %.dvi - dvips $@ -o $< +pdf: + while ($(PDF) $(latexfile) ; \ + grep -q "Rerun to get cross" $(latexfile).log ) do true ; \ + done -%.html: %.tex - hyperlatex $< - -%.rtf: %.tex - latex2rtf -C latin1 -l $< - -install: all +install: pdf hyperhtml test -d ${DOC_DIR} || $(INSTALL_DIR) -m 755 ${DOC_DIR} - # test -d ${DOC_DIR}/html/ || $(INSTALL_DIR) -m 755 ${DOC_DIR}/html - $(INSTALL) -m 644 users-manual.pdf ${DOC_DIR}/ - $(INSTALL) -m 644 users-manual-de.pdf ${DOC_DIR}/ - # The following makes only sense if it is solved to have - # the html with images there as well. - # $(INSTALL) -m 644 users-manual.html ${DOC_DIR}/html - # $(INSTALL) -m 644 users-manual-de.html ${DOC_DIR}/html + $(INSTALL) -m 644 openvas-compendium.pdf ${DOC_DIR}/ + test -d ${DOC_DIR}/html/ || $(INSTALL_DIR) -m 755 ${DOC_DIR}/html + $(INSTALL) -m 644 html/* ${DOC_DIR}/html clean: - rm -rf *.aux *.toc *.dvi *.ps *.log *.pdf *.html + rm -rf *.aux *.toc *.dvi *.ps *.log *.pdf html/ distclean: clean dist: version="`cat VERSION`"; \ - rm -rf openvas-manual-$${version}* ; \ - mkdir openvas-manual-$${version} ; \ - tar cf openvas-manual-$${version}/x.tar `cat MANIFEST`; \ - ( cd openvas-manual-$${version} ; tar xf x.tar ; rm -f x.tar ) ; \ - tar cf openvas-manual-$${version}.tar openvas-manual-$${version} ; \ - gzip -9 openvas-manual-$${version}.tar + rm -rf openvas-compendium-$${version}* ; \ + mkdir openvas-compendium-$${version} ; \ + tar cf openvas-compendium-$${version}/x.tar `cat MANIFEST`; \ + ( cd openvas-compendium-$${version} ; tar xf x.tar ; rm -f x.tar ) ; \ + tar cf openvas-compendium-$${version}.tar openvas-compendium-$${version} ; \ + gzip -9 openvas-compendium-$${version}.tar Deleted: trunk/openvas-compendium/OpenVAS-logo.png =================================================================== (Binary files differ) Modified: trunk/openvas-compendium/README =================================================================== --- trunk/openvas-compendium/README 2008-08-01 18:47:00 UTC (rev 1096) +++ trunk/openvas-compendium/README 2008-08-01 19:45:20 UTC (rev 1097) @@ -1,33 +1,17 @@ -OpenVAS Manual --------------- +OpenVAS Compendium +------------------ -This manual origins from OpenVAS-Client which again origins -from NessusClient. +The compendium uses the LaTeX format. +Thus you need to have LaTeX installed +to build actual PDF file. -It has been separated from the OpenVAS Client package -in order to extend it to be a overall OpenVAS manual. +To build the PDF file type: -Build and install: +$ make -So far, no autotools are applied, so some hand work is needed: +To build a HTML version type: -1. You need to have lyx installed. +$ make hyperhtml -2. Just type "make". This will build PDF files for the englisch - and german manual. - -3. Before Installing you have to adjust three variable in "Makefile": - - * INSTALL_DIR: Path to programm "install" and apropriate command - line parameters to install a directory. Usually the default should - be OK. - - * INSTALL: Same as INSTALL_DIR, but for files. - - * DOC_DIR: The documentation directory where the PDFs are placed. - This should be the same location as OpenVAS Client expects. - The default is OK if you configured OpenVAS-Client with default prefix. - If you specified another prefix, you need to change DOC_DIR - accordingly. - -4. Run "make install". +(this will create a directory html with +many .html files and images.) Modified: trunk/openvas-compendium/VERSION =================================================================== --- trunk/openvas-compendium/VERSION 2008-08-01 18:47:00 UTC (rev 1096) +++ trunk/openvas-compendium/VERSION 2008-08-01 19:45:20 UTC (rev 1097) @@ -1 +1 @@ -0.9.1.SVN +0.1.0.SVN Modified: trunk/openvas-compendium/openvas-compendium.tex =================================================================== --- trunk/openvas-compendium/openvas-compendium.tex 2008-08-01 18:47:00 UTC (rev 1096) +++ trunk/openvas-compendium/openvas-compendium.tex 2008-08-01 19:45:20 UTC (rev 1097) @@ -11,19 +11,6 @@ % Copyright: % Copyright (C) 2008 Intevation GmbH % Copyright (C) 2008 Tim Brown -% -% This program is free software; you can redistribute it and/or modify -% it under the terms of the GNU General Public License version 2, -% as published by the Free Software Foundation -% -% This program is distributed in the hope that it will be useful, -% but WITHOUT ANY WARRANTY; without even the implied warranty of -% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -% GNU General Public License for more details. -% -% You should have received a copy of the GNU General Public License -% along with this program; if not, write to the Free Software -% Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. \documentclass[a4paper,11pt,twoside,titlepage,dvips]{scrbook} \usepackage{hyperlatex} From scm-commit at wald.intevation.org Mon Aug 4 10:41:01 2008 From: scm-commit at wald.intevation.org (scm-commit@wald.intevation.org) Date: Mon, 4 Aug 2008 10:41:01 +0200 (CEST) Subject: [Openvas-commits] r1098 - trunk/openvas-compendium Message-ID: <20080804084101.C559A40700@pyrosoma.intevation.org> Author: jan Date: 2008-08-04 10:41:00 +0200 (Mon, 04 Aug 2008) New Revision: 1098 Modified: trunk/openvas-compendium/CHANGES trunk/openvas-compendium/ChangeLog trunk/openvas-compendium/MANIFEST trunk/openvas-compendium/VERSION trunk/openvas-compendium/openvas-compendium.tex Log: Doing the 0.1.0 release. * openvas-compendium.tex: Set version, fix a typo. * VERSION: Set to 0.1.0. * CHANGES: Updated. * MANIFEST: Updated. Modified: trunk/openvas-compendium/CHANGES =================================================================== --- trunk/openvas-compendium/CHANGES 2008-08-01 19:45:20 UTC (rev 1097) +++ trunk/openvas-compendium/CHANGES 2008-08-04 08:41:00 UTC (rev 1098) @@ -1,17 +1,10 @@ -openvas-manual 0.9.0 (2007-07-31) +openvas-compendium 0.1.0 (2008-08-03) -The first initial release of openvas-manual -after the fork of OpenVAS-Client from NessusClient 1.x -and the separation out of OpenVAS-Client into -a module of its own. +The first initial release of openvas-compendium. +The Compendium replaces the previous openvas-manual. Main changes are: -* only some slight hints in english and german manual - to make clear this contains a lot of outdated information. -* only manual specification of prefix for installation destination - because "configure" environment not set up yet. -* no html version is built, because the previously used - converter latex2html isn't Free Software and the build - process is not yet fully adjusted for the new converter - hyperlatex. +* Restart of the main documentation for OpenVAS. +* The new document is based on LateX instead of lyx. +* Siwtch to CC by SA license. Modified: trunk/openvas-compendium/ChangeLog =================================================================== --- trunk/openvas-compendium/ChangeLog 2008-08-01 19:45:20 UTC (rev 1097) +++ trunk/openvas-compendium/ChangeLog 2008-08-04 08:41:00 UTC (rev 1098) @@ -1,3 +1,15 @@ +2008-08-03 Jan-Oliver Wagner + + Doing the 0.1.0 release. + + * openvas-compendium.tex: Set version, fix a typo. + + * VERSION: Set to 0.1.0. + + * CHANGES: Updated. + + * MANIFEST: Updated. + 2008-08-01 Jan-Oliver Wagner * OpenVAS-logo.png: Removed. Modified: trunk/openvas-compendium/MANIFEST =================================================================== --- trunk/openvas-compendium/MANIFEST 2008-08-01 19:45:20 UTC (rev 1097) +++ trunk/openvas-compendium/MANIFEST 2008-08-04 08:41:00 UTC (rev 1098) @@ -1,27 +1,30 @@ +CHANGES +COPYING ChangeLog -COPYING -images/authentication-dlg-de.png +MANIFEST +Makefile +README +VERSION +images/OpenVAS-Structure.eps +images/OpenVAS-Structure.png +images/authentication-dlg-en.eps images/authentication-dlg-en.png -images/mainwindow-credentials-de.png +images/cc-by-sa-logo.eps +images/cc-by-sa-logo.png +images/mainwindow-credentials-en.eps images/mainwindow-credentials-en.png -images/mainwindow-de.png +images/mainwindow-en.eps images/mainwindow-en.png -images/mainwindow-kb-de.png -images/mainwindow-kb-en.png -images/mainwindow-pluginprefs-de.png +images/mainwindow-pluginprefs-en.eps images/mainwindow-pluginprefs-en.png -images/mainwindow-plugins-de.png +images/mainwindow-plugins-en.eps images/mainwindow-plugins-en.png -images/mainwindow-report-de.png +images/mainwindow-report-en.eps images/mainwindow-report-en.png -images/mainwindow-targetselection-de.png +images/mainwindow-targetselection-en.eps images/mainwindow-targetselection-en.png -images/preferences-dlg-de.png +images/openvas-logo.eps +images/openvas-logo.png +images/preferences-dlg-en.eps images/preferences-dlg-en.png -Makefile -MANIFEST -OpenVAS-logo.png -README -users-manual-de.lyx -users-manual.lyx -VERSION +openvas-compendium.tex Modified: trunk/openvas-compendium/VERSION =================================================================== --- trunk/openvas-compendium/VERSION 2008-08-01 19:45:20 UTC (rev 1097) +++ trunk/openvas-compendium/VERSION 2008-08-04 08:41:00 UTC (rev 1098) @@ -1 +1 @@ -0.1.0.SVN +0.1.0 Modified: trunk/openvas-compendium/openvas-compendium.tex =================================================================== --- trunk/openvas-compendium/openvas-compendium.tex 2008-08-01 19:45:20 UTC (rev 1097) +++ trunk/openvas-compendium/openvas-compendium.tex 2008-08-04 08:41:00 UTC (rev 1098) @@ -48,8 +48,8 @@ \usepackage{hyperref} -\newcommand{\compendiumversion}{0.1.0-svn} -\newcommand{\compendiumdate}{20080708} +\newcommand{\compendiumversion}{0.1.0} +\newcommand{\compendiumdate}{20080802} \newcommand{\compendiumauthor}[1]{\begin{small}(by {#1})\end{small}} \newcommand{\hyperurl}[1]{\htmlonly{\xml{p}\small \xlink{{#1}}{{#1}}\xml{br}}\texonly{\small{#1}}} @@ -1969,7 +1969,7 @@ \chapter{Developers Guide for NASL scripts} -\section{Basic Structure of a NASL NASL Scripts} +\section{Basic Structure of NASL Scripts} \compendiumauthor{Tim Brown} From scm-commit at wald.intevation.org Mon Aug 4 10:42:12 2008 From: scm-commit at wald.intevation.org (scm-commit@wald.intevation.org) Date: Mon, 4 Aug 2008 10:42:12 +0200 (CEST) Subject: [Openvas-commits] r1099 - tags Message-ID: <20080804084212.4BB9940700@pyrosoma.intevation.org> Author: jan Date: 2008-08-04 10:42:11 +0200 (Mon, 04 Aug 2008) New Revision: 1099 Added: tags/openvas-compendium-release-0.1.0/ Log: Tagging the 0.1.0 release of openvas-compendium Copied: tags/openvas-compendium-release-0.1.0 (from rev 1098, trunk/openvas-compendium) From scm-commit at wald.intevation.org Mon Aug 4 10:44:55 2008 From: scm-commit at wald.intevation.org (scm-commit@wald.intevation.org) Date: Mon, 4 Aug 2008 10:44:55 +0200 (CEST) Subject: [Openvas-commits] r1100 - trunk/openvas-compendium Message-ID: <20080804084455.79AE040700@pyrosoma.intevation.org> Author: jan Date: 2008-08-04 10:44:55 +0200 (Mon, 04 Aug 2008) New Revision: 1100 Modified: trunk/openvas-compendium/ChangeLog trunk/openvas-compendium/VERSION trunk/openvas-compendium/openvas-compendium.tex Log: Post-release version bump. * VERSION: Set to 0.2.0.SVN. * openvas-compedium.tex: Version set to 0.2.0.SVN. Modified: trunk/openvas-compendium/ChangeLog =================================================================== --- trunk/openvas-compendium/ChangeLog 2008-08-04 08:42:11 UTC (rev 1099) +++ trunk/openvas-compendium/ChangeLog 2008-08-04 08:44:55 UTC (rev 1100) @@ -1,5 +1,13 @@ -2008-08-03 Jan-Oliver Wagner +2008-08-04 Jan-Oliver Wagner + Post-release version bump. + + * VERSION: Set to 0.2.0.SVN. + + * openvas-compedium.tex: Version set to 0.2.0.SVN. + +2008-08-04 Jan-Oliver Wagner + Doing the 0.1.0 release. * openvas-compendium.tex: Set version, fix a typo. Modified: trunk/openvas-compendium/VERSION =================================================================== --- trunk/openvas-compendium/VERSION 2008-08-04 08:42:11 UTC (rev 1099) +++ trunk/openvas-compendium/VERSION 2008-08-04 08:44:55 UTC (rev 1100) @@ -1 +1 @@ -0.1.0 +0.2.0.SVN Modified: trunk/openvas-compendium/openvas-compendium.tex =================================================================== --- trunk/openvas-compendium/openvas-compendium.tex 2008-08-04 08:42:11 UTC (rev 1099) +++ trunk/openvas-compendium/openvas-compendium.tex 2008-08-04 08:44:55 UTC (rev 1100) @@ -48,7 +48,7 @@ \usepackage{hyperref} -\newcommand{\compendiumversion}{0.1.0} +\newcommand{\compendiumversion}{0.2.0.SVN} \newcommand{\compendiumdate}{20080802} \newcommand{\compendiumauthor}[1]{\begin{small}(by {#1})\end{small}} \newcommand{\hyperurl}[1]{\htmlonly{\xml{p}\small From scm-commit at wald.intevation.org Mon Aug 4 10:57:08 2008 From: scm-commit at wald.intevation.org (scm-commit@wald.intevation.org) Date: Mon, 4 Aug 2008 10:57:08 +0200 (CEST) Subject: [Openvas-commits] r1101 - trunk/doc/website Message-ID: <20080804085708.71BA340700@pyrosoma.intevation.org> Author: jan Date: 2008-08-04 10:57:08 +0200 (Mon, 04 Aug 2008) New Revision: 1101 Modified: trunk/doc/website/template_header.m4 Log: Added OpenVAS Compendium to download box. Modified: trunk/doc/website/template_header.m4 =================================================================== --- trunk/doc/website/template_header.m4 2008-08-04 08:44:55 UTC (rev 1100) +++ trunk/doc/website/template_header.m4 2008-08-04 08:57:08 UTC (rev 1101) @@ -135,6 +135,11 @@ openvas-server 1.0.1
openvas-plugins 1.0.2

+ +

+ Documentation:
+ OpenVAS Compendium 0.1.0 +

From scm-commit at wald.intevation.org Mon Aug 4 11:16:50 2008 From: scm-commit at wald.intevation.org (scm-commit@wald.intevation.org) Date: Mon, 4 Aug 2008 11:16:50 +0200 (CEST) Subject: [Openvas-commits] r1102 - trunk/doc Message-ID: <20080804091650.27DF840730@pyrosoma.intevation.org> Author: jan Date: 2008-08-04 11:16:50 +0200 (Mon, 04 Aug 2008) New Revision: 1102 Removed: trunk/doc/openvas-compendium/ Log: Removing last elements of openvas-compendium which is now a main module of its own. From scm-commit at wald.intevation.org Wed Aug 6 11:41:14 2008 From: scm-commit at wald.intevation.org (scm-commit@wald.intevation.org) Date: Wed, 6 Aug 2008 11:41:14 +0200 (CEST) Subject: [Openvas-commits] r1103 - trunk/openvas-libnasl/nasl Message-ID: <20080806094114.7A0A24069B@pyrosoma.intevation.org> Author: chandra Date: 2008-08-06 11:41:14 +0200 (Wed, 06 Aug 2008) New Revision: 1103 Modified: trunk/openvas-libnasl/nasl/nasl_socket.c Log: Fixed an issue with UDP socket close in nasl_close_socket Modified: trunk/openvas-libnasl/nasl/nasl_socket.c =================================================================== --- trunk/openvas-libnasl/nasl/nasl_socket.c 2008-08-04 09:16:50 UTC (rev 1102) +++ trunk/openvas-libnasl/nasl/nasl_socket.c 2008-08-06 09:41:14 UTC (rev 1103) @@ -612,7 +612,7 @@ int e; soc = get_int_var_by_num(lexic, 0, -1); - if(soc <= 4) + if(soc < 4) { nasl_perror(lexic, "close(): invalid argument\n"); return NULL; From scm-commit at wald.intevation.org Wed Aug 6 12:13:15 2008 From: scm-commit at wald.intevation.org (scm-commit@wald.intevation.org) Date: Wed, 6 Aug 2008 12:13:15 +0200 (CEST) Subject: [Openvas-commits] r1104 - branches Message-ID: <20080806101315.4591D406B0@pyrosoma.intevation.org> Author: jan Date: 2008-08-06 12:13:15 +0200 (Wed, 06 Aug 2008) New Revision: 1104 Added: branches/openvas-client-1-0/ Log: Created 1-0 branch for openvas-client. Copied: branches/openvas-client-1-0 (from rev 1103, trunk/openvas-client) From scm-commit at wald.intevation.org Wed Aug 6 12:16:44 2008 From: scm-commit at wald.intevation.org (scm-commit@wald.intevation.org) Date: Wed, 6 Aug 2008 12:16:44 +0200 (CEST) Subject: [Openvas-commits] r1105 - branches/openvas-client-1-0 Message-ID: <20080806101644.5B905406B0@pyrosoma.intevation.org> Author: jan Date: 2008-08-06 12:16:44 +0200 (Wed, 06 Aug 2008) New Revision: 1105 Modified: branches/openvas-client-1-0/ChangeLog Log: Note on branch in ChangeLog. Modified: branches/openvas-client-1-0/ChangeLog =================================================================== --- branches/openvas-client-1-0/ChangeLog 2008-08-06 10:13:15 UTC (rev 1104) +++ branches/openvas-client-1-0/ChangeLog 2008-08-06 10:16:44 UTC (rev 1105) @@ -1,3 +1,9 @@ +2008-08-06 Jan-Oliver Wagner + + This module is branched for 1-0 stable development. + The present ChangeLog file only covers changes within this + branch. + 2008-07-31 Vlatko Kosturjak * po/hr.po: New. Initial Croatian translation of OpenVAS client. From scm-commit at wald.intevation.org Wed Aug 6 12:52:16 2008 From: scm-commit at wald.intevation.org (scm-commit@wald.intevation.org) Date: Wed, 6 Aug 2008 12:52:16 +0200 (CEST) Subject: [Openvas-commits] r1107 - trunk/doc/website Message-ID: <20080806105216.AE999406A7@pyrosoma.intevation.org> Author: jan Date: 2008-08-06 12:52:16 +0200 (Wed, 06 Aug 2008) New Revision: 1107 Modified: trunk/doc/website/openvas-client.htm4 trunk/doc/website/openvas-cr-14.htm4 Log: Notes on branched 1.0 development of openvas-client. Modified: trunk/doc/website/openvas-client.htm4 =================================================================== --- trunk/doc/website/openvas-client.htm4 2008-08-06 10:43:35 UTC (rev 1106) +++ trunk/doc/website/openvas-client.htm4 2008-08-06 10:52:16 UTC (rev 1107) @@ -270,19 +270,29 @@

Most current state of development (directly from the source code management system)

+After checking out the code, +change to the new directory and follow the instructions in the +README file. +

+ +

Stable 1.0 branch

+ +

You need subversion to retrieve the code:

-$ svn checkout https://svn.wald.intevation.org/svn/openvas/trunk/openvas-client +$ svn checkout https://svn.wald.intevation.org/svn/openvas/branches/openvas-client-1-0

+

Current state of development

+

-Change to the new directory and follow the instructions in the README file. + +$ svn checkout https://svn.wald.intevation.org/svn/openvas/trunk/openvas-client +

@@ -290,3 +300,4 @@ be aware that you are using a development state that may be incomplete and unstable and should not be used in production environments.

+ Modified: trunk/doc/website/openvas-cr-14.htm4 =================================================================== --- trunk/doc/website/openvas-cr-14.htm4 2008-08-06 10:43:35 UTC (rev 1106) +++ trunk/doc/website/openvas-cr-14.htm4 2008-08-06 10:52:16 UTC (rev 1107) @@ -28,7 +28,7 @@ PAGE_START

OpenVAS Change Request #14: OpenVAS-Client: Remove source code copy of gdchart and gd

-Status: Voted +5. +Status: Voted +5. gdchart and gd removed in SVN trunk.

Purpose

From scm-commit at wald.intevation.org Wed Aug 6 12:43:38 2008 From: scm-commit at wald.intevation.org (scm-commit@wald.intevation.org) Date: Wed, 6 Aug 2008 12:43:38 +0200 (CEST) Subject: [Openvas-commits] r1106 - in trunk/openvas-client: . include nessus Message-ID: <20080806104338.02FFC406A7@pyrosoma.intevation.org> Author: jan Date: 2008-08-06 12:43:35 +0200 (Wed, 06 Aug 2008) New Revision: 1106 Removed: trunk/openvas-client/nessus/gdchart0.94b/ Modified: trunk/openvas-client/ChangeLog trunk/openvas-client/MANIFEST trunk/openvas-client/configure trunk/openvas-client/configure.in trunk/openvas-client/include/config.h.in trunk/openvas-client/nessus.tmpl.in trunk/openvas-client/nessus/Makefile trunk/openvas-client/nessus/cli.c trunk/openvas-client/nessus/globals.h trunk/openvas-client/nessus/html_graph_output.c trunk/openvas-client/nessus/nessus.c trunk/openvas-client/nessus/report_save.c Log: Removing gd and gdchart according to OpenVAS Change Request #14: http://www.openvas.org/openvas-cr-14.html First part of patch. * configure.in: Added check for gdchart * nessus.tmpl.in: Add handling of GDC_LIB. * include/config.h.in: Add conditional HAVE_GDCHART. * nessus/Makefile: Removed any handling of gdchart modules. * nessus/html_graph_output.c: Added HAVE_GDCHART conditional and replaced direct includes by generic ones for gdchart. * nessus/cli.c (cli_args_output): Replaced _NO_PIES conditional by HAVE_GDCHART. * nessus/report_save.c (file_save_ok_callback, report_save_cb): Replaced _NO_PIES and _NOPIE conditionals by HAVE_GDCHART. * nessus/nessus.c (main): Added HAVE_GDCHART conditional. * nessus/globals.h: Removed already-commented-out definition of _NO_PIES. * gdchart0.94b/gdc_samp1.c, nessus/gdchart0.94b/NOTES-092b.txt, nessus/gdchart0.94b/gdc_samp2.c, nessus/gdchart0.94b/NOTES-093b.txt, nessus/gdchart0.94b/gdcpie.h, nessus/gdchart0.94b/NOTES-094b.txt, nessus/gdchart0.94b/gdc.h, nessus/gdchart0.94b/gdc_pie_samp.c, nessus/gdchart0.94b/gdchart.c, nessus/gdchart0.94b/gdchart.h, nessus/gdchart0.94b/samp.html, nessus/gdchart0.94b/price_conv.c, nessus/gdchart0.94b/W.gif, nessus/gdchart0.94b/gdc_pie.c, nessus/gdchart0.94b/README.txt, nessus/gdchart0.94b/gd1.3/demoin.gif, nessus/gdchart0.94b/gd1.3/gd.h, nessus/gdchart0.94b/gd1.3/gddemo.c, nessus/gdchart0.94b/gd1.3/gdfontmb.c, nessus/gdchart0.94b/gd1.3/gdfontl.h, nessus/gdchart0.94b/gd1.3/webgif.c, nessus/gdchart0.94b/gd1.3/gdfonts.c, nessus/gdchart0.94b/gd1.3/gdfontmb.h, nessus/gdchart0.94b/gd1.3/gdfontt.c, nessus/gdchart0.94b/gd1.3/gdfonts.h, nessus/gdchart0.94b/gd1.3/gdfontt.h, nessus/gdchart0.94b/gd1.3/giftogd.c, nessus/gdchart0.94b/gd1.3/mtables.c, nessus/gdchart0.94b/gd1.3/mathmake.c, nessus/gdchart0.94b/gd1.3/gdfontg.c, nessus/gdchart0.94b/gd1.3/index.html, nessus/gdchart0.94b/gd1.3/gd.c, nessus/gdchart0.94b/gd1.3/readme.txt, nessus/gdchart0.94b/gd1.3/Makefile, nessus/gdchart0.94b/gd1.3/gdfontl.c, nessus/gdchart0.94b/gd1.3/gdfontg.h, nessus/gdchart0.94b/makefile, nessus/gdchart0.94b/gdc.c: Removed. * nessus/gdchart0.94b/gd1.3: Removed empty directory. * nessus/gdchart0.94b: Removed empty directory. * MANIFEST: Updated. Modified: trunk/openvas-client/ChangeLog =================================================================== --- trunk/openvas-client/ChangeLog 2008-08-06 10:16:44 UTC (rev 1105) +++ trunk/openvas-client/ChangeLog 2008-08-06 10:43:35 UTC (rev 1106) @@ -1,3 +1,56 @@ +2008-08-06 Jan-Oliver Wagner + + Removing gd and gdchart according to OpenVAS Change Request #14: + http://www.openvas.org/openvas-cr-14.html + First part of patch. + + * configure.in: Added check for gdchart + + * nessus.tmpl.in: Add handling of GDC_LIB. + + * include/config.h.in: Add conditional HAVE_GDCHART. + + * nessus/Makefile: Removed any handling of gdchart modules. + + * nessus/html_graph_output.c: Added HAVE_GDCHART conditional and + replaced direct includes by generic ones for gdchart. + + * nessus/cli.c (cli_args_output): Replaced _NO_PIES conditional by + HAVE_GDCHART. + + * nessus/report_save.c (file_save_ok_callback, report_save_cb): + Replaced _NO_PIES and _NOPIE conditionals by HAVE_GDCHART. + + * nessus/nessus.c (main): Added HAVE_GDCHART conditional. + + * nessus/globals.h: Removed already-commented-out definition of _NO_PIES. + + * gdchart0.94b/gdc_samp1.c, nessus/gdchart0.94b/NOTES-092b.txt, + nessus/gdchart0.94b/gdc_samp2.c, nessus/gdchart0.94b/NOTES-093b.txt, + nessus/gdchart0.94b/gdcpie.h, nessus/gdchart0.94b/NOTES-094b.txt, + nessus/gdchart0.94b/gdc.h, nessus/gdchart0.94b/gdc_pie_samp.c, + nessus/gdchart0.94b/gdchart.c, nessus/gdchart0.94b/gdchart.h, + nessus/gdchart0.94b/samp.html, nessus/gdchart0.94b/price_conv.c, + nessus/gdchart0.94b/W.gif, nessus/gdchart0.94b/gdc_pie.c, + nessus/gdchart0.94b/README.txt, nessus/gdchart0.94b/gd1.3/demoin.gif, + nessus/gdchart0.94b/gd1.3/gd.h, nessus/gdchart0.94b/gd1.3/gddemo.c, + nessus/gdchart0.94b/gd1.3/gdfontmb.c, nessus/gdchart0.94b/gd1.3/gdfontl.h, + nessus/gdchart0.94b/gd1.3/webgif.c, nessus/gdchart0.94b/gd1.3/gdfonts.c, + nessus/gdchart0.94b/gd1.3/gdfontmb.h, nessus/gdchart0.94b/gd1.3/gdfontt.c, + nessus/gdchart0.94b/gd1.3/gdfonts.h, nessus/gdchart0.94b/gd1.3/gdfontt.h, + nessus/gdchart0.94b/gd1.3/giftogd.c, nessus/gdchart0.94b/gd1.3/mtables.c, + nessus/gdchart0.94b/gd1.3/mathmake.c, nessus/gdchart0.94b/gd1.3/gdfontg.c, + nessus/gdchart0.94b/gd1.3/index.html, nessus/gdchart0.94b/gd1.3/gd.c, + nessus/gdchart0.94b/gd1.3/readme.txt, nessus/gdchart0.94b/gd1.3/Makefile, + nessus/gdchart0.94b/gd1.3/gdfontl.c, nessus/gdchart0.94b/gd1.3/gdfontg.h, + nessus/gdchart0.94b/makefile, nessus/gdchart0.94b/gdc.c: Removed. + + * nessus/gdchart0.94b/gd1.3: Removed empty directory. + + * nessus/gdchart0.94b: Removed empty directory. + + * MANIFEST: Updated. + 2008-07-31 Vlatko Kosturjak * po/hr.po: New. Initial Croatian translation of OpenVAS client. Modified: trunk/openvas-client/MANIFEST =================================================================== --- trunk/openvas-client/MANIFEST 2008-08-06 10:16:44 UTC (rev 1105) +++ trunk/openvas-client/MANIFEST 2008-08-06 10:43:35 UTC (rev 1106) @@ -64,44 +64,6 @@ nessus/families.h nessus/filter.c nessus/filter.h -nessus/gdchart0.94b/gd1.3/demoin.gif -nessus/gdchart0.94b/gd1.3/gd.c -nessus/gdchart0.94b/gd1.3/gddemo.c -nessus/gdchart0.94b/gd1.3/gdfontg.c -nessus/gdchart0.94b/gd1.3/gdfontg.h -nessus/gdchart0.94b/gd1.3/gdfontl.c -nessus/gdchart0.94b/gd1.3/gdfontl.h -nessus/gdchart0.94b/gd1.3/gdfontmb.c -nessus/gdchart0.94b/gd1.3/gdfontmb.h -nessus/gdchart0.94b/gd1.3/gdfonts.c -nessus/gdchart0.94b/gd1.3/gdfonts.h -nessus/gdchart0.94b/gd1.3/gdfontt.c -nessus/gdchart0.94b/gd1.3/gdfontt.h -nessus/gdchart0.94b/gd1.3/gd.h -nessus/gdchart0.94b/gd1.3/giftogd.c -nessus/gdchart0.94b/gd1.3/index.html -nessus/gdchart0.94b/gd1.3/Makefile -nessus/gdchart0.94b/gd1.3/mathmake.c -nessus/gdchart0.94b/gd1.3/mtables.c -nessus/gdchart0.94b/gd1.3/readme.txt -nessus/gdchart0.94b/gd1.3/webgif.c -nessus/gdchart0.94b/gdc.c -nessus/gdchart0.94b/gdc.h -nessus/gdchart0.94b/gdchart.c -nessus/gdchart0.94b/gdchart.h -nessus/gdchart0.94b/gdc_pie.c -nessus/gdchart0.94b/gdcpie.h -nessus/gdchart0.94b/gdc_pie_samp.c -nessus/gdchart0.94b/gdc_samp1.c -nessus/gdchart0.94b/gdc_samp2.c -nessus/gdchart0.94b/makefile -nessus/gdchart0.94b/NOTES-092b.txt -nessus/gdchart0.94b/NOTES-093b.txt -nessus/gdchart0.94b/NOTES-094b.txt -nessus/gdchart0.94b/price_conv.c -nessus/gdchart0.94b/README.txt -nessus/gdchart0.94b/samp.html -nessus/gdchart0.94b/W.gif nessus/globals.h nessus/globals.w32 nessus/gtk-compat.h Modified: trunk/openvas-client/configure =================================================================== --- trunk/openvas-client/configure 2008-08-06 10:16:44 UTC (rev 1105) +++ trunk/openvas-client/configure 2008-08-06 10:43:35 UTC (rev 1106) @@ -1,37 +1,746 @@ #! /bin/sh - +# From configure.in Revision: 1.9 . # Guess values for system-dependent variables and create Makefiles. -# Generated automatically using autoconf version 2.13 -# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. +# Generated by GNU Autoconf 2.61. # +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## -# Defaults: -ac_help= +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + + + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# CDPATH. +$as_unset CDPATH + + +if test "x$CONFIG_SHELL" = x; then + if (eval ":") 2>/dev/null; then + as_have_required=yes +else + as_have_required=no +fi + + if test $as_have_required = yes && (eval ": +(as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=\$LINENO + as_lineno_2=\$LINENO + test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && + test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } +") 2> /dev/null; then + : +else + as_candidate_shells= + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + case $as_dir in + /*) + for as_base in sh bash ksh sh5; do + as_candidate_shells="$as_candidate_shells $as_dir/$as_base" + done;; + esac +done +IFS=$as_save_IFS + + + for as_shell in $as_candidate_shells $SHELL; do + # Try only shells that exist, to save several forks. + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { ("$as_shell") 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +_ASEOF +}; then + CONFIG_SHELL=$as_shell + as_have_required=yes + if { "$as_shell" 2> /dev/null <<\_ASEOF +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac + +fi + + +: +(as_func_return () { + (exit $1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = "$1" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test $exitcode = 0) || { (exit 1); exit 1; } + +( + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } + +_ASEOF +}; then + break +fi + +fi + + done + + if test "x$CONFIG_SHELL" != x; then + for as_var in BASH_ENV ENV + do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var + done + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} +fi + + + if test $as_have_required = no; then + echo This script requires a shell more modern than all the + echo shells that I found on your system. Please install a + echo modern shell, or manually run the script under such a + echo shell if you do have one. + { (exit 1); exit 1; } +fi + + +fi + +fi + + + +(eval "as_func_return () { + (exit \$1) +} +as_func_success () { + as_func_return 0 +} +as_func_failure () { + as_func_return 1 +} +as_func_ret_success () { + return 0 +} +as_func_ret_failure () { + return 1 +} + +exitcode=0 +if as_func_success; then + : +else + exitcode=1 + echo as_func_success failed. +fi + +if as_func_failure; then + exitcode=1 + echo as_func_failure succeeded. +fi + +if as_func_ret_success; then + : +else + exitcode=1 + echo as_func_ret_success failed. +fi + +if as_func_ret_failure; then + exitcode=1 + echo as_func_ret_failure succeeded. +fi + +if ( set x; as_func_ret_success y && test x = \"\$1\" ); then + : +else + exitcode=1 + echo positional parameters were not saved. +fi + +test \$exitcode = 0") || { + echo No shell found that supports shell functions. + echo Please tell autoconf at gnu.org about your system, + echo including any error possibly output before this + echo message +} + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + + +exec 7<&0 &1 + +# Name of the host. +# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# ac_default_prefix=/usr/local -# Any additions from configure.in: +ac_clean_files= +ac_config_libobj_dir=. +LIBOBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} + +# Identity of this package. +PACKAGE_NAME= +PACKAGE_TARNAME= +PACKAGE_VERSION= +PACKAGE_STRING= +PACKAGE_BUGREPORT= + +ac_unique_file=".root-dir" ac_default_prefix="/usr/local" -ac_help="$ac_help - --enable-release set the compiler flags to -O6" -ac_help="$ac_help - --enable-debug set the compiler flags to -g" -ac_help="$ac_help - --enable-gtk build with GTK" -ac_help="$ac_help - --with-ssl=[DIR] enable SSL support using libraries in DIR" -ac_help="$ac_help - --with-x use the X Window System" +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#ifdef HAVE_SYS_TYPES_H +# include +#endif +#ifdef HAVE_SYS_STAT_H +# include +#endif +#ifdef STDC_HEADERS +# include +# include +#else +# ifdef HAVE_STDLIB_H +# include +# endif +#endif +#ifdef HAVE_STRING_H +# if !defined STDC_HEADERS && defined HAVE_MEMORY_H +# include +# endif +# include +#endif +#ifdef HAVE_STRINGS_H +# include +#endif +#ifdef HAVE_INTTYPES_H +# include +#endif +#ifdef HAVE_STDINT_H +# include +#endif +#ifdef HAVE_UNISTD_H +# include +#endif" +ac_subst_vars='SHELL +PATH_SEPARATOR +PACKAGE_NAME +PACKAGE_TARNAME +PACKAGE_VERSION +PACKAGE_STRING +PACKAGE_BUGREPORT +exec_prefix +prefix +program_transform_name +bindir +sbindir +libexecdir +datarootdir +datadir +sysconfdir +sharedstatedir +localstatedir +includedir +oldincludedir +docdir +infodir +htmldir +dvidir +pdfdir +psdir +libdir +localedir +mandir +DEFS +ECHO_C +ECHO_N +ECHO_T +LIBS +build_alias +host_alias +target_alias +build +build_cpu +build_vendor +build_os +host +host_cpu +host_vendor +host_os +CC +CFLAGS +LDFLAGS +CPPFLAGS +ac_ct_CC +EXEEXT +OBJEXT +SET_MAKE +INSTALL_PROGRAM +INSTALL_SCRIPT +INSTALL_DATA +CPP +GREP +EGREP +PKG_CONFIG +GLIB_CFLAGS +GLIB_LIBS +ALLOCA +XMKMF +X_CFLAGS +X_PRE_LIBS +X_LIBS +X_EXTRA_LIBS +GTKCONFIG_CFLAGS +GTKCONFIG_LIBS +AR +PWD +PWDD +CWALL +GTK_VERSION +NESSUS_MAJOR +NESSUS_MINOR +NESSUS_PATCH +NESSUS_RC +NESSUS_DATE +NESS_COMPILER +NESS_OS_NAME +NESS_OS_VERSION +INSTALL_DIR +INSTALL +RUN_LIBS +resolv_lib +socket_lib +nsl_lib +ssl_lib +gtk_flags +debug_flags +nessus_lib +man_nessus_1 +dl_lib +gdc_lib +client +client_install +ac_configure_args +ssl +sslcflags +installuser +gettext_flags +LIBOBJS +LTLIBOBJS' +ac_subst_files='' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS +CPP +XMKMF' + + # Initialize some variables set by options. +ac_init_help= +ac_init_version=false # The variables have the same names as the options, with # dashes changed to underlines. -build=NONE -cache_file=./config.cache +cache_file=/dev/null exec_prefix=NONE -host=NONE no_create= -nonopt=NONE no_recursion= prefix=NONE program_prefix=NONE @@ -40,94 +749,117 @@ silent= site= srcdir= -target=NONE verbose= x_includes=NONE x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' -datadir='${prefix}/share' +datarootdir='${prefix}/share' +datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' -libdir='${exec_prefix}/lib' includedir='${prefix}/include' oldincludedir='/usr/include' -infodir='${prefix}/info' -mandir='${prefix}/man' +docdir='${datarootdir}/doc/${PACKAGE}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' -# Initialize some other variables. -subdirs= -MFLAGS= MAKEFLAGS= -SHELL=${CONFIG_SHELL-/bin/sh} -# Maximum number of lines to put in a shell here document. -ac_max_here_lines=12 - ac_prev= +ac_dashdash= for ac_option do - # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then - eval "$ac_prev=\$ac_option" + eval $ac_prev=\$ac_option ac_prev= continue fi - case "$ac_option" in - -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; - *) ac_optarg= ;; + case $ac_option in + *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. - case "$ac_option" in + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir="$ac_optarg" ;; + bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) - ac_prev=build ;; + ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build="$ac_optarg" ;; + build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file="$ac_optarg" ;; + cache_file=$ac_optarg ;; - -datadir | --datadir | --datadi | --datad | --data | --dat | --da) + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ - | --da=*) - datadir="$ac_optarg" ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + -disable-* | --disable-*) - ac_feature=`echo $ac_option|sed -e 's/-*disable-//'` + ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. - if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then - { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } - fi - ac_feature=`echo $ac_feature| sed 's/-/_/g'` - eval "enable_${ac_feature}=no" ;; + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=no ;; + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; + -enable-* | --enable-*) - ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'` + ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. - if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then - { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } - fi - ac_feature=`echo $ac_feature| sed 's/-/_/g'` - case "$ac_option" in - *=*) ;; - *) ac_optarg=yes ;; - esac - eval "enable_${ac_feature}='$ac_optarg'" ;; + expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` + eval enable_$ac_feature=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ @@ -136,116 +868,77 @@ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) - exec_prefix="$ac_optarg" ;; + exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; - -help | --help | --hel | --he) - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat << EOF -Usage: configure [options] [host] -Options: [defaults in brackets after descriptions] -Configuration: - --cache-file=FILE cache test results in FILE - --help print this message - --no-create do not create output files - --quiet, --silent do not print \`checking...' messages - --version print the version of autoconf that created configure -Directory and file names: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [same as prefix] - --bindir=DIR user executables in DIR [EPREFIX/bin] - --sbindir=DIR system admin executables in DIR [EPREFIX/sbin] - --libexecdir=DIR program executables in DIR [EPREFIX/libexec] - --datadir=DIR read-only architecture-independent data in DIR - [PREFIX/share] - --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data in DIR - [PREFIX/com] - --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var] - --libdir=DIR object code libraries in DIR [EPREFIX/lib] - --includedir=DIR C header files in DIR [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include] - --infodir=DIR info documentation in DIR [PREFIX/info] - --mandir=DIR man documentation in DIR [PREFIX/man] - --srcdir=DIR find the sources in DIR [configure dir or ..] - --program-prefix=PREFIX prepend PREFIX to installed program names - --program-suffix=SUFFIX append SUFFIX to installed program names - --program-transform-name=PROGRAM - run sed PROGRAM on installed program names -EOF - cat << EOF -Host type: - --build=BUILD configure for building on BUILD [BUILD=HOST] - --host=HOST configure for HOST [guessed] - --target=TARGET configure for TARGET [TARGET=HOST] -Features and packages: - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --x-includes=DIR X include files are in DIR - --x-libraries=DIR X library files are in DIR -EOF - if test -n "$ac_help"; then - echo "--enable and --with options recognized:$ac_help" - fi - exit 0 ;; + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; -host | --host | --hos | --ho) - ac_prev=host ;; + ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) - host="$ac_optarg" ;; + host_alias=$ac_optarg ;; + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir="$ac_optarg" ;; + includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir="$ac_optarg" ;; + infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir="$ac_optarg" ;; + libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) - libexecdir="$ac_optarg" ;; + libexecdir=$ac_optarg ;; + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst \ - | --locals | --local | --loca | --loc | --lo) + | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* \ - | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) - localstatedir="$ac_optarg" ;; + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir="$ac_optarg" ;; + mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) + | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ @@ -259,26 +952,26 @@ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir="$ac_optarg" ;; + oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix="$ac_optarg" ;; + prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix="$ac_optarg" ;; + program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix="$ac_optarg" ;; + program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ @@ -295,8 +988,18 @@ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name="$ac_optarg" ;; + program_transform_name=$ac_optarg ;; + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; @@ -305,7 +1008,7 @@ ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) - sbindir="$ac_optarg" ;; + sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ @@ -316,58 +1019,53 @@ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) - sharedstatedir="$ac_optarg" ;; + sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) - site="$ac_optarg" ;; + site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir="$ac_optarg" ;; + srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir="$ac_optarg" ;; + sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target ;; + ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target="$ac_optarg" ;; + target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; - -version | --version | --versio | --versi | --vers) - echo "configure generated by autoconf version 2.13" - exit 0 ;; + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; -with-* | --with-*) - ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'` + ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. - if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then - { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } - fi - ac_package=`echo $ac_package| sed 's/-/_/g'` - case "$ac_option" in - *=*) ;; - *) ac_optarg=yes ;; - esac - eval "with_${ac_package}='$ac_optarg'" ;; + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=\$ac_optarg ;; -without-* | --without-*) - ac_package=`echo $ac_option|sed -e 's/-*without-//'` + ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. - if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then - { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } - fi - ac_package=`echo $ac_package| sed 's/-/_/g'` - eval "with_${ac_package}=no" ;; + expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/[-.]/_/g'` + eval with_$ac_package=no ;; --x) # Obsolete; use --with-x. @@ -378,436 +1076,1603 @@ ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes="$ac_optarg" ;; + x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries="$ac_optarg" ;; + x_libraries=$ac_optarg ;; - -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; } + -*) { echo "$as_me: error: unrecognized option: $ac_option +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } ;; + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + *) - if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then - echo "configure: warning: $ac_option: invalid host type" 1>&2 - fi - if test "x$nonopt" != xNONE; then - { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } - fi - nonopt="$ac_option" + # FIXME: should be removed in autoconf 3.0. + echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ;; esac done if test -n "$ac_prev"; then - { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; } + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + { echo "$as_me: error: missing argument to $ac_option" >&2 + { (exit 1); exit 1; }; } fi -trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 +# Be sure to have absolute directory names. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir +do + eval ac_val=\$$ac_var + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; } +done -# File descriptor usage: -# 0 standard input -# 1 file creation -# 2 errors and warnings -# 3 some systems may open it to /dev/tty -# 4 used on the Kubota Titan -# 6 checking for... messages and results -# 5 compiler messages saved in config.log -if test "$silent" = yes; then - exec 6>/dev/null -else - exec 6>&1 +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used." >&2 + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi fi -exec 5>./config.log -echo "\ -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. -" 1>&5 +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- -# Strip out --no-create and --no-recursion so they do not pile up. -# Also quote any args containing shell metacharacters. -ac_configure_args= -for ac_arg -do - case "$ac_arg" in - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c) ;; - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) - ac_configure_args="$ac_configure_args '$ac_arg'" ;; - *) ac_configure_args="$ac_configure_args $ac_arg" ;; - esac -done +test "$silent" = yes && exec 6>/dev/null -# NLS nuisances. -# Only set these to C if already set. These must not be set unconditionally -# because not all systems understand e.g. LANG=C (notably SCO). -# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'! -# Non-C LC_CTYPE values break the ctype check. -if test "${LANG+set}" = set; then LANG=C; export LANG; fi -if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi -if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi -if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -rf conftest* confdefs.h -# AIX cpp loses on an empty file, so make sure it contains at least a newline. -echo > confdefs.h +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + { echo "$as_me: error: Working directory cannot be determined" >&2 + { (exit 1); exit 1; }; } +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + { echo "$as_me: error: pwd does not report name of working directory" >&2 + { (exit 1); exit 1; }; } -# A filename unique to this package, relative to the directory that -# configure is in, which we can look for to find out if srcdir is correct. -ac_unique_file=.root-dir # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes - # Try the directory containing this script, then its parent. - ac_prog=$0 - ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'` - test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$0" || +$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$0" : 'X\(//\)[^/]' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X"$0" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` srcdir=$ac_confdir - if test ! -r $srcdir/$ac_unique_file; then + if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi -if test ! -r $srcdir/$ac_unique_file; then - if test "$ac_srcdir_defaulted" = yes; then - { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; } - else - { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; } - fi +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } fi -srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'` +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 + { (exit 1); exit 1; }; } + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures this package to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF + +X features: + --x-includes=DIR X include files are in DIR + --x-libraries=DIR X library files are in DIR + +System types: + --build=BUILD configure for building on BUILD [guessed] + --host=HOST cross-compile to build programs to run on HOST [BUILD] +_ACEOF +fi + +if test -n "$ac_init_help"; then + + cat <<\_ACEOF + +Optional Features: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --enable-release set the compiler flags to -O6 + --enable-debug set the compiler flags to -g + --enable-gtk build with GTK + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-ssl=DIR enable SSL support using libraries in DIR + --with-x use the X Window System + +Some influential environment variables: + CC C compiler command + CFLAGS C compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + CPP C preprocessor + XMKMF Path to xmkmf, Makefile generator for X Window System + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else + echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +configure +generated by GNU Autoconf 2.61 + +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit +fi +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by $as_me, which was +generated by GNU Autoconf 2.61. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + echo "PATH: $as_dir" +done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; + 2) + ac_configure_args1="$ac_configure_args1 '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + ac_configure_args="$ac_configure_args '$ac_arg'" + ;; + esac + done +done +$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } +$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + cat <<\_ASBOX +## ---------------- ## +## Cache variables. ## +## ---------------- ## +_ASBOX + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + cat <<\_ASBOX +## ----------------- ## +## Output variables. ## +## ----------------- ## +_ASBOX + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + cat <<\_ASBOX +## ------------------- ## +## File substitutions. ## +## ------------------- ## +_ASBOX + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + cat <<\_ASBOX +## ----------- ## +## confdefs.h. ## +## ----------- ## +_ASBOX + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + echo "$as_me: caught signal $ac_signal" + echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. # Prefer explicitly selected file to automatically selected ones. -if test -z "$CONFIG_SITE"; then - if test "x$prefix" != xNONE; then - CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" - else - CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" - fi +if test -n "$CONFIG_SITE"; then + set x "$CONFIG_SITE" +elif test "x$prefix" != xNONE; then + set x "$prefix/share/config.site" "$prefix/etc/config.site" +else + set x "$ac_default_prefix/share/config.site" \ + "$ac_default_prefix/etc/config.site" fi -for ac_site_file in $CONFIG_SITE; do +shift +for ac_site_file +do if test -r "$ac_site_file"; then - echo "loading site script $ac_site_file" + { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 +echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" fi done if test -r "$cache_file"; then - echo "loading cache $cache_file" - . $cache_file + # Some versions of bash will fail to source /dev/null (special + # files actually), so we avoid doing that. + if test -f "$cache_file"; then + { echo "$as_me:$LINENO: loading cache $cache_file" >&5 +echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi else - echo "creating cache $cache_file" - > $cache_file + { echo "$as_me:$LINENO: creating cache $cache_file" >&5 +echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file fi +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 +echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 +echo "$as_me: former value: $ac_old_val" >&2;} + { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 +echo "$as_me: current value: $ac_new_val" >&2;} + ac_cache_corrupted=: + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 +echo "$as_me: error: changes in the environment can compromise the build" >&2;} + { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 +echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} + { (exit 1); exit 1; }; } +fi + + + + + + + + + + + + + + + + + ac_ext=c -# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. ac_cpp='$CPP $CPPFLAGS' -ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' -cross_compiling=$ac_cv_prog_cc_cross +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu -ac_exeext= -ac_objext=o -if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then - # Stardent Vistra SVR4 grep lacks -e, says ghazi at caip.rutgers.edu. - if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then - ac_n= ac_c=' -' ac_t=' ' - else - ac_n=-n ac_c= ac_t= - fi -else - ac_n= ac_c='\c' ac_t= -fi -# From configure.in Revision: 1.9 save_IFS="${IFS}" IFS=. read NESSUS_MAJOR NESSUS_MINOR NESSUS_PATCH NESSUS_RC /dev/null || -{ echo "configure: error: *** Panic: Corrupt version file" 1>&2; exit 1; } +{ { echo "$as_me:$LINENO: error: *** Panic: Corrupt version file" >&5 +echo "$as_me: error: *** Panic: Corrupt version file" >&2;} + { (exit 1); exit 1; }; } test "x$prefix" != "xNONE" || prefix=/usr/local +ac_config_headers="$ac_config_headers include/config.h" ac_aux_dir= -for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do - if test -f $ac_dir/install-sh; then +for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do + if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break - elif test -f $ac_dir/install.sh; then + elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break + elif test -f "$ac_dir/shtool"; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break fi done if test -z "$ac_aux_dir"; then - { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; } + { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5 +echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;} + { (exit 1); exit 1; }; } fi -ac_config_guess=$ac_aux_dir/config.guess -ac_config_sub=$ac_aux_dir/config.sub -ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. +# These three variables are undocumented and unsupported, +# and are intended to be withdrawn in a future Autoconf release. +# They can cause serious problems if a builder's source tree is in a directory +# whose full name contains unusual characters. +ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. +ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. +ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. + # Make sure we can run config.sub. -if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then : -else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; } +$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || + { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 +echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} + { (exit 1); exit 1; }; } + +{ echo "$as_me:$LINENO: checking build system type" >&5 +echo $ECHO_N "checking build system type... $ECHO_C" >&6; } +if test "${ac_cv_build+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_build_alias=$build_alias +test "x$ac_build_alias" = x && + ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` +test "x$ac_build_alias" = x && + { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 +echo "$as_me: error: cannot guess build type; you must specify one" >&2;} + { (exit 1); exit 1; }; } +ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} + { (exit 1); exit 1; }; } + fi +{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5 +echo "${ECHO_T}$ac_cv_build" >&6; } +case $ac_cv_build in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 +echo "$as_me: error: invalid value of canonical build" >&2;} + { (exit 1); exit 1; }; };; +esac +build=$ac_cv_build +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_build +shift +build_cpu=$1 +build_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +build_os=$* +IFS=$ac_save_IFS +case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac -echo $ac_n "checking host system type""... $ac_c" 1>&6 -echo "configure:576: checking host system type" >&5 -host_alias=$host -case "$host_alias" in -NONE) - case $nonopt in - NONE) - if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then : - else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; } - fi ;; - *) host_alias=$nonopt ;; - esac ;; +{ echo "$as_me:$LINENO: checking host system type" >&5 +echo $ECHO_N "checking host system type... $ECHO_C" >&6; } +if test "${ac_cv_host+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "x$host_alias" = x; then + ac_cv_host=$ac_cv_build +else + ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || + { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 +echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} + { (exit 1); exit 1; }; } +fi + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5 +echo "${ECHO_T}$ac_cv_host" >&6; } +case $ac_cv_host in +*-*-*) ;; +*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 +echo "$as_me: error: invalid value of canonical host" >&2;} + { (exit 1); exit 1; }; };; esac +host=$ac_cv_host +ac_save_IFS=$IFS; IFS='-' +set x $ac_cv_host +shift +host_cpu=$1 +host_vendor=$2 +shift; shift +# Remember, the first character of IFS is used to create $*, +# except with old shells: +host_os=$* +IFS=$ac_save_IFS +case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac -host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias` -host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` -echo "$ac_t""$host" 1>&6 ac_ext=c -# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. ac_cpp='$CPP $CPPFLAGS' -ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' -cross_compiling=$ac_cv_prog_cc_cross +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu -# Extract the first word of "gcc", so it can be a program name with args. +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:607: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="gcc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf at gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf at gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_prog_CC="gcc" - break - fi - done - IFS="$ac_save_ifs" +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + fi fi -CC="$ac_cv_prog_CC" +CC=$ac_cv_prog_CC if test -n "$CC"; then - echo "$ac_t""$CC" 1>&6 + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } else - echo "$ac_t""no" 1>&6 + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi + + fi +fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:637: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_prog_rejected=no - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - break - fi - done - IFS="$ac_save_ifs" +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift - if test $# -gt 0; then + if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift - set dummy "$ac_dir/$ac_word" "$@" - shift - ac_cv_prog_CC="$@" + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi -CC="$ac_cv_prog_CC" +CC=$ac_cv_prog_CC if test -n "$CC"; then - echo "$ac_t""$CC" 1>&6 + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } else - echo "$ac_t""no" 1>&6 + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi - if test -z "$CC"; then - case "`uname -s`" in - *win32* | *WIN32*) - # Extract the first word of "cl", so it can be a program name with args. -set dummy cl; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:688: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_prog_CC="cl" - break - fi - done - IFS="$ac_save_ifs" +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + fi fi -CC="$ac_cv_prog_CC" +CC=$ac_cv_prog_CC if test -n "$CC"; then - echo "$ac_t""$CC" 1>&6 + { echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6; } else - echo "$ac_t""no" 1>&6 + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi - ;; - esac + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 fi - test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; } +done +done +IFS=$as_save_IFS + fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6; } +else + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } +fi -echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:720: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 -ac_ext=c -# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. -ac_cpp='$CPP $CPPFLAGS' -ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' -cross_compiling=$ac_cv_prog_cc_cross + test -n "$ac_ct_CC" && break +done -cat > conftest.$ac_ext << EOF + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf at gnu.org." >&5 +echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools +whose name does not start with the host triplet. If you think this +configuration is useful to you, please write to autoconf at gnu.org." >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi -#line 731 "configure" -#include "confdefs.h" +fi -main(){return(0);} -EOF -if { (eval echo configure:736: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - ac_cv_prog_cc_works=yes - # If we can't run a trivial program, we are probably using a cross compiler. - if (./conftest; exit) 2>/dev/null; then - ac_cv_prog_cc_cross=no + +test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + +# Provide some information about the compiler. +echo "$as_me:$LINENO: checking for C compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (ac_try="$ac_compiler --version >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler --version >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -v >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -v >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (ac_try="$ac_compiler -V >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compiler -V >&5") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 +echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; } +ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` +# +# List of possible output files, starting from the most likely. +# The algorithm is not robust to junk in `.', hence go to wildcards (a.*) +# only as a last resort. b.out is created by i960 compilers. +ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' +# +# The IRIX 6 linker writes into existing files which may not be +# executable, retaining their permissions. Remove them first so a +# subsequent execution test works. +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { (ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else + ac_file='' +fi + +{ echo "$as_me:$LINENO: result: $ac_file" >&5 +echo "${ECHO_T}$ac_file" >&6; } +if test -z "$ac_file"; then + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: C compiler cannot create executables +See \`config.log' for more details." >&5 +echo "$as_me: error: C compiler cannot create executables +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } +fi + +ac_exeext=$ac_cv_exeext + +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether the C compiler works" >&5 +echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; } +# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 +# If not cross compiling, check that we can run a simple program. +if test "$cross_compiling" != yes; then + if { ac_try='./$ac_file' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + cross_compiling=no else - ac_cv_prog_cc_cross=yes + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { echo "$as_me:$LINENO: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + fi fi +fi +{ echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + +rm -f a.out a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 +echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } +{ echo "$as_me:$LINENO: result: $cross_compiling" >&5 +echo "${ECHO_T}$cross_compiling" >&6; } + +{ echo "$as_me:$LINENO: checking for suffix of executables" >&5 +echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - ac_cv_prog_cc_works=no + { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } fi -rm -fr conftest* -ac_ext=c -# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. -ac_cpp='$CPP $CPPFLAGS' -ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' -ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' -cross_compiling=$ac_cv_prog_cc_cross -echo "$ac_t""$ac_cv_prog_cc_works" 1>&6 -if test $ac_cv_prog_cc_works = no; then - { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } +rm -f conftest$ac_cv_exeext +{ echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +echo "${ECHO_T}$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +{ echo "$as_me:$LINENO: checking for suffix of object files" >&5 +echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } +if test "${ac_cv_objext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } fi -echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:762: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 -echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 -cross_compiling=$ac_cv_prog_cc_cross -echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 -echo "configure:767: checking whether we are using GNU C" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +echo "${ECHO_T}$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } +if test "${ac_cv_c_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat > conftest.c <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me #endif -EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:776: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then - ac_cv_prog_gcc=yes + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_compiler_gnu=yes else - ac_cv_prog_gcc=no + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_compiler_gnu=no fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } +GCC=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -echo "$ac_t""$ac_cv_prog_gcc" 1>&6 +int +main () +{ -if test $ac_cv_prog_gcc = yes; then - GCC=yes + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_g=yes else - GCC= -fi + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 -ac_test_CFLAGS="${CFLAGS+set}" -ac_save_CFLAGS="$CFLAGS" -CFLAGS= -echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:795: checking whether ${CC-cc} accepts -g" >&5 -if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 + CFLAGS="" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + : else - echo 'void f(){}' > conftest.c -if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_cv_prog_cc_g=yes else - ac_cv_prog_cc_g=no + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + fi -rm -f conftest* +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -echo "$ac_t""$ac_cv_prog_cc_g" 1>&6 +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then - CFLAGS="$ac_save_CFLAGS" + CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" @@ -821,31 +2686,154 @@ CFLAGS= fi fi +{ echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 +echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } +if test "${ac_cv_prog_cc_c89+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} -echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 -echo "configure:827: checking whether ${MAKE-make} sets \${MAKE}" >&5 -set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_prog_cc_c89=$ac_arg else - cat > conftestmake <<\EOF + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6; } ;; + xno) + { echo "$as_me:$LINENO: result: unsupported" >&5 +echo "${ECHO_T}unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; +esac + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 +echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } +set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` +if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.make <<\_ACEOF +SHELL = /bin/sh all: - @echo 'ac_maketemp="${MAKE}"' -EOF + @echo '@@@%%%=$(MAKE)=@@@%%%' +_ACEOF # GNU make sometimes prints "make[1]: Entering...", which would confuse us. -eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=` -if test -n "$ac_maketemp"; then - eval ac_cv_prog_make_${ac_make}_set=yes -else - eval ac_cv_prog_make_${ac_make}_set=no +case `${MAKE-make} -f conftest.make 2>/dev/null` in + *@@@%%%=?*=@@@%%%*) + eval ac_cv_prog_make_${ac_make}_set=yes;; + *) + eval ac_cv_prog_make_${ac_make}_set=no;; +esac +rm -f conftest.make fi -rm -f conftestmake -fi -if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then - echo "$ac_t""yes" 1>&6 +if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } SET_MAKE= else - echo "$ac_t""no" 1>&6 + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi @@ -856,60 +2844,76 @@ # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. -echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 -echo "configure:865: checking for a BSD compatible install" >&5 +{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } if test -z "$INSTALL"; then -if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +if test "${ac_cv_path_install+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":" - for ac_dir in $PATH; do - # Account for people who put trailing slashes in PATH elements. - case "$ac_dir/" in - /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - if test -f $ac_dir/$ac_prog; then + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in + ./ | .// | /cC/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then if test $ac_prog = install && - grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : else - ac_cv_path_install="$ac_dir/$ac_prog -c" - break 2 + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 fi fi done - ;; - esac - done - IFS="$ac_save_IFS" + done + ;; +esac +done +IFS=$as_save_IFS + fi if test "${ac_cv_path_install+set}" = set; then - INSTALL="$ac_cv_path_install" + INSTALL=$ac_cv_path_install else - # As a last resort, use the slow shell script. We don't cache a - # path for INSTALL within a source directory, because that will + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is - # removed, or if the path is relative. - INSTALL="$ac_install_sh" + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh fi fi -echo "$ac_t""$INSTALL" 1>&6 +{ echo "$as_me:$LINENO: result: $INSTALL" >&5 +echo "${ECHO_T}$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}' +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' @@ -925,30 +2929,27 @@ nessus_lib=-lnessus XPATH="$DESTDIR$prefix/bin:$PATH" - -# Check whether --enable-release or --disable-release was given. + +# Check whether --enable-release was given. if test "${enable_release+set}" = set; then - enableval="$enable_release" - CFLAGS="-O6" + enableval=$enable_release; CFLAGS="-O6" fi -# Check whether --enable-debug or --disable-debug was given. +# Check whether --enable-debug was given. if test "${enable_debug+set}" = set; then - enableval="$enable_debug" - + enableval=$enable_debug; CFLAGS="-g"; debug_flags="-DDEBUG" fi -# Check whether --enable-gtk or --disable-gtk was given. +# Check whether --enable-gtk was given. if test "${enable_gtk+set}" = set; then - enableval="$enable_gtk" - test "$enable_gtk" = "yes" && gtk_flags="-DUSE_GTK" && cat >> confdefs.h <<\EOF + enableval=$enable_gtk; test "$enable_gtk" = "yes" && gtk_flags="-DUSE_GTK" && cat >>confdefs.h <<\_ACEOF #define USE_GTK 1 -EOF +_ACEOF fi @@ -958,54 +2959,838 @@ ### use option --with-ssl to compile in the SSL support ssl="" sslcflags="" -# Check whether --with-ssl or --without-ssl was given. + +# Check whether --with-ssl was given. if test "${with_ssl+set}" = set; then - withval="$with_ssl" - with_ssl=$withval + withval=$with_ssl; with_ssl=$withval fi +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if test "${ac_cv_prog_CPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ echo "$as_me:$LINENO: result: $CPP" >&5 +echo "${ECHO_T}$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi + +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi + +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +{ echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 +echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Extract the first word of "grep ggrep" to use in msg output +if test -z "$GREP"; then +set dummy grep ggrep; ac_prog_name=$2 +if test "${ac_cv_path_GREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_GREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in grep ggrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue + # Check for GNU ac_path_GREP and select it if it is found. + # Check for GNU $ac_path_GREP +case `"$ac_path_GREP" --version 2>&1` in +*GNU*) + ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'GREP' >> "conftest.nl" + "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_GREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_GREP="$ac_path_GREP" + ac_path_GREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_GREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +GREP="$ac_cv_path_GREP" +if test -z "$GREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_GREP=$GREP +fi + + +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 +echo "${ECHO_T}$ac_cv_path_GREP" >&6; } + GREP="$ac_cv_path_GREP" + + +{ echo "$as_me:$LINENO: checking for egrep" >&5 +echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 + then ac_cv_path_EGREP="$GREP -E" + else + # Extract the first word of "egrep" to use in msg output +if test -z "$EGREP"; then +set dummy egrep; ac_prog_name=$2 +if test "${ac_cv_path_EGREP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_path_EGREP_found=false +# Loop through the user's path and test for each of PROGNAME-LIST +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_prog in egrep; do + for ac_exec_ext in '' $ac_executable_extensions; do + ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" + { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue + # Check for GNU ac_path_EGREP and select it if it is found. + # Check for GNU $ac_path_EGREP +case `"$ac_path_EGREP" --version 2>&1` in +*GNU*) + ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; +*) + ac_count=0 + echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" + while : + do + cat "conftest.in" "conftest.in" >"conftest.tmp" + mv "conftest.tmp" "conftest.in" + cp "conftest.in" "conftest.nl" + echo 'EGREP' >> "conftest.nl" + "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break + diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break + ac_count=`expr $ac_count + 1` + if test $ac_count -gt ${ac_path_EGREP_max-0}; then + # Best one so far, save it but keep looking for a better one + ac_cv_path_EGREP="$ac_path_EGREP" + ac_path_EGREP_max=$ac_count + fi + # 10*(2^10) chars as input seems more than enough + test $ac_count -gt 10 && break + done + rm -f conftest.in conftest.tmp conftest.nl conftest.out;; +esac + + + $ac_path_EGREP_found && break 3 + done +done + +done +IFS=$as_save_IFS + + +fi + +EGREP="$ac_cv_path_EGREP" +if test -z "$EGREP"; then + { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 +echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} + { (exit 1); exit 1; }; } +fi + +else + ac_cv_path_EGREP=$EGREP +fi + + + fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 +echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } + EGREP="$ac_cv_path_EGREP" + + +{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdc=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi + + +fi +fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. + + + + + + + + + +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_Header=no" +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + + + +for ac_header in gdc.h gd.h png.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +else + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi + +rm -f conftest.err conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + succeeded=no if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:977: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_PKG_CONFIG'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - case "$PKG_CONFIG" in - /*) + case $PKG_CONFIG in + [\\/]* | ?:[\\/]*) ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. ;; - ?:/*) - ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a dos path. - ;; *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_path_PKG_CONFIG="$ac_dir/$ac_word" - break - fi - done - IFS="$ac_save_ifs" + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi -PKG_CONFIG="$ac_cv_path_PKG_CONFIG" +PKG_CONFIG=$ac_cv_path_PKG_CONFIG if test -n "$PKG_CONFIG"; then - echo "$ac_t""$PKG_CONFIG" 1>&6 + { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 +echo "${ECHO_T}$PKG_CONFIG" >&6; } else - echo "$ac_t""no" 1>&6 + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -1016,33 +3801,36 @@ else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo $ac_n "checking for glib-2.0 >= 2.2.0""... $ac_c" 1>&6 -echo "configure:1021: checking for glib-2.0 >= 2.2.0" >&5 + { echo "$as_me:$LINENO: checking for glib-2.0 >= 2.2.0" >&5 +echo $ECHO_N "checking for glib-2.0 >= 2.2.0... $ECHO_C" >&6; } if $PKG_CONFIG --exists "glib-2.0 >= 2.2.0" ; then - echo "$ac_t""yes" 1>&6 + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } succeeded=yes - echo $ac_n "checking GLIB_CFLAGS""... $ac_c" 1>&6 -echo "configure:1028: checking GLIB_CFLAGS" >&5 + { echo "$as_me:$LINENO: checking GLIB_CFLAGS" >&5 +echo $ECHO_N "checking GLIB_CFLAGS... $ECHO_C" >&6; } GLIB_CFLAGS=`$PKG_CONFIG --cflags "glib-2.0 >= 2.2.0"` - echo "$ac_t""$GLIB_CFLAGS" 1>&6 + { echo "$as_me:$LINENO: result: $GLIB_CFLAGS" >&5 +echo "${ECHO_T}$GLIB_CFLAGS" >&6; } - echo $ac_n "checking GLIB_LIBS""... $ac_c" 1>&6 -echo "configure:1033: checking GLIB_LIBS" >&5 + { echo "$as_me:$LINENO: checking GLIB_LIBS" >&5 +echo $ECHO_N "checking GLIB_LIBS... $ECHO_C" >&6; } GLIB_LIBS=`$PKG_CONFIG --libs "glib-2.0 >= 2.2.0"` - echo "$ac_t""$GLIB_LIBS" 1>&6 + { echo "$as_me:$LINENO: result: $GLIB_LIBS" >&5 +echo "${ECHO_T}$GLIB_LIBS" >&6; } else GLIB_CFLAGS="" GLIB_LIBS="" - ## If we have a custom action on failure, don't print errors, but + ## If we have a custom action on failure, don't print errors, but ## do set a variable so people can do so. GLIB_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "glib-2.0 >= 2.2.0"` - + fi - - + + else echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer." echo "*** See http://www.freedesktop.org/software/pkgconfig" @@ -1061,126 +3849,72 @@ saveCFLAGS="$CFLAGS" -echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:1066: checking how to run the C preprocessor" >&5 -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then -if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - # This must be in double quotes, not single quotes, because CPP may get - # substituted into the Makefile and "${CC-cc}" will confuse make. - CPP="${CC-cc} -E" - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. - cat > conftest.$ac_ext < -Syntax Error -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1087: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - : -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - CPP="${CC-cc} -E -traditional-cpp" - cat > conftest.$ac_ext < -Syntax Error -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1104: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - : -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - CPP="${CC-cc} -nologo -E" - cat > conftest.$ac_ext < -Syntax Error -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1121: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - : -else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - CPP=/lib/cpp -fi -rm -f conftest* -fi -rm -f conftest* -fi -rm -f conftest* - ac_cv_prog_CPP="$CPP" -fi - CPP="$ac_cv_prog_CPP" -else - ac_cv_prog_CPP="$CPP" -fi -echo "$ac_t""$CPP" 1>&6 - -echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:1146: checking for ANSI C header files" >&5 -if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 -else - cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include #include #include #include -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1159: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_cv_header_stdc=yes else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_header_stdc=no + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_stdc=no fi -rm -f conftest* +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. -cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include -EOF + +_ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "memchr" >/dev/null 2>&1; then + $EGREP "memchr" >/dev/null 2>&1; then : else - rm -rf conftest* ac_cv_header_stdc=no fi rm -f conftest* @@ -1189,16 +3923,19 @@ if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. -cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include -EOF + +_ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "free" >/dev/null 2>&1; then + $EGREP "free" >/dev/null 2>&1; then : else - rm -rf conftest* ac_cv_header_stdc=no fi rm -f conftest* @@ -1207,702 +3944,2050 @@ if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. -if test "$cross_compiling" = yes; then + if test "$cross_compiling" = yes; then : else - cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include -#define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -#define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int main () { int i; for (i = 0; i < 256; i++) -if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); -exit (0); } - -EOF -if { (eval echo configure:1226: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + return 2; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then : else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - ac_cv_header_stdc=no + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no fi -rm -fr conftest* +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi + fi fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6; } +if test $ac_cv_header_stdc = yes; then -echo "$ac_t""$ac_cv_header_stdc" 1>&6 -if test $ac_cv_header_stdc = yes; then - cat >> confdefs.h <<\EOF +cat >>confdefs.h <<\_ACEOF #define STDC_HEADERS 1 -EOF +_ACEOF fi -echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6 -echo "configure:1250: checking for sys/wait.h that is POSIX.1 compatible" >&5 -if eval "test \"`echo '$''{'ac_cv_header_sys_wait_h'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +{ echo "$as_me:$LINENO: checking for sys/wait.h that is POSIX.1 compatible" >&5 +echo $ECHO_N "checking for sys/wait.h that is POSIX.1 compatible... $ECHO_C" >&6; } +if test "${ac_cv_header_sys_wait_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include #include #ifndef WEXITSTATUS -#define WEXITSTATUS(stat_val) ((unsigned)(stat_val) >> 8) +# define WEXITSTATUS(stat_val) ((unsigned int) (stat_val) >> 8) #endif #ifndef WIFEXITED -#define WIFEXITED(stat_val) (((stat_val) & 255) == 0) +# define WIFEXITED(stat_val) (((stat_val) & 255) == 0) #endif -int main() { -int s; -wait (&s); -s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; -; return 0; } -EOF -if { (eval echo configure:1271: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* + +int +main () +{ + int s; + wait (&s); + s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_cv_header_sys_wait_h=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_header_sys_wait_h=no + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_sys_wait_h=no fi -rm -f conftest* + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_sys_wait_h" >&5 +echo "${ECHO_T}$ac_cv_header_sys_wait_h" >&6; } +if test $ac_cv_header_sys_wait_h = yes; then -echo "$ac_t""$ac_cv_header_sys_wait_h" 1>&6 -if test $ac_cv_header_sys_wait_h = yes; then - cat >> confdefs.h <<\EOF +cat >>confdefs.h <<\_ACEOF #define HAVE_SYS_WAIT_H 1 -EOF +_ACEOF fi -echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6 -echo "configure:1292: checking whether time.h and sys/time.h may both be included" >&5 -if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +{ echo "$as_me:$LINENO: checking whether time.h and sys/time.h may both be included" >&5 +echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6; } +if test "${ac_cv_header_time+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include #include #include -int main() { -struct tm *tp; -; return 0; } -EOF -if { (eval echo configure:1306: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* + +int +main () +{ +if ((struct tm *) 0) +return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_cv_header_time=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_header_time=no + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_header_time=no fi -rm -f conftest* + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi +{ echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5 +echo "${ECHO_T}$ac_cv_header_time" >&6; } +if test $ac_cv_header_time = yes; then -echo "$ac_t""$ac_cv_header_time" 1>&6 -if test $ac_cv_header_time = yes; then - cat >> confdefs.h <<\EOF +cat >>confdefs.h <<\_ACEOF #define TIME_WITH_SYS_TIME 1 -EOF +_ACEOF fi + + + + + ac_header_dirent=no -for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h -do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6 -echo "configure:1331: checking for $ac_hdr that defines DIR" >&5 -if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do + as_ac_Header=`echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_hdr that defines DIR" >&5 +echo $ECHO_N "checking for $ac_hdr that defines DIR... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include #include <$ac_hdr> -int main() { -DIR *dirp = 0; -; return 0; } -EOF -if { (eval echo configure:1344: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - eval "ac_cv_header_dirent_$ac_safe=yes" + +int +main () +{ +if ((DIR *) 0) +return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + eval "$as_ac_Header=yes" else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_dirent_$ac_safe=no" + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_Header=no" fi -rm -f conftest* + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -if eval "test \"`echo '$ac_cv_header_dirent_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&6 +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_hdr" | $as_tr_cpp` 1 +_ACEOF + +ac_header_dirent=$ac_hdr; break fi + done # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. if test $ac_header_dirent = dirent.h; then -echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6 -echo "configure:1369: checking for opendir in -ldir" >&5 -ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 + { echo "$as_me:$LINENO: checking for library containing opendir" >&5 +echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6; } +if test "${ac_cv_search_opendir+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_save_LIBS="$LIBS" -LIBS="-ldir $LIBS" -cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -int main() { -opendir() -; return 0; } -EOF -if { (eval echo configure:1388: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char opendir (); +int +main () +{ +return opendir (); + ; + return 0; +} +_ACEOF +for ac_lib in '' dir; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_search_opendir=$ac_res else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + fi -rm -f conftest* -LIBS="$ac_save_LIBS" +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext + if test "${ac_cv_search_opendir+set}" = set; then + break fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - LIBS="$LIBS -ldir" +done +if test "${ac_cv_search_opendir+set}" = set; then + : else - echo "$ac_t""no" 1>&6 + ac_cv_search_opendir=no fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5 +echo "${ECHO_T}$ac_cv_search_opendir" >&6; } +ac_res=$ac_cv_search_opendir +if test "$ac_res" != no; then + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" +fi + else -echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6 -echo "configure:1410: checking for opendir in -lx" >&5 -ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 + { echo "$as_me:$LINENO: checking for library containing opendir" >&5 +echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6; } +if test "${ac_cv_search_opendir+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_save_LIBS="$LIBS" -LIBS="-lx $LIBS" -cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -int main() { -opendir() -; return 0; } -EOF -if { (eval echo configure:1429: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char opendir (); +int +main () +{ +return opendir (); + ; + return 0; +} +_ACEOF +for ac_lib in '' x; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_search_opendir=$ac_res else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + fi -rm -f conftest* -LIBS="$ac_save_LIBS" +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext + if test "${ac_cv_search_opendir+set}" = set; then + break fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - LIBS="$LIBS -lx" +done +if test "${ac_cv_search_opendir+set}" = set; then + : else - echo "$ac_t""no" 1>&6 + ac_cv_search_opendir=no fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5 +echo "${ECHO_T}$ac_cv_search_opendir" >&6; } +ac_res=$ac_cv_search_opendir +if test "$ac_res" != no; then + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi -for ac_hdr in unistd.h string.h strings.h sys/sockio.h sys/socketio.h +fi + + + + + + +for ac_header in unistd.h string.h strings.h sys/sockio.h sys/socketio.h do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1455: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1465: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no fi -rm -f conftest* + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - echo "$ac_t""no" 1>&6 + eval "$as_ac_Header=\$ac_header_preproc" fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + done -for ac_hdr in sys/param.h netinet/tcpip.h netinet/in_systm.h + + + +for ac_header in sys/param.h netinet/tcpip.h netinet/in_systm.h do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1495: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1505: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no fi -rm -f conftest* + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - echo "$ac_t""no" 1>&6 + eval "$as_ac_Header=\$ac_header_preproc" fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + done -for ac_hdr in netinet/ip_udp.h netinet/protocols.h sys/ioctl.h netinet/ip_icmp.h + + + + +for ac_header in netinet/ip_udp.h netinet/protocols.h sys/ioctl.h netinet/ip_icmp.h do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1535: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1545: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no fi -rm -f conftest* + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - echo "$ac_t""no" 1>&6 + eval "$as_ac_Header=\$ac_header_preproc" fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + done -for ac_hdr in rpc/rpc.h netinet/udp.h dlfcn.h sys/un.h memory.h ctype.h errno.h + + + + + + + +for ac_header in rpc/rpc.h netinet/udp.h dlfcn.h sys/un.h memory.h ctype.h errno.h do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1575: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1585: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no fi -rm -f conftest* + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - echo "$ac_t""no" 1>&6 + eval "$as_ac_Header=\$ac_header_preproc" fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + done -for ac_hdr in sys/types.h stdlib.h stdio.h sys/filio.h pwd.h + + + + + +for ac_header in sys/types.h stdlib.h stdio.h sys/filio.h pwd.h do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1615: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1625: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no fi -rm -f conftest* + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - echo "$ac_t""no" 1>&6 + eval "$as_ac_Header=\$ac_header_preproc" fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + done -for ac_hdr in assert.h netdb.h netinet/in.h arpa/inet.h + + + + +for ac_header in assert.h netdb.h netinet/in.h arpa/inet.h do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1655: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1665: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no fi -rm -f conftest* + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - echo "$ac_t""no" 1>&6 + eval "$as_ac_Header=\$ac_header_preproc" fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + done -for ac_hdr in poll.h sys/poll.h netinet/ip_tcp.h fcntl.h signal.h limits.h + + + + + + +for ac_header in poll.h sys/poll.h netinet/ip_tcp.h fcntl.h signal.h limits.h do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1695: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1705: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no fi -rm -f conftest* + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - echo "$ac_t""no" 1>&6 + eval "$as_ac_Header=\$ac_header_preproc" fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + done -for ac_hdr in sys/stat.h stat.h net/if.h sys/mman.h sys/resource.h dl.h + + + + + + +for ac_header in sys/stat.h stat.h net/if.h sys/mman.h sys/resource.h dl.h do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1735: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1745: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no fi -rm -f conftest* + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - echo "$ac_t""no" 1>&6 + eval "$as_ac_Header=\$ac_header_preproc" fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + done -for ac_hdr in pty.h termio.h termios.h sgtty.h libutil.h setjmp.h values.h + + + + + + + +for ac_header in pty.h termio.h termios.h sgtty.h libutil.h setjmp.h values.h do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1775: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1785: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no fi -rm -f conftest* + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - echo "$ac_t""no" 1>&6 + eval "$as_ac_Header=\$ac_header_preproc" fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + done -for ac_hdr in locale.h + +for ac_header in locale.h do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1815: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1825: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no fi -rm -f conftest* + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - echo "$ac_t""no" 1>&6 + eval "$as_ac_Header=\$ac_header_preproc" fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + done case "$host" in *-irix*) - cat >> confdefs.h <<\EOF + cat >>confdefs.h <<\_ACEOF #define HAVE_SYS_SOCKET_H 1 -EOF +_ACEOF - cat >> confdefs.h <<\EOF + cat >>confdefs.h <<\_ACEOF #define HAVE_NETINET_IP_H 1 -EOF +_ACEOF - cat >> confdefs.h <<\EOF + cat >>confdefs.h <<\_ACEOF #define HAVE_NETINET_TCP_H 1 -EOF +_ACEOF ;; *) - for ac_hdr in sys/socket.h netinet/ip.h netinet/tcp.h + + + +for ac_header in sys/socket.h netinet/ip.h netinet/tcp.h do -ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` -echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1873: checking for $ac_hdr" >&5 -if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + { echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } else - cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1883: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* - eval "ac_cv_header_$ac_safe=yes" + # Is the header compilable? +{ echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_header_compiler=yes else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_header_$ac_safe=no" + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_compiler=no fi -rm -f conftest* + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6; } + +# Is the header present? +{ echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no fi -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` - cat >> confdefs.h <&5 +echo "${ECHO_T}$ac_header_preproc" >&6; } + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + + ;; +esac +{ echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } +if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - echo "$ac_t""no" 1>&6 + eval "$as_ac_Header=\$ac_header_preproc" fi +ac_res=`eval echo '${'$as_ac_Header'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + done ;; @@ -1911,48 +5996,77 @@ # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works # for constant arguments. Useless! -echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6 -echo "configure:1916: checking for working alloca.h" >&5 -if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +{ echo "$as_me:$LINENO: checking for working alloca.h" >&5 +echo $ECHO_N "checking for working alloca.h... $ECHO_C" >&6; } +if test "${ac_cv_working_alloca_h+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include -int main() { -char *p = alloca(2 * sizeof(int)); -; return 0; } -EOF -if { (eval echo configure:1928: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - ac_cv_header_alloca_h=yes +int +main () +{ +char *p = (char *) alloca (2 * sizeof (int)); + if (p) return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_working_alloca_h=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_header_alloca_h=no + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_working_alloca_h=no fi -rm -f conftest* + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext fi +{ echo "$as_me:$LINENO: result: $ac_cv_working_alloca_h" >&5 +echo "${ECHO_T}$ac_cv_working_alloca_h" >&6; } +if test $ac_cv_working_alloca_h = yes; then -echo "$ac_t""$ac_cv_header_alloca_h" 1>&6 -if test $ac_cv_header_alloca_h = yes; then - cat >> confdefs.h <<\EOF +cat >>confdefs.h <<\_ACEOF #define HAVE_ALLOCA_H 1 -EOF +_ACEOF fi -echo $ac_n "checking for alloca""... $ac_c" 1>&6 -echo "configure:1949: checking for alloca" >&5 -if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +{ echo "$as_me:$LINENO: checking for alloca" >&5 +echo $ECHO_N "checking for alloca... $ECHO_C" >&6; } +if test "${ac_cv_func_alloca_works+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #ifdef __GNUC__ # define alloca __builtin_alloca #else @@ -1960,7 +6074,7 @@ # include # define alloca _alloca # else -# if HAVE_ALLOCA_H +# ifdef HAVE_ALLOCA_H # include # else # ifdef _AIX @@ -1974,137 +6088,208 @@ # endif #endif -int main() { -char *p = (char *) alloca(1); -; return 0; } -EOF -if { (eval echo configure:1982: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* +int +main () +{ +char *p = (char *) alloca (1); + if (p) return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then ac_cv_func_alloca_works=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_func_alloca_works=no + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_alloca_works=no fi -rm -f conftest* + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_alloca_works" >&5 +echo "${ECHO_T}$ac_cv_func_alloca_works" >&6; } -echo "$ac_t""$ac_cv_func_alloca_works" 1>&6 if test $ac_cv_func_alloca_works = yes; then - cat >> confdefs.h <<\EOF + +cat >>confdefs.h <<\_ACEOF #define HAVE_ALLOCA 1 -EOF +_ACEOF -fi +else + # The SVR3 libPW and SVR4 libucb both contain incompatible functions +# that cause trouble. Some versions do not even contain alloca or +# contain a buggy version. If you still want to use their alloca, +# use ar to extract alloca.o from them instead of compiling alloca.c. -if test $ac_cv_func_alloca_works = no; then - # The SVR3 libPW and SVR4 libucb both contain incompatible functions - # that cause trouble. Some versions do not even contain alloca or - # contain a buggy version. If you still want to use their alloca, - # use ar to extract alloca.o from them instead of compiling alloca.c. - ALLOCA=alloca.${ac_objext} - cat >> confdefs.h <<\EOF +ALLOCA=\${LIBOBJDIR}alloca.$ac_objext + +cat >>confdefs.h <<\_ACEOF #define C_ALLOCA 1 -EOF +_ACEOF -echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 -echo "configure:2014: checking whether alloca needs Cray hooks" >&5 -if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +{ echo "$as_me:$LINENO: checking whether \`alloca.c' needs Cray hooks" >&5 +echo $ECHO_N "checking whether \`alloca.c' needs Cray hooks... $ECHO_C" >&6; } +if test "${ac_cv_os_cray+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#if defined CRAY && ! defined CRAY2 webecray #else wenotbecray #endif -EOF +_ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "webecray" >/dev/null 2>&1; then - rm -rf conftest* + $EGREP "webecray" >/dev/null 2>&1; then ac_cv_os_cray=yes else - rm -rf conftest* ac_cv_os_cray=no fi rm -f conftest* fi - -echo "$ac_t""$ac_cv_os_cray" 1>&6 +{ echo "$as_me:$LINENO: result: $ac_cv_os_cray" >&5 +echo "${ECHO_T}$ac_cv_os_cray" >&6; } if test $ac_cv_os_cray = yes; then -for ac_func in _getb67 GETB67 getb67; do - echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2044: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 + for ac_func in _getb67 GETB67 getb67; do + as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func(); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ -int main() { +#ifdef __STDC__ +# include +#else +# include +#endif +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +#if defined __stub_$ac_func || defined __stub___$ac_func choke me -#else -$ac_func(); #endif -; return 0; } -EOF -if { (eval echo configure:2072: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" fi -rm -f conftest* + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then -if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then - echo "$ac_t""yes" 1>&6 - cat >> confdefs.h <>confdefs.h <<_ACEOF #define CRAY_STACKSEG_END $ac_func -EOF +_ACEOF - break -else - echo "$ac_t""no" 1>&6 + break fi -done + done fi -echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 -echo "configure:2099: checking stack direction for C alloca" >&5 -if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +{ echo "$as_me:$LINENO: checking stack direction for C alloca" >&5 +echo $ECHO_N "checking stack direction for C alloca... $ECHO_C" >&6; } +if test "${ac_cv_c_stack_direction+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then ac_cv_c_stack_direction=0 else - cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int find_stack_direction () { static char *addr = 0; @@ -2117,49 +6302,79 @@ else return (&dummy > addr) ? 1 : -1; } + +int main () { - exit (find_stack_direction() < 0); + return find_stack_direction () < 0; } -EOF -if { (eval echo configure:2126: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then ac_cv_c_stack_direction=1 else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - ac_cv_c_stack_direction=-1 + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_c_stack_direction=-1 fi -rm -fr conftest* +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi + fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_stack_direction" >&5 +echo "${ECHO_T}$ac_cv_c_stack_direction" >&6; } -echo "$ac_t""$ac_cv_c_stack_direction" 1>&6 -cat >> confdefs.h <>confdefs.h <<_ACEOF #define STACK_DIRECTION $ac_cv_c_stack_direction -EOF +_ACEOF + fi -echo $ac_n "checking for wait3 that fills in rusage""... $ac_c" 1>&6 -echo "configure:2148: checking for wait3 that fills in rusage" >&5 -if eval "test \"`echo '$''{'ac_cv_func_wait3_rusage'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +{ echo "$as_me:$LINENO: checking for wait3 that fills in rusage" >&5 +echo $ECHO_N "checking for wait3 that fills in rusage... $ECHO_C" >&6; } +if test "${ac_cv_func_wait3_rusage+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then ac_cv_func_wait3_rusage=no else - cat > conftest.$ac_ext < + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default #include #include -#include +#include /* HP-UX has wait3 but does not fill in rusage at all. */ -main() { +int +main () +{ struct rusage r; int i; /* Use a field that we can force nonzero -- @@ -2170,668 +6385,1915 @@ r.ru_stime.tv_sec = 0; r.ru_stime.tv_usec = 0; r.ru_majflt = r.ru_minflt = 0; - switch (fork()) { - case 0: /* Child. */ - sleep(1); /* Give up the CPU. */ - _exit(0); - case -1: _exit(0); /* What can we do? */ - default: /* Parent. */ - wait3(&i, 0, &r); - sleep(2); /* Avoid "text file busy" from rm on fast HP-UX machines. */ - exit(r.ru_nvcsw == 0 && r.ru_majflt == 0 && r.ru_minflt == 0 - && r.ru_stime.tv_sec == 0 && r.ru_stime.tv_usec == 0); - } + switch (fork ()) + { + case 0: /* Child. */ + sleep(1); /* Give up the CPU. */ + _exit(0); + break; + case -1: /* What can we do? */ + _exit(0); + break; + default: /* Parent. */ + wait3(&i, 0, &r); + /* Avoid "text file busy" from rm on fast HP-UX machines. */ + sleep(2); + return (r.ru_nvcsw == 0 && r.ru_majflt == 0 && r.ru_minflt == 0 + && r.ru_stime.tv_sec == 0 && r.ru_stime.tv_usec == 0); + } } -EOF -if { (eval echo configure:2187: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then ac_cv_func_wait3_rusage=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - ac_cv_func_wait3_rusage=no + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_func_wait3_rusage=no fi -rm -fr conftest* +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi + fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_wait3_rusage" >&5 +echo "${ECHO_T}$ac_cv_func_wait3_rusage" >&6; } +if test $ac_cv_func_wait3_rusage = yes; then -echo "$ac_t""$ac_cv_func_wait3_rusage" 1>&6 -if test $ac_cv_func_wait3_rusage = yes; then - cat >> confdefs.h <<\EOF +cat >>confdefs.h <<\_ACEOF #define HAVE_WAIT3 1 -EOF +_ACEOF fi + + + + for ac_func in waitpid wait4 mmap atexit do -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2212: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func(); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ -int main() { +#ifdef __STDC__ +# include +#else +# include +#endif +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +#if defined __stub_$ac_func || defined __stub___$ac_func choke me -#else -$ac_func(); #endif -; return 0; } -EOF -if { (eval echo configure:2240: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" fi -rm -f conftest* + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF -if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` - cat >> confdefs.h <&6 fi done + + + + + + for ac_func in lstat memmove gettimeofday gethrtime getrusage rand do -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2267: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func(); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ -int main() { +#ifdef __STDC__ +# include +#else +# include +#endif +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +#if defined __stub_$ac_func || defined __stub___$ac_func choke me -#else -$ac_func(); #endif -; return 0; } -EOF -if { (eval echo configure:2295: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" fi -rm -f conftest* + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF -if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` - cat >> confdefs.h <&6 fi done + + + + for ac_func in strchr memcpy select poll do -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2322: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func(); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ -int main() { +#ifdef __STDC__ +# include +#else +# include +#endif +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +#if defined __stub_$ac_func || defined __stub___$ac_func choke me -#else -$ac_func(); #endif -; return 0; } -EOF -if { (eval echo configure:2350: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" fi -rm -f conftest* + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF -if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` - cat >> confdefs.h <&6 fi done -echo $ac_n "checking for vsnprintf""... $ac_c" 1>&6 -echo "configure:2375: checking for vsnprintf" >&5 -if eval "test \"`echo '$''{'ac_cv_func_vsnprintf'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +{ echo "$as_me:$LINENO: checking for vsnprintf" >&5 +echo $ECHO_N "checking for vsnprintf... $ECHO_C" >&6; } +if test "${ac_cv_func_vsnprintf+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define vsnprintf to an innocuous variant, in case declares vsnprintf. + For example, HP-UX 11i declares gettimeofday. */ +#define vsnprintf innocuous_vsnprintf + /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char vsnprintf(); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char vsnprintf(); + which can conflict with char vsnprintf (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ -int main() { +#ifdef __STDC__ +# include +#else +# include +#endif +#undef vsnprintf + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char vsnprintf (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ -#if defined (__stub_vsnprintf) || defined (__stub___vsnprintf) +#if defined __stub_vsnprintf || defined __stub___vsnprintf choke me -#else -vsnprintf(); #endif -; return 0; } -EOF -if { (eval echo configure:2403: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_vsnprintf=yes" +int +main () +{ +return vsnprintf (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_vsnprintf=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_vsnprintf=no" + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_vsnprintf=no fi -rm -f conftest* + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext fi - -if eval "test \"`echo '$ac_cv_func_'vsnprintf`\" = yes"; then - echo "$ac_t""yes" 1>&6 - cat >> confdefs.h <<\EOF +{ echo "$as_me:$LINENO: result: $ac_cv_func_vsnprintf" >&5 +echo "${ECHO_T}$ac_cv_func_vsnprintf" >&6; } +if test $ac_cv_func_vsnprintf = yes; then + cat >>confdefs.h <<\_ACEOF #define HAVE_VSNPRINTF 1 -EOF +_ACEOF -else - echo "$ac_t""no" 1>&6 fi + + + + + for ac_func in bzero bcopy setsid rint mkstemp do -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2428: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func(); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ -int main() { +#ifdef __STDC__ +# include +#else +# include +#endif +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +#if defined __stub_$ac_func || defined __stub___$ac_func choke me -#else -$ac_func(); #endif -; return 0; } -EOF -if { (eval echo configure:2456: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" fi -rm -f conftest* + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF -if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` - cat >> confdefs.h <&6 fi done + + + + for ac_func in addr2ascii inet_neta setproctitle _exit do -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2483: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func(); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ -int main() { +#ifdef __STDC__ +# include +#else +# include +#endif +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +#if defined __stub_$ac_func || defined __stub___$ac_func choke me -#else -$ac_func(); #endif -; return 0; } -EOF -if { (eval echo configure:2511: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" fi -rm -f conftest* + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF -if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` - cat >> confdefs.h <&6 fi done -echo $ac_n "checking size of unsigned int""... $ac_c" 1>&6 -echo "configure:2537: checking size of unsigned int" >&5 -if eval "test \"`echo '$''{'ac_cv_sizeof_unsigned_int'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +{ echo "$as_me:$LINENO: checking for unsigned int" >&5 +echo $ECHO_N "checking for unsigned int... $ECHO_C" >&6; } +if test "${ac_cv_type_unsigned_int+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +typedef unsigned int ac__type_new_; +int +main () +{ +if ((ac__type_new_ *) 0) + return 0; +if (sizeof (ac__type_new_)) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_type_unsigned_int=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_type_unsigned_int=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_type_unsigned_int" >&5 +echo "${ECHO_T}$ac_cv_type_unsigned_int" >&6; } + +# The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ echo "$as_me:$LINENO: checking size of unsigned int" >&5 +echo $ECHO_N "checking size of unsigned int... $ECHO_C" >&6; } +if test "${ac_cv_sizeof_unsigned_int+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else if test "$cross_compiling" = yes; then - { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } + # Depending upon the size, compute the lo and hi bounds. +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + typedef unsigned int ac__type_sizeof_; +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_lo=0 ac_mid=0 + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + typedef unsigned int ac__type_sizeof_; +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=$ac_mid; break else - cat > conftest.$ac_ext <&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_lo=`expr $ac_mid + 1` + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid + 1` +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + typedef unsigned int ac__type_sizeof_; +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=-1 ac_mid=-1 + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + typedef unsigned int ac__type_sizeof_; +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_lo=$ac_mid; break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_hi=`expr '(' $ac_mid ')' - 1` + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid` +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_lo= ac_hi= +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +# Binary search between lo and hi bounds. +while test "x$ac_lo" != "x$ac_hi"; do + ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + typedef unsigned int ac__type_sizeof_; +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=$ac_mid +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_lo=`expr '(' $ac_mid ')' + 1` +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +done +case $ac_lo in +?*) ac_cv_sizeof_unsigned_int=$ac_lo;; +'') if test "$ac_cv_type_unsigned_int" = yes; then + { { echo "$as_me:$LINENO: error: cannot compute sizeof (unsigned int) +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute sizeof (unsigned int) +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } + else + ac_cv_sizeof_unsigned_int=0 + fi ;; +esac +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + typedef unsigned int ac__type_sizeof_; +static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); } +static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); } #include -#include -main() +#include +int +main () { - FILE *f=fopen("conftestval", "w"); - if (!f) exit(1); - fprintf(f, "%d\n", sizeof(unsigned int)); - exit(0); + + FILE *f = fopen ("conftest.val", "w"); + if (! f) + return 1; + if (((long int) (sizeof (ac__type_sizeof_))) < 0) + { + long int i = longval (); + if (i != ((long int) (sizeof (ac__type_sizeof_)))) + return 1; + fprintf (f, "%ld\n", i); + } + else + { + unsigned long int i = ulongval (); + if (i != ((long int) (sizeof (ac__type_sizeof_)))) + return 1; + fprintf (f, "%lu\n", i); + } + return ferror (f) || fclose (f) != 0; + + ; + return 0; } -EOF -if { (eval echo configure:2557: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then - ac_cv_sizeof_unsigned_int=`cat conftestval` +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_sizeof_unsigned_int=`cat conftest.val` else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - ac_cv_sizeof_unsigned_int=0 + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +if test "$ac_cv_type_unsigned_int" = yes; then + { { echo "$as_me:$LINENO: error: cannot compute sizeof (unsigned int) +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute sizeof (unsigned int) +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } + else + ac_cv_sizeof_unsigned_int=0 + fi fi -rm -fr conftest* +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi +rm -f conftest.val +fi +{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_unsigned_int" >&5 +echo "${ECHO_T}$ac_cv_sizeof_unsigned_int" >&6; } -fi -echo "$ac_t""$ac_cv_sizeof_unsigned_int" 1>&6 -cat >> confdefs.h <>confdefs.h <<_ACEOF #define SIZEOF_UNSIGNED_INT $ac_cv_sizeof_unsigned_int -EOF +_ACEOF -echo $ac_n "checking size of unsigned long""... $ac_c" 1>&6 -echo "configure:2577: checking size of unsigned long" >&5 -if eval "test \"`echo '$''{'ac_cv_sizeof_unsigned_long'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +{ echo "$as_me:$LINENO: checking for unsigned long" >&5 +echo $ECHO_N "checking for unsigned long... $ECHO_C" >&6; } +if test "${ac_cv_type_unsigned_long+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +typedef unsigned long ac__type_new_; +int +main () +{ +if ((ac__type_new_ *) 0) + return 0; +if (sizeof (ac__type_new_)) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_cv_type_unsigned_long=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_type_unsigned_long=no +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ echo "$as_me:$LINENO: result: $ac_cv_type_unsigned_long" >&5 +echo "${ECHO_T}$ac_cv_type_unsigned_long" >&6; } + +# The cast to long int works around a bug in the HP C Compiler +# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects +# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. +# This bug is HP SR number 8606223364. +{ echo "$as_me:$LINENO: checking size of unsigned long" >&5 +echo $ECHO_N "checking size of unsigned long... $ECHO_C" >&6; } +if test "${ac_cv_sizeof_unsigned_long+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else if test "$cross_compiling" = yes; then - { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } + # Depending upon the size, compute the lo and hi bounds. +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + typedef unsigned long ac__type_sizeof_; +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= 0)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_lo=0 ac_mid=0 + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + typedef unsigned long ac__type_sizeof_; +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=$ac_mid; break else - cat > conftest.$ac_ext <&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_lo=`expr $ac_mid + 1` + if test $ac_lo -le $ac_mid; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid + 1` +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + typedef unsigned long ac__type_sizeof_; +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) < 0)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=-1 ac_mid=-1 + while :; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + typedef unsigned long ac__type_sizeof_; +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) >= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_lo=$ac_mid; break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_hi=`expr '(' $ac_mid ')' - 1` + if test $ac_mid -le $ac_hi; then + ac_lo= ac_hi= + break + fi + ac_mid=`expr 2 '*' $ac_mid` +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_lo= ac_hi= +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +# Binary search between lo and hi bounds. +while test "x$ac_lo" != "x$ac_hi"; do + ac_mid=`expr '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo` + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + typedef unsigned long ac__type_sizeof_; +int +main () +{ +static int test_array [1 - 2 * !(((long int) (sizeof (ac__type_sizeof_))) <= $ac_mid)]; +test_array [0] = 0 + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + ac_hi=$ac_mid +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_lo=`expr '(' $ac_mid ')' + 1` +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +done +case $ac_lo in +?*) ac_cv_sizeof_unsigned_long=$ac_lo;; +'') if test "$ac_cv_type_unsigned_long" = yes; then + { { echo "$as_me:$LINENO: error: cannot compute sizeof (unsigned long) +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute sizeof (unsigned long) +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } + else + ac_cv_sizeof_unsigned_long=0 + fi ;; +esac +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + typedef unsigned long ac__type_sizeof_; +static long int longval () { return (long int) (sizeof (ac__type_sizeof_)); } +static unsigned long int ulongval () { return (long int) (sizeof (ac__type_sizeof_)); } #include -#include -main() +#include +int +main () { - FILE *f=fopen("conftestval", "w"); - if (!f) exit(1); - fprintf(f, "%d\n", sizeof(unsigned long)); - exit(0); + + FILE *f = fopen ("conftest.val", "w"); + if (! f) + return 1; + if (((long int) (sizeof (ac__type_sizeof_))) < 0) + { + long int i = longval (); + if (i != ((long int) (sizeof (ac__type_sizeof_)))) + return 1; + fprintf (f, "%ld\n", i); + } + else + { + unsigned long int i = ulongval (); + if (i != ((long int) (sizeof (ac__type_sizeof_)))) + return 1; + fprintf (f, "%lu\n", i); + } + return ferror (f) || fclose (f) != 0; + + ; + return 0; } -EOF -if { (eval echo configure:2597: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then - ac_cv_sizeof_unsigned_long=`cat conftestval` +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_sizeof_unsigned_long=`cat conftest.val` else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - ac_cv_sizeof_unsigned_long=0 + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +if test "$ac_cv_type_unsigned_long" = yes; then + { { echo "$as_me:$LINENO: error: cannot compute sizeof (unsigned long) +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute sizeof (unsigned long) +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } + else + ac_cv_sizeof_unsigned_long=0 + fi fi -rm -fr conftest* +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi +rm -f conftest.val +fi +{ echo "$as_me:$LINENO: result: $ac_cv_sizeof_unsigned_long" >&5 +echo "${ECHO_T}$ac_cv_sizeof_unsigned_long" >&6; } -fi -echo "$ac_t""$ac_cv_sizeof_unsigned_long" 1>&6 -cat >> confdefs.h <>confdefs.h <<_ACEOF #define SIZEOF_UNSIGNED_LONG $ac_cv_sizeof_unsigned_long -EOF +_ACEOF -echo $ac_n "checking whether byte ordering is bigendian""... $ac_c" 1>&6 -echo "configure:2617: checking whether byte ordering is bigendian" >&5 -if eval "test \"`echo '$''{'ac_cv_c_bigendian'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +{ echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5 +echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6; } +if test "${ac_cv_c_bigendian+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_cv_c_bigendian=unknown -# See if sys/param.h defines the BYTE_ORDER macro. -cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include #include -int main() { -#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN +int +main () +{ +#if ! (defined BYTE_ORDER && defined BIG_ENDIAN && defined LITTLE_ENDIAN \ + && BYTE_ORDER && BIG_ENDIAN && LITTLE_ENDIAN) bogus endian macros #endif -; return 0; } -EOF -if { (eval echo configure:2635: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then # It does; now see whether it defined to BIG_ENDIAN or not. -cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include #include -int main() { +int +main () +{ #if BYTE_ORDER != BIG_ENDIAN not big endian #endif -; return 0; } -EOF -if { (eval echo configure:2650: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_cv_c_bigendian=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_c_bigendian=no + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_c_bigendian=no fi -rm -f conftest* + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # It does not; compile a test program. +if test "$cross_compiling" = yes; then + # try to guess the endianness by grepping values into an object file + ac_cv_c_bigendian=unknown + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +short int ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; +short int ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; +void _ascii () { char *s = (char *) ascii_mm; s = (char *) ascii_ii; } +short int ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; +short int ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; +void _ebcdic () { char *s = (char *) ebcdic_mm; s = (char *) ebcdic_ii; } +int +main () +{ + _ascii (); _ebcdic (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + if grep BIGenDianSyS conftest.$ac_objext >/dev/null ; then + ac_cv_c_bigendian=yes fi -rm -f conftest* -if test $ac_cv_c_bigendian = unknown; then -if test "$cross_compiling" = yes; then - { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } +if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then + if test "$ac_cv_c_bigendian" = unknown; then + ac_cv_c_bigendian=no + else + # finding both strings is unlikely to happen, but who knows? + ac_cv_c_bigendian=unknown + fi +fi else - cat > conftest.$ac_ext <&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + +fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ + /* Are we little or big endian? From Harbison&Steele. */ union { - long l; - char c[sizeof (long)]; + long int l; + char c[sizeof (long int)]; } u; u.l = 1; - exit (u.c[sizeof (long) - 1] == 1); + return u.c[sizeof (long int) - 1] == 1; + + ; + return 0; } -EOF -if { (eval echo configure:2683: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then ac_cv_c_bigendian=no else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - ac_cv_c_bigendian=yes + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_c_bigendian=yes fi -rm -fr conftest* +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi + fi + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi +{ echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5 +echo "${ECHO_T}$ac_cv_c_bigendian" >&6; } +case $ac_cv_c_bigendian in + yes) -echo "$ac_t""$ac_cv_c_bigendian" 1>&6 -if test $ac_cv_c_bigendian = yes; then - cat >> confdefs.h <<\EOF +cat >>confdefs.h <<\_ACEOF #define WORDS_BIGENDIAN 1 -EOF +_ACEOF + ;; + no) + ;; + *) + { { echo "$as_me:$LINENO: error: unknown endianness +presetting ac_cv_c_bigendian=no (or yes) will help" >&5 +echo "$as_me: error: unknown endianness +presetting ac_cv_c_bigendian=no (or yes) will help" >&2;} + { (exit 1); exit 1; }; } ;; +esac -fi - -echo $ac_n "checking for time_t""... $ac_c" 1>&6 -echo "configure:2707: checking for time_t" >&5 -if eval "test \"`echo '$''{'ac_cv_type_time_t'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +{ echo "$as_me:$LINENO: checking for time_t" >&5 +echo $ECHO_N "checking for time_t... $ECHO_C" >&6; } +if test "${ac_cv_type_time_t+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat > conftest.$ac_ext < -#if STDC_HEADERS -#include -#include -#endif -EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "(^|[^a-zA-Z_0-9])time_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then - rm -rf conftest* + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +typedef time_t ac__type_new_; +int +main () +{ +if ((ac__type_new_ *) 0) + return 0; +if (sizeof (ac__type_new_)) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_cv_type_time_t=yes else - rm -rf conftest* - ac_cv_type_time_t=no + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_type_time_t=no fi -rm -f conftest* +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -echo "$ac_t""$ac_cv_type_time_t" 1>&6 -if test $ac_cv_type_time_t = no; then - cat >> confdefs.h <<\EOF +{ echo "$as_me:$LINENO: result: $ac_cv_type_time_t" >&5 +echo "${ECHO_T}$ac_cv_type_time_t" >&6; } +if test $ac_cv_type_time_t = yes; then + : +else + +cat >>confdefs.h <<_ACEOF #define time_t int -EOF +_ACEOF fi -echo $ac_n "checking for pid_t""... $ac_c" 1>&6 -echo "configure:2740: checking for pid_t" >&5 -if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +{ echo "$as_me:$LINENO: checking for pid_t" >&5 +echo $ECHO_N "checking for pid_t... $ECHO_C" >&6; } +if test "${ac_cv_type_pid_t+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat > conftest.$ac_ext < -#if STDC_HEADERS -#include -#include -#endif -EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "(^|[^a-zA-Z_0-9])pid_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then - rm -rf conftest* + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +typedef pid_t ac__type_new_; +int +main () +{ +if ((ac__type_new_ *) 0) + return 0; +if (sizeof (ac__type_new_)) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_cv_type_pid_t=yes else - rm -rf conftest* - ac_cv_type_pid_t=no + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_type_pid_t=no fi -rm -f conftest* +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -echo "$ac_t""$ac_cv_type_pid_t" 1>&6 -if test $ac_cv_type_pid_t = no; then - cat >> confdefs.h <<\EOF +{ echo "$as_me:$LINENO: result: $ac_cv_type_pid_t" >&5 +echo "${ECHO_T}$ac_cv_type_pid_t" >&6; } +if test $ac_cv_type_pid_t = yes; then + : +else + +cat >>confdefs.h <<_ACEOF #define pid_t int -EOF +_ACEOF fi -echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:2773: checking for size_t" >&5 -if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +{ echo "$as_me:$LINENO: checking for size_t" >&5 +echo $ECHO_N "checking for size_t... $ECHO_C" >&6; } +if test "${ac_cv_type_size_t+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat > conftest.$ac_ext < -#if STDC_HEADERS -#include -#include -#endif -EOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "(^|[^a-zA-Z_0-9])size_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then - rm -rf conftest* + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +typedef size_t ac__type_new_; +int +main () +{ +if ((ac__type_new_ *) 0) + return 0; +if (sizeof (ac__type_new_)) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_cv_type_size_t=yes else - rm -rf conftest* - ac_cv_type_size_t=no + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_type_size_t=no fi -rm -f conftest* +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi -echo "$ac_t""$ac_cv_type_size_t" 1>&6 -if test $ac_cv_type_size_t = no; then - cat >> confdefs.h <<\EOF -#define size_t unsigned -EOF +{ echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5 +echo "${ECHO_T}$ac_cv_type_size_t" >&6; } +if test $ac_cv_type_size_t = yes; then + : +else +cat >>confdefs.h <<_ACEOF +#define size_t unsigned int +_ACEOF + fi -echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6 -echo "configure:2806: checking for uid_t in sys/types.h" >&5 -if eval "test \"`echo '$''{'ac_cv_type_uid_t'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +{ echo "$as_me:$LINENO: checking for uid_t in sys/types.h" >&5 +echo $ECHO_N "checking for uid_t in sys/types.h... $ECHO_C" >&6; } +if test "${ac_cv_type_uid_t+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include -EOF + +_ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - egrep "uid_t" >/dev/null 2>&1; then - rm -rf conftest* + $EGREP "uid_t" >/dev/null 2>&1; then ac_cv_type_uid_t=yes else - rm -rf conftest* ac_cv_type_uid_t=no fi rm -f conftest* fi +{ echo "$as_me:$LINENO: result: $ac_cv_type_uid_t" >&5 +echo "${ECHO_T}$ac_cv_type_uid_t" >&6; } +if test $ac_cv_type_uid_t = no; then -echo "$ac_t""$ac_cv_type_uid_t" 1>&6 -if test $ac_cv_type_uid_t = no; then - cat >> confdefs.h <<\EOF +cat >>confdefs.h <<\_ACEOF #define uid_t int -EOF +_ACEOF - cat >> confdefs.h <<\EOF + +cat >>confdefs.h <<\_ACEOF #define gid_t int -EOF +_ACEOF fi @@ -2860,14 +8322,14 @@ break; fi done - + test -z "$with_ssl" && { for ac_dir in \ /usr \ /usr/local \ /sw \ ; \ - do + do if test -r "$ac_dir/include/openssl/ssl.h" ; then with_ssl=$ac_dir break; @@ -2878,44 +8340,69 @@ if test -n "$with_ssl" -a "$with_ssl" != "no" then - echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6 -echo "configure:2883: checking for dlopen in -ldl" >&5 -ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 + { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_save_LIBS="$LIBS" + ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" -cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -int main() { -dlopen() -; return 0; } -EOF -if { (eval echo configure:2902: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no fi -rm -f conftest* -LIBS="$ac_save_LIBS" +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then withdl="-ldl" -else - echo "$ac_t""no" 1>&6 fi # With the autoconfigure above, the only time this is going to be @@ -2946,7 +8433,7 @@ echo "Enabling SSLeay support in $with_ssl" sslcflags="-I$with_ssl/include" fi - + if test `uname` = "IRIX" -a "$with_ssl" = "/usr/freeware" ; then ssl="-L$with_ssl/lib32 -lssl -lcrypto $withdl" @@ -2955,25 +8442,32 @@ fi else with_ssl="" - { echo "configure: error: Could not find OpenSSL and OpenSSL headers on your system" 1>&2; exit 1; } + { { echo "$as_me:$LINENO: error: Could not find OpenSSL and OpenSSL headers on your system" >&5 +echo "$as_me: error: Could not find OpenSSL and OpenSSL headers on your system" >&2;} + { (exit 1); exit 1; }; } fi test -n "$with_ssl" && { test "x$use_cipher" = "xyes" -o -z "$use_cipher" } - - -test -n "$forcessl" -a -z "$with_ssl" && { echo "configure: error: "OpenSSL not found"" 1>&2; exit 1; } +test -n "$forcessl" -a -z "$with_ssl" && { { echo "$as_me:$LINENO: error: \"OpenSSL not found\"" >&5 +echo "$as_me: error: \"OpenSSL not found\"" >&2;} + { (exit 1); exit 1; }; } -echo $ac_n "checking for struct timeval""... $ac_c" 1>&6 -echo "configure:2974: checking for struct timeval" >&5 -cat > conftest.$ac_ext <&5 +echo $ECHO_N "checking for struct timeval... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #ifdef TIME_WITH_SYS_TIME #include #include @@ -2984,34 +8478,59 @@ #include #endif #endif -int main() { +int +main () +{ static struct timeval x; x.tv_sec = x.tv_usec; -; return 0; } -EOF -if { (eval echo configure:2992: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - echo "$ac_t""yes" 1>&6 + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } HAVE_TIMEVAL=yes - cat >> confdefs.h <<\EOF + cat >>confdefs.h <<\_ACEOF #define HAVE_TIMEVAL 1 -EOF +_ACEOF else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - echo "$ac_t""no" 1>&6 + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } HAVE_TIMEVAL=no fi -rm -f conftest* +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + if test "x$HAVE_TIMEVAL" = xyes; then -echo $ac_n "checking whether gettimeofday can't accept two arguments""... $ac_c" 1>&6 -echo "configure:3012: checking whether gettimeofday can't accept two arguments" >&5 -cat > conftest.$ac_ext <&5 +echo $ECHO_N "checking whether gettimeofday can't accept two arguments... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #ifdef TIME_WITH_SYS_TIME #include @@ -3023,29 +8542,53 @@ #include #endif #endif - -int main() { +int +main () +{ + struct timeval time; struct timezone dummy; gettimeofday (&time, &dummy); -; return 0; } -EOF -if { (eval echo configure:3036: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - echo "$ac_t""no" 1>&6 + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - echo "$ac_t""yes" 1>&6 - cat >> confdefs.h <<\EOF + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + cat >>confdefs.h <<\_ACEOF #define GETTIMEOFDAY_ONE_ARGUMENT 1 -EOF +_ACEOF fi -rm -f conftest* + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext fi @@ -3053,22 +8596,29 @@ # # RedHat 8.0 ships with a broken regexp library (Nessus bug#90) # -test -f /etc/redhat-release && +test -f /etc/redhat-release && { cat /etc/redhat-release | egrep "(8\.0|9)" >/dev/null && BROKEN_REGEXP=y } - + test -z "$BROKEN_REGEXP" && { -echo $ac_n "checking for a working regexp implementation""... $ac_c" 1>&6 -echo "configure:3066: checking for a working regexp implementation" >&5 +{ echo "$as_me:$LINENO: checking for a working regexp implementation" >&5 +echo $ECHO_N "checking for a working regexp implementation... $ECHO_C" >&6; } if test "$cross_compiling" = yes; then - { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } + { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot run test program while cross compiling +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } else - cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include #include @@ -3080,7 +8630,7 @@ char fastmap[1 << 8]; struct re_pattern_buffer pb; struct re_registers regs; - + pb.allocated = 8; pb.buffer = malloc(8); pb.fastmap = fastmap; @@ -3088,40 +8638,68 @@ re_set_syntax(RE_SYNTAX_POSIX_EGREP); re_compile_pattern(".*nessus.*", strlen(".*nessus.*"), &pb); re_compile_fastmap(&pb); - return re_search(&pb, + return re_search(&pb, "i use nessus everyday", strlen("i use nessus everyday"), - 0, + 0, strlen("i use nessus everyday"), ®s); } -EOF -if { (eval echo configure:3101: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null -then - echo "$ac_t""yes" 1>&6;cat >> confdefs.h <<\EOF +_ACEOF +rm -f conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; };cat >>confdefs.h <<\_ACEOF #define HAVE_REGEX_SUPPORT 1 -EOF +_ACEOF else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -fr conftest* - echo "$ac_t""no" 1>&6 + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +{ echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi -rm -fr conftest* +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi + } -echo $ac_n "checking GNU gettext available""... $ac_c" 1>&6 -echo "configure:3120: checking GNU gettext available" >&5 -cat > conftest.$ac_ext <&5 +echo $ECHO_N "checking GNU gettext available... $ECHO_C" >&6; } +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include -int main() { +int +main () +{ extern int _nl_msg_cat_cntr; extern int *_nl_domain_bindings; int @@ -3130,35 +8708,51 @@ bindtextdomain ("", ""); return (int) gettext ("") + (int) ngettext ("", "", 0) + _nl_msg_cat_cntr + *_nl_domain_bindings; } -; return 0; } -EOF -if { (eval echo configure:3136: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* - echo "$ac_t""yes" 1>&6; cat >> confdefs.h <<\EOF + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; }; cat >>confdefs.h <<\_ACEOF #define HAVE_GNU_GETTEXT 1 -EOF +_ACEOF gettext_flags="-DHAVE_GNU_GETTEXT" else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - echo "$ac_t""no" 1>&6 + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi -rm -f conftest* +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -# If we find X, set shell vars x_includes and x_libraries to the -# paths, otherwise set no_x=yes. -# Uses ac_ vars as temps to allow command line to override cache and checks. -# --without-x overrides everything else, but does not touch the cache. -echo $ac_n "checking for X""... $ac_c" 1>&6 -echo "configure:3157: checking for X" >&5 -# Check whether --with-x or --without-x was given. +{ echo "$as_me:$LINENO: checking for X" >&5 +echo $ECHO_N "checking for X... $ECHO_C" >&6; } + + +# Check whether --with-x was given. if test "${with_x+set}" = set; then - withval="$with_x" - : + withval=$with_x; fi # $have_x is `yes', `no', `disabled', or empty when we do not yet know. @@ -3166,227 +8760,237 @@ # The user explicitly disabled X. have_x=disabled else - if test "x$x_includes" != xNONE && test "x$x_libraries" != xNONE; then - # Both variables are already set. - have_x=yes - else -if eval "test \"`echo '$''{'ac_cv_have_x'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 + case $x_includes,$x_libraries in #( + *\'*) { { echo "$as_me:$LINENO: error: Cannot use X directory names containing '" >&5 +echo "$as_me: error: Cannot use X directory names containing '" >&2;} + { (exit 1); exit 1; }; };; #( + *,NONE | NONE,*) if test "${ac_cv_have_x+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else # One or both of the vars are not set, and there is no cached value. -ac_x_includes=NO ac_x_libraries=NO -rm -fr conftestdir -if mkdir conftestdir; then - cd conftestdir - # Make sure to not put "make" in the Imakefile rules, since we grep it out. - cat > Imakefile <<'EOF' -acfindx: - @echo 'ac_im_incroot="${INCROOT}"; ac_im_usrlibdir="${USRLIBDIR}"; ac_im_libdir="${LIBDIR}"' -EOF - if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then +ac_x_includes=no ac_x_libraries=no +rm -f -r conftest.dir +if mkdir conftest.dir; then + cd conftest.dir + cat >Imakefile <<'_ACEOF' +incroot: + @echo incroot='${INCROOT}' +usrlibdir: + @echo usrlibdir='${USRLIBDIR}' +libdir: + @echo libdir='${LIBDIR}' +_ACEOF + if (export CC; ${XMKMF-xmkmf}) >/dev/null 2>/dev/null && test -f Makefile; then # GNU make sometimes prints "make[1]: Entering...", which would confuse us. - eval `${MAKE-make} acfindx 2>/dev/null | grep -v make` + for ac_var in incroot usrlibdir libdir; do + eval "ac_im_$ac_var=\`\${MAKE-make} $ac_var 2>/dev/null | sed -n 's/^$ac_var=//p'\`" + done # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR. for ac_extension in a so sl; do - if test ! -f $ac_im_usrlibdir/libX11.$ac_extension && - test -f $ac_im_libdir/libX11.$ac_extension; then - ac_im_usrlibdir=$ac_im_libdir; break + if test ! -f "$ac_im_usrlibdir/libX11.$ac_extension" && + test -f "$ac_im_libdir/libX11.$ac_extension"; then + ac_im_usrlibdir=$ac_im_libdir; break fi done # Screen out bogus values from the imake configuration. They are # bogus both because they are the default anyway, and because # using them would break gcc on systems where it needs fixed includes. - case "$ac_im_incroot" in - /usr/include) ;; - *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes="$ac_im_incroot" ;; + case $ac_im_incroot in + /usr/include) ac_x_includes= ;; + *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes=$ac_im_incroot;; esac - case "$ac_im_usrlibdir" in + case $ac_im_usrlibdir in /usr/lib | /lib) ;; - *) test -d "$ac_im_usrlibdir" && ac_x_libraries="$ac_im_usrlibdir" ;; + *) test -d "$ac_im_usrlibdir" && ac_x_libraries=$ac_im_usrlibdir ;; esac fi cd .. - rm -fr conftestdir + rm -f -r conftest.dir fi -if test "$ac_x_includes" = NO; then - # Guess where to find include files, by looking for this one X11 .h file. - test -z "$x_direct_test_include" && x_direct_test_include=X11/Intrinsic.h +# Standard set of common directories for X headers. +# Check X11 before X11Rn because it is often a symlink to the current release. +ac_x_header_dirs=' +/usr/X11/include +/usr/X11R6/include +/usr/X11R5/include +/usr/X11R4/include +/usr/include/X11 +/usr/include/X11R6 +/usr/include/X11R5 +/usr/include/X11R4 + +/usr/local/X11/include +/usr/local/X11R6/include +/usr/local/X11R5/include +/usr/local/X11R4/include + +/usr/local/include/X11 +/usr/local/include/X11R6 +/usr/local/include/X11R5 +/usr/local/include/X11R4 + +/usr/X386/include +/usr/x386/include +/usr/XFree86/include/X11 + +/usr/include +/usr/local/include +/usr/unsupported/include +/usr/athena/include +/usr/local/x11r5/include +/usr/lpp/Xamples/include + +/usr/openwin/include +/usr/openwin/share/include' + +if test "$ac_x_includes" = no; then + # Guess where to find include files, by looking for Xlib.h. # First, try using that file with no special directory specified. -cat > conftest.$ac_ext < -EOF -ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3224: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } -ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` -if test -z "$ac_err"; then - rm -rf conftest* + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + }; then # We can compile using X headers with no special include directory. ac_x_includes= else - echo "$ac_err" >&5 - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - # Look for the header file in a standard set of common directories. -# Check X11 before X11Rn because it is often a symlink to the current release. - for ac_dir in \ - /usr/X11/include \ - /usr/X11R6/include \ - /usr/X11R5/include \ - /usr/X11R4/include \ - \ - /usr/include/X11 \ - /usr/include/X11R6 \ - /usr/include/X11R5 \ - /usr/include/X11R4 \ - \ - /usr/local/X11/include \ - /usr/local/X11R6/include \ - /usr/local/X11R5/include \ - /usr/local/X11R4/include \ - \ - /usr/local/include/X11 \ - /usr/local/include/X11R6 \ - /usr/local/include/X11R5 \ - /usr/local/include/X11R4 \ - \ - /usr/X386/include \ - /usr/x386/include \ - /usr/XFree86/include/X11 \ - \ - /usr/include \ - /usr/local/include \ - /usr/unsupported/include \ - /usr/athena/include \ - /usr/local/x11r5/include \ - /usr/lpp/Xamples/include \ - \ - /usr/openwin/include \ - /usr/openwin/share/include \ - ; \ - do - if test -r "$ac_dir/$x_direct_test_include"; then - ac_x_includes=$ac_dir - break - fi - done + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + for ac_dir in $ac_x_header_dirs; do + if test -r "$ac_dir/X11/Xlib.h"; then + ac_x_includes=$ac_dir + break + fi +done fi -rm -f conftest* -fi # $ac_x_includes = NO -if test "$ac_x_libraries" = NO; then +rm -f conftest.err conftest.$ac_ext +fi # $ac_x_includes = no + +if test "$ac_x_libraries" = no; then # Check for the libraries. - - test -z "$x_direct_test_library" && x_direct_test_library=Xt - test -z "$x_direct_test_function" && x_direct_test_function=XtMalloc - # See if we find them without any special options. # Don't add to $LIBS permanently. - ac_save_LIBS="$LIBS" - LIBS="-l$x_direct_test_library $LIBS" -cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - LIBS="$ac_save_LIBS" + ac_save_LIBS=$LIBS + LIBS="-lX11 $LIBS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ +XrmInitialize () + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + LIBS=$ac_save_LIBS # We can link X programs with no special library path. ac_x_libraries= else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - LIBS="$ac_save_LIBS" -# First see if replacing the include by lib works. -# Check X11 before X11Rn because it is often a symlink to the current release. -for ac_dir in `echo "$ac_x_includes" | sed s/include/lib/` \ - /usr/X11/lib \ - /usr/X11R6/lib \ - /usr/X11R5/lib \ - /usr/X11R4/lib \ - \ - /usr/lib/X11 \ - /usr/lib/X11R6 \ - /usr/lib/X11R5 \ - /usr/lib/X11R4 \ - \ - /usr/local/X11/lib \ - /usr/local/X11R6/lib \ - /usr/local/X11R5/lib \ - /usr/local/X11R4/lib \ - \ - /usr/local/lib/X11 \ - /usr/local/lib/X11R6 \ - /usr/local/lib/X11R5 \ - /usr/local/lib/X11R4 \ - \ - /usr/X386/lib \ - /usr/x386/lib \ - /usr/XFree86/lib/X11 \ - \ - /usr/lib \ - /usr/local/lib \ - /usr/unsupported/lib \ - /usr/athena/lib \ - /usr/local/x11r5/lib \ - /usr/lpp/Xamples/lib \ - /lib/usr/lib/X11 \ - \ - /usr/openwin/lib \ - /usr/openwin/share/lib \ - ; \ + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + LIBS=$ac_save_LIBS +for ac_dir in `echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g` do + # Don't even attempt the hair of trying to link an X program! for ac_extension in a so sl; do - if test -r $ac_dir/lib${x_direct_test_library}.$ac_extension; then + if test -r "$ac_dir/libX11.$ac_extension"; then ac_x_libraries=$ac_dir break 2 fi done done fi -rm -f conftest* -fi # $ac_x_libraries = NO -if test "$ac_x_includes" = NO || test "$ac_x_libraries" = NO; then - # Didn't find X anywhere. Cache the known absence of X. - ac_cv_have_x="have_x=no" -else - # Record where we found X for the cache. - ac_cv_have_x="have_x=yes \ - ac_x_includes=$ac_x_includes ac_x_libraries=$ac_x_libraries" +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi # $ac_x_libraries = no + +case $ac_x_includes,$ac_x_libraries in #( + no,* | *,no | *\'*) + # Didn't find X, or a directory has "'" in its name. + ac_cv_have_x="have_x=no";; #( + *) + # Record where we found X for the cache. + ac_cv_have_x="have_x=yes\ + ac_x_includes='$ac_x_includes'\ + ac_x_libraries='$ac_x_libraries'" +esac fi -fi - fi +;; #( + *) have_x=yes;; + esac eval "$ac_cv_have_x" fi # $with_x != no if test "$have_x" != yes; then - echo "$ac_t""$have_x" 1>&6 + { echo "$as_me:$LINENO: result: $have_x" >&5 +echo "${ECHO_T}$have_x" >&6; } no_x=yes else # If each of the values was on the command line, it overrides each guess. test "x$x_includes" = xNONE && x_includes=$ac_x_includes test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries # Update the cache value to reflect the command line values. - ac_cv_have_x="have_x=yes \ - ac_x_includes=$x_includes ac_x_libraries=$x_libraries" - echo "$ac_t""libraries $x_libraries, headers $x_includes" 1>&6 + ac_cv_have_x="have_x=yes\ + ac_x_includes='$x_includes'\ + ac_x_libraries='$x_libraries'" + { echo "$as_me:$LINENO: result: libraries $x_libraries, headers $x_includes" >&5 +echo "${ECHO_T}libraries $x_libraries, headers $x_includes" >&6; } fi if test "$no_x" = yes; then # Not all programs may use this symbol, but it does not hurt to define it. - cat >> confdefs.h <<\EOF + +cat >>confdefs.h <<\_ACEOF #define X_DISPLAY_MISSING 1 -EOF +_ACEOF X_CFLAGS= X_PRE_LIBS= X_LIBS= X_EXTRA_LIBS= else @@ -3399,61 +9003,104 @@ X_LIBS="$X_LIBS -L$x_libraries" # For Solaris; some versions of Sun CC require a space after -R and # others require no space. Words are not sufficient . . . . - case "`(uname -sr) 2>/dev/null`" in - "SunOS 5"*) - echo $ac_n "checking whether -R must be followed by a space""... $ac_c" 1>&6 -echo "configure:3406: checking whether -R must be followed by a space" >&5 - ac_xsave_LIBS="$LIBS"; LIBS="$LIBS -R$x_libraries" - cat > conftest.$ac_ext <&5 +echo $ECHO_N "checking whether -R must be followed by a space... $ECHO_C" >&6; } + ac_xsave_LIBS=$LIBS; LIBS="$LIBS -R$x_libraries" + ac_xsave_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -int main() { +int +main () +{ -; return 0; } -EOF -if { (eval echo configure:3416: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - ac_R_nospace=yes + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + X_LIBS="$X_LIBS -R$x_libraries" else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_R_nospace=no -fi -rm -f conftest* - if test $ac_R_nospace = yes; then - echo "$ac_t""no" 1>&6 - X_LIBS="$X_LIBS -R$x_libraries" - else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + LIBS="$ac_xsave_LIBS -R $x_libraries" - cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -int main() { +int +main () +{ -; return 0; } -EOF -if { (eval echo configure:3439: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - ac_R_space=yes + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + X_LIBS="$X_LIBS -R $x_libraries" else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_R_space=no + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: result: neither works" >&5 +echo "${ECHO_T}neither works" >&6; } fi -rm -f conftest* - if test $ac_R_space = yes; then - echo "$ac_t""yes" 1>&6 - X_LIBS="$X_LIBS -R $x_libraries" - else - echo "$ac_t""neither works" 1>&6 - fi - fi - LIBS="$ac_xsave_LIBS" - esac + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +fi + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + ac_c_werror_flag=$ac_xsave_c_werror_flag + LIBS=$ac_xsave_LIBS fi # Check for system-dependent libraries X programs must link with. @@ -3463,567 +9110,996 @@ if test "$ISC" = yes; then X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl_s -linet" else - # Martyn.Johnson at cl.cam.ac.uk says this is needed for Ultrix, if the X - # libraries were built with DECnet support. And karl at cs.umb.edu says + # Martyn Johnson says this is needed for Ultrix, if the X + # libraries were built with DECnet support. And Karl Berry says # the Alpha needs dnet_stub (dnet does not exist). - echo $ac_n "checking for dnet_ntoa in -ldnet""... $ac_c" 1>&6 -echo "configure:3471: checking for dnet_ntoa in -ldnet" >&5 -ac_lib_var=`echo dnet'_'dnet_ntoa | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 + ac_xsave_LIBS="$LIBS"; LIBS="$LIBS $X_LIBS -lX11" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char XOpenDisplay (); +int +main () +{ +return XOpenDisplay (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + : else - ac_save_LIBS="$LIBS" + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + { echo "$as_me:$LINENO: checking for dnet_ntoa in -ldnet" >&5 +echo $ECHO_N "checking for dnet_ntoa in -ldnet... $ECHO_C" >&6; } +if test "${ac_cv_lib_dnet_dnet_ntoa+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS LIBS="-ldnet $LIBS" -cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -int main() { -dnet_ntoa() -; return 0; } -EOF -if { (eval echo configure:3490: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dnet_ntoa (); +int +main () +{ +return dnet_ntoa (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dnet_dnet_ntoa=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dnet_dnet_ntoa=no fi -rm -f conftest* -LIBS="$ac_save_LIBS" +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_dnet_ntoa" >&5 +echo "${ECHO_T}$ac_cv_lib_dnet_dnet_ntoa" >&6; } +if test $ac_cv_lib_dnet_dnet_ntoa = yes; then X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet" -else - echo "$ac_t""no" 1>&6 fi if test $ac_cv_lib_dnet_dnet_ntoa = no; then - echo $ac_n "checking for dnet_ntoa in -ldnet_stub""... $ac_c" 1>&6 -echo "configure:3512: checking for dnet_ntoa in -ldnet_stub" >&5 -ac_lib_var=`echo dnet_stub'_'dnet_ntoa | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 + { echo "$as_me:$LINENO: checking for dnet_ntoa in -ldnet_stub" >&5 +echo $ECHO_N "checking for dnet_ntoa in -ldnet_stub... $ECHO_C" >&6; } +if test "${ac_cv_lib_dnet_stub_dnet_ntoa+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_save_LIBS="$LIBS" + ac_check_lib_save_LIBS=$LIBS LIBS="-ldnet_stub $LIBS" -cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -int main() { -dnet_ntoa() -; return 0; } -EOF -if { (eval echo configure:3531: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dnet_ntoa (); +int +main () +{ +return dnet_ntoa (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dnet_stub_dnet_ntoa=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dnet_stub_dnet_ntoa=no fi -rm -f conftest* -LIBS="$ac_save_LIBS" +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5 +echo "${ECHO_T}$ac_cv_lib_dnet_stub_dnet_ntoa" >&6; } +if test $ac_cv_lib_dnet_stub_dnet_ntoa = yes; then X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub" -else - echo "$ac_t""no" 1>&6 fi fi +fi +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext + LIBS="$ac_xsave_LIBS" + # msh at cis.ufl.edu says -lnsl (and -lsocket) are needed for his 386/AT, # to get the SysV transport functions. - # chad at anasazi.com says the Pyramis MIS-ES running DC/OSx (SVR4) + # Chad R. Larson says the Pyramis MIS-ES running DC/OSx (SVR4) # needs -lnsl. # The nsl library prevents programs from opening the X display - # on Irix 5.2, according to dickey at clark.net. - echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6 -echo "configure:3560: checking for gethostbyname" >&5 -if eval "test \"`echo '$''{'ac_cv_func_gethostbyname'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 + # on Irix 5.2, according to T.E. Dickey. + # The functions gethostbyname, getservbyname, and inet_addr are + # in -lbsd on LynxOS 3.0.1/i386, according to Lars Hecking. + { echo "$as_me:$LINENO: checking for gethostbyname" >&5 +echo $ECHO_N "checking for gethostbyname... $ECHO_C" >&6; } +if test "${ac_cv_func_gethostbyname+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define gethostbyname to an innocuous variant, in case declares gethostbyname. + For example, HP-UX 11i declares gettimeofday. */ +#define gethostbyname innocuous_gethostbyname + /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char gethostbyname(); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char gethostbyname(); + which can conflict with char gethostbyname (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ -int main() { +#ifdef __STDC__ +# include +#else +# include +#endif +#undef gethostbyname + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char gethostbyname (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ -#if defined (__stub_gethostbyname) || defined (__stub___gethostbyname) +#if defined __stub_gethostbyname || defined __stub___gethostbyname choke me -#else -gethostbyname(); #endif -; return 0; } -EOF -if { (eval echo configure:3588: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_gethostbyname=yes" +int +main () +{ +return gethostbyname (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_gethostbyname=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_gethostbyname=no" + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_gethostbyname=no fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_func_'gethostbyname`\" = yes"; then - echo "$ac_t""yes" 1>&6 - : -else - echo "$ac_t""no" 1>&6 +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_gethostbyname" >&5 +echo "${ECHO_T}$ac_cv_func_gethostbyname" >&6; } if test $ac_cv_func_gethostbyname = no; then - echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6 -echo "configure:3609: checking for gethostbyname in -lnsl" >&5 -ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 + { echo "$as_me:$LINENO: checking for gethostbyname in -lnsl" >&5 +echo $ECHO_N "checking for gethostbyname in -lnsl... $ECHO_C" >&6; } +if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_save_LIBS="$LIBS" + ac_check_lib_save_LIBS=$LIBS LIBS="-lnsl $LIBS" -cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -int main() { -gethostbyname() -; return 0; } -EOF -if { (eval echo configure:3628: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char gethostbyname (); +int +main () +{ +return gethostbyname (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_nsl_gethostbyname=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_nsl_gethostbyname=no fi -rm -f conftest* -LIBS="$ac_save_LIBS" +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 +{ echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_gethostbyname" >&5 +echo "${ECHO_T}$ac_cv_lib_nsl_gethostbyname" >&6; } +if test $ac_cv_lib_nsl_gethostbyname = yes; then X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl" +fi + + if test $ac_cv_lib_nsl_gethostbyname = no; then + { echo "$as_me:$LINENO: checking for gethostbyname in -lbsd" >&5 +echo $ECHO_N "checking for gethostbyname in -lbsd... $ECHO_C" >&6; } +if test "${ac_cv_lib_bsd_gethostbyname+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - echo "$ac_t""no" 1>&6 + ac_check_lib_save_LIBS=$LIBS +LIBS="-lbsd $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char gethostbyname (); +int +main () +{ +return gethostbyname (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_bsd_gethostbyname=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_bsd_gethostbyname=no fi +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ echo "$as_me:$LINENO: result: $ac_cv_lib_bsd_gethostbyname" >&5 +echo "${ECHO_T}$ac_cv_lib_bsd_gethostbyname" >&6; } +if test $ac_cv_lib_bsd_gethostbyname = yes; then + X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd" +fi + + fi fi # lieder at skyler.mavd.honeywell.com says without -lsocket, # socket/setsockopt and other routines are undefined under SCO ODT # 2.0. But -lsocket is broken on IRIX 5.2 (and is not necessary - # on later versions), says simon at lia.di.epfl.ch: it contains - # gethostby* variants that don't use the nameserver (or something). - # -lsocket must be given before -lnsl if both are needed. - # We assume that if connect needs -lnsl, so does gethostbyname. - echo $ac_n "checking for connect""... $ac_c" 1>&6 -echo "configure:3658: checking for connect" >&5 -if eval "test \"`echo '$''{'ac_cv_func_connect'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 + # on later versions), says Simon Leinen: it contains gethostby* + # variants that don't use the name server (or something). -lsocket + # must be given before -lnsl if both are needed. We assume that + # if connect needs -lnsl, so does gethostbyname. + { echo "$as_me:$LINENO: checking for connect" >&5 +echo $ECHO_N "checking for connect... $ECHO_C" >&6; } +if test "${ac_cv_func_connect+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define connect to an innocuous variant, in case declares connect. + For example, HP-UX 11i declares gettimeofday. */ +#define connect innocuous_connect + /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char connect(); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char connect(); + which can conflict with char connect (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ -int main() { +#ifdef __STDC__ +# include +#else +# include +#endif +#undef connect + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char connect (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ -#if defined (__stub_connect) || defined (__stub___connect) +#if defined __stub_connect || defined __stub___connect choke me -#else -connect(); #endif -; return 0; } -EOF -if { (eval echo configure:3686: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_connect=yes" +int +main () +{ +return connect (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_connect=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_connect=no" + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_connect=no fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_func_'connect`\" = yes"; then - echo "$ac_t""yes" 1>&6 - : -else - echo "$ac_t""no" 1>&6 +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_connect" >&5 +echo "${ECHO_T}$ac_cv_func_connect" >&6; } if test $ac_cv_func_connect = no; then - echo $ac_n "checking for connect in -lsocket""... $ac_c" 1>&6 -echo "configure:3707: checking for connect in -lsocket" >&5 -ac_lib_var=`echo socket'_'connect | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 + { echo "$as_me:$LINENO: checking for connect in -lsocket" >&5 +echo $ECHO_N "checking for connect in -lsocket... $ECHO_C" >&6; } +if test "${ac_cv_lib_socket_connect+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_save_LIBS="$LIBS" + ac_check_lib_save_LIBS=$LIBS LIBS="-lsocket $X_EXTRA_LIBS $LIBS" -cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -int main() { -connect() -; return 0; } -EOF -if { (eval echo configure:3726: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char connect (); +int +main () +{ +return connect (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_socket_connect=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_socket_connect=no fi -rm -f conftest* -LIBS="$ac_save_LIBS" +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 +{ echo "$as_me:$LINENO: result: $ac_cv_lib_socket_connect" >&5 +echo "${ECHO_T}$ac_cv_lib_socket_connect" >&6; } +if test $ac_cv_lib_socket_connect = yes; then X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS" -else - echo "$ac_t""no" 1>&6 fi fi - # gomez at mi.uni-erlangen.de says -lposix is necessary on A/UX. - echo $ac_n "checking for remove""... $ac_c" 1>&6 -echo "configure:3750: checking for remove" >&5 -if eval "test \"`echo '$''{'ac_cv_func_remove'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 + # Guillermo Gomez says -lposix is necessary on A/UX. + { echo "$as_me:$LINENO: checking for remove" >&5 +echo $ECHO_N "checking for remove... $ECHO_C" >&6; } +if test "${ac_cv_func_remove+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define remove to an innocuous variant, in case declares remove. + For example, HP-UX 11i declares gettimeofday. */ +#define remove innocuous_remove + /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char remove(); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char remove(); + which can conflict with char remove (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ -int main() { +#ifdef __STDC__ +# include +#else +# include +#endif +#undef remove + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char remove (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ -#if defined (__stub_remove) || defined (__stub___remove) +#if defined __stub_remove || defined __stub___remove choke me -#else -remove(); #endif -; return 0; } -EOF -if { (eval echo configure:3778: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_remove=yes" +int +main () +{ +return remove (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_remove=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_remove=no" + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_remove=no fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_func_'remove`\" = yes"; then - echo "$ac_t""yes" 1>&6 - : -else - echo "$ac_t""no" 1>&6 +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_remove" >&5 +echo "${ECHO_T}$ac_cv_func_remove" >&6; } if test $ac_cv_func_remove = no; then - echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6 -echo "configure:3799: checking for remove in -lposix" >&5 -ac_lib_var=`echo posix'_'remove | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 + { echo "$as_me:$LINENO: checking for remove in -lposix" >&5 +echo $ECHO_N "checking for remove in -lposix... $ECHO_C" >&6; } +if test "${ac_cv_lib_posix_remove+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_save_LIBS="$LIBS" + ac_check_lib_save_LIBS=$LIBS LIBS="-lposix $LIBS" -cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -int main() { -remove() -; return 0; } -EOF -if { (eval echo configure:3818: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char remove (); +int +main () +{ +return remove (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_posix_remove=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_posix_remove=no fi -rm -f conftest* -LIBS="$ac_save_LIBS" +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 +{ echo "$as_me:$LINENO: result: $ac_cv_lib_posix_remove" >&5 +echo "${ECHO_T}$ac_cv_lib_posix_remove" >&6; } +if test $ac_cv_lib_posix_remove = yes; then X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix" -else - echo "$ac_t""no" 1>&6 fi fi # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. - echo $ac_n "checking for shmat""... $ac_c" 1>&6 -echo "configure:3842: checking for shmat" >&5 -if eval "test \"`echo '$''{'ac_cv_func_shmat'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 + { echo "$as_me:$LINENO: checking for shmat" >&5 +echo $ECHO_N "checking for shmat... $ECHO_C" >&6; } +if test "${ac_cv_func_shmat+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define shmat to an innocuous variant, in case declares shmat. + For example, HP-UX 11i declares gettimeofday. */ +#define shmat innocuous_shmat + /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char shmat(); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char shmat(); + which can conflict with char shmat (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ -int main() { +#ifdef __STDC__ +# include +#else +# include +#endif +#undef shmat + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shmat (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ -#if defined (__stub_shmat) || defined (__stub___shmat) +#if defined __stub_shmat || defined __stub___shmat choke me -#else -shmat(); #endif -; return 0; } -EOF -if { (eval echo configure:3870: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_shmat=yes" +int +main () +{ +return shmat (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_func_shmat=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_shmat=no" + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_func_shmat=no fi -rm -f conftest* -fi -if eval "test \"`echo '$ac_cv_func_'shmat`\" = yes"; then - echo "$ac_t""yes" 1>&6 - : -else - echo "$ac_t""no" 1>&6 +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext fi +{ echo "$as_me:$LINENO: result: $ac_cv_func_shmat" >&5 +echo "${ECHO_T}$ac_cv_func_shmat" >&6; } if test $ac_cv_func_shmat = no; then - echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6 -echo "configure:3891: checking for shmat in -lipc" >&5 -ac_lib_var=`echo ipc'_'shmat | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 + { echo "$as_me:$LINENO: checking for shmat in -lipc" >&5 +echo $ECHO_N "checking for shmat in -lipc... $ECHO_C" >&6; } +if test "${ac_cv_lib_ipc_shmat+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_save_LIBS="$LIBS" + ac_check_lib_save_LIBS=$LIBS LIBS="-lipc $LIBS" -cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -int main() { -shmat() -; return 0; } -EOF -if { (eval echo configure:3910: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char shmat (); +int +main () +{ +return shmat (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_ipc_shmat=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_ipc_shmat=no fi -rm -f conftest* -LIBS="$ac_save_LIBS" +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 +{ echo "$as_me:$LINENO: result: $ac_cv_lib_ipc_shmat" >&5 +echo "${ECHO_T}$ac_cv_lib_ipc_shmat" >&6; } +if test $ac_cv_lib_ipc_shmat = yes; then X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc" -else - echo "$ac_t""no" 1>&6 fi fi fi # Check for libraries that X11R6 Xt/Xaw programs need. - ac_save_LDFLAGS="$LDFLAGS" + ac_save_LDFLAGS=$LDFLAGS test -n "$x_libraries" && LDFLAGS="$LDFLAGS -L$x_libraries" # SM needs ICE to (dynamically) link under SunOS 4.x (so we have to # check for ICE first), but we must link in the order -lSM -lICE or # we get undefined symbols. So assume we have SM if we have ICE. # These have to be linked with before -lX11, unlike the other # libraries we check for below, so use a different variable. - # --interran at uluru.Stanford.EDU, kb at cs.umb.edu. - echo $ac_n "checking for IceConnectionNumber in -lICE""... $ac_c" 1>&6 -echo "configure:3943: checking for IceConnectionNumber in -lICE" >&5 -ac_lib_var=`echo ICE'_'IceConnectionNumber | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 + # John Interrante, Karl Berry + { echo "$as_me:$LINENO: checking for IceConnectionNumber in -lICE" >&5 +echo $ECHO_N "checking for IceConnectionNumber in -lICE... $ECHO_C" >&6; } +if test "${ac_cv_lib_ICE_IceConnectionNumber+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_save_LIBS="$LIBS" + ac_check_lib_save_LIBS=$LIBS LIBS="-lICE $X_EXTRA_LIBS $LIBS" -cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -int main() { -IceConnectionNumber() -; return 0; } -EOF -if { (eval echo configure:3962: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char IceConnectionNumber (); +int +main () +{ +return IceConnectionNumber (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_ICE_IceConnectionNumber=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_ICE_IceConnectionNumber=no fi -rm -f conftest* -LIBS="$ac_save_LIBS" +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 +{ echo "$as_me:$LINENO: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5 +echo "${ECHO_T}$ac_cv_lib_ICE_IceConnectionNumber" >&6; } +if test $ac_cv_lib_ICE_IceConnectionNumber = yes; then X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE" -else - echo "$ac_t""no" 1>&6 fi - LDFLAGS="$ac_save_LDFLAGS" + LDFLAGS=$ac_save_LDFLAGS fi -PWDD=`pwd` -echo $ac_n "checking for long file names""... $ac_c" 1>&6 -echo "configure:3988: checking for long file names" >&5 -if eval "test \"`echo '$''{'ac_cv_sys_long_file_names'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +PWDD=`pwd` +{ echo "$as_me:$LINENO: checking for long file names" >&5 +echo $ECHO_N "checking for long file names... $ECHO_C" >&6; } +if test "${ac_cv_sys_long_file_names+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_sys_long_file_names=yes # Test for long file names in all the places we know might matter: # . the current directory, where building will happen # $prefix/lib where we will be installing things # $exec_prefix/lib likewise -# eval it to expand exec_prefix. # $TMPDIR if set, where it might want to write temporary files -# if $TMPDIR is not set: # /tmp where it might want to write temporary files # /var/tmp likewise # /usr/tmp likewise -if test -n "$TMPDIR" && test -d "$TMPDIR" && test -w "$TMPDIR"; then - ac_tmpdirs="$TMPDIR" -else - ac_tmpdirs='/tmp /var/tmp /usr/tmp' -fi -for ac_dir in . $ac_tmpdirs `eval echo $prefix/lib $exec_prefix/lib` ; do - test -d $ac_dir || continue - test -w $ac_dir || continue # It is less confusing to not echo anything here. - (echo 1 > $ac_dir/conftest9012345) 2>/dev/null - (echo 2 > $ac_dir/conftest9012346) 2>/dev/null - val=`cat $ac_dir/conftest9012345 2>/dev/null` - if test ! -f $ac_dir/conftest9012345 || test "$val" != 1; then +for ac_dir in . "$TMPDIR" /tmp /var/tmp /usr/tmp "$prefix/lib" "$exec_prefix/lib"; do + # Skip $TMPDIR if it is empty or bogus, and skip $exec_prefix/lib + # in the usual case where exec_prefix is '${prefix}'. + case $ac_dir in #( + . | /* | ?:[\\/]*) ;; #( + *) continue;; + esac + test -w "$ac_dir/." || continue # It is less confusing to not echo anything here. + ac_xdir=$ac_dir/cf$$ + (umask 077 && mkdir "$ac_xdir" 2>/dev/null) || continue + ac_tf1=$ac_xdir/conftest9012345 + ac_tf2=$ac_xdir/conftest9012346 + touch "$ac_tf1" 2>/dev/null && test -f "$ac_tf1" && test ! -f "$ac_tf2" || ac_cv_sys_long_file_names=no - rm -f $ac_dir/conftest9012345 $ac_dir/conftest9012346 2>/dev/null - break - fi - rm -f $ac_dir/conftest9012345 $ac_dir/conftest9012346 2>/dev/null + rm -f -r "$ac_xdir" 2>/dev/null + test $ac_cv_sys_long_file_names = no && break done fi +{ echo "$as_me:$LINENO: result: $ac_cv_sys_long_file_names" >&5 +echo "${ECHO_T}$ac_cv_sys_long_file_names" >&6; } +if test $ac_cv_sys_long_file_names = yes; then -echo "$ac_t""$ac_cv_sys_long_file_names" 1>&6 -if test $ac_cv_sys_long_file_names = yes; then - cat >> confdefs.h <<\EOF +cat >>confdefs.h <<\_ACEOF #define HAVE_LONG_FILE_NAMES 1 -EOF +_ACEOF fi @@ -4031,338 +10107,560 @@ if test "`uname`" != "IRIX" ; then - echo $ac_n "checking for -lsocket""... $ac_c" 1>&6 -echo "configure:4036: checking for -lsocket" >&5 -if eval "test \"`echo '$''{'ac_cv_lib_socket'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 + { echo "$as_me:$LINENO: checking for main in -lsocket" >&5 +echo $ECHO_N "checking for main in -lsocket... $ECHO_C" >&6; } +if test "${ac_cv_lib_socket_main+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_save_LIBS="$LIBS" + ac_check_lib_save_LIBS=$LIBS LIBS="-lsocket $LIBS" -cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -int main() { -main() -; return 0; } -EOF -if { (eval echo configure:4050: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - ac_cv_lib_socket=yes + +int +main () +{ +return main (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_socket_main=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_lib_socket=no + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_socket_main=no fi -rm -f conftest* -LIBS="$ac_save_LIBS" +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi -echo "$ac_t""$ac_cv_lib_socket" 1>&6 -if test "$ac_cv_lib_socket" = yes; then +{ echo "$as_me:$LINENO: result: $ac_cv_lib_socket_main" >&5 +echo "${ECHO_T}$ac_cv_lib_socket_main" >&6; } +if test $ac_cv_lib_socket_main = yes; then socket_lib="-lsocket";LIBS="-lsocket $LIBS"; fi +ac_cv_lib_socket=ac_cv_lib_socket_main - echo $ac_n "checking for -lnsl""... $ac_c" 1>&6 -echo "configure:4069: checking for -lnsl" >&5 -if eval "test \"`echo '$''{'ac_cv_lib_nsl'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 + { echo "$as_me:$LINENO: checking for main in -lnsl" >&5 +echo $ECHO_N "checking for main in -lnsl... $ECHO_C" >&6; } +if test "${ac_cv_lib_nsl_main+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_save_LIBS="$LIBS" + ac_check_lib_save_LIBS=$LIBS LIBS="-lnsl $LIBS" -cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -int main() { -main() -; return 0; } -EOF -if { (eval echo configure:4083: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - ac_cv_lib_nsl=yes + +int +main () +{ +return main (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_nsl_main=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_lib_nsl=no + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_nsl_main=no fi -rm -f conftest* -LIBS="$ac_save_LIBS" +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi -echo "$ac_t""$ac_cv_lib_nsl" 1>&6 -if test "$ac_cv_lib_nsl" = yes; then +{ echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_main" >&5 +echo "${ECHO_T}$ac_cv_lib_nsl_main" >&6; } +if test $ac_cv_lib_nsl_main = yes; then nsl_lib="-lnsl";LIBS="-lnsl $LIBS"; fi +ac_cv_lib_nsl=ac_cv_lib_nsl_main - echo $ac_n "checking for -lresolv""... $ac_c" 1>&6 -echo "configure:4102: checking for -lresolv" >&5 -if eval "test \"`echo '$''{'ac_cv_lib_resolv'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 + { echo "$as_me:$LINENO: checking for main in -lresolv" >&5 +echo $ECHO_N "checking for main in -lresolv... $ECHO_C" >&6; } +if test "${ac_cv_lib_resolv_main+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_save_LIBS="$LIBS" + ac_check_lib_save_LIBS=$LIBS LIBS="-lresolv $LIBS" -cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -int main() { -main() -; return 0; } -EOF -if { (eval echo configure:4116: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - ac_cv_lib_resolv=yes + +int +main () +{ +return main (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_resolv_main=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_lib_resolv=no + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_resolv_main=no fi -rm -f conftest* -LIBS="$ac_save_LIBS" +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi -echo "$ac_t""$ac_cv_lib_resolv" 1>&6 -if test "$ac_cv_lib_resolv" = yes; then +{ echo "$as_me:$LINENO: result: $ac_cv_lib_resolv_main" >&5 +echo "${ECHO_T}$ac_cv_lib_resolv_main" >&6; } +if test $ac_cv_lib_resolv_main = yes; then resolv_lib="-lresolv";LIBS="-lresolv $LIBS"; fi +ac_cv_lib_resolv=ac_cv_lib_resolv_main fi -echo $ac_n "checking for inet_aton in -lc""... $ac_c" 1>&6 -echo "configure:4138: checking for inet_aton in -lc" >&5 -ac_lib_var=`echo c'_'inet_aton | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +{ echo "$as_me:$LINENO: checking for inet_aton in -lc" >&5 +echo $ECHO_N "checking for inet_aton in -lc... $ECHO_C" >&6; } +if test "${ac_cv_lib_c_inet_aton+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_save_LIBS="$LIBS" + ac_check_lib_save_LIBS=$LIBS LIBS="-lc $LIBS" -cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -int main() { -inet_aton() -; return 0; } -EOF -if { (eval echo configure:4157: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char inet_aton (); +int +main () +{ +return inet_aton (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_c_inet_aton=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_c_inet_aton=no fi -rm -f conftest* -LIBS="$ac_save_LIBS" +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - cat >> confdefs.h <<\EOF +{ echo "$as_me:$LINENO: result: $ac_cv_lib_c_inet_aton" >&5 +echo "${ECHO_T}$ac_cv_lib_c_inet_aton" >&6; } +if test $ac_cv_lib_c_inet_aton = yes; then + cat >>confdefs.h <<\_ACEOF #define HAVE_INET_ATON 1 -EOF +_ACEOF -else - echo "$ac_t""no" 1>&6 fi -echo $ac_n "checking for inet_aton in -lresolv""... $ac_c" 1>&6 -echo "configure:4181: checking for inet_aton in -lresolv" >&5 -ac_lib_var=`echo resolv'_'inet_aton | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +{ echo "$as_me:$LINENO: checking for inet_aton in -lresolv" >&5 +echo $ECHO_N "checking for inet_aton in -lresolv... $ECHO_C" >&6; } +if test "${ac_cv_lib_resolv_inet_aton+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_save_LIBS="$LIBS" + ac_check_lib_save_LIBS=$LIBS LIBS="-lresolv $LIBS" -cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -int main() { -inet_aton() -; return 0; } -EOF -if { (eval echo configure:4200: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char inet_aton (); +int +main () +{ +return inet_aton (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_resolv_inet_aton=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_resolv_inet_aton=no fi -rm -f conftest* -LIBS="$ac_save_LIBS" +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - cat >> confdefs.h <<\EOF +{ echo "$as_me:$LINENO: result: $ac_cv_lib_resolv_inet_aton" >&5 +echo "${ECHO_T}$ac_cv_lib_resolv_inet_aton" >&6; } +if test $ac_cv_lib_resolv_inet_aton = yes; then + cat >>confdefs.h <<\_ACEOF #define HAVE_INET_ATON 1 -EOF +_ACEOF -else - echo "$ac_t""no" 1>&6 fi -echo $ac_n "checking for compress in -lz""... $ac_c" 1>&6 -echo "configure:4224: checking for compress in -lz" >&5 -ac_lib_var=`echo z'_'compress | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 + +{ echo "$as_me:$LINENO: checking for compress in -lz" >&5 +echo $ECHO_N "checking for compress in -lz... $ECHO_C" >&6; } +if test "${ac_cv_lib_z_compress+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_save_LIBS="$LIBS" + ac_check_lib_save_LIBS=$LIBS LIBS="-lz $LIBS" -cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -int main() { -compress() -; return 0; } -EOF -if { (eval echo configure:4243: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char compress (); +int +main () +{ +return compress (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_z_compress=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_z_compress=no fi -rm -f conftest* -LIBS="$ac_save_LIBS" +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_lib=HAVE_LIB`echo z | sed -e 's/[^a-zA-Z0-9_]/_/g' \ - -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` - cat >> confdefs.h <&5 +echo "${ECHO_T}$ac_cv_lib_z_compress" >&6; } +if test $ac_cv_lib_z_compress = yes; then + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBZ 1 +_ACEOF LIBS="-lz $LIBS" else - echo "$ac_t""no" 1>&6 -{ echo "configure: error: "libz is needed"" 1>&2; exit 1; } + { { echo "$as_me:$LINENO: error: \"libz is needed\"" >&5 +echo "$as_me: error: \"libz is needed\"" >&2;} + { (exit 1); exit 1; }; } fi -echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6 -echo "configure:4273: checking for dlopen in -ldl" >&5 -ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'` -if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +{ echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 +echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } +if test "${ac_cv_lib_dl_dlopen+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - ac_save_LIBS="$LIBS" + ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" -cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ -int main() { -dlopen() -; return 0; } -EOF -if { (eval echo configure:4292: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=yes" +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char dlopen (); +int +main () +{ +return dlopen (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + ac_cv_lib_dl_dlopen=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_lib_$ac_lib_var=no" + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_lib_dl_dlopen=no fi -rm -f conftest* -LIBS="$ac_save_LIBS" +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS fi -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - echo "$ac_t""yes" 1>&6 - dl_lib="-ldl" ; cat >> confdefs.h <<\EOF +{ echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 +echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } +if test $ac_cv_lib_dl_dlopen = yes; then + dl_lib="-ldl" ; cat >>confdefs.h <<\_ACEOF #define HAVE_DL_LIB 1 -EOF +_ACEOF -else - echo "$ac_t""no" 1>&6 fi + for ac_func in snprintf do -echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4318: checking for $ac_func" >&5 -if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +{ echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } +if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + /* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $ac_func(); below. */ -#include -/* Override any gcc2 internal prototype to avoid an error. */ -/* We use char because int might match the return type of a gcc2 - builtin and then its argument prototype would still apply. */ -char $ac_func(); + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ -int main() { +#ifdef __STDC__ +# include +#else +# include +#endif +#undef $ac_func + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ -#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +#if defined __stub_$ac_func || defined __stub___$ac_func choke me -#else -$ac_func(); #endif -; return 0; } -EOF -if { (eval echo configure:4346: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then - rm -rf conftest* - eval "ac_cv_func_$ac_func=yes" +int +main () +{ +return $ac_func (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && + $as_test_x conftest$ac_exeext; then + eval "$as_ac_var=yes" else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - eval "ac_cv_func_$ac_func=no" + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_var=no" fi -rm -f conftest* + +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext fi +ac_res=`eval echo '${'$as_ac_var'}'` + { echo "$as_me:$LINENO: result: $ac_res" >&5 +echo "${ECHO_T}$ac_res" >&6; } +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF -if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then - echo "$ac_t""yes" 1>&6 - ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'` - cat >> confdefs.h <&6 fi done @@ -4375,38 +10673,61 @@ -echo $ac_n "checking if sockaddr{} has sa_len member""... $ac_c" 1>&6 -echo "configure:4380: checking if sockaddr{} has sa_len member" >&5 -if eval "test \"`echo '$''{'ac_cv_sockaddr_has_sa_len'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +{ echo "$as_me:$LINENO: checking if sockaddr{} has sa_len member" >&5 +echo $ECHO_N "checking if sockaddr{} has sa_len member... $ECHO_C" >&6; } +if test "${ac_cv_sockaddr_has_sa_len+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - cat > conftest.$ac_ext <conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ # include # include -int main() { +int +main () +{ unsigned int i = sizeof(((struct sockaddr *)0)->sa_len) -; return 0; } -EOF -if { (eval echo configure:4394: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then ac_cv_sockaddr_has_sa_len=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 - rm -rf conftest* - ac_cv_sockaddr_has_sa_len=no + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_cv_sockaddr_has_sa_len=no fi -rm -f conftest* + +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi - -echo "$ac_t""$ac_cv_sockaddr_has_sa_len" 1>&6 +{ echo "$as_me:$LINENO: result: $ac_cv_sockaddr_has_sa_len" >&5 +echo "${ECHO_T}$ac_cv_sockaddr_has_sa_len" >&6; } if test $ac_cv_sockaddr_has_sa_len = yes ; then - cat >> confdefs.h <<\EOF + cat >>confdefs.h <<\_ACEOF #define HAVE_SOCKADDR_SA_LEN 1 -EOF +_ACEOF fi @@ -4414,9 +10735,9 @@ case "$host" in *-freebsd*|*-bsdi*|*-netbsd*) - cat >> confdefs.h <<\EOF + cat >>confdefs.h <<\_ACEOF #define BSD_BYTE_ORDERING 1 -EOF +_ACEOF esac @@ -4424,21 +10745,21 @@ case "$host" in *-netbsd*) - cat >> confdefs.h <<\EOF + cat >>confdefs.h <<\_ACEOF #define NETBSD 1 -EOF +_ACEOF ;; *-openbsd*) - cat >> confdefs.h <<\EOF + cat >>confdefs.h <<\_ACEOF #define OPENBSD 1 -EOF +_ACEOF ;; *-sgi-irix5*) - cat >> confdefs.h <<\EOF + cat >>confdefs.h <<\_ACEOF #define IRIX 1 -EOF +_ACEOF no_libsocket=yes no_libnsl=yes @@ -4447,9 +10768,9 @@ fi ;; *-sgi-irix6*) - cat >> confdefs.h <<\EOF + cat >>confdefs.h <<\_ACEOF #define IRIX 1 -EOF +_ACEOF no_libsocket=yes no_libnsl=yes @@ -4457,152 +10778,179 @@ sgi_cc=yes fi ;; - *-solaris2.0*) - cat >> confdefs.h <<\EOF + *-solaris2.0*) + cat >>confdefs.h <<\_ACEOF #define STUPID_SOLARIS_CHECKSUM_BUG 1 -EOF +_ACEOF - cat >> confdefs.h <<\EOF + cat >>confdefs.h <<\_ACEOF #define SOLARIS 1 -EOF +_ACEOF ;; *-solaris2.1*) - cat >> confdefs.h <<\EOF + cat >>confdefs.h <<\_ACEOF #define STUPID_SOLARIS_CHECKSUM_BUG 1 -EOF +_ACEOF - cat >> confdefs.h <<\EOF + cat >>confdefs.h <<\_ACEOF #define SOLARIS 1 -EOF +_ACEOF ;; *-solaris2.2*) - cat >> confdefs.h <<\EOF + cat >>confdefs.h <<\_ACEOF #define STUPID_SOLARIS_CHECKSUM_BUG 1 -EOF +_ACEOF - cat >> confdefs.h <<\EOF + cat >>confdefs.h <<\_ACEOF #define SOLARIS 1 -EOF +_ACEOF ;; *-solaris2.3*) - cat >> confdefs.h <<\EOF + cat >>confdefs.h <<\_ACEOF #define STUPID_SOLARIS_CHECKSUM_BUG 1 -EOF +_ACEOF - cat >> confdefs.h <<\EOF + cat >>confdefs.h <<\_ACEOF #define SOLARIS 1 -EOF +_ACEOF ;; *-solaris2.4*) - cat >> confdefs.h <<\EOF + cat >>confdefs.h <<\_ACEOF #define STUPID_SOLARIS_CHECKSUM_BUG 1 -EOF +_ACEOF - cat >> confdefs.h <<\EOF + cat >>confdefs.h <<\_ACEOF #define SOLARIS 1 -EOF +_ACEOF ;; *-solaris2.5.1) - cat >> confdefs.h <<\EOF + cat >>confdefs.h <<\_ACEOF #define STUPID_SOLARIS_CHECKSUM_BUG 1 -EOF +_ACEOF - cat >> confdefs.h <<\EOF + cat >>confdefs.h <<\_ACEOF #define SOLARIS 1 -EOF +_ACEOF ;; *-solaris*) - cat >> confdefs.h <<\EOF + cat >>confdefs.h <<\_ACEOF #define SOLARIS 1 -EOF +_ACEOF ;; *-sunos4*) - cat >> confdefs.h <<\EOF + cat >>confdefs.h <<\_ACEOF #define SUNOS 1 -EOF +_ACEOF - cat >> confdefs.h <<\EOF + cat >>confdefs.h <<\_ACEOF #define SPRINTF_RETURNS_STRING 1 -EOF +_ACEOF no_libnsl=yes no_libsocket=yes ;; *-linux*) linux=yes - cat >> confdefs.h <<\EOF + cat >>confdefs.h <<\_ACEOF #define LINUX 1 -EOF +_ACEOF - cat >> confdefs.h <<\EOF + cat >>confdefs.h <<\_ACEOF #define PCAP_TIMEOUT_IGNORED 1 -EOF +_ACEOF # libpcap doesn't even LOOK at # the timeout you give it under Linux ;; *-freebsd*) - cat >> confdefs.h <<\EOF + cat >>confdefs.h <<\_ACEOF #define FREEBSD 1 -EOF +_ACEOF ;; *-bsdi*) - cat >> confdefs.h <<\EOF + cat >>confdefs.h <<\_ACEOF #define BSDI 1 -EOF +_ACEOF ;; *-cygwin*) - cat >> confdefs.h <<\EOF + cat >>confdefs.h <<\_ACEOF #define CYGWIN 1 -EOF +_ACEOF ;; esac -echo $ac_n "checking whether struct sigaction has sa_restorer""... $ac_c" 1>&6 -echo "configure:4574: checking whether struct sigaction has sa_restorer" >&5 - cat > conftest.$ac_ext <&5 +echo $ECHO_N "checking whether struct sigaction has sa_restorer... $ECHO_C" >&6; } + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ #include -int main() { +int +main () +{ struct sigaction sa; - + sa.sa_restorer = 0; -; return 0; } -EOF -if { (eval echo configure:4589: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then - rm -rf conftest* + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 + (eval "$ac_compile") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then signal_sa_restorer=yes else - echo "configure: failed program was:" >&5 - cat conftest.$ac_ext >&5 + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + fi -rm -f conftest* - test "x$signal_sa_restorer" = "x" && echo "$ac_t""no" 1>&6 - test "x$signal_sa_restorer" = "x" || echo "$ac_t""yes" 1>&6 - test "x$signal_sa_restorer" = "xyes" && cat >> confdefs.h <<\EOF +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + + test "x$signal_sa_restorer" = "x" && { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } + test "x$signal_sa_restorer" = "x" || { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } + test "x$signal_sa_restorer" = "xyes" && cat >>confdefs.h <<\_ACEOF #define HAVE_SIGNAL_SA_RESTORER 1 -EOF +_ACEOF - + if test "x$enable_client" = "xyes"; then client=client client_install=client-install @@ -4622,40 +10970,45 @@ if test -z "$PKG_CONFIG"; then # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4627: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_PKG_CONFIG'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_PKG_CONFIG+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - case "$PKG_CONFIG" in - /*) + case $PKG_CONFIG in + [\\/]* | ?:[\\/]*) ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. ;; - ?:/*) - ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a dos path. - ;; *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_path_PKG_CONFIG="$ac_dir/$ac_word" - break - fi - done - IFS="$ac_save_ifs" + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" ;; esac fi -PKG_CONFIG="$ac_cv_path_PKG_CONFIG" +PKG_CONFIG=$ac_cv_path_PKG_CONFIG if test -n "$PKG_CONFIG"; then - echo "$ac_t""$PKG_CONFIG" 1>&6 + { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 +echo "${ECHO_T}$PKG_CONFIG" >&6; } else - echo "$ac_t""no" 1>&6 + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi + fi if test "$PKG_CONFIG" = "no" ; then @@ -4666,33 +11019,36 @@ else PKG_CONFIG_MIN_VERSION=0.9.0 if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then - echo $ac_n "checking for $pkg_modules""... $ac_c" 1>&6 -echo "configure:4671: checking for $pkg_modules" >&5 + { echo "$as_me:$LINENO: checking for $pkg_modules" >&5 +echo $ECHO_N "checking for $pkg_modules... $ECHO_C" >&6; } if $PKG_CONFIG --exists "$pkg_modules" ; then - echo "$ac_t""yes" 1>&6 + { echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6; } succeeded=yes - echo $ac_n "checking GTKCONFIG_CFLAGS""... $ac_c" 1>&6 -echo "configure:4678: checking GTKCONFIG_CFLAGS" >&5 + { echo "$as_me:$LINENO: checking GTKCONFIG_CFLAGS" >&5 +echo $ECHO_N "checking GTKCONFIG_CFLAGS... $ECHO_C" >&6; } GTKCONFIG_CFLAGS=`$PKG_CONFIG --cflags "$pkg_modules"` - echo "$ac_t""$GTKCONFIG_CFLAGS" 1>&6 + { echo "$as_me:$LINENO: result: $GTKCONFIG_CFLAGS" >&5 +echo "${ECHO_T}$GTKCONFIG_CFLAGS" >&6; } - echo $ac_n "checking GTKCONFIG_LIBS""... $ac_c" 1>&6 -echo "configure:4683: checking GTKCONFIG_LIBS" >&5 + { echo "$as_me:$LINENO: checking GTKCONFIG_LIBS" >&5 +echo $ECHO_N "checking GTKCONFIG_LIBS... $ECHO_C" >&6; } GTKCONFIG_LIBS=`$PKG_CONFIG --libs "$pkg_modules"` - echo "$ac_t""$GTKCONFIG_LIBS" 1>&6 + { echo "$as_me:$LINENO: result: $GTKCONFIG_LIBS" >&5 +echo "${ECHO_T}$GTKCONFIG_LIBS" >&6; } else GTKCONFIG_CFLAGS="" GTKCONFIG_LIBS="" - ## If we have a custom action on failure, don't print errors, but + ## If we have a custom action on failure, don't print errors, but ## do set a variable so people can do so. GTKCONFIG_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$pkg_modules"` echo $GTKCONFIG_PKG_ERRORS fi - - + + else echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer." echo "*** See http://www.freedesktop.org/software/pkgconfig" @@ -4702,7 +11058,9 @@ if test $succeeded = yes; then : else - { echo "configure: error: Library requirements ($pkg_modules) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." 1>&2; exit 1; } + { { echo "$as_me:$LINENO: error: Library requirements ($pkg_modules) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&5 +echo "$as_me: error: Library requirements ($pkg_modules) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them." >&2;} + { (exit 1); exit 1; }; } fi @@ -4714,43 +11072,47 @@ test -n "$ssl" -a -d /usr/kerberos && { sslcflags="-I/usr/kerberos/include $sslcflags" ssl="-L/usr/kerberos/lib $ssl" - } + } man_nessus_1=doc/OpenVAS-Client.1 # Extract the first word of "ar", so it can be a program name with args. set dummy ar; ac_word=$2 -echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4725: checking for $ac_word" >&5 -if eval "test \"`echo '$''{'ac_cv_path_AR'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&6 +{ echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } +if test "${ac_cv_path_AR+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 else - case "$AR" in - /*) + case $AR in + [\\/]* | ?:[\\/]*) ac_cv_path_AR="$AR" # Let the user override the test with a path. ;; - ?:/*) - ac_cv_path_AR="$AR" # Let the user override the test with a dos path. - ;; *) - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" - ac_dummy="$PATH" - for ac_dir in $ac_dummy; do - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$ac_word; then - ac_cv_path_AR="$ac_dir/$ac_word" - break - fi - done - IFS="$ac_save_ifs" + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_AR="$as_dir/$ac_word$ac_exec_ext" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + ;; esac fi -AR="$ac_cv_path_AR" +AR=$ac_cv_path_AR if test -n "$AR"; then - echo "$ac_t""$AR" 1>&6 + { echo "$as_me:$LINENO: result: $AR" >&5 +echo "${ECHO_T}$AR" >&6; } else - echo "$ac_t""no" 1>&6 + { echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6; } fi @@ -4793,413 +11155,1207 @@ -trap '' 1 2 15 -cat > confcache <<\EOF + + +ac_config_files="$ac_config_files nessus.tmpl include/corevers.h openvasclient-mkcert" + +cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure -# scripts and configure runs. It is not useful on other systems. -# If it contains results you don't want to keep, you may remove or edit it. +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. # -# By default, configure uses ./config.cache as the cache file, -# creating it if it does not exist already. You can give configure -# the --cache-file=FILE option to use a different cache file; that is -# what configure does when it calls configure scripts in -# subdirectories, so they share the cache. -# Giving --cache-file=/dev/null disables caching, for debugging configure. -# config.status only pays attention to the cache file if you give it the -# --recheck option to rerun configure. +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. # -EOF +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. -# So, don't put newlines in cache variables' values. +# So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. -(set) 2>&1 | - case `(ac_space=' '; set | grep ac_space) 2>&1` in - *ac_space=\ *) - # `set' does not quote correctly, so add quotes (double-quote substitution - # turns \\\\ into \\, and sed turns \\ into \). - sed -n \ - -e "s/'/'\\\\''/g" \ - -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p" - ;; - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p' - ;; - esac >> confcache -if cmp -s $cache_file confcache; then - : -else - if test -w $cache_file; then - echo "updating cache $cache_file" - cat confcache > $cache_file +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 +echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + *) $as_unset $ac_var ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + test "x$cache_file" != "x/dev/null" && + { echo "$as_me:$LINENO: updating cache $cache_file" >&5 +echo "$as_me: updating cache $cache_file" >&6;} + cat confcache >$cache_file else - echo "not updating unwritable cache $cache_file" + { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 +echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache -trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 - test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' -# Any assignment to VPATH causes Sun make to only execute -# the first set of double-colon rules, so remove it if not needed. -# If there is a colon in the path, we need to keep it. -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d' -fi +DEFS=-DHAVE_CONFIG_H -trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 +ac_libobjs= +ac_ltlibobjs= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs -DEFS=-DHAVE_CONFIG_H +LTLIBOBJS=$ac_ltlibobjs -# Without the "./", some shells look in PATH for config.status. + + : ${CONFIG_STATUS=./config.status} - -echo creating $CONFIG_STATUS -rm -f $CONFIG_STATUS -cat > $CONFIG_STATUS <&5 +echo "$as_me: creating $CONFIG_STATUS" >&6;} +cat >$CONFIG_STATUS <<_ACEOF +#! $SHELL +# Generated by $as_me. # Run this file to recreate the current configuration. -# This directory was configured as follows, -# on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# -# $0 $ac_configure_args -# # Compiler output produced by configure, useful for debugging -# configure, is in ./config.log if it exists. +# configure, is in config.log if it exists. -ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]" -for ac_option -do - case "\$ac_option" in - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" - exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; - -version | --version | --versio | --versi | --vers | --ver | --ve | --v) - echo "$CONFIG_STATUS generated by autoconf version 2.13" - exit 0 ;; - -help | --help | --hel | --he | --h) - echo "\$ac_cs_usage"; exit 0 ;; - *) echo "\$ac_cs_usage"; exit 1 ;; - esac -done +debug=false +ac_cs_recheck=false +ac_cs_silent=false +SHELL=\${CONFIG_SHELL-$SHELL} +_ACEOF -ac_given_srcdir=$srcdir -ac_given_INSTALL="$INSTALL" +cat >>$CONFIG_STATUS <<\_ACEOF +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## -trap 'rm -fr `echo "nessus.tmpl include/corevers.h openvasclient-mkcert include/config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 -EOF -cat >> $CONFIG_STATUS </dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in + *posix*) set -o posix ;; +esac -# Protect against being on the right side of a sed subst in config.status. -sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g; - s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF -$ac_vpsub -$extrasub -s%@SHELL@%$SHELL%g -s%@CFLAGS@%$CFLAGS%g -s%@CPPFLAGS@%$CPPFLAGS%g -s%@CXXFLAGS@%$CXXFLAGS%g -s%@FFLAGS@%$FFLAGS%g -s%@DEFS@%$DEFS%g -s%@LDFLAGS@%$LDFLAGS%g -s%@LIBS@%$LIBS%g -s%@exec_prefix@%$exec_prefix%g -s%@prefix@%$prefix%g -s%@program_transform_name@%$program_transform_name%g -s%@bindir@%$bindir%g -s%@sbindir@%$sbindir%g -s%@libexecdir@%$libexecdir%g -s%@datadir@%$datadir%g -s%@sysconfdir@%$sysconfdir%g -s%@sharedstatedir@%$sharedstatedir%g -s%@localstatedir@%$localstatedir%g -s%@libdir@%$libdir%g -s%@includedir@%$includedir%g -s%@oldincludedir@%$oldincludedir%g -s%@infodir@%$infodir%g -s%@mandir@%$mandir%g -s%@host@%$host%g -s%@host_alias@%$host_alias%g -s%@host_cpu@%$host_cpu%g -s%@host_vendor@%$host_vendor%g -s%@host_os@%$host_os%g -s%@CC@%$CC%g -s%@SET_MAKE@%$SET_MAKE%g -s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g -s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g -s%@INSTALL_DATA@%$INSTALL_DATA%g -s%@PKG_CONFIG@%$PKG_CONFIG%g -s%@GLIB_CFLAGS@%$GLIB_CFLAGS%g -s%@GLIB_LIBS@%$GLIB_LIBS%g -s%@CPP@%$CPP%g -s%@ALLOCA@%$ALLOCA%g -s%@X_CFLAGS@%$X_CFLAGS%g -s%@X_PRE_LIBS@%$X_PRE_LIBS%g -s%@X_LIBS@%$X_LIBS%g -s%@X_EXTRA_LIBS@%$X_EXTRA_LIBS%g -s%@GTKCONFIG_CFLAGS@%$GTKCONFIG_CFLAGS%g -s%@GTKCONFIG_LIBS@%$GTKCONFIG_LIBS%g -s%@AR@%$AR%g -s%@PWD@%$PWD%g -s%@PWDD@%$PWDD%g -s%@CWALL@%$CWALL%g -s%@GTK_VERSION@%$GTK_VERSION%g -s%@NESSUS_MAJOR@%$NESSUS_MAJOR%g -s%@NESSUS_MINOR@%$NESSUS_MINOR%g -s%@NESSUS_PATCH@%$NESSUS_PATCH%g -s%@NESSUS_RC@%$NESSUS_RC%g -s%@NESSUS_DATE@%$NESSUS_DATE%g -s%@NESS_COMPILER@%$NESS_COMPILER%g -s%@NESS_OS_NAME@%$NESS_OS_NAME%g -s%@NESS_OS_VERSION@%$NESS_OS_VERSION%g -s%@INSTALL_DIR@%$INSTALL_DIR%g -s%@INSTALL@%$INSTALL%g -s%@RUN_LIBS@%$RUN_LIBS%g -s%@resolv_lib@%$resolv_lib%g -s%@socket_lib@%$socket_lib%g -s%@nsl_lib@%$nsl_lib%g -s%@ssl_lib@%$ssl_lib%g -s%@gtk_flags@%$gtk_flags%g -s%@debug_flags@%$debug_flags%g -s%@nessus_lib@%$nessus_lib%g -s%@man_nessus_1@%$man_nessus_1%g -s%@dl_lib@%$dl_lib%g -s%@client@%$client%g -s%@client_install@%$client_install%g -s%@ac_configure_args@%$ac_configure_args%g -s%@ssl@%$ssl%g -s%@sslcflags@%$sslcflags%g -s%@installuser@%$installuser%g -s%@gettext_flags@%$gettext_flags%g +fi -CEOF -EOF -cat >> $CONFIG_STATUS <<\EOF -# Split the substitutions into bite-sized pieces for seds with -# small command number limits, like on Digital OSF/1 and HP-UX. -ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script. -ac_file=1 # Number of current file. -ac_beg=1 # First line for current file. -ac_end=$ac_max_sed_cmds # Line after last line for current file. -ac_more_lines=: -ac_sed_cmds="" -while $ac_more_lines; do - if test $ac_beg -gt 1; then - sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file + +# PATH needs CR +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' else - sed "${ac_end}q" conftest.subs > conftest.s$ac_file + PATH_SEPARATOR=: fi - if test ! -s conftest.s$ac_file; then - ac_more_lines=false - rm -f conftest.s$ac_file + rm -f conf$$.sh +fi + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +as_nl=' +' +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + { (exit 1); exit 1; } +fi + +# Work around bugs in pre-3.0 UWIN ksh. +for as_var in ENV MAIL MAILPATH +do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var else - if test -z "$ac_sed_cmds"; then - ac_sed_cmds="sed -f conftest.s$ac_file" - else - ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file" - fi - ac_file=`expr $ac_file + 1` - ac_beg=$ac_end - ac_end=`expr $ac_end + $ac_max_sed_cmds` + ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var fi done -if test -z "$ac_sed_cmds"; then - ac_sed_cmds=cat + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false fi -EOF -cat >> $CONFIG_STATUS </dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi -CONFIG_FILES=\${CONFIG_FILES-"nessus.tmpl include/corevers.h openvasclient-mkcert"} -EOF -cat >> $CONFIG_STATUS <<\EOF -for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case "$ac_file" in - *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` - ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - *) ac_file_in="${ac_file}.in" ;; - esac - # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories. +# Name of the executable. +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` - # Remove last slash and all that follows it. Not all systems have dirname. - ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` - if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then - # The file is in a subdirectory. - test ! -d "$ac_dir" && mkdir "$ac_dir" - ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`" - # A "../" for each directory in $ac_dir_suffix. - ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'` +# CDPATH. +$as_unset CDPATH + + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line after each line using $LINENO; the second 'sed' + # does the real work. The second script uses 'N' to pair each + # line-number line with the line containing $LINENO, and appends + # trailing '-' during substitution so that $LINENO is not a special + # case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # scripts with optimization help from Paolo Bonzini. Blame Lee + # E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in +-n*) + case `echo 'x\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + *) ECHO_C='\c';; + esac;; +*) + ECHO_N='-n';; +esac + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir +fi +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L else - ac_dir_suffix= ac_dots= + as_ls_L_option= fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x - case "$ac_given_srcdir" in - .) srcdir=. - if test -z "$ac_dots"; then top_srcdir=. - else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;; - /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;; - *) # Relative path. - srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix" - top_srcdir="$ac_dots$ac_given_srcdir" ;; +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 + +# Save the log message, to keep $[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by $as_me, which was +generated by GNU Autoconf 2.61. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF +# Files that config.status was made for. +config_files="$ac_config_files" +config_headers="$ac_config_headers" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. + +Usage: $0 [OPTIONS] [FILE]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Report bugs to ." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +ac_cs_version="\\ +config.status +configured by $0, generated by GNU Autoconf 2.61, + with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" + +Copyright (C) 2006 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +INSTALL='$INSTALL' +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If no file are specified by the user, then we need to provide default +# value. By we need to know if files were specified by the user. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; esac - case "$ac_given_INSTALL" in - [/$]*) INSTALL="$ac_given_INSTALL" ;; - *) INSTALL="$ac_dots$ac_given_INSTALL" ;; + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + echo "$ac_cs_version"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + CONFIG_FILES="$CONFIG_FILES $ac_optarg" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + ac_need_defaults=false;; + --he | --h) + # Conflict between --help and --header + { echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; };; + --help | --hel | -h ) + echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } ;; + + *) ac_config_targets="$ac_config_targets $1" + ac_need_defaults=false ;; + esac + shift +done - echo creating "$ac_file" - rm -f "$ac_file" - configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure." - case "$ac_file" in - *Makefile*) ac_comsub="1i\\ -# $configure_input" ;; - *) ac_comsub= ;; +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +if \$ac_cs_recheck; then + echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 + CONFIG_SHELL=$SHELL + export CONFIG_SHELL + exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "include/config.h") CONFIG_HEADERS="$CONFIG_HEADERS include/config.h" ;; + "nessus.tmpl") CONFIG_FILES="$CONFIG_FILES nessus.tmpl" ;; + "include/corevers.h") CONFIG_FILES="$CONFIG_FILES include/corevers.h" ;; + "openvasclient-mkcert") CONFIG_FILES="$CONFIG_FILES openvasclient-mkcert" ;; + + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; esac +done - ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` - sed -e "$ac_comsub -s%@configure_input@%$configure_input%g -s%@srcdir@%$srcdir%g -s%@top_srcdir@%$top_srcdir%g -s%@INSTALL@%$INSTALL%g -" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file -fi; done -rm -f conftest.s* -# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where -# NAME is the cpp macro being defined and VALUE is the value it is being given. +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= + trap 'exit_status=$? + { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status +' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || +{ + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + # -# ac_d sets the value in "#define NAME VALUE" lines. -ac_dA='s%^\([ ]*\)#\([ ]*define[ ][ ]*\)' -ac_dB='\([ ][ ]*\)[^ ]*%\1#\2' -ac_dC='\3' -ac_dD='%g' -# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE". -ac_uA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' -ac_uB='\([ ]\)%\1#\2define\3' -ac_uC=' ' -ac_uD='\4%g' -# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE". -ac_eA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' -ac_eB='$%\1#\2define\3' -ac_eC=' ' -ac_eD='%g' +# Set up the sed scripts for CONFIG_FILES section. +# -if test "${CONFIG_HEADERS+set}" != set; then -EOF -cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF +# No need to generate the scripts if there are no CONFIG_FILES. +# This happens for instance when ./config.status config.h +if test -n "$CONFIG_FILES"; then + +_ACEOF + + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +SHELL!$SHELL$ac_delim +PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim +PACKAGE_NAME!$PACKAGE_NAME$ac_delim +PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim +PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim +PACKAGE_STRING!$PACKAGE_STRING$ac_delim +PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim +exec_prefix!$exec_prefix$ac_delim +prefix!$prefix$ac_delim +program_transform_name!$program_transform_name$ac_delim +bindir!$bindir$ac_delim +sbindir!$sbindir$ac_delim +libexecdir!$libexecdir$ac_delim +datarootdir!$datarootdir$ac_delim +datadir!$datadir$ac_delim +sysconfdir!$sysconfdir$ac_delim +sharedstatedir!$sharedstatedir$ac_delim +localstatedir!$localstatedir$ac_delim +includedir!$includedir$ac_delim +oldincludedir!$oldincludedir$ac_delim +docdir!$docdir$ac_delim +infodir!$infodir$ac_delim +htmldir!$htmldir$ac_delim +dvidir!$dvidir$ac_delim +pdfdir!$pdfdir$ac_delim +psdir!$psdir$ac_delim +libdir!$libdir$ac_delim +localedir!$localedir$ac_delim +mandir!$mandir$ac_delim +DEFS!$DEFS$ac_delim +ECHO_C!$ECHO_C$ac_delim +ECHO_N!$ECHO_N$ac_delim +ECHO_T!$ECHO_T$ac_delim +LIBS!$LIBS$ac_delim +build_alias!$build_alias$ac_delim +host_alias!$host_alias$ac_delim +target_alias!$target_alias$ac_delim +build!$build$ac_delim +build_cpu!$build_cpu$ac_delim +build_vendor!$build_vendor$ac_delim +build_os!$build_os$ac_delim +host!$host$ac_delim +host_cpu!$host_cpu$ac_delim +host_vendor!$host_vendor$ac_delim +host_os!$host_os$ac_delim +CC!$CC$ac_delim +CFLAGS!$CFLAGS$ac_delim +LDFLAGS!$LDFLAGS$ac_delim +CPPFLAGS!$CPPFLAGS$ac_delim +ac_ct_CC!$ac_ct_CC$ac_delim +EXEEXT!$EXEEXT$ac_delim +OBJEXT!$OBJEXT$ac_delim +SET_MAKE!$SET_MAKE$ac_delim +INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim +INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim +INSTALL_DATA!$INSTALL_DATA$ac_delim +CPP!$CPP$ac_delim +GREP!$GREP$ac_delim +EGREP!$EGREP$ac_delim +PKG_CONFIG!$PKG_CONFIG$ac_delim +GLIB_CFLAGS!$GLIB_CFLAGS$ac_delim +GLIB_LIBS!$GLIB_LIBS$ac_delim +ALLOCA!$ALLOCA$ac_delim +XMKMF!$XMKMF$ac_delim +X_CFLAGS!$X_CFLAGS$ac_delim +X_PRE_LIBS!$X_PRE_LIBS$ac_delim +X_LIBS!$X_LIBS$ac_delim +X_EXTRA_LIBS!$X_EXTRA_LIBS$ac_delim +GTKCONFIG_CFLAGS!$GTKCONFIG_CFLAGS$ac_delim +GTKCONFIG_LIBS!$GTKCONFIG_LIBS$ac_delim +AR!$AR$ac_delim +PWD!$PWD$ac_delim +PWDD!$PWDD$ac_delim +CWALL!$CWALL$ac_delim +GTK_VERSION!$GTK_VERSION$ac_delim +NESSUS_MAJOR!$NESSUS_MAJOR$ac_delim +NESSUS_MINOR!$NESSUS_MINOR$ac_delim +NESSUS_PATCH!$NESSUS_PATCH$ac_delim +NESSUS_RC!$NESSUS_RC$ac_delim +NESSUS_DATE!$NESSUS_DATE$ac_delim +NESS_COMPILER!$NESS_COMPILER$ac_delim +NESS_OS_NAME!$NESS_OS_NAME$ac_delim +NESS_OS_VERSION!$NESS_OS_VERSION$ac_delim +INSTALL_DIR!$INSTALL_DIR$ac_delim +INSTALL!$INSTALL$ac_delim +RUN_LIBS!$RUN_LIBS$ac_delim +resolv_lib!$resolv_lib$ac_delim +socket_lib!$socket_lib$ac_delim +nsl_lib!$nsl_lib$ac_delim +ssl_lib!$ssl_lib$ac_delim +gtk_flags!$gtk_flags$ac_delim +debug_flags!$debug_flags$ac_delim +nessus_lib!$nessus_lib$ac_delim +man_nessus_1!$man_nessus_1$ac_delim +dl_lib!$dl_lib$ac_delim +gdc_lib!$gdc_lib$ac_delim +client!$client$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` fi -for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". - case "$ac_file" in - *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` - ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - *) ac_file_in="${ac_file}.in" ;; + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +CEOF$ac_eof +_ACEOF + + +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + cat >conf$$subs.sed <<_ACEOF +client_install!$client_install$ac_delim +ac_configure_args!$ac_configure_args$ac_delim +ssl!$ssl$ac_delim +sslcflags!$sslcflags$ac_delim +installuser!$installuser$ac_delim +gettext_flags!$gettext_flags$ac_delim +LIBOBJS!$LIBOBJS$ac_delim +LTLIBOBJS!$LTLIBOBJS$ac_delim +_ACEOF + + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 8; then + break + elif $ac_last_try; then + { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 +echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} + { (exit 1); exit 1; }; } + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done + +ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` +if test -n "$ac_eof"; then + ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` + ac_eof=`expr $ac_eof + 1` +fi + +cat >>$CONFIG_STATUS <<_ACEOF +cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end +_ACEOF +sed ' +s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g +s/^/s,@/; s/!/@,|#_!!_#|/ +:n +t n +s/'"$ac_delim"'$/,g/; t +s/$/\\/; p +N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n +' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF +:end +s/|#_!!_#|//g +CEOF$ac_eof +_ACEOF + + +# VPATH may cause trouble with some makes, so we remove $(srcdir), +# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/ +s/:*\${srcdir}:*/:/ +s/:*@srcdir@:*/:/ +s/^\([^=]*=[ ]*\):*/\1/ +s/:*$// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF +fi # test -n "$CONFIG_FILES" + + +for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 +echo "$as_me: error: Invalid tag $ac_tag." >&2;} + { (exit 1); exit 1; }; };; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift - echo creating $ac_file + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 +echo "$as_me: error: cannot find input file: $ac_f" >&2;} + { (exit 1); exit 1; }; };; + esac + ac_file_inputs="$ac_file_inputs $ac_f" + done - rm -f conftest.frag conftest.in conftest.out - ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` - cat $ac_file_inputs > conftest.in + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input="Generated from "`IFS=: + echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + fi -EOF + case $ac_tag in + *:-:* | *:-) cat >"$tmp/stdin";; + esac + ;; + esac -# Transform confdefs.h into a sed script conftest.vals that substitutes -# the proper values into config.h.in to produce config.h. And first: -# Protect against being on the right side of a sed subst in config.status. -# Protect against being in an unquoted here document in config.status. -rm -f conftest.vals -cat > conftest.hdr <<\EOF -s/[\\&%]/\\&/g -s%[\\$`]%\\&%g -s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp -s%ac_d%ac_u%gp -s%ac_u%ac_e%gp -EOF -sed -n -f conftest.hdr confdefs.h > conftest.vals -rm -f conftest.hdr + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + { as_dir="$ac_dir" + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 +echo "$as_me: error: cannot create directory $as_dir" >&2;} + { (exit 1); exit 1; }; }; } + ac_builddir=. -# This sed command replaces #undef with comments. This is necessary, for +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; + esac +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= + +case `sed -n '/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p +' $ac_file_inputs` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF + sed "$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s&@configure_input@&$configure_input&;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +s&@INSTALL@&$ac_INSTALL&;t t +$ac_datarootdir_hack +" $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && + { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&5 +echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined." >&2;} + + rm -f "$tmp/stdin" + case $ac_file in + -) cat "$tmp/out"; rm -f "$tmp/out";; + *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; + esac + ;; + :H) + # + # CONFIG_HEADER + # +_ACEOF + +# Transform confdefs.h into a sed script `conftest.defines', that +# substitutes the proper values into config.h.in to produce config.h. +rm -f conftest.defines conftest.tail +# First, append a space to every undef/define line, to ease matching. +echo 's/$/ /' >conftest.defines +# Then, protect against being on the right side of a sed subst, or in +# an unquoted here document, in config.status. If some macros were +# called several times there might be several #defines for the same +# symbol, which is useless. But do not sort them, since the last +# AC_DEFINE must be honored. +ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* +# These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where +# NAME is the cpp macro being defined, VALUE is the value it is being given. +# PARAMS is the parameter list in the macro definition--in most cases, it's +# just an empty string. +ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*' +ac_dB='\\)[ (].*,\\1define\\2' +ac_dC=' ' +ac_dD=' ,' + +uniq confdefs.h | + sed -n ' + t rset + :rset + s/^[ ]*#[ ]*define[ ][ ]*// + t ok + d + :ok + s/[\\&,]/\\&/g + s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p + s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p + ' >>conftest.defines + +# Remove the space that was appended to ease matching. +# Then replace #undef with comments. This is necessary, for # example, in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. -cat >> conftest.vals <<\EOF -s%^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */% -EOF +# (The regexp can be short, since the line contains either #define or #undef.) +echo 's/ $// +s,^[ #]*u.*,/* & */,' >>conftest.defines -# Break up conftest.vals because some shells have a limit on -# the size of here documents, and old seds have small limits too. +# Break up conftest.defines: +ac_max_sed_lines=50 -rm -f conftest.tail +# First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1" +# Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2" +# Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1" +# et cetera. +ac_in='$ac_file_inputs' +ac_out='"$tmp/out1"' +ac_nxt='"$tmp/out2"' + while : do - ac_lines=`grep -c . conftest.vals` - # grep -c gives empty output for an empty file on some AIX systems. - if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi - # Write a limited-size here document to conftest.frag. - echo ' cat > conftest.frag <> $CONFIG_STATUS - sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS + # Write a here document: + cat >>$CONFIG_STATUS <<_ACEOF + # First, check the format of the line: + cat >"\$tmp/defines.sed" <<\\CEOF +/^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def +/^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def +b +:def +_ACEOF + sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS echo 'CEOF - sed -f conftest.frag conftest.in > conftest.out - rm -f conftest.in - mv conftest.out conftest.in -' >> $CONFIG_STATUS - sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail - rm -f conftest.vals - mv conftest.tail conftest.vals + sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS + ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in + sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail + grep . conftest.tail >/dev/null || break + rm -f conftest.defines + mv conftest.tail conftest.defines done -rm -f conftest.vals +rm -f conftest.defines conftest.tail -cat >> $CONFIG_STATUS <<\EOF - rm -f conftest.frag conftest.h - echo "/* $ac_file. Generated automatically by configure. */" > conftest.h - cat conftest.in >> conftest.h - rm -f conftest.in - if cmp -s $ac_file conftest.h 2>/dev/null; then - echo "$ac_file is unchanged" - rm -f conftest.h +echo "ac_result=$ac_in" >>$CONFIG_STATUS +cat >>$CONFIG_STATUS <<\_ACEOF + if test x"$ac_file" != x-; then + echo "/* $configure_input */" >"$tmp/config.h" + cat "$ac_result" >>"$tmp/config.h" + if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then + { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 +echo "$as_me: $ac_file is unchanged" >&6;} + else + rm -f $ac_file + mv "$tmp/config.h" $ac_file + fi else - # Remove last slash and all that follows it. Not all systems have dirname. - ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` - if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then - # The file is in a subdirectory. - test ! -d "$ac_dir" && mkdir "$ac_dir" - fi - rm -f $ac_file - mv conftest.h $ac_file + echo "/* $configure_input */" + cat "$ac_result" fi -fi; done + rm -f "$tmp/out12" + ;; -EOF -cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF + esac -exit 0 -EOF +done # for ac_tag + + +{ (exit 0); exit 0; } +_ACEOF chmod +x $CONFIG_STATUS -rm -fr confdefs* $ac_clean_files -test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1 +ac_clean_files=$ac_clean_files_save +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || { (exit 1); exit 1; } +fi + + chmod +x openvasclient-mkcert exit 0 Modified: trunk/openvas-client/configure.in =================================================================== --- trunk/openvas-client/configure.in 2008-08-06 10:16:44 UTC (rev 1105) +++ trunk/openvas-client/configure.in 2008-08-06 10:43:35 UTC (rev 1106) @@ -73,6 +73,8 @@ [ --with-ssl=[DIR] enable SSL support using libraries in DIR], [with_ssl=$withval]) +dnl GDChart +AC_CHECK_HEADERS([gdc.h gd.h png.h]) PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.2.0, HAVE_GLIB="yes", sweep_config_ok="no") AC_SUBST(GLIB_CFLAGS) @@ -538,6 +540,7 @@ AC_SUBST(nessus_lib) AC_SUBST(man_nessus_1) AC_SUBST(dl_lib) +AC_SUBST(gdc_lib) AC_SUBST(client) AC_SUBST(client_install) AC_SUBST(datadir) Modified: trunk/openvas-client/include/config.h.in =================================================================== --- trunk/openvas-client/include/config.h.in 2008-08-06 10:16:44 UTC (rev 1105) +++ trunk/openvas-client/include/config.h.in 2008-08-06 10:43:35 UTC (rev 1106) @@ -224,6 +224,8 @@ #undef HAVE_SETPROCTITLE #undef HAVE__EXIT +#undef HAVE_GDCHART + #undef HAVE_PTY_H #undef HAVE_SYS_MMAN_H #undef HAVE_SIGNAL_H Modified: trunk/openvas-client/nessus/Makefile =================================================================== --- trunk/openvas-client/nessus/Makefile 2008-08-06 10:16:44 UTC (rev 1105) +++ trunk/openvas-client/nessus/Makefile 2008-08-06 10:43:35 UTC (rev 1106) @@ -1,9 +1,9 @@ include ../nessus.tmpl GTKLIBS= $(GTKCONFIG_LIBS) -INCLUDE = ${include} $(GTKCONFIG_CFLAGS) $(GLIB_CFLAGS) -I../src/gui -Igdchart0.94b -Igdchart0.94b/gd1.3 -LIBS = $(X_LIBS) $(X_CFLAGS) $(GTKLIBS) $(GLIB_LIBS) \ - $(RUN_LIBS) $(C_R_LIB) gdchart0.94b/gd1.3/libgd.a -lm -L../libnessus -lnessus-client -lssl -lcrypto $(DL_LIB) -lz $(SOCKET_LIB) +INCLUDE = ${include} $(GTKCONFIG_CFLAGS) $(GLIB_CFLAGS) -I../src/gui +LIBS = $(X_LIBS) $(X_CFLAGS) $(GTKLIBS) $(GLIB_LIBS) $(GDC_LIB) \ + $(RUN_LIBS) $(C_R_LIB) -lm -L../libnessus -lnessus-client -lssl -lcrypto $(DL_LIB) -lz $(SOCKET_LIB) NESSUS_INCLUDE=`sh ./cflags` CFLAGS+=-Wall @@ -57,10 +57,6 @@ prefs_kb.o \ listnotebook.o \ read_target_file.o \ - gdchart0.94b/gdc.o \ - gdchart0.94b/price_conv.o \ - gdchart0.94b/gdc_pie.o \ - gdchart0.94b/gdchart.o \ regex.o \ filter.o \ dirutils.o \ @@ -289,17 +285,5 @@ sslui.o : cflags sslui.c globals.h xpm/lock.xpm $(CC) $(CFLAGS) $(NESSUS_INCLUDE) -c sslui.c -gdchart0.94b/gdc.o : cflags - cd gdchart0.94b && $(MAKE) - -gdchart0.94b/gdchart.o : cflags - cd gdchart0.94b && $(MAKE) - -gdchart0.94b/price_conv.o : cflags - cd gdchart0.94b && $(MAKE) - -gdchart0.94b/gdc_pie.o : cflags - cd gdchart0.94b && $(MAKE) clean : rm -f *.o $(NESSUSCLIENT) *~ cflags prefs_dialog/*.o - cd gdchart0.94b && $(MAKE) clean Modified: trunk/openvas-client/nessus/cli.c =================================================================== --- trunk/openvas-client/nessus/cli.c 2008-08-06 10:16:44 UTC (rev 1105) +++ trunk/openvas-client/nessus/cli.c 2008-08-06 10:43:35 UTC (rev 1106) @@ -373,13 +373,13 @@ return; } -#ifndef _NO_PIES +#ifdef HAVE_GDCHART if(!strncmp(ftype, "html_pie", 8)|| !strncmp(ftype, "html_graph", 10)) { args->output = arglist_to_html_graph; } else -#endif /* _NO_PIES */ +#endif /* HAVE_GDCHART */ if (!strncmp(ftype, "html", 4)) { args->output = arglist_to_html; } else if (!strcmp(ftype, "latex") || Modified: trunk/openvas-client/nessus/globals.h =================================================================== --- trunk/openvas-client/nessus/globals.h 2008-08-06 10:16:44 UTC (rev 1105) +++ trunk/openvas-client/nessus/globals.h 2008-08-06 10:43:35 UTC (rev 1106) @@ -11,7 +11,6 @@ #ifdef _WIN32 # include "globals.w32" -/* #define _NO_PIES */ #endif /* _WIN32 */ # define HANDLE int Modified: trunk/openvas-client/nessus/html_graph_output.c =================================================================== --- trunk/openvas-client/nessus/html_graph_output.c 2008-08-06 10:16:44 UTC (rev 1105) +++ trunk/openvas-client/nessus/html_graph_output.c 2008-08-06 10:43:35 UTC (rev 1106) @@ -64,11 +64,14 @@ - HTML report -------------------------------------------------------------------*/ + +#ifdef HAVE_GDCHART + #include #include "nessus_i18n.h" -#include "gdchart0.94b/gdc.h" -#include "gdchart0.94b/gdchart.h" -#include "gdchart0.94b/gdcpie.h" +#include "gdc.h" +#include "gdchart.h" +#include "gdcpie.h" #include "report.h" #include "report_utils.h" #include "error_dlg.h" @@ -1366,5 +1369,4 @@ return 0; } - - +#endif /* HAVE_GDCHART */ Modified: trunk/openvas-client/nessus/nessus.c =================================================================== --- trunk/openvas-client/nessus/nessus.c 2008-08-06 10:16:44 UTC (rev 1105) +++ trunk/openvas-client/nessus/nessus.c 2008-08-06 10:43:35 UTC (rev 1106) @@ -788,8 +788,10 @@ arglist_to_text(backend_convert(be), out_report); else if(!strcmp(type, "html")) arglist_to_html(backend_convert(be), out_report); +#ifdef HAVE_GDCHART else if(!strcmp(type, "html_pie") || !strcmp(type, "html_graph")) arglist_to_html_graph(backend_convert(be), out_report); +#endif else if(!strcmp(type, "nbe")) backend_to_nbe(be, out_report); else if(!strcmp(type, "xml")) @@ -804,7 +806,7 @@ } else { - fprintf(stderr, _("Could not import '%s' - is it a .nbe file?\n"), + fprintf(stderr, _("Could not import '%s' - is it a .nbe file?\n"), in_report); } exit(0); Modified: trunk/openvas-client/nessus/report_save.c =================================================================== --- trunk/openvas-client/nessus/report_save.c 2008-08-06 10:16:44 UTC (rev 1105) +++ trunk/openvas-client/nessus/report_save.c 2008-08-06 10:43:35 UTC (rev 1106) @@ -126,7 +126,7 @@ hosts = backend_convert(be); arglist_to_text(hosts, fname); break; -#ifndef _NOPIE +#ifdef HAVE_GDCHART case SAVE_HTML_GRAPH: hosts = backend_convert(be); arglist_to_html_graph(hosts, fname); @@ -231,7 +231,7 @@ gtk_menu_append(GTK_MENU(menu), type); gtk_widget_show(type); -#ifndef _NO_PIES +#ifdef HAVE_GDCHART type = gtk_menu_item_new_with_label(_("HTML with Pies and Graphs")); gtk_object_set_data(GTK_OBJECT(type), "type", (void *)SAVE_HTML_GRAPH); gtk_menu_append(GTK_MENU(menu), type); Modified: trunk/openvas-client/nessus.tmpl.in =================================================================== --- trunk/openvas-client/nessus.tmpl.in 2008-08-06 10:16:44 UTC (rev 1105) +++ trunk/openvas-client/nessus.tmpl.in 2008-08-06 10:43:35 UTC (rev 1106) @@ -106,6 +106,7 @@ GLIB_CFLAGS=@GLIB_CFLAGS@ GLIB_LIBS=@GLIB_LIBS@ DL_LIB=@dl_lib@ +GDC_LIB=@gdc_lib@ RESOLV_LIB=@resolv_lib@ SOCKET_LIB=@socket_lib@ LIBS=@LIBS@ @ssl@ From scm-commit at wald.intevation.org Wed Aug 6 14:25:57 2008 From: scm-commit at wald.intevation.org (scm-commit@wald.intevation.org) Date: Wed, 6 Aug 2008 14:25:57 +0200 (CEST) Subject: [Openvas-commits] r1108 - trunk/doc/website Message-ID: <20080806122557.87332406C7@pyrosoma.intevation.org> Author: jan Date: 2008-08-06 14:25:57 +0200 (Wed, 06 Aug 2008) New Revision: 1108 Modified: trunk/doc/website/openvas-crs.htm4 Log: Setting #14 to "in progress". Modified: trunk/doc/website/openvas-crs.htm4 =================================================================== --- trunk/doc/website/openvas-crs.htm4 2008-08-06 10:52:16 UTC (rev 1107) +++ trunk/doc/website/openvas-crs.htm4 2008-08-06 12:25:57 UTC (rev 1108) @@ -57,7 +57,7 @@
  • OpenVAS Change Request #11: Make OpenVAS-Client use (and depend on) glib (done)
  • OpenVAS Change Request #12: Replace NTP with OTP (in progress)
  • OpenVAS Change Request #13: Integrating the OVAL interpreter ovaldi into OpenVAS Server (accepted) -
  • OpenVAS Change Request #14: OpenVAS-Client: Remove source code copy of gdchart and gd (accepted) +
  • OpenVAS Change Request #14: OpenVAS-Client: Remove source code copy of gdchart and gd (in progress)
  • OpenVAS Change Request #15: OpenVAS Server: Remove features for detached scans (accepted) From scm-commit at wald.intevation.org Wed Aug 6 23:49:40 2008 From: scm-commit at wald.intevation.org (scm-commit@wald.intevation.org) Date: Wed, 6 Aug 2008 23:49:40 +0200 (CEST) Subject: [Openvas-commits] r1109 - branches Message-ID: <20080806214940.02A2640710@pyrosoma.intevation.org> Author: jan Date: 2008-08-06 23:49:39 +0200 (Wed, 06 Aug 2008) New Revision: 1109 Added: branches/openvas-server-1-0/ Log: Creating branch for 1.0 series of openvas-server to unblock trunk/openvas-server for deeper changes. Copied: branches/openvas-server-1-0 (from rev 1108, trunk/openvas-server) From scm-commit at wald.intevation.org Thu Aug 7 00:16:21 2008 From: scm-commit at wald.intevation.org (scm-commit@wald.intevation.org) Date: Thu, 7 Aug 2008 00:16:21 +0200 (CEST) Subject: [Openvas-commits] r1110 - in trunk/openvas-server: . doc doc/ntp openvasd Message-ID: <20080806221621.823ED40710@pyrosoma.intevation.org> Author: jan Date: 2008-08-07 00:16:17 +0200 (Thu, 07 Aug 2008) New Revision: 1110 Removed: trunk/openvas-server/openvasd/pluginupload.c trunk/openvas-server/openvasd/pluginupload.h Modified: trunk/openvas-server/ChangeLog trunk/openvas-server/MANIFEST trunk/openvas-server/doc/ntp/ntp_extensions.txt trunk/openvas-server/doc/openvasd.8.in trunk/openvas-server/openvasd/Makefile trunk/openvas-server/openvasd/ntp_11.c Log: Final step of Change Request #4, http://www.openvas.org/openvas-cr-4.html : Remove plugin upload feature * openvasd/pluginupload.c, openvasd/pluginupload.h: Removed. * openvasd/Makefile: Removed handling of module pluginupload. * openvasd/ntp_11.c: (ntp_11_parse_input): Removed command ATTACHED_PLUGIN from protocol. * doc/openvasd.8.in: Removed documentation of "plugin_upload". * doc/ntp/ntp_extensions.txt: Removed description of ATTACHED_PLUGIN. * MANIFEST: Updated. Modified: trunk/openvas-server/ChangeLog =================================================================== --- trunk/openvas-server/ChangeLog 2008-08-06 21:49:39 UTC (rev 1109) +++ trunk/openvas-server/ChangeLog 2008-08-06 22:16:17 UTC (rev 1110) @@ -1,3 +1,28 @@ +2008-08-07 Jan-Oliver Wagner + + Final step of Change Request #4, + http://www.openvas.org/openvas-cr-4.html : + Remove plugin upload feature + + * openvasd/pluginupload.c, openvasd/pluginupload.h: Removed. + + * openvasd/Makefile: Removed handling of module pluginupload. + + * openvasd/ntp_11.c: (ntp_11_parse_input): Removed command + ATTACHED_PLUGIN from protocol. + + * doc/openvasd.8.in: Removed documentation of "plugin_upload". + + * doc/ntp/ntp_extensions.txt: Removed description of + ATTACHED_PLUGIN. + + * MANIFEST: Updated. + +2008-08-06 Jan-Oliver Wagner + + Branching of 1.0 series happened. The present file + described trunk developments. + 2008-07-31 Tim Brown * openvas-adduser.in: Now sets prefix, execprefix during build. Modified: trunk/openvas-server/MANIFEST =================================================================== --- trunk/openvas-server/MANIFEST 2008-08-06 21:49:39 UTC (rev 1109) +++ trunk/openvas-server/MANIFEST 2008-08-06 22:16:17 UTC (rev 1110) @@ -77,8 +77,6 @@ openvasd/pluginload.h openvasd/pluginscheduler.c openvasd/pluginscheduler.h -openvasd/pluginupload.c -openvasd/pluginupload.h openvasd/plugs_hash.c openvasd/plugs_hash.h openvasd/plugs_req.c Modified: trunk/openvas-server/doc/ntp/ntp_extensions.txt =================================================================== --- trunk/openvas-server/doc/ntp/ntp_extensions.txt 2008-08-06 21:49:39 UTC (rev 1109) +++ trunk/openvas-server/doc/ntp/ntp_extensions.txt 2008-08-06 22:16:17 UTC (rev 1110) @@ -355,27 +355,6 @@ <|> SERVER -10. Plugin upload ----------------------------------------------------------------------------- - -If the server allows it, the user may upload his own plugins to the server, -which will then be stored under his home -($prefix/var/openvas/users//plugins/) - -The client has to send the message ATTACHED_PLUGIN to the server -for this to work. The syntax of the message is : - -CLIENT <|> ATTACHED_PLUGIN -name: -content: octet/stream -bytes: %d -(file) - - -Note that may not contain any slash, and must have a server-approved -suffix (.nes, .nasl) - - 11. Per plugin message ------------------------------------------------------------------------------- Modified: trunk/openvas-server/doc/openvasd.8.in =================================================================== --- trunk/openvas-server/doc/openvasd.8.in 2008-08-06 21:49:39 UTC (rev 1109) +++ trunk/openvas-server/doc/openvasd.8.in 2008-08-06 22:16:17 UTC (rev 1110) @@ -166,9 +166,6 @@ .IP use_mac_addr Set this option to 'yes' if you are testing your local network and each local host has a dynamic IP address (affected by DHCP or BOOTP), and all the tested hosts will be referred to by their MAC address. -.IP plugin_upload -Set this option to 'yes' if you want to let openvasd users upload their own plugins. Note that the plugins they will upload will end up in their openvasd home directory, so they won't be shared among users (except if the user who uploads the plugins is the one declared in the option 'admin_user' - .IP admin_user The user listed in this option will upload his plugins into the global openvas plugins directory, and they will be shared by every other users Modified: trunk/openvas-server/openvasd/Makefile =================================================================== --- trunk/openvas-server/openvasd/Makefile 2008-08-06 21:49:39 UTC (rev 1109) +++ trunk/openvas-server/openvasd/Makefile 2008-08-06 22:16:17 UTC (rev 1110) @@ -33,7 +33,6 @@ locks.o \ dirutils.o \ plugs_hash.o \ - pluginupload.o \ pluginscheduler.o \ shared_socket.o @@ -128,9 +127,6 @@ plugs_hash.o : plugs_hash.c $(CC) $(OPENVAS_CFLAGS) $(OPENVAS_INCLUDE) -c plugs_hash.c -pluginupload.o : pluginupload.c - $(CC) $(OPENVAS_CFLAGS) $(OPENVAS_INCLUDE) -c pluginupload.c - pluginscheduler.o : pluginscheduler.c $(CC) $(OPENVAS_CFLAGS) $(OPENVAS_INCLUDE) -c pluginscheduler.c Modified: trunk/openvas-server/openvasd/ntp_11.c =================================================================== --- trunk/openvas-server/openvasd/ntp_11.c 2008-08-06 21:49:39 UTC (rev 1109) +++ trunk/openvas-server/openvasd/ntp_11.c 2008-08-06 22:16:17 UTC (rev 1110) @@ -40,7 +40,6 @@ #include "log.h" #include "users.h" #include "utils.h" -#include "pluginupload.h" #include "save_tests.h" #include "detached.h" #include "preferences.h" @@ -136,12 +135,6 @@ efree(&orig); return 1; } - /* XXX: This command should be entirely removed for protocol - * newer than NTP 11 */ - if(!strcmp(input, "ATTACHED_PLUGIN")) { - plugin_recv(globals); - return 1; - } if(!strcmp(input, "PLUGIN_INFO")) { char * t, *s; t = strstr(&(str[1]), " <|> "); Deleted: trunk/openvas-server/openvasd/pluginupload.c =================================================================== --- trunk/openvas-server/openvasd/pluginupload.c 2008-08-06 21:49:39 UTC (rev 1109) +++ trunk/openvas-server/openvasd/pluginupload.c 2008-08-06 22:16:17 UTC (rev 1110) @@ -1,102 +0,0 @@ -/* OpenVAS -* $Id$ -* Description: Provides somekind of remote plugin upload service -* ATTENTION: this feature is deprecated. -* This module just remains to give clients -* that try to upload plugins a denial answer. -* -* Authors: - Renaud Deraison (Original pre-fork develoment) -* - Tim Brown (Initial fork) -* - Laban Mwangi (Renaming work) -* - Tarik El-Yassem (Headers section) -* -* Copyright: -* Portions Copyright (C) 2006 Software in the Public Interest, Inc. -* Based on work Copyright (C) 1998 - 2006 Tenable Network Security, Inc. -* -* This program is free software; you can redistribute it and/or modify -* it under the terms of the GNU General Public License version 2, -* as published by the Free Software Foundation -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program; if not, write to the Free Software -* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -* -* -*/ - -/* XXX: This module can be deleted once a new protocol version - * drops the upload feature. */ - -#include -#include "preferences.h" -#include "users.h" -#include "log.h" -#include "pluginload.h" - - -int -plugin_recv(struct arglist * globals) -{ - int soc = (int)arg_get_value(globals, "global_socket"); - int n; - long bytes = 0; - char input[4096]; - - /* Read and ignore the "name:" line */ - n = recv_line(soc, input, sizeof(input) - 1); - if (n <= 0) - return -1; - if (strncmp(input, "name: ", strlen("name: ")) != 0) - return -1; - - /* Read and ignore the "content:" line */ - n = recv_line(soc, input, sizeof(input) - 1); - if (n <= 0) - return -1; - - /* Read and parse the "bytes:" line */ - n = recv_line(soc, input, sizeof(input) - 1); - if (n <= 0) - return -1; - - if (!strncmp(input, "bytes: ", strlen("bytes: "))) - { - char * t = input + strlen("bytes: "); - bytes = atol(t); - } - else - return -1; - - /* Don't accept plugins bigger than 5Mb */ - if (bytes > 5*1024*1024) - return -1; - - /* - * Read and discard the bytes with the actual plugin. - */ - while (bytes > 0) - { - int e; - int chunk_size = bytes < sizeof(input) ? bytes : sizeof(input); - e = read_stream_connection_min(soc, input, chunk_size, chunk_size); - if (e <= 0) - { - if (errno == EINTR) - continue; - else - break; - } - bytes -= e; - } - - /* Always deny the upload since openvasd does not support it */ - auth_printf(globals, "SERVER <|> PLUGIN_DENIED <|> SERVER\n"); - - return 0; -} Deleted: trunk/openvas-server/openvasd/pluginupload.h =================================================================== --- trunk/openvas-server/openvasd/pluginupload.h 2008-08-06 21:49:39 UTC (rev 1109) +++ trunk/openvas-server/openvasd/pluginupload.h 2008-08-06 22:16:17 UTC (rev 1110) @@ -1,38 +0,0 @@ -/* OpenVAS -* $Id$ -* Description: pluginupload.c header. -* -* Authors: - Renaud Deraison (Original pre-fork develoment) -* - Tim Brown (Initial fork) -* - Laban Mwangi (Renaming work) -* - Tarik El-Yassem (Headers section) -* -* Copyright: -* Portions Copyright (C) 2006 Software in the Public Interest, Inc. -* Based on work Copyright (C) 1998 - 2006 Tenable Network Security, Inc. -* -* This program is free software; you can redistribute it and/or modify -* it under the terms of the GNU General Public License version 2, -* as published by the Free Software Foundation -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program; if not, write to the Free Software -* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -* -* -*/ - - -#ifndef __NESSUS_PLUGINUPLOAD_H__ -#define __NESSUS_PLUGINUPLOAD_H__ - -/* XXX: This module can be deleted once a new protocol version - * drops the upload feature (ATTACHED_PLUGINS). */ - -int plugin_recv(struct arglist*); -#endif From scm-commit at wald.intevation.org Thu Aug 7 17:25:17 2008 From: scm-commit at wald.intevation.org (scm-commit@wald.intevation.org) Date: Thu, 7 Aug 2008 17:25:17 +0200 (CEST) Subject: [Openvas-commits] r1111 - trunk/openvas-plugins/scripts Message-ID: <20080807152517.25F19404DF@pyrosoma.intevation.org> Author: chandra Date: 2008-08-07 17:25:16 +0200 (Thu, 07 Aug 2008) New Revision: 1111 Added: trunk/openvas-plugins/scripts/secpod_apache_tomcat_xss_n_bypass_vuln_900021.nasl Log: Script for Apache tomcat XSS vulnerability Added: trunk/openvas-plugins/scripts/secpod_apache_tomcat_xss_n_bypass_vuln_900021.nasl =================================================================== --- trunk/openvas-plugins/scripts/secpod_apache_tomcat_xss_n_bypass_vuln_900021.nasl 2008-08-06 22:16:17 UTC (rev 1110) +++ trunk/openvas-plugins/scripts/secpod_apache_tomcat_xss_n_bypass_vuln_900021.nasl 2008-08-07 15:25:16 UTC (rev 1111) @@ -0,0 +1,102 @@ +############################################################################## +# +# Apache Tomcat Cross-Site Scripting and Security Bypass Vulnerabilities +# +# Copyright: SecPod +# +# Date Written: 2008/08/05 +# +# Revision: 1.1 +# +# Log: schandan +# Issue #0085 +# ------------------------------------------------------------------------ +# This program was written by SecPod and is licensed under the GNU GPL +# license. Please refer to the below link for details, +# http://www.gnu.org/licenses/gpl.html +# This header contains information regarding licensing terms under the GPL, +# and information regarding obtaining source code from the Author. +# Consequently, pursuant to section 3(c) of the GPL, you must accompany the +# information found in this header with any distribution you make of this +# Program. +# ------------------------------------------------------------------------ +############################################################################## + +if(description) +{ + script_id(900021); + script_bugtraq_id(30494, 30496); + script_cve_id("CVE-2008-1232", "CVE-2008-2370"); + script_copyright(english:"Copyright (C) 2008 SecPod"); + script_version("$Revision: 1.1 $"); + script_category(ACT_GATHER_INFO); + script_family(english:"CGI abuses"); + script_name(english:"Apache Tomcat Cross-Site Scripting and Security Bypass Vulnerabilities"); + script_summary(english:"Check for vulnerable version of Apache Tomcat"); + desc["english"] = " + Overview : This host is running Apache Tomcat web server, which is prone to + cross site scripting and security bypass vulnerabilities. + + Vulnerability Insight : + + The flaws are due to, + - input validation error in the method HttpServletResponse.sendError() which + fails to properly sanitise before being returned to the user in the + HTTP Reason-Phrase. + - the application fails to normalize the target path before removing + the query string when using a RequestDispatcher. + + Impact : Successful exploitation could cause execution of arbitrary + HTML code, script code, and information disclosure. + + Impact Level : Application. + + Affected Software/OS : + Apache Tomcat 4.1.0 - 4.1.37, 5.5.0 - 5.5.26, and 6.0.0 - 6.0.16 + on All Platforms. + + Fix : Upgrade to higher version of 4.x, 5.x, or 6.x series. + http://tomcat.apache.org/ + + References : + http://secunia.com/advisories/31379/ + http://secunia.com/advisories/31381/ + + CVSS Score : + CVSS Base Score : 5.8 (AV:N/AC:M/Au:NR/C:P/I:P/A:N) + CVSS Temporal Score : 4.5 + Risk factor : Medium"; + script_description(english:desc["english"]); + script_dependencies("http_version.nasl"); + exit(0); +} + + + soc = open_sock_tcp(139); + display(soc); + + exit(0); + + include("http_func.inc"); + include("http_keepalive.inc"); + + port = 8080; + if(!port){ + exit(0); + } + + sndReq = http_get(item:string("/index.jsp"), port:port); + rcvRes = http_keepalive_send_recv(port:port, data:sndReq, bodyonly:1); + if(rcvRes == NULL){ + exit(0); + } + + if(egrep(pattern:"Apache Tomcat", string:rcvRes)) + { + # Grep for Apache Tomcat 4.1.0 - 4.1.37, 5.5.0 - 5.5.26, 6.0.0 - 6.0.16 + if(egrep(pattern:"Apache Tomcat/(4\.1(\.[0-2]?[0-9]|\.3[0-7])?|5\.5" + + "(\.[01]?[0-9]|\.2[0-6])?|6\.0(\.[0-9]|\.1[0-6])?)" + + "[^.0-9]", string:rcvRes)){ + security_warning(port); + } + } Property changes on: trunk/openvas-plugins/scripts/secpod_apache_tomcat_xss_n_bypass_vuln_900021.nasl ___________________________________________________________________ Name: svn:executable + * From scm-commit at wald.intevation.org Thu Aug 7 17:25:49 2008 From: scm-commit at wald.intevation.org (scm-commit@wald.intevation.org) Date: Thu, 7 Aug 2008 17:25:49 +0200 (CEST) Subject: [Openvas-commits] r1112 - trunk/openvas-plugins/scripts Message-ID: <20080807152549.B5431404DF@pyrosoma.intevation.org> Author: chandra Date: 2008-08-07 17:25:49 +0200 (Thu, 07 Aug 2008) New Revision: 1112 Added: trunk/openvas-plugins/scripts/secpod_xampp_mult_xss_vuln_900023.nasl Log: Script for Xampp Multiple XSS vulnerability Added: trunk/openvas-plugins/scripts/secpod_xampp_mult_xss_vuln_900023.nasl =================================================================== --- trunk/openvas-plugins/scripts/secpod_xampp_mult_xss_vuln_900023.nasl 2008-08-07 15:25:16 UTC (rev 1111) +++ trunk/openvas-plugins/scripts/secpod_xampp_mult_xss_vuln_900023.nasl 2008-08-07 15:25:49 UTC (rev 1112) @@ -0,0 +1,111 @@ +############################################################################## +# +# XAMPP for Linux text Parameter Multiple XSS Vulnerabilities +# +# Copyright: SecPod +# +# Date Written: 2008/08/07 +# +# Revision: 1.2 +# +# Log: schandan +# Issue #0093 +# ------------------------------------------------------------------------ +# This program was written by SecPod and is licensed under the GNU GPL +# license. Please refer to the below link for details, +# http://www.gnu.org/licenses/gpl.html +# This header contains information regarding licensing terms under the GPL, +# and information regarding obtaining source code from the Author. +# Consequently, pursuant to section 3(c) of the GPL, you must accompany the +# information found in this header with any distribution you make of this +# Program. +# ------------------------------------------------------------------------ +############################################################################## + +if(description) +{ + script_id(900023); + script_bugtraq_id(30535); + script_copyright(english:"Copyright (C) 2008 SecPod"); + script_version("$Revision: 1.1 $"); + script_category(ACT_GATHER_INFO); + script_family(english:"CGI abuses : XSS"); + script_name(english:"XAMPP for Linux text Parameter Multiple XSS Vulnerabilities"); + script_summary(english:"Check for the vulnerable version of XAMPP"); + desc["english"] = " + Overview : The host is running Xampp, which is prone to multiple cross site + scripting vulnerabilities. + + Vulnerability Insight : + + The flaw is due the input passed to the parameter text in iart.php and + ming.php files are not santised before being returned to the user. + + Impact : Successful exploitation could allow remote attackers to execute + arbitrary HTML and script code. + + Impact Level : Application + + Affected Software/OS: + Xampp Linux 1.6.7 and prior on Linux (All). + + Solution : No solution/patch is available as on 07th August, 2008. Information + regarding this issue will be updated once the solution details are available. + For updates check, http://www.apachefriends.org/en/xampp-linux.html + + References : http://www.securityfocus.com/archive/1/495096 + + CVSS Score : + CVSS Base Score : 5.8 (AV:N/AC:M/Au:NR/C:P/I:P/A:N) + CVSS Temporal Score : 5.2 + Risk factor : Medium"; + script_description(english:desc["english"]); + script_dependencies("http_version.nasl"); + script_require_ports("Services/www", 80); + exit(0); +} + + + include("http_func.inc"); + include("http_keepalive.inc"); + + port = get_http_port(default:80); + if(!port){ + exit(0); + } + + foreach path (make_list("/xampp", cgi_dirs())) + { + sndReq = http_get(item:string(path, "/start.php"), port:port); + rcvRes = http_keepalive_send_recv(port:port, data:sndReq); + if(rcvRes == NULL){ + exit(0); + } + + if(egrep(pattern:"XAMPP for Linux", string:rcvRes) && + egrep(pattern:"^HTTP/.* 200 OK", string:rcvRes)) + { + if(safe_checks()) + { + if(egrep(pattern:"XAMPP for Linux 1\.([0-5]\..*|6\.[0-7])" + + "($|[^.0-9])", string:rcvRes)){ + security_warning(port); + } + exit(0); + } + + # XSS request sent to parameter text in iart.php + sndReq = http_get(item:string(path, "/iart.php?text=%22%3E%" + + "3E%3C%3C%3E%3E%22%22%3Cscript%3Ealert(document.alert)" + + "%3C/script%3E"), port:port); + rcvRes = http_keepalive_send_recv(port:port, data:sndReq, bodyonly:1); + if(rcvRes == NULL){ + exit(0); + } + + if('<script>alert(document.alert)</script>' >< rcvRes){ + security_warning(port); + } + exit(0); + } + } Property changes on: trunk/openvas-plugins/scripts/secpod_xampp_mult_xss_vuln_900023.nasl ___________________________________________________________________ Name: svn:executable + * From scm-commit at wald.intevation.org Fri Aug 8 09:36:26 2008 From: scm-commit at wald.intevation.org (scm-commit@wald.intevation.org) Date: Fri, 8 Aug 2008 09:36:26 +0200 (CEST) Subject: [Openvas-commits] r1113 - in trunk/openvas-client: . include nessus Message-ID: <20080808073626.0DC36406F7@pyrosoma.intevation.org> Author: mwiegand Date: 2008-08-08 09:36:23 +0200 (Fri, 08 Aug 2008) New Revision: 1113 Modified: trunk/openvas-client/ChangeLog trunk/openvas-client/configure trunk/openvas-client/configure.in trunk/openvas-client/include/config.h.in trunk/openvas-client/nessus/cli.c trunk/openvas-client/nessus/html_graph_output.c trunk/openvas-client/nessus/nessus.c trunk/openvas-client/nessus/report_save.c Log: Removing gd and gdchart according to OpenVAS Change Request #14: http://www.openvas.org/openvas-cr-14.html Second part of patch. Modified: trunk/openvas-client/ChangeLog =================================================================== --- trunk/openvas-client/ChangeLog 2008-08-07 15:25:49 UTC (rev 1112) +++ trunk/openvas-client/ChangeLog 2008-08-08 07:36:23 UTC (rev 1113) @@ -1,3 +1,22 @@ +2008-08-08 Michael Wiegand <michael.wiegand at intevation.de> + + Removing gd and gdchart according to OpenVAS Change Request #14: + http://www.openvas.org/openvas-cr-14.html + Second part of patch. + + * nessus/html_graph_output.c, nessus/cli.c, nessus/report_save.c, + nessus/nessus.c: Changed conditional to NO_GDCHART to better adapt + to gdchart oddities. + + * configure.in: Improved header check for headers needed by gdchart; + only set GDC_LIBS when _all_ headers are present. + + * include/config.h.in: Changed conditional to NO_GDCHART; defining + HAVE_LIBFREETYPE as gdchart breaks compilation if it is not set + (see http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=242936). + + * configure: Updated. + 2008-08-06 Jan-Oliver Wagner <jan-oliver.wagner at intevation.de> Removing gd and gdchart according to OpenVAS Change Request #14: Modified: trunk/openvas-client/configure =================================================================== --- trunk/openvas-client/configure 2008-08-07 15:25:49 UTC (rev 1112) +++ trunk/openvas-client/configure 2008-08-08 07:36:23 UTC (rev 1113) @@ -3745,8 +3745,20 @@ done +if test "$ac_cv_header_gdc_h" = "yes" && test "$ac_cv_header_gd_h" = "yes" && test "$ac_cv_header_png_h" = "yes"; then + gdc_lib="-lgd -lpng -lgdc" + cat >>confdefs.h <<\_ACEOF +#define HAVE_LIBFREETYPE 1 +_ACEOF +else + cat >>confdefs.h <<\_ACEOF +#define NO_GDCHART 1 +_ACEOF +fi + + succeeded=no if test -z "$PKG_CONFIG"; then Modified: trunk/openvas-client/configure.in =================================================================== --- trunk/openvas-client/configure.in 2008-08-07 15:25:49 UTC (rev 1112) +++ trunk/openvas-client/configure.in 2008-08-08 07:36:23 UTC (rev 1113) @@ -75,6 +75,12 @@ dnl GDChart AC_CHECK_HEADERS([gdc.h gd.h png.h]) +if test "$ac_cv_header_gdc_h" = "yes" && test "$ac_cv_header_gd_h" = "yes" && test "$ac_cv_header_png_h" = "yes"; then + gdc_lib="-lgd -lpng -lgdc" + AC_DEFINE(HAVE_LIBFREETYPE) +else + AC_DEFINE(NO_GDCHART) +fi PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.2.0, HAVE_GLIB="yes", sweep_config_ok="no") AC_SUBST(GLIB_CFLAGS) Modified: trunk/openvas-client/include/config.h.in =================================================================== --- trunk/openvas-client/include/config.h.in 2008-08-07 15:25:49 UTC (rev 1112) +++ trunk/openvas-client/include/config.h.in 2008-08-08 07:36:23 UTC (rev 1113) @@ -224,7 +224,8 @@ #undef HAVE_SETPROCTITLE #undef HAVE__EXIT -#undef HAVE_GDCHART +#undef NO_GDCHART +#undef HAVE_LIBFREETYPE #undef HAVE_PTY_H #undef HAVE_SYS_MMAN_H Modified: trunk/openvas-client/nessus/cli.c =================================================================== --- trunk/openvas-client/nessus/cli.c 2008-08-07 15:25:49 UTC (rev 1112) +++ trunk/openvas-client/nessus/cli.c 2008-08-08 07:36:23 UTC (rev 1113) @@ -373,13 +373,13 @@ return; } -#ifdef HAVE_GDCHART +#ifndef NO_GDCHART if(!strncmp(ftype, "html_pie", 8)|| !strncmp(ftype, "html_graph", 10)) { args->output = arglist_to_html_graph; } else -#endif /* HAVE_GDCHART */ +#endif /* NO_GDCHART */ if (!strncmp(ftype, "html", 4)) { args->output = arglist_to_html; } else if (!strcmp(ftype, "latex") || Modified: trunk/openvas-client/nessus/html_graph_output.c =================================================================== --- trunk/openvas-client/nessus/html_graph_output.c 2008-08-07 15:25:49 UTC (rev 1112) +++ trunk/openvas-client/nessus/html_graph_output.c 2008-08-08 07:36:23 UTC (rev 1113) @@ -65,13 +65,13 @@ -------------------------------------------------------------------*/ -#ifdef HAVE_GDCHART #include <includes.h> #include "nessus_i18n.h" -#include "gdc.h" -#include "gdchart.h" -#include "gdcpie.h" +#ifndef NO_GDCHART +#include <gdc.h> +#include <gdchart.h> +#include <gdcpie.h> #include "report.h" #include "report_utils.h" #include "error_dlg.h" @@ -1369,4 +1369,4 @@ return 0; } -#endif /* HAVE_GDCHART */ +#endif /* NO_GDCHART */ Modified: trunk/openvas-client/nessus/nessus.c =================================================================== --- trunk/openvas-client/nessus/nessus.c 2008-08-07 15:25:49 UTC (rev 1112) +++ trunk/openvas-client/nessus/nessus.c 2008-08-08 07:36:23 UTC (rev 1113) @@ -788,7 +788,7 @@ arglist_to_text(backend_convert(be), out_report); else if(!strcmp(type, "html")) arglist_to_html(backend_convert(be), out_report); -#ifdef HAVE_GDCHART +#ifndef NO_GDCHART else if(!strcmp(type, "html_pie") || !strcmp(type, "html_graph")) arglist_to_html_graph(backend_convert(be), out_report); #endif Modified: trunk/openvas-client/nessus/report_save.c =================================================================== --- trunk/openvas-client/nessus/report_save.c 2008-08-07 15:25:49 UTC (rev 1112) +++ trunk/openvas-client/nessus/report_save.c 2008-08-08 07:36:23 UTC (rev 1113) @@ -126,7 +126,7 @@ hosts = backend_convert(be); arglist_to_text(hosts, fname); break; -#ifdef HAVE_GDCHART +#ifndef NO_GDCHART case SAVE_HTML_GRAPH: hosts = backend_convert(be); arglist_to_html_graph(hosts, fname); @@ -231,7 +231,7 @@ gtk_menu_append(GTK_MENU(menu), type); gtk_widget_show(type); -#ifdef HAVE_GDCHART +#ifndef NO_GDCHART type = gtk_menu_item_new_with_label(_("HTML with Pies and Graphs")); gtk_object_set_data(GTK_OBJECT(type), "type", (void *)SAVE_HTML_GRAPH); gtk_menu_append(GTK_MENU(menu), type); From scm-commit at wald.intevation.org Fri Aug 8 10:58:51 2008 From: scm-commit at wald.intevation.org (scm-commit@wald.intevation.org) Date: Fri, 8 Aug 2008 10:58:51 +0200 (CEST) Subject: [Openvas-commits] r1114 - trunk/doc/website Message-ID: <20080808085851.9AF49406F7@pyrosoma.intevation.org> Author: mwiegand Date: 2008-08-08 10:58:50 +0200 (Fri, 08 Aug 2008) New Revision: 1114 Modified: trunk/doc/website/openvas-cr-10.htm4 trunk/doc/website/openvas-cr-11.htm4 trunk/doc/website/openvas-cr-14.htm4 trunk/doc/website/openvas-cr-2.htm4 trunk/doc/website/openvas-cr-3.htm4 trunk/doc/website/openvas-cr-4.htm4 trunk/doc/website/openvas-cr-6.htm4 trunk/doc/website/openvas-cr-7.htm4 trunk/doc/website/openvas-cr-8.htm4 trunk/doc/website/openvas-crs.htm4 Log: Updated status for change requests to reflect the latest round of releases and other work done in the meantime. Modified: trunk/doc/website/openvas-cr-10.htm4 =================================================================== --- trunk/doc/website/openvas-cr-10.htm4 2008-08-08 07:36:23 UTC (rev 1113) +++ trunk/doc/website/openvas-cr-10.htm4 2008-08-08 08:58:50 UTC (rev 1114) @@ -28,7 +28,7 @@ PAGE_START <h2>OpenVAS Change Request #10: Remove support for non-SSL connections in OpenVAS-Client</h2> -Status: Voted +2. Implemented with revision 937. +Status: Voted +2. Implemented with revision 937. Released with OpenVAS-Client 1.0.4. <h3>Purpose</h3> Modified: trunk/doc/website/openvas-cr-11.htm4 =================================================================== --- trunk/doc/website/openvas-cr-11.htm4 2008-08-08 07:36:23 UTC (rev 1113) +++ trunk/doc/website/openvas-cr-11.htm4 2008-08-08 08:58:50 UTC (rev 1114) @@ -28,7 +28,7 @@ PAGE_START <h2>OpenVAS Change Request #11: Make OpenVAS-Client use (and depend on) glib</h2> -Status: Voted +2. Implemented with revision 949. +Status: Voted +2. Implemented with revision 949. Released with OpenVAS-Client 1.0.4. <h3>Purpose</h3> Modified: trunk/doc/website/openvas-cr-14.htm4 =================================================================== --- trunk/doc/website/openvas-cr-14.htm4 2008-08-08 07:36:23 UTC (rev 1113) +++ trunk/doc/website/openvas-cr-14.htm4 2008-08-08 08:58:50 UTC (rev 1114) @@ -28,7 +28,7 @@ PAGE_START <h2>OpenVAS Change Request #14: OpenVAS-Client: Remove source code copy of gdchart and gd</h2> -Status: Voted +5. gdchart and gd removed in SVN trunk. +Status: Voted +5. Implemented in SVN trunk, revision 1113. <h3>Purpose</h3> Modified: trunk/doc/website/openvas-cr-2.htm4 =================================================================== --- trunk/doc/website/openvas-cr-2.htm4 2008-08-08 07:36:23 UTC (rev 1113) +++ trunk/doc/website/openvas-cr-2.htm4 2008-08-08 08:58:50 UTC (rev 1114) @@ -28,7 +28,7 @@ PAGE_START <h2>OpenVAS Change Request #2: Remove any support for NSR export format of OpenVAS-Client</h2> -Status: Voted +4. Implemented with SVN 673. Release with OpenVAS-Client 1.0.3. +Status: Voted +4. Implemented with SVN 673. Released with OpenVAS-Client 1.0.3. <h3>Purpose</h3> Modified: trunk/doc/website/openvas-cr-3.htm4 =================================================================== --- trunk/doc/website/openvas-cr-3.htm4 2008-08-08 07:36:23 UTC (rev 1113) +++ trunk/doc/website/openvas-cr-3.htm4 2008-08-08 08:58:50 UTC (rev 1114) @@ -28,7 +28,7 @@ PAGE_START <h2>OpenVAS Change Request #3: Remove plugin factory from openvas-plugins</h2> -Status: Voted +5. Implemented with SVN 699. Scheduled for openvas-plugins 1.0.1. +Status: Voted +5. Implemented with SVN 699. Released with openvas-plugins 1.0.1. <h3>Purpose</h3> Modified: trunk/doc/website/openvas-cr-4.htm4 =================================================================== --- trunk/doc/website/openvas-cr-4.htm4 2008-08-08 07:36:23 UTC (rev 1113) +++ trunk/doc/website/openvas-cr-4.htm4 2008-08-08 08:58:50 UTC (rev 1114) @@ -28,7 +28,7 @@ PAGE_START <h2>OpenVAS Change Request #4: Remove plugin upload feature</h2> -Status: Voted +4. First step (denial of upload) implemented (will be in openvas-server 1.0.1). +Status: Voted +4. First step (denial of upload) implemented and released with OpenVAS-Server 1.0.1. Completion will happen with next protocol version. <h3>Purpose</h3> Modified: trunk/doc/website/openvas-cr-6.htm4 =================================================================== --- trunk/doc/website/openvas-cr-6.htm4 2008-08-08 07:36:23 UTC (rev 1113) +++ trunk/doc/website/openvas-cr-6.htm4 2008-08-08 08:58:50 UTC (rev 1114) @@ -28,7 +28,7 @@ PAGE_START <h2>OpenVAS Change Request #6: Remove support of old XML report format</h2> -Status: Voted +2. Implemented with SVN-884. Will be in release 1.0.4. +Status: Voted +2. Implemented with SVN-884. Released with OpenVAS-Client 1.0.4. <h3>Purpose</h3> Modified: trunk/doc/website/openvas-cr-7.htm4 =================================================================== --- trunk/doc/website/openvas-cr-7.htm4 2008-08-08 07:36:23 UTC (rev 1113) +++ trunk/doc/website/openvas-cr-7.htm4 2008-08-08 08:58:50 UTC (rev 1114) @@ -28,7 +28,7 @@ PAGE_START <h2>OpenVAS Change Request #7: Extend report widget with optional info on NVT name/oid in OpenVAS-Client</h2> -Status: Voted +2. Implemented. Will be in release OpenVAS-Client 1.0.4. +Status: Voted +2. Implemented. Released with OpenVAS-Client 1.0.4. <h3>Purpose</h3> Modified: trunk/doc/website/openvas-cr-8.htm4 =================================================================== --- trunk/doc/website/openvas-cr-8.htm4 2008-08-08 07:36:23 UTC (rev 1113) +++ trunk/doc/website/openvas-cr-8.htm4 2008-08-08 08:58:50 UTC (rev 1114) @@ -28,7 +28,7 @@ PAGE_START <h2>OpenVAS Change Request #8: Introduce NVT family "Credentials"</h2> -Status: Voted +2. Implemented. Server-side changes released with openvas-plugins 1.0.2, client-side Will be in release OpenVAS-Client 1.0.4. +Status: Voted +2. Implemented. Server-side changes released with openvas-plugins 1.0.2, client-side released with OpenVAS-Client 1.0.4. <h3>Purpose</h3> Modified: trunk/doc/website/openvas-crs.htm4 =================================================================== --- trunk/doc/website/openvas-crs.htm4 2008-08-08 07:36:23 UTC (rev 1113) +++ trunk/doc/website/openvas-crs.htm4 2008-08-08 08:58:50 UTC (rev 1114) @@ -40,7 +40,7 @@ <h3>Overview on change requests so far</h3> <p> -(statis can be: in discussion, accepted, in progress, done) +(Status can be: in discussion, accepted, in progress, done) </p> <ul> @@ -57,7 +57,7 @@ <li> <a href="openvas-cr-11.html">OpenVAS Change Request #11: Make OpenVAS-Client use (and depend on) glib</a> (done) <li> <a href="openvas-cr-12.html">OpenVAS Change Request #12: Replace NTP with OTP</a> (in progress) <li> <a href="openvas-cr-13.html">OpenVAS Change Request #13: Integrating the OVAL interpreter ovaldi into OpenVAS Server</a> (accepted) -<li> <a href="openvas-cr-14.html">OpenVAS Change Request #14: OpenVAS-Client: Remove source code copy of gdchart and gd</a> (in progress) +<li> <a href="openvas-cr-14.html">OpenVAS Change Request #14: OpenVAS-Client: Remove source code copy of gdchart and gd</a> (done) <li> <a href="openvas-cr-15.html">OpenVAS Change Request #15: OpenVAS Server: Remove features for detached scans</a> (accepted) </ul> From scm-commit at wald.intevation.org Fri Aug 8 12:34:37 2008 From: scm-commit at wald.intevation.org (scm-commit@wald.intevation.org) Date: Fri, 8 Aug 2008 12:34:37 +0200 (CEST) Subject: [Openvas-commits] r1115 - trunk/openvas-client Message-ID: <20080808103437.E782640708@pyrosoma.intevation.org> Author: jan Date: 2008-08-08 12:34:37 +0200 (Fri, 08 Aug 2008) New Revision: 1115 Modified: trunk/openvas-client/ChangeLog trunk/openvas-client/VERSION Log: * VERSION: Set to 1.1.0.SVN to reflect that the 1.0 development has been branched and the development here lead to a next major release. Modified: trunk/openvas-client/ChangeLog =================================================================== --- trunk/openvas-client/ChangeLog 2008-08-08 08:58:50 UTC (rev 1114) +++ trunk/openvas-client/ChangeLog 2008-08-08 10:34:37 UTC (rev 1115) @@ -1,3 +1,9 @@ +2008-08-08 Jan-Oliver Wagner <jan-oliver.wagner at intevation.de> + + * VERSION: Set to 1.1.0.SVN to reflect that the 1.0 development + has been branched and the development here lead to a next + major release. + 2008-08-08 Michael Wiegand <michael.wiegand at intevation.de> Removing gd and gdchart according to OpenVAS Change Request #14: Modified: trunk/openvas-client/VERSION =================================================================== --- trunk/openvas-client/VERSION 2008-08-08 08:58:50 UTC (rev 1114) +++ trunk/openvas-client/VERSION 2008-08-08 10:34:37 UTC (rev 1115) @@ -1 +1 @@ -1.0.5.SVN +1.1.0.SVN From scm-commit at wald.intevation.org Fri Aug 8 12:35:47 2008 From: scm-commit at wald.intevation.org (scm-commit@wald.intevation.org) Date: Fri, 8 Aug 2008 12:35:47 +0200 (CEST) Subject: [Openvas-commits] r1116 - trunk/openvas-server Message-ID: <20080808103547.43E3540708@pyrosoma.intevation.org> Author: jan Date: 2008-08-08 12:35:47 +0200 (Fri, 08 Aug 2008) New Revision: 1116 Modified: trunk/openvas-server/ChangeLog trunk/openvas-server/VERSION Log: * VERSION: Set to 1.1.0.SVN to reflect that the 1.0 development has been branched and the development here lead to a next major release. Modified: trunk/openvas-server/ChangeLog =================================================================== --- trunk/openvas-server/ChangeLog 2008-08-08 10:34:37 UTC (rev 1115) +++ trunk/openvas-server/ChangeLog 2008-08-08 10:35:47 UTC (rev 1116) @@ -1,3 +1,9 @@ +2008-08-08 Jan-Oliver Wagner <jan-oliver.wagner at intevation.de> + + * VERSION: Set to 1.1.0.SVN to reflect that the 1.0 development + has been branched and the development here lead to a next + major release. + 2008-08-07 Jan-Oliver Wagner <jan-oliver.wagner at intevation.de> Final step of Change Request #4, Modified: trunk/openvas-server/VERSION =================================================================== --- trunk/openvas-server/VERSION 2008-08-08 10:34:37 UTC (rev 1115) +++ trunk/openvas-server/VERSION 2008-08-08 10:35:47 UTC (rev 1116) @@ -1 +1 @@ -1.0.2.SVN +1.1.0.SVN From scm-commit at wald.intevation.org Fri Aug 8 12:37:14 2008 From: scm-commit at wald.intevation.org (scm-commit@wald.intevation.org) Date: Fri, 8 Aug 2008 12:37:14 +0200 (CEST) Subject: [Openvas-commits] r1117 - trunk/doc/website Message-ID: <20080808103714.8002C4070A@pyrosoma.intevation.org> Author: jan Date: 2008-08-08 12:37:14 +0200 (Fri, 08 Aug 2008) New Revision: 1117 Modified: trunk/doc/website/openvas-crs.htm4 Log: Setting status of #13 and #15 to "in progress". Modified: trunk/doc/website/openvas-crs.htm4 =================================================================== --- trunk/doc/website/openvas-crs.htm4 2008-08-08 10:35:47 UTC (rev 1116) +++ trunk/doc/website/openvas-crs.htm4 2008-08-08 10:37:14 UTC (rev 1117) @@ -56,9 +56,9 @@ <li> <a href="openvas-cr-10.html">OpenVAS Change Request #10: Remove support for non-SSL connections in OpenVAS-Client</a> (done) <li> <a href="openvas-cr-11.html">OpenVAS Change Request #11: Make OpenVAS-Client use (and depend on) glib</a> (done) <li> <a href="openvas-cr-12.html">OpenVAS Change Request #12: Replace NTP with OTP</a> (in progress) -<li> <a href="openvas-cr-13.html">OpenVAS Change Request #13: Integrating the OVAL interpreter ovaldi into OpenVAS Server</a> (accepted) +<li> <a href="openvas-cr-13.html">OpenVAS Change Request #13: Integrating the OVAL interpreter ovaldi into OpenVAS Server</a> (in progress) <li> <a href="openvas-cr-14.html">OpenVAS Change Request #14: OpenVAS-Client: Remove source code copy of gdchart and gd</a> (done) -<li> <a href="openvas-cr-15.html">OpenVAS Change Request #15: OpenVAS Server: Remove features for detached scans</a> (accepted) +<li> <a href="openvas-cr-15.html">OpenVAS Change Request #15: OpenVAS Server: Remove features for detached scans</a> (in progress) </ul> <h3>How to write a change request</h3> From scm-commit at wald.intevation.org Fri Aug 8 14:57:39 2008 From: scm-commit at wald.intevation.org (scm-commit@wald.intevation.org) Date: Fri, 8 Aug 2008 14:57:39 +0200 (CEST) Subject: [Openvas-commits] r1118 - in trunk/openvas-server: . doc/ntp openvasd Message-ID: <20080808125739.F3CBF406FB@pyrosoma.intevation.org> Author: jan Date: 2008-08-08 14:57:38 +0200 (Fri, 08 Aug 2008) New Revision: 1118 Removed: trunk/openvas-server/openvasd/detached.c trunk/openvas-server/openvasd/detached.h Modified: trunk/openvas-server/ChangeLog trunk/openvas-server/MANIFEST trunk/openvas-server/doc/ntp/ntp_extensions.txt trunk/openvas-server/openvasd/Makefile trunk/openvas-server/openvasd/attack.c trunk/openvas-server/openvasd/comm.c trunk/openvas-server/openvasd/hosts.c trunk/openvas-server/openvasd/ntp_11.c trunk/openvas-server/openvasd/preferences.c trunk/openvas-server/openvasd/preferences.h trunk/openvas-server/openvasd/utils.c Log: Patch for Change Request #15: http://www.openvas.org/openvas-cr-15.html (OpenVAS Server: Remove features for detached scans) * openvasd/ntp_11.c: Don't include detached.h anymore. (ntp_11_stop_detached_session, ntp_11_list_detached_sessions, extract_detached_session_key_from_session_msg): Removed. (ntp_11_parse_input): Removed handling of STOP_DETACHED and DETACHED_SESSIONS_LIST. (ntp_11_parse_input): Fixed anyway-misplaced ENABLE_SAVE_TESTS conditional. * openvasd/preferences.c (preferences_detached_scan, preferences_detached_scan_email, preferences_continuous_scan, preferences_delay_between_scans): Removed. (preferences_reset_cache): Removed initializing of detached params. * openvasd/preferences.h: Removed protos for preferences_detached_scan, preferences_detached_scan_email, preferences_delay_between_scans and preferences_continuous_scan. * openvasd/attack.c: Removed include for detached.h. (attack_network): Removed handling of "detached" and "continous". (attack_sigterm, arg_addset_value): Removed. * openvasd/hosts.c: Removed include for detached.h. (forward): Removed handling for detached scans. * Makefile: Don't handle detached module. * doc/ntp/ntp_extensions.txt: Removed documentation about the detached functionality. * openvasd/utils.c: Removed include for detached.h. It wasn't required anyway. * openvasd/comm.c: Removed include for detached.h. It wasn't required anyway. (comm_send_preferences): Don't send settings for ntp_detached_sessions anymore. * openvasd/detached.c, openvasd/detached.h: Removed. * MANIFEST: Updated. Modified: trunk/openvas-server/ChangeLog =================================================================== --- trunk/openvas-server/ChangeLog 2008-08-08 10:37:14 UTC (rev 1117) +++ trunk/openvas-server/ChangeLog 2008-08-08 12:57:38 UTC (rev 1118) @@ -1,5 +1,49 @@ 2008-08-08 Jan-Oliver Wagner <jan-oliver.wagner at intevation.de> + Patch for Change Request #15: + http://www.openvas.org/openvas-cr-15.html + (OpenVAS Server: Remove features for detached scans) + + * openvasd/ntp_11.c: Don't include detached.h anymore. + (ntp_11_stop_detached_session, ntp_11_list_detached_sessions, + extract_detached_session_key_from_session_msg): Removed. + (ntp_11_parse_input): Removed handling of STOP_DETACHED and DETACHED_SESSIONS_LIST. + (ntp_11_parse_input): Fixed anyway-misplaced ENABLE_SAVE_TESTS conditional. + + * openvasd/preferences.c (preferences_detached_scan, preferences_detached_scan_email, + preferences_continuous_scan, preferences_delay_between_scans): Removed. + (preferences_reset_cache): Removed initializing of detached params. + + * openvasd/preferences.h: Removed protos for preferences_detached_scan, + preferences_detached_scan_email, preferences_delay_between_scans and + preferences_continuous_scan. + + * openvasd/attack.c: Removed include for detached.h. + (attack_network): Removed handling of "detached" and "continous". + (attack_sigterm, arg_addset_value): Removed. + + * openvasd/hosts.c: Removed include for detached.h. + (forward): Removed handling for detached scans. + + * Makefile: Don't handle detached module. + + * doc/ntp/ntp_extensions.txt: Removed documentation about the + detached functionality. + + * openvasd/utils.c: Removed include for detached.h. It wasn't + required anyway. + + * openvasd/comm.c: Removed include for detached.h. It wasn't + required anyway. + (comm_send_preferences): Don't send settings for ntp_detached_sessions + anymore. + + * openvasd/detached.c, openvasd/detached.h: Removed. + + * MANIFEST: Updated. + +2008-08-08 Jan-Oliver Wagner <jan-oliver.wagner at intevation.de> + * VERSION: Set to 1.1.0.SVN to reflect that the 1.0 development has been branched and the development here lead to a next major release. Modified: trunk/openvas-server/MANIFEST =================================================================== --- trunk/openvas-server/MANIFEST 2008-08-08 10:37:14 UTC (rev 1117) +++ trunk/openvas-server/MANIFEST 2008-08-08 12:57:38 UTC (rev 1118) @@ -48,8 +48,6 @@ openvasd/comm.c openvasd/comm.h openvasd-config.in -openvasd/detached.c -openvasd/detached.h openvasd/dirutils.c openvasd/hosts.c openvasd/hosts.h Modified: trunk/openvas-server/doc/ntp/ntp_extensions.txt =================================================================== --- trunk/openvas-server/doc/ntp/ntp_extensions.txt 2008-08-08 10:37:14 UTC (rev 1117) +++ trunk/openvas-server/doc/ntp/ntp_extensions.txt 2008-08-08 12:57:38 UTC (rev 1118) @@ -129,50 +129,7 @@ the data it saved. The user sees the attack as if it was happening extremely quickly. -3.4 List of detached sessions ------------------------------ -Detached sessions are sessions that are run detached from the client. -Please read http://www.nessus.org/doc/detached_scan.html for details. - -The message : - -CLIENT <|> DETACHED_SESSIONS_LIST <|> CLIENT - -will make openvasd send the list of detached scans to the client. The format -of the message is identical to the LIST_SESSIONS message, that is : - -SERVER <|> DETACHED_SESSIONS_LIST -name targets -name targets -. -. -. -<|> SERVER - -ie: - -SERVER <|> DETACHED_SESSIONS_LIST -2421 prof.fr.nessus.org -41001 www.nessus.org -. -. -. -<|> SERVER - - - - -3.5 Stopping a detached session -------------------------------- - -A user may want to stop a detached scan. The message which has this -effect is the message : - -CLIENT <|> DETACHED_STOP <|> name <|> CLIENT - -Where <name> is the name sent in a DETACHED_SESSIONS_LIST message. - 3.6 Options ------------ @@ -219,33 +176,6 @@ maximum age of a KB (in seconds) -5. Detached scans ------------------ - -detached_scan - - If set to "yes", openvasd will close the communication and - forward the result of the scan to /dev/null (but will fill the - KBs and will save its sessions) - - -continuous_scan - - If set to "yes", openvasd will restart the scan from scratch - when completed (openvasd runs forever) - -delay_between_scan_loops - - If "continuous_scan" is set to "yes", this value contain the - number of seconds to sleep between two loops - - -detached_scan_email_address - - Contains the email address to send results to. If empty, no - mail will be sent to anyone. - - 6. Per-plugin timeout --------------------- Modified: trunk/openvas-server/openvasd/Makefile =================================================================== --- trunk/openvas-server/openvasd/Makefile 2008-08-08 10:37:14 UTC (rev 1117) +++ trunk/openvas-server/openvasd/Makefile 2008-08-08 12:57:38 UTC (rev 1118) @@ -28,7 +28,6 @@ openvasd.o \ save_tests.o \ save_kb.o \ - detached.o \ pluginlaunch.o \ locks.o \ dirutils.o \ @@ -110,9 +109,6 @@ save_kb.o : save_kb.c save_kb.h $(CC) $(OPENVAS_CFLAGS) $(OPENVAS_INCLUDE) -c save_kb.c -detached.o : detached.c detached.h - $(CC) $(OPENVAS_CFLAGS) $(OPENVAS_INCLUDE) -c detached.c - pluginlaunch.o : pluginlaunch.c $(CC) $(OPENVAS_CFLAGS) $(OPENVAS_INCLUDE) -c pluginlaunch.c Modified: trunk/openvas-server/openvasd/attack.c =================================================================== --- trunk/openvas-server/openvasd/attack.c 2008-08-08 10:37:14 UTC (rev 1117) +++ trunk/openvas-server/openvasd/attack.c 2008-08-08 12:57:38 UTC (rev 1118) @@ -46,7 +46,6 @@ #include "pluginload.h" #include "save_tests.h" #include "save_kb.h" -#include "detached.h" #include "pluginscheduler.h" #include "pluginlaunch.h" @@ -92,29 +91,6 @@ } -static void -attack_sigterm() -{ - hosts_stop_all(); - wait_for_children1(); -} - - -static void -arg_addset_value(arg, name, type, len, value) - struct arglist *arg; - char * name; - int type, len; - void * value; -{ - if(arg_get_type(arg, name) < 0) - arg_add_value(arg, name, type, len, value); - else - arg_set_value(arg, name, len, value); -} - - - /*------------------------------------------------------- Init. an arglist which can be used by @@ -548,8 +524,6 @@ int restoring = 0; harglst * tested = NULL; int save_session= 0; - int continuous = 0; - int detached = 0; int return_code = 0; char * port_range; plugins_scheduler_t sched; @@ -563,48 +537,9 @@ host_ip.s_addr = 0; preferences = arg_get_value(globals, "preferences"); - detached = preferences_detached_scan(preferences); - if(detached) - { - char *email; - - detached_new_session(globals, arg_get_value(preferences, "TARGET")); - arg_addset_value(preferences, "ntp_keep_communication_alive", ARG_STRING, 0, NULL); - - /* - * Tell the client that the scan is finished (actually, we will - * work hard to test the network, but this lazy client has the right - * to get some rest... - */ - log_write("user %s : running a detached scan\n", (char*)arg_get_value(globals, "user")); - global_socket = (int)arg_get_value(globals, "global_socket"); - comm_terminate(globals); - close_stream_connection(global_socket); - global_socket = -1; - arg_set_value(globals, "global_socket", sizeof(int), (void*)global_socket); - - nessus_signal(SIGTERM, attack_sigterm); - -start_attack_network: - if((email = preferences_detached_scan_email(preferences))) - { - /* - * The user wants to receive the results by e-mail. - */ - if(detached_setup_mail_file(globals, email)) - { - /* - * Could not create the file to store our data - */ - close_stream_connection(global_socket); - return -1; - } - } - else arg_addset_value(globals, "detached_scan_email_address", ARG_STRING, 0, NULL); - } + num_tested = 0; - global_socket = (int)arg_get_value(globals, "global_socket"); plugins = arg_get_value(globals, "plugins"); @@ -612,14 +547,8 @@ rules = arg_get_value(globals, "rules"); rejected_hosts = emalloc(sizeof(struct arglist)); - if(detached) - continuous = preferences_continuous_scan(preferences); - save_session = preferences_save_session(preferences); - if(continuous) - restoring = 0; - else - restoring = ((int)arg_get_value(globals, "RESTORE-SESSION") == 1); + restoring = ((int)arg_get_value(globals, "RESTORE-SESSION") == 1); if(restoring)tested = arg_get_value(globals, "TESTED_HOSTS"); if(save_session)save_tests_init(globals); @@ -902,26 +831,9 @@ arg_free_all(rejected_hosts); plugins_scheduler_free(sched); - if(detached) - { - if(preferences_detached_scan_email(preferences)) - detached_send_email(globals); - } - - if(continuous){ - sleep(preferences_delay_between_scans(preferences)); - plugins = plugins_reload(preferences, plugins, 1); - arg_set_value(globals, "plugins", -1, plugins); - goto start_attack_network; - } - else if(detached)detached_end_session(globals); - gettimeofday(&now, NULL); log_write("Total time to scan all hosts : %ld seconds\n", now.tv_sec - then.tv_sec); return return_code; } - - - Modified: trunk/openvas-server/openvasd/comm.c =================================================================== --- trunk/openvas-server/openvasd/comm.c 2008-08-08 10:37:14 UTC (rev 1117) +++ trunk/openvas-server/openvasd/comm.c 2008-08-08 12:57:38 UTC (rev 1118) @@ -42,9 +42,6 @@ #include "plugs_hash.h" #include "utils.h" #include "nasl.h" -#ifdef ENABLE_SAVE_KB -#include "detached.h" -#endif #ifndef FALSE #define FALSE 0 @@ -447,7 +444,6 @@ } #ifdef ENABLE_SAVE_TESTS auth_printf(globals, "ntp_save_sessions <|> yes\n"); - auth_printf(globals, "ntp_detached_sessions <|> yes\n"); auth_printf(globals, "server_info_openvasd_version <|> %s\n", OPENVAS_VERSION); auth_printf(globals, "server_info_libnasl_version <|> %s\n", nasl_version()); auth_printf(globals, "server_info_libnessus_version <|> %s\n", nessuslib_version()); Deleted: trunk/openvas-server/openvasd/detached.c =================================================================== --- trunk/openvas-server/openvasd/detached.c 2008-08-08 10:37:14 UTC (rev 1117) +++ trunk/openvas-server/openvasd/detached.c 2008-08-08 12:57:38 UTC (rev 1118) @@ -1,520 +0,0 @@ -/* OpenVAS -* $Id$ -* Description: Deals with comminucating results of a detached scan. -* -* Authors: - Renaud Deraison <deraison at nessus.org> (Original pre-fork develoment) -* - Tim Brown <mailto:timb at openvas.org> (Initial fork) -* - Laban Mwangi <mailto:labanm at openvas.org> (Renaming work) -* - Tarik El-Yassem <mailto:tarik at openvas.org> (Headers section) -* -* Copyright: -* Portions Copyright (C) 2006 Software in the Public Interest, Inc. -* Based on work Copyright (C) 1998 - 2006 Tenable Network Security, Inc. -* -* This program is free software; you can redistribute it and/or modify -* it under the terms of the GNU General Public License version 2, -* as published by the Free Software Foundation -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program; if not, write to the Free Software -* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -* -* -*/ - -#include <includes.h> -#ifdef ENABLE_SAVE_KB - -#include "detached.h" -#include "utils.h" -#include "log.h" -#include "users.h" -#include "processes.h" - -/*-----------------------------------------------------------------------* - * Private functions * - *-----------------------------------------------------------------------*/ -#define PORT_HDR "SERVER <|> PORT <|> " -#define PORT_HDR_LEN strlen(PORT_HDR) - -#define NOTE_HDR "SERVER <|> NOTE <|> " -#define NOTE_HDR_LEN strlen(NOTE_HDR) - -#define INFO_HDR "SERVER <|> INFO <|> " -#define INFO_HDR_LEN strlen(INFO_HDR) - -#define HOLE_HDR "SERVER <|> HOLE <|> " -#define HOLE_HDR_LEN strlen(HOLE_HDR) - -#define NOTE 1 -#define INFO 2 -#define HOLE 3 - - -/* - * Invokes sendmail -t - */ -void _detached_send_mail(globals) - struct arglist * globals; -{ - /* - * We do not check the full path to sendmail because if root - * can not trust his path, then I bet he's hosed already - */ - char * argv[]={"sendmail", "-t", "-B8BITMIME", NULL}; - char * fname = arg_get_value(globals, "detached_scan_email_filename"); - pid_t pid; - struct stat st; - off_t * orig_size = arg_get_value(globals, "detached_scan_file_len"); - struct arglist * preferences = arg_get_value(globals, "preferences"); - - stat(fname, &st); - - - /* - * Nothing new - we don't send any mail (because a blank mail - * is useless) - */ - if(st.st_size == *orig_size) - { - log_write("user %s : scan did not produce any result, so no email will be sent", - (char*)arg_get_value(globals, "user")); - - efree(&orig_size); - return; - } - - efree(&orig_size); - - if(!(pid = fork())) - { - int fd; - int i; - - /* - * Close all open files - */ - for(i=0;i<getdtablesize();i++)close(i); - - /* - * Our email file becomes stdin - */ - fd = open(fname, O_RDONLY, 0); - if(fd < 0) - { - log_init(arg_get_value(preferences, "logfile")); - log_write("user %s : could not open our email %s - %s\n", - (char*)arg_get_value(globals, "user"), - fname, - strerror(errno)); - exit(1); - } - if(execvp("sendmail", argv) < 0) - { - log_init(arg_get_value(preferences, "logfile")); - log_write("user %s : could not execute sendmail - %s\n", - (char*)arg_get_value(globals, "user"), - strerror(errno)); - } - exit(1); - } - else if(pid > 0)waitpid(pid, NULL, 0); -} - -static void -detached_copy_data_port(globals, buffer) - struct arglist * globals; - char * buffer; -{ - char * t; - FILE * fl = arg_get_value(globals, "detached_scan_email_fd"); - - - t = strchr(buffer, '<'); - if(!t)return; - t--; - t[0]='\0'; - t+=5; - - fprintf(fl, "o %s : port %s was found to be open\n\n", - buffer, - t); - -} - - -static void -detached_copy_data_content(globals, buffer, type) - struct arglist * globals; - char * buffer; - int type; -{ - char * t = strrchr(buffer, '<'); - char * host, * port; - char * asctype = NULL; - FILE * fl = arg_get_value(globals, "detached_scan_email_fd"); - char * noslashes; - - - - switch(type) - { - case INFO : - asctype = "warning"; - break; - case NOTE : - asctype = "note"; - break; - case HOLE : - asctype = "hole"; - break; - } - - - if(!t)return; - t--; - t[0]='\0'; - - t = strchr(buffer, '<'); - if(!t) - return; - - t--; - t[0]='\0'; - host = estrdup(buffer); - buffer = t + 5; - t = strchr(buffer, '<'); - if(!t) - { - efree(&host); - return; - } - - t--; - t[0]='\0'; - port = estrdup(buffer); - - buffer = t+5; - - noslashes = rmslashes(buffer); - fprintf(fl, "o %s : Security %s found on port %s :\n%s\n\n", - host, - asctype, - port, - noslashes); - efree(&noslashes); - efree(&host); - efree(&port); -} - - -/*------------------------------------------------------------------------* - * Public functions * - *------------------------------------------------------------------------*/ -void -detached_copy_data(globals, buffer, length) - struct arglist * globals; - char * buffer; - int length; -{ - char *t; - int info = 0, note = 0, hole = 0; - - if(!buffer || !globals) - return; - - if(!arg_get_value(globals, "detached_scan_email_address")) - { - efree(&buffer); - return; - } - - while((t = strchr(buffer, ';')))t[0]='\n'; - - t = strrchr(buffer, '<'); - if(t){ - t--; - t[0]='\0'; - } - - /* - * Ok, so we want to parse the message. It's in NTP/1.whatever, - * want we are only interested in open ports and information reports - */ - if(!strncmp(buffer, PORT_HDR, PORT_HDR_LEN)) - { - detached_copy_data_port(globals, buffer+PORT_HDR_LEN); - } - else if(!(info = strncmp(buffer, INFO_HDR, INFO_HDR_LEN)) || - !(note = strncmp(buffer, NOTE_HDR, NOTE_HDR_LEN)) || - !(hole = strncmp(buffer, HOLE_HDR, HOLE_HDR_LEN))) - { - detached_copy_data_content(globals, buffer+INFO_HDR_LEN, - hole==0?HOLE:(info==0?INFO:NOTE)); - } - efree(&buffer); -} - - - - - -int -detached_setup_mail_file(globals, email) - struct arglist * globals; - char * email; -{ - FILE* fl; - char * tmpname; - char * today; - time_t t; - char *hostname = emalloc(256); - struct stat st; - off_t * sz; - - t = time(NULL); - today = estrdup(ctime(&t)); - today[strlen(today)-1]='\0'; - - log_write("user %s : mailing results of a detached scan to %s\n", - (char*)arg_get_value(globals, "user"), - email); - - if((arg_get_type(globals, "detached_scan_email_address")) < 0) - arg_add_value(globals, "detached_scan_email_address", ARG_STRING, strlen(email), email); - else - arg_set_value(globals, "detached_scan_email_address", strlen(email), email); - - tmpname = temp_file_name(); - fl = fopen(tmpname, "w"); - if (fchmod(fl, S_IRUSR|S_IWUSR) != 0) - perror("fchmod() error on tmp file"); - if(!fl) - { - log_write("user %s : could not create file '%s' (%s) - aborting", - (char*)arg_get_value(globals, "user"), - tmpname, - strerror(errno)); - - auth_printf(globals, "SERVER <|> ERROR <|> Could not create the temporary \ -file needed for detached scan (%s) - aborting <|> SERVER\n", strerror(errno)); - efree(&today); - return -1; - } - bzero(hostname, 256); - gethostname(hostname, 255); - fprintf(fl, "From: OpenVAS Daemon <root@%s>\n", hostname); - fprintf(fl, "To: OpenVAS User <%s>\n", email); - fprintf(fl, "Subject: OpenVAS Scan (%s)\n\n", today); - fflush(fl); - efree(&today); - efree(&hostname); - stat(tmpname, &st); - - sz = emalloc(sizeof(st.st_size)); - memcpy(sz, &(st.st_size), sizeof(st.st_size)); - if(arg_get_type(globals, "detached_scan_file_len") < 0) - arg_add_value(globals, "detached_scan_file_len", ARG_PTR, sizeof(int),sz); - else - arg_set_value(globals, "detached_scan_file_len", sizeof(int), sz); - - - if(arg_get_type(globals, "detached_scan_email_fd") < 0) - arg_add_value(globals, "detached_scan_email_fd", ARG_PTR, sizeof(fl), fl); - else - arg_set_value(globals, "detached_scan_email_fd", sizeof(fl), fl); - - - - if(arg_get_type(globals, "detached_scan_email_filename") < 0) - arg_add_value(globals, "detached_scan_email_filename", ARG_STRING, strlen(tmpname), tmpname); - else - arg_set_value(globals, "detached_scan_email_filename", strlen(tmpname), tmpname); - - return 0; -} - -void -detached_send_email(globals) - struct arglist * globals; -{ - char * fname = arg_get_value(globals, "detached_scan_email_filename"); - FILE * fl = arg_get_value(globals, "detached_scan_email_fd"); - - if(fl){ - fclose(fl); - arg_set_value(globals, "detached_scan_email_fd", 0, NULL); - } - - - _detached_send_mail(globals); - - - - unlink(fname); - if(fname){ - efree(&fname); - arg_set_value(globals, "detached_scan_email_filename", 0, NULL); - } -} - -/*----------------------------------------------------------------------- - Management of detached scans --------------------------------------------------------------------------*/ -static char * -detached_dirname(globals) - struct arglist * globals; -{ - char * dir; - char * userhome = user_home(globals); - dir = emalloc(strlen(userhome) + strlen("detached") + 2); - sprintf(dir, "%s/detached", userhome); - efree(&userhome); - return(dir); -} - - -static int -detached_mkdir(dir) - char * dir; -{ - char *t = strchr(dir+1, '/'); - while(t) - { - t[0] = '\0'; - mkdir(dir, 0700); - t[0] = '/'; - t = strchr(t+1, '/'); - } - mkdir(dir, 0700); - return 0; -} - - - -static char * -detached_fname(globals) - struct arglist * globals; -{ - char * dir = detached_dirname(globals); - char * ret; - - detached_mkdir(dir); - ret = emalloc(strlen(dir) + 40); - sprintf(ret, "%s/%d", dir, getpid()); - efree(&dir); - return ret; -} - -int -detached_new_session(globals, target) - struct arglist * globals; - char * target; -{ - char * fname = detached_fname(globals); - int f = open(fname, O_CREAT|O_WRONLY|O_TRUNC, S_IRUSR|S_IWUSR); - if(f >= 0) - { - write(f, target, strlen(target)); - fsync(f); - if (fchmod(f, S_IRUSR|S_IWUSR) != 0) - perror("fchmod() error on tmp file"); - close(f); - efree(&fname); - return getpid(); - } - else log_write("user %s : could not create %s - %s\n", - (char*)arg_get_value(globals, "user"), - fname, - strerror(errno)); - efree(&fname); - return -1; -} - - -int -detached_send_sessions(globals) - struct arglist * globals; -{ - char * dir = detached_dirname(globals); - DIR * d = opendir(dir); - struct dirent * dp; - - - if(!d) - { - efree(&dir); - return 0; - } - while(( dp = readdir(d) )) - { - char * name = dp->d_name; - char * full; - int pid = atoi(name); - if(pid) - { - if(!process_alive(pid)) - { - log_write("user %s : session %d is dead - removing its lock", - (char*)arg_get_value(globals, "user"), - pid); - detached_delete_session(globals, pid); - } - else - { - int f; - full = emalloc(strlen(dir) + strlen(name) + 20); - sprintf(full, "%s/%s", dir, name); - f = open(full, O_RDONLY); - if( f >= 0 ) - { - char buf[2048]; - read(f, buf, sizeof(buf) - 1); - auth_printf(globals, "%s %s\n", name, buf); - close(f); - } - efree(&full); - } - } - } - closedir(d); - efree(&dir); - return 0; -} - - - -int -detached_delete_session(globals, index) - struct arglist * globals; - int index; -{ - char * dir = detached_dirname(globals); - char * file = emalloc(strlen(dir) + 30); - int f; - sprintf(file, "%s/%d", dir, index); - efree(&dir); - if(( f = open(file, O_RDONLY) ) >= 0) - { - close(f); - if(index != getpid()) - kill(index, SIGTERM); - unlink(file); - } - efree(&file); - return 0; -} - -int -detached_end_session(globals) - struct arglist * globals; -{ - return detached_delete_session(globals, getpid()); -} - -#endif /* enable save kb */ Deleted: trunk/openvas-server/openvasd/detached.h =================================================================== --- trunk/openvas-server/openvasd/detached.h 2008-08-08 10:37:14 UTC (rev 1117) +++ trunk/openvas-server/openvasd/detached.h 2008-08-08 12:57:38 UTC (rev 1118) @@ -1,46 +0,0 @@ -/* OpenVAS -* $Id $ -* Description: detached.c header. -* -* Authors: - Renaud Deraison <deraison at nessus.org> (Original pre-fork develoment) -* - Tim Brown <mailto:timb at openvas.org> (Initial fork) -* - Laban Mwangi <mailto:labanm at openvas.org> (Renaming work) -* - Tarik El-Yassem <mailto:tarik at openvas.org> (Headers section) -* -* Copyright: -* Portions Copyright (C) 2006 Software in the Public Interest, Inc. -* Based on work Copyright (C) 1998 - 2006 Tenable Network Security, Inc. -* -* This program is free software; you can redistribute it and/or modify -* it under the terms of the GNU General Public License version 2, -* as published by the Free Software Foundation -* -* This program is distributed in the hope that it will be useful, -* but WITHOUT ANY WARRANTY; without even the implied warranty of -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -* GNU General Public License for more details. -* -* You should have received a copy of the GNU General Public License -* along with this program; if not, write to the Free Software -* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -* -* -*/ - - -#ifndef NESSUSD_DETACHED_H__ -#define NESSUSD_DETACHED_H__ - -#ifdef ENABLE_SAVE_KB -int detached_setup_mail_file(struct arglist*, char*); -void detached_copy_data(struct arglist*, char*, int); -void detached_send_email(struct arglist*); - - -int detached_new_session(struct arglist *, char *); -int detached_end_session(struct arglist *); -int detached_delete_session(struct arglist *, int); - -int detached_send_sessions(struct arglist *); -#endif -#endif Modified: trunk/openvas-server/openvasd/hosts.c =================================================================== --- trunk/openvas-server/openvasd/hosts.c 2008-08-08 10:37:14 UTC (rev 1117) +++ trunk/openvas-server/openvasd/hosts.c 2008-08-08 12:57:38 UTC (rev 1118) @@ -32,7 +32,6 @@ #include "utils.h" #include "log.h" #include "preferences.h" -#include "detached.h" #include "save_kb.h" #include "save_tests.h" #include "hosts.h" @@ -97,9 +96,6 @@ if(preferences != NULL) { - if(preferences_detached_scan(preferences) != 0) - detached_copy_data(globals, estrdup(buf), len); - if(preferences_save_session(preferences) != 0) save_tests_write_data(globals, estrdup(buf)); } Modified: trunk/openvas-server/openvasd/ntp_11.c =================================================================== --- trunk/openvas-server/openvasd/ntp_11.c 2008-08-08 10:37:14 UTC (rev 1117) +++ trunk/openvas-server/openvasd/ntp_11.c 2008-08-08 12:57:38 UTC (rev 1118) @@ -41,7 +41,6 @@ #include "users.h" #include "utils.h" #include "save_tests.h" -#include "detached.h" #include "preferences.h" #include "hosts.h" @@ -67,9 +66,6 @@ static int ntp_11_list_sessions(struct arglist*); static int ntp_11_delete_session(struct arglist*, char*); static int ntp_11_restore_session(struct arglist*, char*); - -static int ntp_11_list_detached_sessions(struct arglist *, char *); -static int ntp_11_stop_detached_session(struct arglist*, char*); #endif /* * Parses the input sent by the client before @@ -120,12 +116,8 @@ efree(&orig); return n; } - - if(!strcmp(input, "STOP_DETACHED")) { - ntp_11_stop_detached_session(globals, orig); - efree(&orig); - return 1; - } +#endif + if(!strcmp(input, "OPENVAS_VERSION")) { auth_printf(globals, "SERVER <|> OPENVAS_VERSION <|> %s <|> SERVER\n", OPENVAS_VERSION); return 1; @@ -145,12 +137,7 @@ plugin_send_infos(globals, atoi(s)); return 1; } - if(!strcmp(input, "DETACHED_SESSIONS_LIST")) { - ntp_11_list_detached_sessions(globals, orig); - efree(&orig); - return 1; - } -#endif + if(!strcmp(input, "LONG_ATTACK")){ int code = ntp_11_long_attack(globals, orig); efree(&orig); @@ -623,77 +610,7 @@ } - static int -extract_detached_session_key_from_session_msg(globals, orig) - struct arglist * globals; - char * orig; -{ - char * t; - int i, len; - - t = strrchr(orig, '<'); - if(!t)return -1; - t[0] = 0; - - t = strrchr(orig, '>'); - if(!t)return -1; - - t++; - while(t[0]==' ')t++; - len = strlen(t); - while(t[len-1]==' ') - { - t[len-1]=0; - len --; - } - /* - * Sanity check. All detached sessions name are under the form - * of a pid. - */ - for(i=0;i<len;i++) - if(!isdigit(t[i])){ - log_write("user %s : supplied an incorrect detached session name (%s)", - (char*)arg_get_value(globals, "user"), - t); - return -1; - } - return atoi(t); -} - - - -static int -ntp_11_stop_detached_session(globals, orig) - struct arglist * globals; - char * orig; -{ - int session = 0; - int ret; - - session = extract_detached_session_key_from_session_msg(globals, orig); - if(session < 0)return -1; - log_write("user %s : stopping session %d", - (char*)arg_get_value(globals, "user"), - session); - - ret = detached_delete_session(globals, session); - return 0; -} - -static int -ntp_11_list_detached_sessions(globals, orig) - struct arglist * globals; - char * orig; -{ - auth_printf(globals, "SERVER <|> DETACHED_SESSIONS_LIST\n"); - detached_send_sessions(globals); - auth_printf(globals, "<|> SERVER\n"); - return 0; -} - - -static int ntp_11_delete_session(globals, orig) struct arglist * globals; char * orig; Modified: trunk/openvas-server/openvasd/preferences.c =================================================================== --- trunk/openvas-server/openvasd/preferences.c 2008-08-08 10:37:14 UTC (rev 1117) +++ trunk/openvas-server/openvasd/preferences.c 2008-08-08 12:57:38 UTC (rev 1118) @@ -658,61 +658,6 @@ } int -preferences_detached_scan(preferences) - struct arglist * preferences; -{ - static int yes = -1; - char * pref; - - if(!preferences) - { - yes = -1; - return -1; - } - - - if(yes >= 0) - return yes; - - - pref = arg_get_value(preferences, "detached_scan"); - if(pref && !strcmp(pref, "yes")) - yes = 1; - else - yes = 0; - - return yes; -} - - -int -preferences_continuous_scan(preferences) - struct arglist * preferences; -{ - static int yes = -1; - char * pref; - - if(!preferences) - { - yes = -1; - return -1; - } - - - if(yes >= 0) - return yes; - - pref = arg_get_value(preferences, "continuous_scan"); - if(pref && !strcmp(pref, "yes")) - yes = 1; - else - yes = 0; - - return yes; -} - - -int preferences_report_killed_plugins(preferences) struct arglist * preferences; { @@ -739,53 +684,6 @@ } int -preferences_delay_between_scans(preferences) - struct arglist * preferences; -{ - static int delay = -1; - char * pref; - - if(!preferences) - { - delay = -1; - return -1; - } - - - if(delay >= 0) - return delay; - - pref = arg_get_value(preferences, "delay_between_scan_loops"); - if(pref) - { - if(atoi(pref)){ - delay = atoi(pref); - return delay; - } - else - if(!strcmp(pref, "0")){ - delay = 0; - return delay; - } - } - delay = 3600; - return delay; -} - -char * -preferences_detached_scan_email(preferences) - struct arglist * preferences; -{ - char * pref = arg_get_value(preferences, "detached_scan_email_address"); - - if(pref && pref[0] != '\0' && strcmp(pref, "no")) - return pref; - else - return NULL; -} - - -int preferences_silent_dependencies(preferences) struct arglist * preferences; { @@ -844,9 +742,5 @@ preferences_use_mac_addr(NULL); preferences_save_session(NULL); preferences_save_empty_sessions(NULL); - preferences_continuous_scan(NULL); - preferences_delay_between_scans(NULL); - preferences_detached_scan(NULL); - preferences_detached_scan_email(NULL); preferences_silent_dependencies(NULL); } Modified: trunk/openvas-server/openvasd/preferences.h =================================================================== --- trunk/openvas-server/openvasd/preferences.h 2008-08-08 10:37:14 UTC (rev 1117) +++ trunk/openvas-server/openvasd/preferences.h 2008-08-08 12:57:38 UTC (rev 1118) @@ -57,10 +57,7 @@ #endif #ifdef ENABLE_SAVE_KB -int preferences_continuous_scan(struct arglist *); int preferences_delay_between_scans(struct arglist *); -int preferences_detached_scan(struct arglist *); -char * preferences_detached_scan_email(struct arglist *); #endif void preferences_reset_cache(); Modified: trunk/openvas-server/openvasd/utils.c =================================================================== --- trunk/openvas-server/openvasd/utils.c 2008-08-08 10:37:14 UTC (rev 1117) +++ trunk/openvas-server/openvasd/utils.c 2008-08-08 12:57:38 UTC (rev 1118) @@ -35,7 +35,6 @@ #include "ntp_11.h" #include "utils.h" #include "preferences.h" -#include "detached.h" #include "save_tests.h" #include "pluginscheduler.h" From scm-commit at wald.intevation.org Fri Aug 8 14:59:49 2008 From: scm-commit at wald.intevation.org (scm-commit@wald.intevation.org) Date: Fri, 8 Aug 2008 14:59:49 +0200 (CEST) Subject: [Openvas-commits] r1119 - trunk/doc/website Message-ID: <20080808125949.DA3F1406FB@pyrosoma.intevation.org> Author: jan Date: 2008-08-08 14:59:49 +0200 (Fri, 08 Aug 2008) New Revision: 1119 Modified: trunk/doc/website/openvas-cr-15.htm4 Log: Updated status. Modified: trunk/doc/website/openvas-cr-15.htm4 =================================================================== --- trunk/doc/website/openvas-cr-15.htm4 2008-08-08 12:57:38 UTC (rev 1118) +++ trunk/doc/website/openvas-cr-15.htm4 2008-08-08 12:59:49 UTC (rev 1119) @@ -28,7 +28,7 @@ PAGE_START <h2>OpenVAS Change Request #15: OpenVAS Server: Remove features for detached scans</h2> -Status: Voted +4. +Status: Voted +4. Implemented with SVN 1118 in openvas-server 1.1 series. Needs testing. <h3>Purpose</h3> @@ -122,6 +122,8 @@ <h3>History</h3> <ul> +<li> 2008-08-08 Jan-Oliver Wagner <jan-oliver.wagner at intevation.de>:<br> + Updated status: implemented. <li> 2008-07-10 Jan-Oliver Wagner <jan-oliver.wagner at intevation.de>:<br> Added voting result. <li> 2008-07-03 Jan-Oliver Wagner <jan-oliver.wagner at intevation.de>:<br> From scm-commit at wald.intevation.org Fri Aug 8 15:05:41 2008 From: scm-commit at wald.intevation.org (scm-commit@wald.intevation.org) Date: Fri, 8 Aug 2008 15:05:41 +0200 (CEST) Subject: [Openvas-commits] r1120 - in trunk/openvas-client: . nessus Message-ID: <20080808130541.3081A406FB@pyrosoma.intevation.org> Author: jan Date: 2008-08-08 15:05:40 +0200 (Fri, 08 Aug 2008) New Revision: 1120 Removed: trunk/openvas-client/nessus/nmake.bat trunk/openvas-client/nessus/nmake.w32 Modified: trunk/openvas-client/ChangeLog trunk/openvas-client/MANIFEST Log: * nessus/nmake.w32, nessus/nmake.bat: Removed. These are desperately outdated. * MANIFEST: Updated. Modified: trunk/openvas-client/ChangeLog =================================================================== --- trunk/openvas-client/ChangeLog 2008-08-08 12:59:49 UTC (rev 1119) +++ trunk/openvas-client/ChangeLog 2008-08-08 13:05:40 UTC (rev 1120) @@ -1,5 +1,12 @@ 2008-08-08 Jan-Oliver Wagner <jan-oliver.wagner at intevation.de> + * nessus/nmake.w32, nessus/nmake.bat: Removed. These are + desperately outdated. + + * MANIFEST: Updated. + +2008-08-08 Jan-Oliver Wagner <jan-oliver.wagner at intevation.de> + * VERSION: Set to 1.1.0.SVN to reflect that the 1.0 development has been branched and the development here lead to a next major release. Modified: trunk/openvas-client/MANIFEST =================================================================== --- trunk/openvas-client/MANIFEST 2008-08-08 12:59:49 UTC (rev 1119) +++ trunk/openvas-client/MANIFEST 2008-08-08 13:05:40 UTC (rev 1120) @@ -84,8 +84,6 @@ nessus/nessus_plugin.c nessus/nessus_plugin.h nessus/nessus_regex.h -nessus/nmake.bat -nessus/nmake.w32 nessus/OBJ/.createdir nessus/OpenVAS-Client.desktop nessus/parser.c Deleted: trunk/openvas-client/nessus/nmake.bat =================================================================== --- trunk/openvas-client/nessus/nmake.bat 2008-08-08 12:59:49 UTC (rev 1119) +++ trunk/openvas-client/nessus/nmake.bat 2008-08-08 13:05:40 UTC (rev 1120) @@ -1,2 +0,0 @@ -nmake.exe /nologo /f nmake.w32 %1 %2 %3 %4 %5 %6 %7 %8 %9 - Deleted: trunk/openvas-client/nessus/nmake.w32 =================================================================== --- trunk/openvas-client/nessus/nmake.w32 2008-08-08 12:59:49 UTC (rev 1119) +++ trunk/openvas-client/nessus/nmake.w32 2008-08-08 13:05:40 UTC (rev 1120) @@ -1,131 +0,0 @@ -#!nmake /f -# -# Makefile for the Microsoft compiler/linker -# creates the nessus client -# - - -# most certailny, you need to adjust the following -# parameter to the root of your gtk stuff -GTKROOT = C:\Nessus\Src - - -!include <ntwin32.mak> - -INSTALL_TARGET = C:\Nessus -PRFS = prefs_dialog -CHRT = gdchart0.94b -CHLB = $(CHRT)\gd1.3 - -LCLINC = -I. -I$(PRFS) -I$(CHRT) -I$(CHLB) -I..\include -NESINC = -I$(INSTALL_TARGET)\include \ - -I$(INSTALL_TARGET)\include\nessus -GTKINC = -I$(GTKROOT)\gtk+ \ - -I$(GTKROOT)\gtk+/gtk \ - -I$(GTKROOT)\gtk+/gdk \ - -I$(GTKROOT)\gtk+\gdk\win32 -GLBINC = -I$(GTKROOT)\glib \ - -I$(GTKROOT)\glib\win32 - -CC = cl.exe -DEFS = $(NESINC) $(GTKINC) $(GLBINC) -CFLAGS = -nologo -Ox $(LCLINC) $(DEFS) $(EXFLAGS) - - - -LIBS = nessus.lib peks.lib mpz.lib zlib.lib \ - gtk-1.3.lib gdk-1.3.lib peks.lib \ - glib-1.3.lib wsock32.lib -LIBPATH = /libpath:$(GTKROOT)\glib \ - /libpath:$(GTKROOT)\gtk+\gdk \ - /libpath:$(GTKROOT)\gtk+\gdk\win32 \ - /libpath:$(GTKROOT)\gtk+\gtk \ - /libpath:$(INSTALL_TARGET)\lib -LDFLAGS = -nologo -map -out:nessus.exe \ - -machine:I386 -subsystem:WINDOWS -LD = link.exe - - - -OBJ = attack.obj auth.obj \ - comm.obj error_dialog.obj \ - families.obj monitor_dialog.obj \ - nessus.obj parser.obj \ - password_dialog.obj plugin_infos.obj \ - preferences.obj read_target_file.obj \ - report.obj latex_output.obj \ - sighand.obj xstuff.obj \ - report_utils.obj html_output.obj \ - text_output.obj \ - splash_screen.obj html_graph_output.obj \ - cli.obj xml_output.obj \ - detached_index.obj - -XOBJ = prefs_about.obj \ - prefs_dialog.obj \ - prefs_dialog_auth.obj \ - prefs_dialog_misc.obj \ - prefs_dialog_plugins_prefs.obj \ - prefs_dialog_scan_opt.obj \ - prefs_dialog_user.obj \ - prefs_plugins.obj \ - prefs_kb.obj \ - prefs_target.obj - - -YOBJ = gdc.obj price_conv.obj gdc_pie.obj \ - gdchart.obj gd.obj gdfontt.obj \ - gdfonts.obj gdfontmb.obj gdfontl.obj \ - gdfontg.obj - -# ------------------------------------------------------ -# default rules -# ------------------------------------------------------ - -all: nessus.exe - -.c.obj: - $(CC) $(cvarsdll) $(CFLAGS) -c -Fo$*.obj $< - -{$(PRFS)\}.c.obj:: - $(CC) $(cvarsdll) $(CFLAGS) -c $< - -{$(CHRT)\}.c.obj:: - $(CC) $(cvarsdll) $(CFLAGS) -c $< - -{$(CHLB)\}.c.obj:: - $(CC) $(cvarsdll) $(CFLAGS) -c $< - -# ------------------------------------------------------ -# install peks stuff -# ------------------------------------------------------ - -install: - - -# ------------------------------------------------------ -# built the binary -# ------------------------------------------------------ - -nessus.exe: $(OBJ) $(XOBJ) $(YOBJ) - $(LD) @<< - $(LIBPATH) - $(LDFLAGS) - $(OBJ) - $(XOBJ) - $(YOBJ) - $(LIBS) -<< - -# ------------------------------------------------------ -# clean up -# ------------------------------------------------------ - -distclean clean:: - -del nessus.map - -del nessus.exp - -del *.obj - -distclean:: - -del nessus.exe - From scm-commit at wald.intevation.org Fri Aug 8 15:30:01 2008 From: scm-commit at wald.intevation.org (scm-commit@wald.intevation.org) Date: Fri, 8 Aug 2008 15:30:01 +0200 (CEST) Subject: [Openvas-commits] r1121 - trunk/doc/website Message-ID: <20080808133001.5368A406FB@pyrosoma.intevation.org> Author: jan Date: 2008-08-08 15:30:01 +0200 (Fri, 08 Aug 2008) New Revision: 1121 Modified: trunk/doc/website/openvas-cr-15.htm4 Log: Updated description: Mentioning continous scans and reducing the list of dropped protocol elements to the ones that directly relate to the detached scan feature. Modified: trunk/doc/website/openvas-cr-15.htm4 =================================================================== --- trunk/doc/website/openvas-cr-15.htm4 2008-08-08 13:05:40 UTC (rev 1120) +++ trunk/doc/website/openvas-cr-15.htm4 2008-08-08 13:30:01 UTC (rev 1121) @@ -87,6 +87,10 @@ </p> <p> +The OpenVAS server itself will not allow for continous scans anymore. +</p> + +<p> The command line version of OpenVAS-Client will not anymore offer the respective commands line option for detached scans. </p> @@ -100,10 +104,8 @@ <p> This change would be integrated into the upcoming OTP 1.0 protocol and -remove the commands SESSIONS_LIST, SESSION_DELETE, SESSION_RESTORE, -DETACHED_SESSIONS_LIST, DETACHED_STOP and the preferences -ntp_save_sessions, save_session, -save_empty_sessions, detached_scan, continuous_scan, delay_between_scan_loops, +remove the commands DETACHED_SESSIONS_LIST and DETACHED_STOP and the preferences +detached_scan, continuous_scan, delay_between_scan_loops, and detached_scan_email_address. </p> @@ -123,7 +125,10 @@ <ul> <li> 2008-08-08 Jan-Oliver Wagner <jan-oliver.wagner at intevation.de>:<br> - Updated status: implemented. + Updated status: implemented.<br> + Updated description: Mentioning continous scans and reducing the list of + dropped protocol elements to the ones that directly relate to the + detached scan feature. <li> 2008-07-10 Jan-Oliver Wagner <jan-oliver.wagner at intevation.de>:<br> Added voting result. <li> 2008-07-03 Jan-Oliver Wagner <jan-oliver.wagner at intevation.de>:<br> From scm-commit at wald.intevation.org Fri Aug 8 15:54:53 2008 From: scm-commit at wald.intevation.org (scm-commit@wald.intevation.org) Date: Fri, 8 Aug 2008 15:54:53 +0200 (CEST) Subject: [Openvas-commits] r1122 - trunk/doc/website Message-ID: <20080808135453.669C840700@pyrosoma.intevation.org> Author: jan Date: 2008-08-08 15:54:53 +0200 (Fri, 08 Aug 2008) New Revision: 1122 Modified: trunk/doc/website/openvas-cr-13.htm4 Log: Add item on how to handle the .oval files. Modified: trunk/doc/website/openvas-cr-13.htm4 =================================================================== --- trunk/doc/website/openvas-cr-13.htm4 2008-08-08 13:30:01 UTC (rev 1121) +++ trunk/doc/website/openvas-cr-13.htm4 2008-08-08 13:54:53 UTC (rev 1122) @@ -357,6 +357,11 @@ <li> ovaldi: src/Main.cpp: Change report driver code to serve the needs of OpenVAS. <li> ovaldi: Extend with a OpenVAS-KB probe factory +<li> Handling of .oval files: Location should be inside directory "oval" + which is located in /usr/lib/openvas/plugins/. + This would also allow for easy extension of OpenVAS NVT feed/sync. + However, the .oval files should not be handled inside the OpenVAS SVN + repository because the management takes place at the OVAL project. </ul> <h3>History</h3> From scm-commit at wald.intevation.org Sat Aug 9 00:58:25 2008 From: scm-commit at wald.intevation.org (scm-commit@wald.intevation.org) Date: Sat, 9 Aug 2008 00:58:25 +0200 (CEST) Subject: [Openvas-commits] r1123 - in trunk/openvas-server: . doc/ntp doc/otp openvasd Message-ID: <20080808225825.8633540708@pyrosoma.intevation.org> Author: jan Date: 2008-08-09 00:58:24 +0200 (Sat, 09 Aug 2008) New Revision: 1123 Modified: trunk/openvas-server/ChangeLog trunk/openvas-server/doc/ntp/ntp_extensions.txt trunk/openvas-server/doc/ntp/ntp_white_paper.txt trunk/openvas-server/doc/otp/otp_specification_10.txt trunk/openvas-server/openvasd/comm.c Log: Started clean documentation of OTP. * doc/otp/otp_specification_10.txt: Extended with various protocol command documentation. * doc/ntp/ntp_extensions.txt, doc/ntp/ntp_white_paper.txt: Removed those elements which are documented cleanly in otp_specification_10.txt * openvasd/comm.c (plugin_send_infos): Added comment hinting at a potential bug. Modified: trunk/openvas-server/ChangeLog =================================================================== --- trunk/openvas-server/ChangeLog 2008-08-08 13:54:53 UTC (rev 1122) +++ trunk/openvas-server/ChangeLog 2008-08-08 22:58:24 UTC (rev 1123) @@ -1,5 +1,19 @@ 2008-08-08 Jan-Oliver Wagner <jan-oliver.wagner at intevation.de> + Started clean documentation of OTP. + + * doc/otp/otp_specification_10.txt: Extended with various + protocol command documentation. + + * doc/ntp/ntp_extensions.txt, doc/ntp/ntp_white_paper.txt: + Removed those elements which are documented cleanly + in otp_specification_10.txt + + * openvasd/comm.c (plugin_send_infos): Added comment + hinting at a potential bug. + +2008-08-08 Jan-Oliver Wagner <jan-oliver.wagner at intevation.de> + Patch for Change Request #15: http://www.openvas.org/openvas-cr-15.html (OpenVAS Server: Remove features for detached scans) Modified: trunk/openvas-server/doc/ntp/ntp_extensions.txt =================================================================== --- trunk/openvas-server/doc/ntp/ntp_extensions.txt 2008-08-08 13:54:53 UTC (rev 1122) +++ trunk/openvas-server/doc/ntp/ntp_extensions.txt 2008-08-08 22:58:24 UTC (rev 1123) @@ -1,4 +1,12 @@ +ATTENTION: + Currently the specification document for OTP 1.0 + is established. Any feature clearified and added to + ../otp/otp_specification_10.txt is removed here. + The new specification for OTP is finished once the ntp + documentation files are empty. + + Nessus Transfer Protocol Extensions @@ -189,40 +197,6 @@ timeout.10246 = 12 timeout.10542 = -1 - - -7. Attached files : the message ATTACHED_FILE ----------------------------------------------- - -ATTACHED_FILE is a message that comes after the -PREFERENCES message. Its purpose is to allow the -client to upload a file to the server, which will -be used by plugins. A usage of this would be to -upload a SSL certificate to the server so that -security checks can be done over SSL. - - -The message syntax is : - -CLIENT <|> ATTACHED_FILE -name: <name> -content: octet/stream -bytes: %d -(file) - -With '%d' being the number of bytes to read and 'content' should, -in the future (and if requested by users) be mime-compliant. -Today, this field is ignored and all files are treated -as octet/stream (sent without any conversion). - -<name> is the name of the file. openvasd will re-assign -a new name (to prevent clients from uploading, say, /etc/passwd). - -This message should be used with the plugin preference 'file'. -Read plugins_prefs.txt for details. - - - 8. Alternative protocol negociation ----------------------------------- @@ -235,11 +209,8 @@ The current options are : . md5_caching [NOT IMPLEMENTED] -. plugins_version -. timestamps - 9. md5 caching ------------------------------------ @@ -283,108 +254,3 @@ . . <|> SERVER - - -11. Per plugin message -------------------------------------------------------------------------------- - -The message PLUGIN_INFO returns the information about one specific plugin. -It's defined as : - - CLIENT <|> PLUGIN_INFO <|> id <|> CLIENT - -With <id> being the ID of the plugin from which we want information about. -In return, the server returns : - -id <|> name <|> category <|> copyright <|> description <|> summry <|> family - -(as in the PLUGIN_LIST message) - -12. plugins_version ----------------------------------------------------------------------------- - -If the client gives the option "plugins_version" at connection time -(as defined in §8) then the PLUGIN_INFO message changes from : -id <|> name <|> category <|> copyright <|> description <|> summry <|> family - -to - -id <|> name <|> category <|> copyright <|> description <|> summry <|> family <|> plugin_version - - -With plugin_version being the revision tag of the current plugin - - -12. plugins_cve_id ----------------------------------------------------------------------------- - -If the client sends the option "plugins_cve_id" at connection time -(as defined in §8) then the PLUGIN_INFO message has the plugins CVE ID -appended to it. Note that plugins_version takes precedence on this, so -if the client sends plugins_version AND plugins_cve_id, then the PLUGIN_INFO -message becomes : - - -id <|> name <|> category <|> copyright <|> description <|> summry <|> family <|> plugin_version <|> cve_id - -If just the option plugins_cve_id is set, then the PLUGIN_INFO message -becomes: - -id <|> name <|> category <|> copyright <|> description <|> summry <|> family <|> cve_id - -13. plugins_bugtraq_id ----------------------------------------------------------------------------- - -If the client sends the option "plugins_bugtraq_id" at connection time -(as defined in §8) then the PLUGIN_INFO message has the plugins Bugtraq ID -appended to it. Note that plugins_version takes precedence on this, and -the client needs to ALSO have set plugins_cve_id. -So if the client sends plugins_version AND plugins_bugtraq_id, -it MUST send plugins_cve_id and then the PLUGIN_INFO -message becomes : - - -id <|> name <|> category <|> copyright <|> description <|> summry <|> family <|> plugin_version <|> cve_id <|> bugtraq_id - -If just the option plugins_cve_id is set, then the PLUGIN_INFO message -becomes: - -id <|> name <|> category <|> copyright <|> description <|> summry <|> family <|> cve_id <|> bugtraq_id - - - - -14. timestamps ------------------------------------------------------------------------------- - -If the option 'timestamps' is enabled by the client at connection time, -(as defined in §8) then the server will send the message : - -SERVER <|> TIME <|> SCAN_START <|> (time of day) <|> SERVER -SERVER <|> TIME <|> SCAN_END <|> (time of day) <|> SERVER - -When the whole scan starts and ends. - -and : -SERVER <|> TIME <|> HOST_START <|> host <|> (time of day) <|> SERVER -SERVER <|> TIME <|> HOST_END <|> host <|> (time of day) <|> SERVER - -To send the timestamps of the time of the scan of each host. - - - -15. Plugins dependencies -------------------------------------------------------------------------------- - -If the option 'dependencies' is enabled by the client at connection time -(as defined in §8) then the server will send the message PLUGIN_DEPENDENCIES -after the RULES message. - -The format is : - -SERVER <|> PLUGINS_DEPENDENCIES -pluginame1 <|> dependencie1 <|> dependencie2 <|> ...... <|> -pluginame2 <|> dependencie1 <|> dependencie2 <|> ...... <|> -<|> SERVER - - Modified: trunk/openvas-server/doc/ntp/ntp_white_paper.txt =================================================================== --- trunk/openvas-server/doc/ntp/ntp_white_paper.txt 2008-08-08 13:54:53 UTC (rev 1122) +++ trunk/openvas-server/doc/ntp/ntp_white_paper.txt 2008-08-08 22:58:24 UTC (rev 1123) @@ -1,4 +1,10 @@ +ATTENTION: + Currently the specification document for OTP 1.0 + is established. Any feature clearified and added to + ../otp/otp_specification_10.txt is removed here. + The new specification for OTP is finished once the ntp + documentation files are empty. Nessus Transfer Protocol White Paper version 1.0 @@ -39,14 +45,9 @@ The Nessus Transfer Protocol currently recognizes the following messages types : ERROR - HOLE - INFO PORT NEW_ATTACK - PLUGIN_LIST - STAT - STOP_ATTACK - + 31. The "ERROR" type A NTP message declared as "ERROR" contains the description of an error that @@ -58,22 +59,6 @@ If the error is important, the server will send a 'BYE BYE' message (see the end of the document) - 32. The "HOLE" and "INFO" type - - A NTP message declared as "HOLE" contains the description of a security hole - that has been found on a given host. The message contains the name of the - host as well as the port on which the hole was discovered. - The syntax for this type is : - - entity <|> HOLE <|> hostname <|> port:hole description <|> entity - - Because a hole description is very likely to contain a line feed, - before being sent every '\n' character must be replaced by ';'. - The client will have, then, to do the reverse conversion (';' -> '\n') - - When the message is of type 'INFO', this is the same as the "HOLE" type - except the fact that the description is just a warning. - 33. The "PORT" type A NTP message declared as "PORT" reports that a given port is open @@ -107,39 +92,7 @@ recursive : should the hostloop system be used against _every_ host ? (0:no) portrange : range of ports to scan (default : "1-8000") - - 35. The "PLUGIN_LIST" type - - A NTP message of type "PLUGIN_LIST" tells to the client the name, the id and the - copyright of the plugins that are installed on the server. - This list *does* contain lines feed. - - The syntax is : - SERVER <|> PLUGIN_LIST <|> - id <|> name <|> category <|> copyright <|> description <|> summary <|> family - id <|> name <|> category <|> copyright <|> description <|> summary <|> family - ... - <|> SERVER - - 36. The "STAT" type - - A NTP message of type STAT tells the client the current status of the portscanning - of a given host - Syntax : - - SERVER <|> STAT <|> hostname <|> port <|> SERVER - - This message is sent every 100 ports - - 37. The "STOP_ATTACK" type - - A NTP message of type STOP_ATTACK tells the daemon to stop the test of a given - host. - Syntax : - - CLIENT <|> STOP_ATTACK <|> hostname <|> CLIENT - - + 4. A typical NTP session A typical NTP session has a real simple scheme : @@ -171,14 +124,3 @@ EOF - - - - - - - - - - - Modified: trunk/openvas-server/doc/otp/otp_specification_10.txt =================================================================== --- trunk/openvas-server/doc/otp/otp_specification_10.txt 2008-08-08 13:54:53 UTC (rev 1122) +++ trunk/openvas-server/doc/otp/otp_specification_10.txt 2008-08-08 22:58:24 UTC (rev 1123) @@ -1,19 +1,20 @@ OpenVAS Transport Protocol Specification 1.0 - + Authors: Michael Wiegand <michael.wiegand at intevation.de> - + Jan-Oliver Wagner <jan-oliver.wagner at intevation.de> + PURPOSE This document describes OTP, the protocol used for communication between the server and client modules of the Open Vulnerability Assessment System (OpenVAS). - + STATUS This document is currently a draft; it does not describe the complete protocol yet, but only the changes between the Nessus Transport Protocol, version 1.2 and the OpenVAS Transport Protocol, version 1.0. For more information on NTP please refer to the NTP specification for the time being. - + INTRODUCTION The OpenVAS project is a fork of the Nessus project. Because of this, the initial protocol used for client-server communication was the Nessus @@ -24,45 +25,257 @@ made to switch to a new protocol to avoid collisions with future protocol specifications by the Nessus project and to avoid confusion with other well-established protocols. - + GENERAL CONSIDERATIONS The initial specification of the OpenVAS Transport Protocol (OTP) is very close to the NTP implementation in the last versions available under the GNU General Public License (GPL). The changes between NTP 1.2 -- the last NTP version used by OpenVAS -- and OTP 1.0 are explained in the CHANGES section below. - + CHANGES This section describes the changes between NTP 1.2 and OTP 1.0. - + Plug-in upload: Section 10 of the NTP Extensions describes the ATTACHED_PLUGIN message type. Using this message type, it was possible for a client to upload a plug-in to a server. Due to security considerations described in the OpenVAS change request #4 [1], this message type has been removed from the protocol. - + Version information: The undocumented NESSUS_VERSION message type has been replaced with the OPENVAS_VERSION message type. When an OPENVAS_VERSION message is issued by the client, the server is expected to respond with a message containing the current server version. - + New message types: In addition to the existing message types HOLE, INFO and NOTE two new message types have been added to the protocol: DEBUG and LOG. Their purpose is to give clients more control about the verbosity of the messages they receive from the server. - - Session handling: - Experimental support for handling server-side sessions and detached scans as - described in sections 3 and 5 of the NTP Extensions has been removed from OTP - as the functionality concerned has been removed from OpenVAS-Server due to - design decisions. This means the following message types have been removed - from the protocol: SESSIONS_LIST, SESSION_DELETE, SESSION_RESTORE, - DETACHED_SESSIONS_LIST, DETACHED_STOP. The following preferences have been - removed from the protocol as well: ntp_save_sessions, save_session, - save_empty_sessions, detached_scan, continuous_scan, delay_between_scan_loops, - detached_scan_email_address. - + + +PROTOCOL INITIALIZER AND PROTOCOL FEATURES + + Description: + + The client start the protocol with a initializer of + the protocol version followed by parameters switching + on various features. Available protocol features are: + + dependencies (server will use command PLUGINS_DEPENDENCIES) + timestamps (server will use command TIME) + plugins_version (server will add revision to plugin information) + plugins_cve_id (server will add cve id to plugin information) + plugins_bugtraq_id (server will add bugtraq id to plugin information) + + Syntax: + + < OTP/1.0 >< protocol_feature1 protocol_feature2 ... > + +PROTOCOL COMMANDS + + ATTACHED_FILE + + Description: + + This command corresponds to the plugin preferences + type "file". It follows the command PREFERENCES + to upload the specified files from client to server. + + Syntax: + + CLIENT <|> ATTACHED_FILE + name: file_name + content: octet/stream + bytes: file_length + file_content + + where + file_name: the path and name of the file. + It is a identifier to reference the file + in the plugin preferences. + file_length: the number of bytes that will follow after the newline + file_content: the actual file as byte stream. + + HOLE + + Description: + + With this command the server reports a identified + problem of class "security hole". + + Syntax: + + SERVER <|> HOLE <|> host <|> service_name (port_number/protocol_type) <|> description <|> oid <|> SERVER + + where + host: the target system + service_name: the name of the service (like in /etc/services) + port_number: the port number the problem relates to or "general". + protocol_type: "tcp" or "udp". + description: the problem description where newlines have been + replaced by semicolons. + oid: the OID of the NVT that identified the problem. + + INFO + + Description: + + With this command the server reports a identified + problem of class "security info". + + Syntax: + + SERVER <|> INFO <|> host <|> service_name (port_number/protocol_type) <|> description <|> oid <|> SERVER + + where + host: the target system + service_name: the name of the service (like in /etc/services) + port_number: the port number the problem relates to or "general". + protocol_type: "tcp" or "udp". + description: the problem description where newlines have been + replaced by semicolons. + oid: the OID of the NVT that identified the problem. + + NOTE + + Description: + + With this command the server reports a identified + problem of class "security note". + + Syntax: + + SERVER <|> NOTE <|> host <|> service_name (port_number/protocol_type) <|> description <|> oid <|> SERVER + + where + host: the target system + service_name: the name of the service (like in /etc/services) + port_number: the port number the problem relates to or "general". + protocol_type: "tcp" or "udp". + description: the problem description where newlines have been + replaced by semicolons. + oid: the OID of the NVT that identified the problem. + + PLUGINS_DEPENDENCIES + + Description: + + The PLUGINS_DEPENDENCIES messages are send after the RULES messages + in case the protocol feature "dependencies" was set during protocol + initialization. + + Syntax: + + SERVER <|> PLUGINS_DEPENDENCIES + plugin_1_name <|> dependency1 <|> dependency2 <|> ... <|> + plugin_2_name <|> dependency1 <|> dependency2 <|> ... <|> + ... + <|> SERVER + + PLUGIN_INFO + + Description: + + This command is issued by the client to request + information of the NVT specified by its oid. + + Syntax: + + CLIENT <|> PLUGIN_INFO <|> oid <|> CLIENT + + The server answers with this line (analogous to PLUGIN_LIST command): + + oid <|> name <|> category <|> copyright <|> description <|> summary <|> family + + The following extensions are appended in the given order: + + In case protocol feature "plugins_version" is selected, the respective + plugin_version is appended to the line: + + oid <|> name <|> category <|> copyright <|> description <|> summary <|> family <|> plugin_version + + In case protocol feature "plugins_cve_id" is selected, the respective + cve_id is appended to the line, e.g.: + + oid <|> name <|> category <|> copyright <|> description <|> summary <|> family <|> plugin_version <|> cve_id + + In case protocol feature "plugins_bugtraq_id" is selected, the respective + bugtraq_id is appended to the line, e.g.: + + oid <|> name <|> category <|> copyright <|> description <|> summary <|> family <|> plugin_version <|> cve_id <|> bugtraq_id + + In case no plugin with OID=oid is found, the server will not answer at all. + + PLUGIN_LIST + + Description: + + With this command the server sends detailed information about + the available NVTs. + + Syntax: + + SERVER <|> PLUGIN_LIST <|> + oid <|> name <|> category <|> copyright <|> description <|> summary <|> family + oid <|> name <|> category <|> copyright <|> description <|> summary <|> family + ... + <|> SERVER + + Additional information might be apended according to some procotol features. + Please refer to the description of the PLUGIN_INFO command for details. + + STAT + + Description: + + With this command, the server informs the client about + the progress of the port scan for target system "host". + "port" is the currently scanned port number. + The command with an interval of 100 ports. + + Syntax: + + SERVER <|> STAT <|> host <|> port <|> SERVER + + STOP_ATTACK + + Description: + + With this command, the client tells the server to stop + scanning target "host". + + Syntax: + + CLIENT <|> STOP_ATTACK <|> host <|> CLIENT + + TIME + + Description: + + The TIME messages will be send by the server + in case the protocol feature "timestamps" was set during protocol + initialization. + + Syntax: + + After completion of scanning a target host the server sends: + + SERVER <|> TIME <|> HOST_START <|> host <|> time_string <|> SERVER + SERVER <|> TIME <|> HOST_END <|> host <|> time_string <|> SERVER + + or, in case STOP_ATTACK was issued by the client: + + SERVER <|> TIME <|> HOST_START <|> host <|> time_string <|> SERVER + SERVER <|> TIME <|> HOST_INTERRUPTED <|> host <|> time_string <|> SERVER + + After completion of the whole scan the server sends: + + SERVER <|> TIME <|> SCAN_START <|> time_string <|> SERVER + SERVER <|> TIME <|> SCAN_END <|> time_string <|> SERVER + + where time_string is of the form "Wed Jun 30 21:49:08 1993". + REFERENCES [1] http://www.openvas.org/openvas-cr-4.html Modified: trunk/openvas-server/openvasd/comm.c =================================================================== --- trunk/openvas-server/openvasd/comm.c 2008-08-08 13:54:53 UTC (rev 1122) +++ trunk/openvas-server/openvasd/comm.c 2008-08-08 22:58:24 UTC (rev 1123) @@ -345,7 +345,11 @@ } plugins = plugins->next; } - + + /* XXX: This code looks like it will fail for the + * last plugin in the list: info will no be send + * because next ist NULL. + */ if(plugins->next) { send_plug_info(globals, plugins); From scm-commit at wald.intevation.org Sun Aug 10 00:35:12 2008 From: scm-commit at wald.intevation.org (scm-commit@wald.intevation.org) Date: Sun, 10 Aug 2008 00:35:12 +0200 (CEST) Subject: [Openvas-commits] r1124 - in trunk/openvas-server: . doc/ntp doc/otp Message-ID: <20080809223512.74A77406E7@pyrosoma.intevation.org> Author: jan Date: 2008-08-10 00:35:10 +0200 (Sun, 10 Aug 2008) New Revision: 1124 Removed: trunk/openvas-server/doc/ntp/ntp_white_paper.txt Modified: trunk/openvas-server/ChangeLog trunk/openvas-server/MANIFEST trunk/openvas-server/doc/ntp/ntp_white_paper_11.txt trunk/openvas-server/doc/otp/otp_specification_10.txt Log: * doc/ntp/ntp_white_paper.txt: Removed. It does not contain any information not covered by otp_specification_10.txt. * doc/ntp/ntp_white_paper_11.txt: Removed those elements which are documented cleanly in otp_specification_10.txt * doc/otp/otp_specification_10.txt: Extended with various protocol command documentation. * MANIFEST: Updated. Modified: trunk/openvas-server/ChangeLog =================================================================== --- trunk/openvas-server/ChangeLog 2008-08-08 22:58:24 UTC (rev 1123) +++ trunk/openvas-server/ChangeLog 2008-08-09 22:35:10 UTC (rev 1124) @@ -1,3 +1,16 @@ +2008-08-10 Jan-Oliver Wagner <jan-oliver.wagner at intevation.de> + + * doc/ntp/ntp_white_paper.txt: Removed. It does not contain + any information not covered by otp_specification_10.txt. + + * doc/ntp/ntp_white_paper_11.txt: Removed those elements + which are documented cleanly in otp_specification_10.txt + + * doc/otp/otp_specification_10.txt: Extended with various + protocol command documentation. + + * MANIFEST: Updated. + 2008-08-08 Jan-Oliver Wagner <jan-oliver.wagner at intevation.de> Started clean documentation of OTP. Modified: trunk/openvas-server/MANIFEST =================================================================== --- trunk/openvas-server/MANIFEST 2008-08-08 22:58:24 UTC (rev 1123) +++ trunk/openvas-server/MANIFEST 2008-08-09 22:35:10 UTC (rev 1124) @@ -12,7 +12,6 @@ doc/nsr_file_format.txt doc/ntp/ntp_extensions.txt doc/ntp/ntp_white_paper_11.txt -doc/ntp/ntp_white_paper.txt doc/ntp/plugin_prefs.txt doc/ntp/README doc/openvas-adduser.8 Deleted: trunk/openvas-server/doc/ntp/ntp_white_paper.txt =================================================================== --- trunk/openvas-server/doc/ntp/ntp_white_paper.txt 2008-08-08 22:58:24 UTC (rev 1123) +++ trunk/openvas-server/doc/ntp/ntp_white_paper.txt 2008-08-09 22:35:10 UTC (rev 1124) @@ -1,126 +0,0 @@ - -ATTENTION: - Currently the specification document for OTP 1.0 - is established. Any feature clearified and added to - ../otp/otp_specification_10.txt is removed here. - The new specification for OTP is finished once the ntp - documentation files are empty. - - Nessus Transfer Protocol White Paper - version 1.0 - - - - - -1. What is the Nessus Transfer Protocol (NTP) ? - - The NTP is the protocol that is used for the communication between - openvasd (also known as the server) and a nessus client. - - This protocol is widely explained in order to facilitate the development - of other clients than the 'standard' Nessus client. - - The NTP protocol is TCP based but has nothing to do with the Network - Time Protocol (sorry, this is confusing) - - -2. NTP typical message - - A NTP message is a suite of ASCII printable characters, which does not - contain any line feed ('\n'). - - Every NTP message is made up of 'fields' that are delimited by the string ' <|> ' - (note the spaces). - - The first field always contain the name of the entity that sends it (SERVER or - CLIENT), and the second field always send the type of message. - The content of the other fields depends of the message type. - The last field of the message must be the same as the first field. - - eg : SERVER <|> ERROR <|> An error occurred ! <|> SERVER - -3. NTP messages types - - The Nessus Transfer Protocol currently recognizes the following messages types : - - ERROR - PORT - NEW_ATTACK - - 31. The "ERROR" type - - A NTP message declared as "ERROR" contains the description of an error that - occurred. Once more, there must be NO line feed ('\n') character in this - description. - The syntax for this type is : - entity <|> ERROR <|> error description <|> entity - - If the error is important, the server will send a 'BYE BYE' message - (see the end of the document) - - 33. The "PORT" type - - A NTP message declared as "PORT" reports that a given port is open - on a given host. - The syntax for this type is : - - entity <|> PORT <|> hostname <|> portnumber <|> entity - - - 34. The "NEW_ATTACK" type - - A NTP message of type "NEW_ATTACK" launches a new attack again a given - host. - - The syntax of this type is : - - entity <|> NEW_ATTACK <|> pluginlist <|> maxhosts <|> recursive \ - <|> portrange <|> hostname <|> entity - - where : - - pluginlist : is the list of plugins to use. Each plugin is designated by a number - (see #35 : The "PLUGIN_LIST" type), so the plugin list is a list of numbers separated - by a semi-column ';' (eg : "1;39;11;3") - If pluginlist equals to "-1", then all the plugins will be used - If pluginlist equals to "0", then no plugin will be used (a simple portscanning will - be performed) - - maxhosts : is the maximal number of hosts to test. "-1" means 'no maximum' - - recursive : should the hostloop system be used against _every_ host ? (0:no) - - portrange : range of ports to scan (default : "1-8000") - -4. A typical NTP session - - A typical NTP session has a real simple scheme : - - the server sends : the client answers : - - "< NTP/1.0 >" - "User :" - a user name - "Password :" - a valid password - The server then sends - its plugin list (see 35) - the client sends a new attack - message (see 34) - the server sends various - messages about the status - of the attack (see 31,32,33) - - At any moment, the client can send the 'attack_stop' command (see 37) - - "SERVER <|> BYE <|> BYE" - "anything\n" and - closes the connection - - - - - - -EOF Modified: trunk/openvas-server/doc/ntp/ntp_white_paper_11.txt =================================================================== --- trunk/openvas-server/doc/ntp/ntp_white_paper_11.txt 2008-08-08 22:58:24 UTC (rev 1123) +++ trunk/openvas-server/doc/ntp/ntp_white_paper_11.txt 2008-08-09 22:35:10 UTC (rev 1124) @@ -1,3 +1,9 @@ +ATTENTION: + Currently the specification document for OTP 1.0 + is established. Any feature clearified and added to + ../otp/otp_specification_10.txt is removed here. + The new specification for OTP is finished once the ntp + documentation files are empty. Nessus Transfer Protocol White Paper version 1.1 and 1.2 @@ -153,25 +159,7 @@ Last but not least, the server can send plugins preferences. Please read the 'plugin_prefs' paper which is distributed with Nessus-980903 and the newest versions. - - -22. The "NEW_ATTACK" message - Since the client can now send more informations for a test to the server, - the "NEW_ATTACK" message is now much simpler : - - It used to be : - entity <|> NEW_ATTACK <|> pluginlist <|> maxhosts <|> recursive \ - <|> portrange <|> hostname <|> entity - - It's now : - - entity <|> NEW_ATTACK <|> hostname <|> entity - - where 'hostname' can be an IP, a FQDN or a list of them - (ie: "www.a.com,www.b.com,www.c.com" or "host1,host2,192.68.2.1" - or whatever) - 23. The "RULES" message Modified: trunk/openvas-server/doc/otp/otp_specification_10.txt =================================================================== --- trunk/openvas-server/doc/otp/otp_specification_10.txt 2008-08-08 22:58:24 UTC (rev 1123) +++ trunk/openvas-server/doc/otp/otp_specification_10.txt 2008-08-09 22:35:10 UTC (rev 1124) @@ -4,17 +4,17 @@ Michael Wiegand <michael.wiegand at intevation.de> Jan-Oliver Wagner <jan-oliver.wagner at intevation.de> -PURPOSE +ABOUT THIS DOCUMENT This document describes OTP, the protocol used for communication between the server and client modules of the Open Vulnerability Assessment System (OpenVAS). STATUS This document is currently a draft; it does not describe the complete protocol - yet, but only the changes between the Nessus Transport Protocol, version 1.2 - and the OpenVAS Transport Protocol, version 1.0. For more information on NTP - please refer to the NTP specification for the time being. + yet but is still close to the Nessus Transport Protocol, version 1.2. + Apart from this the documentation itself is not complete yet. + INTRODUCTION The OpenVAS project is a fork of the Nessus project. Because of this, the initial protocol used for client-server communication was the Nessus @@ -29,9 +29,7 @@ GENERAL CONSIDERATIONS The initial specification of the OpenVAS Transport Protocol (OTP) is very close to the NTP implementation in the last versions available under the GNU - General Public License (GPL). The changes between NTP 1.2 -- the last NTP - version used by OpenVAS -- and OTP 1.0 are explained in the CHANGES section - below. + General Public License (GPL). CHANGES This section describes the changes between NTP 1.2 and OTP 1.0. @@ -54,7 +52,21 @@ clients more control about the verbosity of the messages they receive from the server. + Detached scans: + This functionality has been dropped due to design decisions. + This means the following commands have been removed + from the protocol: DETACHED_SESSIONS_LIST and DETACHED_STOP. + The following preferences have been removed from the protocol as + well: detached_scan, continuous_scan, delay_between_scan_loops, + detached_scan_email_address. +GENERAL ASPECTS OF PROTOCOL + + The OTP protocol is text-based, human readable and line-oriented. + + Each line is made of fields separated by "<|>. The first fields indicates + whether it is a command send by client or by server ("CLIENT" vs. "SERVER"). + PROTOCOL INITIALIZER AND PROTOCOL FEATURES Description: @@ -72,6 +84,8 @@ Syntax: < OTP/1.0 >< protocol_feature1 protocol_feature2 ... > + User : user_name + Password : user_password PROTOCOL COMMANDS @@ -98,6 +112,18 @@ file_length: the number of bytes that will follow after the newline file_content: the actual file as byte stream. + ERROR + + Description: + + In case of problems the server sends an error message with this + command. In case of unrecoverable problems, the server will then + close connection with BYE command. + + Syntax: + + SERVER <|> ERROR <|> error description <|> SERVER + HOLE Description: @@ -138,6 +164,17 @@ replaced by semicolons. oid: the OID of the NVT that identified the problem. + NEW_ATTACK + + Description: + + With this command the client requests the server to attack target + system(s) "host". "host" is one or many (comma-separated) IP or FQDN. + + Syntax: + + CLIENT <|> NEW_ATTACK <|> host <|> CLIENT + NOTE Description: @@ -226,6 +263,17 @@ Additional information might be apended according to some procotol features. Please refer to the description of the PLUGIN_INFO command for details. + PORT + + Description: + + With this command the server reports on open port + "port_number" on target system "host". + + Syntax: + + SERVER <|> PORT <|> host <|> port_number <|> SERVER + STAT Description: From scm-commit at wald.intevation.org Sun Aug 10 22:37:33 2008 From: scm-commit at wald.intevation.org (scm-commit@wald.intevation.org) Date: Sun, 10 Aug 2008 22:37:33 +0200 (CEST) Subject: [Openvas-commits] r1125 - in trunk/openvas-client: . nessus Message-ID: <20080810203733.799CA406F7@pyrosoma.intevation.org> Author: jan Date: 2008-08-10 22:37:32 +0200 (Sun, 10 Aug 2008) New Revision: 1125 Modified: trunk/openvas-client/ChangeLog trunk/openvas-client/nessus/cli.c trunk/openvas-client/nessus/cli.h trunk/openvas-client/nessus/parser.c trunk/openvas-client/nessus/parser.h Log: Removing handling of "PLUGINS_ORDER" command which is not implemented in the server at all. It is not used in a senseful way anyway here in the client. * nessus/parser.h: Remove definition of MSG_PLUGINS_ORDER * nessus/parser.c (parse_message_type, parse_server_message): Removed handling of MSG_PLUGINS_ORDER. * nessus/cli.h (struct cli_args): Removed element plugins_order_table. * nessus/cli.c (build_plugins_order_table): Removed. (cli_test_monitor): Removed code element that did not do any useful things about plugins order. Modified: trunk/openvas-client/ChangeLog =================================================================== --- trunk/openvas-client/ChangeLog 2008-08-09 22:35:10 UTC (rev 1124) +++ trunk/openvas-client/ChangeLog 2008-08-10 20:37:32 UTC (rev 1125) @@ -1,3 +1,20 @@ +2008-08-10 Jan-Oliver Wagner <jan-oliver.wagner at intevation.de> + + Removing handling of "PLUGINS_ORDER" command which + is not implemented in the server at all. + It is not used in a senseful way anyway here in the client. + + * nessus/parser.h: Remove definition of MSG_PLUGINS_ORDER + + * nessus/parser.c (parse_message_type, parse_server_message): + Removed handling of MSG_PLUGINS_ORDER. + + * nessus/cli.h (struct cli_args): Removed element plugins_order_table. + + * nessus/cli.c (build_plugins_order_table): Removed. + (cli_test_monitor): Removed code element that did not do any useful + things about plugins order. + 2008-08-08 Jan-Oliver Wagner <jan-oliver.wagner at intevation.de> * nessus/nmake.w32, nessus/nmake.bat: Removed. These are Modified: trunk/openvas-client/nessus/cli.c =================================================================== --- trunk/openvas-client/nessus/cli.c 2008-08-09 22:35:10 UTC (rev 1124) +++ trunk/openvas-client/nessus/cli.c 2008-08-10 20:37:32 UTC (rev 1125) @@ -85,70 +85,6 @@ return 1; } - - -static harglst* build_plugins_order_table(order) - char * order; -{ - int num = 0; - char * t; - int i = 0; - int * plugins_order_table_int; - harglst * plugins_order_table = harg_create(4000); - - - t = order; - - - while((t = strchr(t+1, ';')))num++; - plugins_order_table_int = emalloc((num+1)*sizeof(int)); - t = order; - if(num) - while(t) - { - char * next = strchr(t, ';'); - if(next)next[0]=0; - plugins_order_table_int[i++] = atoi(t); - if(next)next[0]=';'; - t = next+1; - next = strchr(next+1, ';'); - if(!next)t = NULL; - } - - /* - * Now, create the names table - */ - plugins_order_table = harg_create(num*3 + 1); - - for(i=0;i<num;i++) - { - struct nessus_plugin * plugs = Context->plugins; - - while(plugs != NULL && - plugs->id != plugins_order_table_int[i]) - plugs = plugs->next; - - - if( plugs == NULL ) - { - plugs = Context->scanners; - while(plugs && - plugs->id != plugins_order_table_int[i] ) - plugs = plugs->next; - } - if(plugs != NULL ){ - char id[32]; - snprintf(id, sizeof(id), "%d", i+1); - harg_add_string(plugins_order_table, id, plugs->name); - efree(&id); - } - } - efree(&plugins_order_table_int); - return plugins_order_table; -} - - - void cli_sigterm(s) int s; @@ -201,11 +137,6 @@ char * plug = NULL; parse_nessusd_short_status(&(buf[2]), &hostname, &action, ¤t, &max); - if(cli->plugins_order_table) - { - plug = harg_get_string(cli->plugins_order_table, current); - } - if(!strcmp(action, "portscan"))plug=""; printf("%s|%s|%s|%d\n", action,hostname,current,max); efree(&hostname); @@ -227,9 +158,6 @@ efree(¤t); } break; - case MSG_PLUGINS_ORDER: - cli->plugins_order_table = build_plugins_order_table(msg); - break; case MSG_FINISHED: printf("finished|%s||||\n", msg); break; Modified: trunk/openvas-client/nessus/cli.h =================================================================== --- trunk/openvas-client/nessus/cli.h 2008-08-09 22:35:10 UTC (rev 1124) +++ trunk/openvas-client/nessus/cli.h 2008-08-10 20:37:32 UTC (rev 1125) @@ -20,7 +20,6 @@ int backend; int verbose; int backend_output_func; - harglst * plugins_order_table; }; struct cli_args * cli_args_new(); Modified: trunk/openvas-client/nessus/parser.c =================================================================== --- trunk/openvas-client/nessus/parser.c 2008-08-09 22:35:10 UTC (rev 1124) +++ trunk/openvas-client/nessus/parser.c 2008-08-10 20:37:32 UTC (rev 1125) @@ -148,7 +148,6 @@ if(!strcmp(MSG_PORT_STR, type))return(MSG_PORT); if(!strcmp(MSG_ERROR_STR, type))return(MSG_ERROR); if(!strcmp(MSG_PING_STR, type))return(MSG_PING); - if(!strcmp(MSG_PLUGINS_ORDER_STR, type))return(MSG_PLUGINS_ORDER); if(!strcmp(MSG_FINISHED_STR, type))return(MSG_FINISHED); if(!strcmp(MSG_BYE_STR, type))return(MSG_BYE); return(-1); @@ -375,17 +374,6 @@ network_printf(context->socket, "CLIENT <|> PONG <|> PING <|> CLIENT\n\n"); return MSG_PING; break; - case MSG_PLUGINS_ORDER : - { - char * t = strstr(buf, " <|> SERVER"); - int tl = strlen(message_type); - int l = strlen(buf + tl); - if(t)t[0]=0; - strncpy(humanmsg, buf+tl+5, l); - humanmsg[l] = '\0'; - return(MSG_PLUGINS_ORDER); - } - break; case MSG_BYE : humanmsg[0]=0; return(MSG_BYE); Modified: trunk/openvas-client/nessus/parser.h =================================================================== --- trunk/openvas-client/nessus/parser.h 2008-08-09 22:35:10 UTC (rev 1124) +++ trunk/openvas-client/nessus/parser.h 2008-08-10 20:37:32 UTC (rev 1125) @@ -36,7 +36,6 @@ #define MSG_INFO 5 #define MSG_STAT 6 #define MSG_PING 7 -#define MSG_PLUGINS_ORDER 8 #define MSG_FINISHED 9 #define MSG_STAT2 10 #define MSG_NOTE 11 From scm-commit at wald.intevation.org Mon Aug 11 00:40:01 2008 From: scm-commit at wald.intevation.org (scm-commit@wald.intevation.org) Date: Mon, 11 Aug 2008 00:40:01 +0200 (CEST) Subject: [Openvas-commits] r1126 - in trunk/openvas-server: . doc/ntp doc/otp Message-ID: <20080810224001.63F99406F0@pyrosoma.intevation.org> Author: jan Date: 2008-08-11 00:40:00 +0200 (Mon, 11 Aug 2008) New Revision: 1126 Removed: trunk/openvas-server/doc/ntp/ntp_white_paper_11.txt Modified: trunk/openvas-server/ChangeLog trunk/openvas-server/doc/otp/otp_specification_10.txt Log: Continued consolidation of protocol documentation. * doc/ntp/ntp_white_paper_11.txt: Removed. It does not contain any information not covered by otp_specification_10.txt or defined elsewhere. * doc/otp/otp_specification_10.txt: Extended with various protocol command documentation. Modified: trunk/openvas-server/ChangeLog =================================================================== --- trunk/openvas-server/ChangeLog 2008-08-10 20:37:32 UTC (rev 1125) +++ trunk/openvas-server/ChangeLog 2008-08-10 22:40:00 UTC (rev 1126) @@ -1,3 +1,14 @@ +2008-08-11 Jan-Oliver Wagner <jan-oliver.wagner at intevation.de> + + Continued consolidation of protocol documentation. + + * doc/ntp/ntp_white_paper_11.txt: Removed. It does not contain + any information not covered by otp_specification_10.txt + or defined elsewhere. + + * doc/otp/otp_specification_10.txt: Extended with various + protocol command documentation. + 2008-08-10 Jan-Oliver Wagner <jan-oliver.wagner at intevation.de> * doc/ntp/ntp_white_paper.txt: Removed. It does not contain Deleted: trunk/openvas-server/doc/ntp/ntp_white_paper_11.txt =================================================================== --- trunk/openvas-server/doc/ntp/ntp_white_paper_11.txt 2008-08-10 20:37:32 UTC (rev 1125) +++ trunk/openvas-server/doc/ntp/ntp_white_paper_11.txt 2008-08-10 22:40:00 UTC (rev 1126) @@ -1,344 +0,0 @@ -ATTENTION: - Currently the specification document for OTP 1.0 - is established. Any feature clearified and added to - ../otp/otp_specification_10.txt is removed here. - The new specification for OTP is finished once the ntp - documentation files are empty. - - Nessus Transfer Protocol White Paper - version 1.1 and 1.2 - - -# Author : Renaud Deraison <deraison at cvs.nessus.org> -# -# Revisions : -# 07/10/98 : 10am : first release -# 07/10/98 : 4pm : first revision (thanks to Noam Rathaus :) -# 07/11/98 : 11am : added preferences and changed the 'NEW_ATTACK' message -# 07/11/98 : 2pm : added 'PLUGINS_ORDER' (thanks to Alexis de Bernis :) - updated the 'STATUS' message format -# 07/11/98 : 10pm : added a new option : the scan_level -# 07/12/98 : 1pm : corrected some minor errors -# 07/29/98 : 3pm : added the 'STOP_WHOLE_TEST' message -# 08/24/98 : 1pm : corrected a mistake in the messages order - changed some stuff in the text to make - it look like a white paper instead of - a draft -# 09/03/98 : 2pm : corrected several spelling mistakes -# 09/22/98 : 5pm : added several options -# 01/29/99 : 3am : Added Scan ID to HOLE and INFO messages. - (Jochen Wiedmann) - -# 01/31/02 : 6pm : removed scan_level and high_scan_time which are deprecated -# 03/08/02 : : documented the NOTE messages - -This paper has been written as a complement to the NTP/1.0 -white paper. If you have never read the NTP/1.0 white paper, -you should, or else you may not understand everything... - -1. Purpose of the NTP/1.1 and NTP/1.2 - - The purpose of the NTP 1.1 is to help to make the Nessus daemon more -flexible than it used to be, as well as to be more specific on the -holes/reports found on a remote host. - - + More flexible : - - Nowadays, using openvasd is a pain : before you make a test, you have - to telnet to the openvasd machine, edit openvasd.rules to be sure it - matches your needs, restart the daemon, and actually start the attack... - - Also, all the preferences should be defined by the client, not - only in openvasd.conf. Because if you want to reduce the max number - of threads of openvasd, it's a real pain. - - + More specific : - - The NTP/1.0 is TCP oriented, but a flaw can be found on a UDP port, so - the NTP/1.1 needs to be more specific in the reports messages. - So the NTP/1.1 will modify the INFO and HOLE messages to make them more - specifics and more accurate. NTP/1.2 extends the INFO and HOLE messages - again by adding the scan's ID, so that one can identify the plugin that - reports the message. - - + More open : - - The NTP/1.1 allow the server to send to the client an infinite* amount - of data, and the client can send back to the server another infinite amount - of data - - - *: we all know that in the computers world, nothing is really infinite so - maybe I should have put 'unlimited as long as there is memory on the - server side', but please don't mess up with that :) - - - + More fined-grained : - - NTP/1.1 defines the 'NOTE' message (which works the same as INFO and HOLE) - -2. New messages - -21. The "PREFERENCES" message - - The NTP/1.1 provides a new message format, which is nearly the same - as the PLUGIN_LIST message : the PREFERENCES message. - - This message will be sent by the server and by the client before the - start of a new attack. - - Syntax : - - entity <|> PREFERENCES <|> - name <|> value - name <|> value - ... - <|> entity - - where 'entity' is either SERVER or CLIENT. - - The current preferences are : - max_threads : max number of threads. Can't be greater than the one - defined in openvasd.conf - test_file : the file that some plugins will attempt to obtain from the - remote server (ie : /etc/passwd) - email : the email of the user - - ping_hosts : ping hosts before starting to scan them. Must be 'yes' or 'no' - - reverse_lookup : the IP must be reversely looked up before it's attacked - - outside_firewall: if openvasd is testing a host which is behind a firewall - - host_expansion : this is how Nessus will seek for victims. Several options - are possible : - + "none" : means that only the primary host will be tested - + "dns" : means that a AXFR request will be made to the - DNS which is in charge of the domain name of the - victim. - + "nfs" : means that Nessus will do a 'showmount' on every - host tested, and will test the hosts that can - mount the filesystems exported. - + "ip" : means that Nessus will test the entire subnet of a - host. - - It's possible to combine the last three options by putting - a ';' between the options : 'dns;ip' is a valid option, - as well as 'dns;nfs;ip'. - 'none;dns;nfs;ip' is a NONSENSE. The server will send a - PREFERENCES_ERRORS message with this one, and a good client - should first test such nonsense before sending them to the - server. - - port_range : the range of ports to scan (ie : 1-1024) - max_hosts : maximal number of hosts to test - - - This one will NEVER be sent to the client, but the client will have to - send it the the server : - - plugin_set : the list of plugins to use (same format as it used to be (1;4;6;9) - - If the client doesn't send 'plugin_set', then the server will launch all the plugins. - - Note : - In fact, the server will send to the client the content of the file - openvasd.conf. If the openvasd owner decides to remove this file, the - server will send you the message : - - SERVER <|> PREFERENCES <|> - <|> PREFERENCES - - Even if there is NO default preferences, the client has to upload the list - of 'known prefs' which is defined above. - - Also, the server might send to the client bogus preferences. If this is the case, - the client can silently ignore them (even though it would be better to show - them somewhere). - - Last but not least, the server can send plugins preferences. Please read the - 'plugin_prefs' paper which is distributed with Nessus-980903 and the newest - versions. - -23. The "RULES" message - - - I call "rules" the set of commands that restrict the test to - a set of hosts. - The "RULES" message is sent by the server and the client. - Its syntax is : - - entity <|> RULES <|> - expr1; - expr2; - expr3; - <|> entity - - where 'entity' is either SERVER or CLIENT. - 'expr' is the standard rules format (ie : 'n:*') - -24. The NOTE, INFO, HOLE messages - - It used to be : - - entity <|> HOLE <|> hostname <|> port:hole description <|> entity - - It will now be : - - entity <|> HOLE <|> hostname <|> servicename (port/protocol) <|> \ - description <|> entity - (NTP 1.1) - - entity <|> HOLE <|> hostname <|> servicename (port/protocol) <|> \ - description <|> scan_id <|> entity - (NTP 1.2) - - or - - entity <|> HOLE <|> hostname <|> general <|> \ - description <|> entity - (NTP 1.1) - - entity <|> HOLE <|> hostname <|> general <|> \ - description <|> scan_id <|> entity - (NTP 1.2) - - - Where service will be a string which indicates to the user the kind of - service which is affected by the problem (ie :"ftp") and where protocol - will be "udp" or "tcp", or maybe something else. - - If no servicename could be found by the server 'servicename' will be - "unknown" - - the second format will be used to report an info which is not port specific. - - The scan_id is the same id previously sent as part of the plugin list. - This allows to identify the plugin that generated a report. - - The 'NOTE' message has been added and defines informative information - about the remote host - -25. The 'PREFERENCES_ERRORS' message - - After the client has sent to the server a 'PREFERENCES' message, the - server will reply to report which preferences have invalid values. - The syntax of this message is very similar to 'PREFERENCES': - - SERVER <|> PREFERENCES_ERRORS - name <|> value - name <|> value - ... - <|> SERVER - - where 'name' is the name of the pref. item, and value is the value which - will be used by the server if no correction is made. - - ie : - a user asks a 'max_threads' value of 99999 - the owner of the server has set in nessus.conf 'max_threads' to 15 - - Since 99999 > 15, the server will reply (after the PREFERENCES message - of the client) - - SERVER <|> PREFERENCES_ERRORS - max_threads <|> 15 - <|> SERVER - - - Nota : - The message : - - SERVER <|> PREFERENCES_ERRORS - <|> SERVER - - means that there is no error. - -26. The 'PLUGINS_ORDER' message - - This message is sent by the server to the client to tell it in which - order the plugins will be launched. - Syntax : - - SERVER <|> PLUGINS_ORDER <|> plugins <|> SERVER - - Where 'plugins' is a string showing the ids of the plugins, - ie : '4;8;1;5' - - -27. The 'STATUS' message - - This message now shows if the current is the state of the portscan - of the state of the plugins attacks. - It used to be the 'STAT' message, note that it was renamed. - - Syntax : - SERVER <|> STATUS <|> hostname <|> action <|> status <|> SERVER - - Where : - 'hostname' is the name of the host - 'action' is either 'portscan' or 'attack' - 'status' is a string under the form "min/max" (ie : 12/80) - -28. The 'STOP_WHOLE_TEST' message - - This message stops a whole test in a clean way : all the threads - are killed and the server silently dies. - - It's better to use this message rather than just closing the socket - between the client and the server (describing why is a little off topic) - - Syntax : - - CLIENT <|> STOP_WHOLE_TEST <|> CLIENT - - -29. Notes - - The behavior of the command RULES is not the same as PREFERENCES. - With the PREFERENCES message, the client can modify the prefs. of - the server. - With the rules message, it can only add new rules. - ie : - - the client receives : - SERVER <|> RULES - n:*; - y:*.nessus.org; - <|> SERVER - -then it sends to the server : - CLIENT <|> RULES - N:grincheux.nessus.org; - <|> CLIENT - - This means that during the test, the following set of rules will be applied : - n*;y:*.nessus.org;n:grincheux.nessus.org - - -3. Using the NTP/1.1 - - 31. Activating the NTP/1.1 or NTP/1.2 - - While the client attempts to establish the communication with a server, it - should send the string '< NTP/1.1 >' or '< NTP/1.2 >' instead of the - previously used '< NTP/1.0 >' and the server will answer with the name of - the protocol it will use. Beware : older servers will close the connection - if they receive NTP/1.1, but I think the servers will be updated more often - than the clients... - - -32. When do the messages take place. - - The 'PREFERENCES' and 'RULES' message are sent by the server after the - 'PLUGIN_LIST' message. The client sends the 'PREFERENCES' and 'RULES' - message before the 'NEW_ATTACK' messages. As soon as the client sends a - 'PREFERENCES' message, the server will answer with a 'PREFERENCES_ERROR' - message (even if there is no error) - - The 'PLUGIN_ORDER' message will be sent just after the client sends the - 'NEW_ATTACK' message. - - The 'STATUS', 'PORT', 'HOLE', 'INFO' messages come during an attack. - -Comments and questions go to deraison at cvs.nessus.org Modified: trunk/openvas-server/doc/otp/otp_specification_10.txt =================================================================== --- trunk/openvas-server/doc/otp/otp_specification_10.txt 2008-08-10 20:37:32 UTC (rev 1125) +++ trunk/openvas-server/doc/otp/otp_specification_10.txt 2008-08-10 22:40:00 UTC (rev 1126) @@ -60,6 +60,10 @@ well: detached_scan, continuous_scan, delay_between_scan_loops, detached_scan_email_address. + Plugin order information: + The server command PLUGINS_ORDER was defined for NTP 1.2 but not + implemented in the server. + GENERAL ASPECTS OF PROTOCOL The OTP protocol is text-based, human readable and line-oriented. @@ -130,15 +134,18 @@ With this command the server reports a identified problem of class "security hole". + The "general" version is applied if no port relates to the hole. Syntax: SERVER <|> HOLE <|> host <|> service_name (port_number/protocol_type) <|> description <|> oid <|> SERVER + SERVER <|> HOLE <|> host <|> general <|> description <|> oid <|> SERVER + where host: the target system service_name: the name of the service (like in /etc/services) - port_number: the port number the problem relates to or "general". + port_number: the port number the problem relates to. protocol_type: "tcp" or "udp". description: the problem description where newlines have been replaced by semicolons. @@ -150,15 +157,18 @@ With this command the server reports a identified problem of class "security info". + The "general" version is applied if no port relates to the info. Syntax: SERVER <|> INFO <|> host <|> service_name (port_number/protocol_type) <|> description <|> oid <|> SERVER + SERVER <|> INFO <|> host <|> general <|> description <|> oid <|> SERVER + where host: the target system service_name: the name of the service (like in /etc/services) - port_number: the port number the problem relates to or "general". + port_number: the port number the problem relates to. protocol_type: "tcp" or "udp". description: the problem description where newlines have been replaced by semicolons. @@ -171,6 +181,9 @@ With this command the client requests the server to attack target system(s) "host". "host" is one or many (comma-separated) IP or FQDN. + Before the client sends NEW_ATTACK, the commands PREFERENCES and + RULES should be applied. + Syntax: CLIENT <|> NEW_ATTACK <|> host <|> CLIENT @@ -181,15 +194,18 @@ With this command the server reports a identified problem of class "security note". + The "general" version is applied if no port relates to the note. Syntax: SERVER <|> NOTE <|> host <|> service_name (port_number/protocol_type) <|> description <|> oid <|> SERVER + SERVER <|> NOTE <|> host <|> general <|> description <|> oid <|> SERVER + where host: the target system service_name: the name of the service (like in /etc/services) - port_number: the port number the problem relates to or "general". + port_number: the port number the problem relates to protocol_type: "tcp" or "udp". description: the problem description where newlines have been replaced by semicolons. @@ -252,6 +268,8 @@ With this command the server sends detailed information about the available NVTs. + The server will send PREFERENCES and RULES right after this command. + Syntax: SERVER <|> PLUGIN_LIST <|> @@ -274,18 +292,97 @@ SERVER <|> PORT <|> host <|> port_number <|> SERVER - STAT + PREFERENCES Description: + With this command the values for the preferences are + communicated. The server uses the commands to inform + about defaults, the client uses the command to send + the user selections. The server answers with PREFERENCES_ERROR. + + Available preferences: + max_threads, test_file, email, ping_hosts, reverse_lookup, + outside_firewall, host_expansion, port_range, max_hosts. + And only sent by CLIENT: plugin_set (empty means all NVTs). + + Syntax: + + SERVER <|> PREFERENCES <|> + pref_name <|> value + pref_name <|> value + pref_name <|> value + ... + <|> SERVER + + CLIENT <|> PREFERENCES <|> + pref_name <|> value + pref_name <|> value + pref_name <|> value + ... + <|> CLIENT + + PREFERENCES_ERRORS + + Description: + + With this command the server reports problems with the + parameters set by the client. It follows immediately + the PREFERENCES command of the client. + + Each "pref_name" occuring in this list was not accepted + by the server. The server will apply "default_value" instead. + + In case no "pref_name" is reported with this command, + all preferences where accepted. + + Syntax: + + SERVER <|> PREFERENCES_ERRORS + pref_name <|> default_value + pref_name <|> default_value + pref_name <|> default_value + ... + <|> SERVER + + RULES + + Description: + + Rules define restrictions for target systems. + Client-side rules self-restrict target host patterns, + server-side rules are just for information to the client. + These rule sets are independent of each other. + + Syntax: + + SERVER <|> RULES <|> + rule_1; + rule_2; + rule_3; + ... + <|> SERVER + + CLIENT <|> RULES <|> + rule_1; + rule_2; + rule_3; + ... + <|> CLIENT + + STATUS + + Description: + With this command, the server informs the client about - the progress of the port scan for target system "host". - "port" is the currently scanned port number. - The command with an interval of 100 ports. + the progress of the scan for target system "host". + "attack_state" is either "portscan" or "attack". + current is the currently processed port and max + the last port number to be tested. Syntax: - SERVER <|> STAT <|> host <|> port <|> SERVER + SERVER <|> STATUS <|> host <|> attack_state <|> current/max <|> SERVER STOP_ATTACK @@ -298,6 +395,17 @@ CLIENT <|> STOP_ATTACK <|> host <|> CLIENT + STOP_WHOLE_TEST + + Description: + + With this command the client tells to stop + the currently running test. + + Syntax: + + CLIENT <|> STOP_WHOLE_TEST <|> CLIENT + TIME Description: From scm-commit at wald.intevation.org Mon Aug 11 08:41:43 2008 From: scm-commit at wald.intevation.org (scm-commit@wald.intevation.org) Date: Mon, 11 Aug 2008 08:41:43 +0200 (CEST) Subject: [Openvas-commits] r1127 - in trunk/openvas-client: . nessus Message-ID: <20080811064143.202F620C004@pyrosoma.intevation.org> Author: mwiegand Date: 2008-08-11 08:41:42 +0200 (Mon, 11 Aug 2008) New Revision: 1127 Modified: trunk/openvas-client/ChangeLog trunk/openvas-client/nessus/nessus.c Log: Do not display html_graph as possible output type in the command line options if the client was compiled without gdchart support. Modified: trunk/openvas-client/ChangeLog =================================================================== --- trunk/openvas-client/ChangeLog 2008-08-10 22:40:00 UTC (rev 1126) +++ trunk/openvas-client/ChangeLog 2008-08-11 06:41:42 UTC (rev 1127) @@ -1,3 +1,9 @@ +2008-08-12 Michael Wiegand <michael.wiegand at intevation.de> + + * nessus/nessus.c (main): Do not display html_graph as possible output + type in the command line options if the client was compiled without + gdchart support. + 2008-08-10 Jan-Oliver Wagner <jan-oliver.wagner at intevation.de> Removing handling of "PLUGINS_ORDER" command which Modified: trunk/openvas-client/nessus/nessus.c =================================================================== --- trunk/openvas-client/nessus/nessus.c 2008-08-10 22:40:00 UTC (rev 1126) +++ trunk/openvas-client/nessus/nessus.c 2008-08-11 06:41:42 UTC (rev 1127) @@ -674,7 +674,11 @@ { "batch-mode", 'q', 0, G_OPTION_ARG_NONE, &batch_mode, N_("Batch-mode scan"), N_("<host> <port> <user> <pass> <targets-file> <result-file>") }, { "make-config-file", 'm', G_OPTION_FLAG_HIDDEN, G_OPTION_ARG_NONE, &make_config_file, "", NULL }, { "config-file", 'c', 0, G_OPTION_ARG_FILENAME, &config_file, N_("Configuration file"), N_("<.rcfile>") }, +#ifndef NO_GDCHART { "output-type", 'T', 0, G_OPTION_ARG_STRING, &output_type, N_("Output format"), N_("[nbe|html|html_graph|text|xml|tex]") }, +#else + { "output-type", 'T', 0, G_OPTION_ARG_STRING, &output_type, N_("Output format"), N_("[nbe|html|text|xml|tex]") }, +#endif { "verbose", 'V', 0, G_OPTION_ARG_NONE, &verbose, N_("Display status messages in batch mode"), NULL }, { "list-plugins", 'p', 0, G_OPTION_ARG_NONE, &list_plugins, N_("Obtain list of plugins installed on the server"), NULL }, { "list-prefs", 'P', 0, G_OPTION_ARG_NONE, &list_prefs, N_("Obtain list of server and plugin preferences"), NULL }, From scm-commit at wald.intevation.org Mon Aug 11 15:18:24 2008 From: scm-commit at wald.intevation.org (scm-commit@wald.intevation.org) Date: Mon, 11 Aug 2008 15:18:24 +0200 (CEST) Subject: [Openvas-commits] r1128 - in trunk/openvas-server: . openvasd Message-ID: <20080811131824.6D16A14231@pyrosoma.intevation.org> Author: mwiegand Date: 2008-08-11 15:18:22 +0200 (Mon, 11 Aug 2008) New Revision: 1128 Modified: trunk/openvas-server/ChangeLog trunk/openvas-server/aclocal.m4 trunk/openvas-server/configure trunk/openvas-server/configure.in trunk/openvas-server/openvas.tmpl.in trunk/openvas-server/openvasd/Makefile trunk/openvas-server/openvasd/openvasd.c Log: First step for change request #9 (Make OpenVAS use (and depend on) glib) (http://www.openvas.org/openvas-cr-9.html) * openvasd/openvasd.c: Replaced getopt command line parsing with glib command line parsing. * openvasd/Makefile: Include Libs and Cflags for glib. * configure: Regenerated. * configure.in: Added check for glib, removed check for getopt. * openvas.tmpl.in: Added support for glib. * aclocal.m4: Added support for pkg-config. Modified: trunk/openvas-server/ChangeLog =================================================================== --- trunk/openvas-server/ChangeLog 2008-08-11 06:41:42 UTC (rev 1127) +++ trunk/openvas-server/ChangeLog 2008-08-11 13:18:22 UTC (rev 1128) @@ -1,3 +1,21 @@ +2008-08-11 Michael Wiegand <michael.wiegand at intevation.de> + + First step for change request #9 (Make OpenVAS use (and depend on) glib) + (http://www.openvas.org/openvas-cr-9.html) + + * openvasd/openvasd.c: Replaced getopt command line parsing with glib + command line parsing. + + * openvasd/Makefile: Include Libs and Cflags for glib. + + * configure: Regenerated. + + * configure.in: Added check for glib, removed check for getopt. + + * openvas.tmpl.in: Added support for glib. + + * aclocal.m4: Added support for pkg-config. + 2008-08-11 Jan-Oliver Wagner <jan-oliver.wagner at intevation.de> Continued consolidation of protocol documentation. Modified: trunk/openvas-server/aclocal.m4 =================================================================== --- trunk/openvas-server/aclocal.m4 2008-08-11 06:41:42 UTC (rev 1127) +++ trunk/openvas-server/aclocal.m4 2008-08-11 13:18:22 UTC (rev 1128) @@ -509,3 +509,59 @@ esac ]) +dnl PKG_CHECK_MODULES(GSTUFF, gtk+-2.0 >= 1.3 glib = 1.3.4, action-if, action-not) +dnl defines GSTUFF_LIBS, GSTUFF_CFLAGS, see pkg-config man page +dnl also defines GSTUFF_PKG_ERRORS on error +AC_DEFUN(PKG_CHECK_MODULES, [ + succeeded=no + + if test -z "$PKG_CONFIG"; then + AC_PATH_PROG(PKG_CONFIG, pkg-config, no) + fi + + if test "$PKG_CONFIG" = "no" ; then + echo "*** The pkg-config script could not be found. Make sure it is" + echo "*** in your path, or set the PKG_CONFIG environment variable" + echo "*** to the full path to pkg-config." + echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config." + else + PKG_CONFIG_MIN_VERSION=0.9.0 + if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then + AC_MSG_CHECKING(for $2) + + if $PKG_CONFIG --exists "$2" ; then + AC_MSG_RESULT(yes) + succeeded=yes + + AC_MSG_CHECKING($1_CFLAGS) + $1_CFLAGS=`$PKG_CONFIG --cflags "$2"` + AC_MSG_RESULT($$1_CFLAGS) + + AC_MSG_CHECKING($1_LIBS) + $1_LIBS=`$PKG_CONFIG --libs "$2"` + AC_MSG_RESULT($$1_LIBS) + else + $1_CFLAGS="" + $1_LIBS="" +## If we have a custom action on failure, don't print errors, but +## do set a variable so people can do so. + $1_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"` + ifelse([$4], ,echo $$1_PKG_ERRORS,) + fi + + AC_SUBST($1_CFLAGS) + AC_SUBST($1_LIBS) + else + echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer." + echo "*** See http://www.freedesktop.org/software/pkgconfig" + fi + fi + + if test $succeeded = yes; then + ifelse([$3], , :, [$3]) + else + ifelse([$4], , AC_MSG_ERROR([Library requirements ($2) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.]), [$4]) + fi +]) + + Modified: trunk/openvas-server/configure =================================================================== --- trunk/openvas-server/configure 2008-08-11 06:41:42 UTC (rev 1127) +++ trunk/openvas-server/configure 2008-08-11 13:18:22 UTC (rev 1128) @@ -534,7 +534,7 @@ fi -# From configure.in Revision: 857 +# From configure.in Revision: 1008 NEED_OPENVASLIBS_VERSION=1.0.2 NEED_OPENVASLIBNASL_VERSION=1.0.1 @@ -1136,6 +1136,98 @@ " 1>&2; exit 1; } fi + + succeeded=no + + if test -z "$PKG_CONFIG"; then + # Extract the first word of "pkg-config", so it can be a program name with args. +set dummy pkg-config; ac_word=$2 +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 +echo "configure:1147: checking for $ac_word" >&5 +if eval "test \"`echo '$''{'ac_cv_path_PKG_CONFIG'+set}'`\" = set"; then + echo $ac_n "(cached) $ac_c" 1>&6 +else + case "$PKG_CONFIG" in + /*) + ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. + ;; + ?:/*) + ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a dos path. + ;; + *) + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" + ac_dummy="$PATH" + for ac_dir in $ac_dummy; do + test -z "$ac_dir" && ac_dir=. + if test -f $ac_dir/$ac_word; then + ac_cv_path_PKG_CONFIG="$ac_dir/$ac_word" + break + fi + done + IFS="$ac_save_ifs" + test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" + ;; +esac +fi +PKG_CONFIG="$ac_cv_path_PKG_CONFIG" +if test -n "$PKG_CONFIG"; then + echo "$ac_t""$PKG_CONFIG" 1>&6 +else + echo "$ac_t""no" 1>&6 +fi + + fi + + if test "$PKG_CONFIG" = "no" ; then + echo "*** The pkg-config script could not be found. Make sure it is" + echo "*** in your path, or set the PKG_CONFIG environment variable" + echo "*** to the full path to pkg-config." + echo "*** Or see http://www.freedesktop.org/software/pkgconfig to get pkg-config." + else + PKG_CONFIG_MIN_VERSION=0.9.0 + if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then + echo $ac_n "checking for glib-2.0 >= 2.2.0""... $ac_c" 1>&6 +echo "configure:1191: checking for glib-2.0 >= 2.2.0" >&5 + + if $PKG_CONFIG --exists "glib-2.0 >= 2.2.0" ; then + echo "$ac_t""yes" 1>&6 + succeeded=yes + + echo $ac_n "checking GLIB_CFLAGS""... $ac_c" 1>&6 +echo "configure:1198: checking GLIB_CFLAGS" >&5 + GLIB_CFLAGS=`$PKG_CONFIG --cflags "glib-2.0 >= 2.2.0"` + echo "$ac_t""$GLIB_CFLAGS" 1>&6 + + echo $ac_n "checking GLIB_LIBS""... $ac_c" 1>&6 +echo "configure:1203: checking GLIB_LIBS" >&5 + GLIB_LIBS=`$PKG_CONFIG --libs "glib-2.0 >= 2.2.0"` + echo "$ac_t""$GLIB_LIBS" 1>&6 + else + GLIB_CFLAGS="" + GLIB_LIBS="" +## If we have a custom action on failure, don't print errors, but +## do set a variable so people can do so. + GLIB_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "glib-2.0 >= 2.2.0"` + + fi + + + + else + echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer." + echo "*** See http://www.freedesktop.org/software/pkgconfig" + fi + fi + + if test $succeeded = yes; then + HAVE_GLIB="yes" + else + { echo "configure: error: "glib not found"" 1>&2; exit 1; } + fi + + + + OVSCFLAGS="`$LIBOPENVASCONFIG --cflags`" NASLCFLAGS="`$OPENVASLIBNASLCONFIG --cflags`" @@ -1147,7 +1239,7 @@ CFLAGS="$CFLAGS $OVSCFLAGS $NASLCFLAGS" echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:1151: checking how to run the C preprocessor" >&5 +echo "configure:1243: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= @@ -1162,13 +1254,13 @@ # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext <<EOF -#line 1166 "configure" +#line 1258 "configure" #include "confdefs.h" #include <assert.h> Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1172: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1264: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -1179,13 +1271,13 @@ rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext <<EOF -#line 1183 "configure" +#line 1275 "configure" #include "confdefs.h" #include <assert.h> Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1189: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1281: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -1196,13 +1288,13 @@ rm -rf conftest* CPP="${CC-cc} -nologo -E" cat > conftest.$ac_ext <<EOF -#line 1200 "configure" +#line 1292 "configure" #include "confdefs.h" #include <assert.h> Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1206: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1298: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -1227,12 +1319,12 @@ echo "$ac_t""$CPP" 1>&6 echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:1231: checking for ANSI C header files" >&5 +echo "configure:1323: checking for ANSI C header files" >&5 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 1236 "configure" +#line 1328 "configure" #include "confdefs.h" #include <stdlib.h> #include <stdarg.h> @@ -1240,7 +1332,7 @@ #include <float.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1244: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1336: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -1257,7 +1349,7 @@ if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat > conftest.$ac_ext <<EOF -#line 1261 "configure" +#line 1353 "configure" #include "confdefs.h" #include <string.h> EOF @@ -1275,7 +1367,7 @@ if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat > conftest.$ac_ext <<EOF -#line 1279 "configure" +#line 1371 "configure" #include "confdefs.h" #include <stdlib.h> EOF @@ -1296,7 +1388,7 @@ : else cat > conftest.$ac_ext <<EOF -#line 1300 "configure" +#line 1392 "configure" #include "confdefs.h" #include <ctype.h> #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -1307,7 +1399,7 @@ exit (0); } EOF -if { (eval echo configure:1311: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:1403: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then : else @@ -1331,12 +1423,12 @@ fi echo $ac_n "checking for sys/wait.h that is POSIX.1 compatible""... $ac_c" 1>&6 -echo "configure:1335: checking for sys/wait.h that is POSIX.1 compatible" >&5 +echo "configure:1427: checking for sys/wait.h that is POSIX.1 compatible" >&5 if eval "test \"`echo '$''{'ac_cv_header_sys_wait_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 1340 "configure" +#line 1432 "configure" #include "confdefs.h" #include <sys/types.h> #include <sys/wait.h> @@ -1352,7 +1444,7 @@ s = WIFEXITED (s) ? WEXITSTATUS (s) : 1; ; return 0; } EOF -if { (eval echo configure:1356: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1448: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_sys_wait_h=yes else @@ -1373,12 +1465,12 @@ fi echo $ac_n "checking whether time.h and sys/time.h may both be included""... $ac_c" 1>&6 -echo "configure:1377: checking whether time.h and sys/time.h may both be included" >&5 +echo "configure:1469: checking whether time.h and sys/time.h may both be included" >&5 if eval "test \"`echo '$''{'ac_cv_header_time'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 1382 "configure" +#line 1474 "configure" #include "confdefs.h" #include <sys/types.h> #include <sys/time.h> @@ -1387,7 +1479,7 @@ struct tm *tp; ; return 0; } EOF -if { (eval echo configure:1391: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1483: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_header_time=yes else @@ -1412,12 +1504,12 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr that defines DIR""... $ac_c" 1>&6 -echo "configure:1416: checking for $ac_hdr that defines DIR" >&5 +echo "configure:1508: checking for $ac_hdr that defines DIR" >&5 if eval "test \"`echo '$''{'ac_cv_header_dirent_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 1421 "configure" +#line 1513 "configure" #include "confdefs.h" #include <sys/types.h> #include <$ac_hdr> @@ -1425,7 +1517,7 @@ DIR *dirp = 0; ; return 0; } EOF -if { (eval echo configure:1429: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1521: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* eval "ac_cv_header_dirent_$ac_safe=yes" else @@ -1450,7 +1542,7 @@ # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. if test $ac_header_dirent = dirent.h; then echo $ac_n "checking for opendir in -ldir""... $ac_c" 1>&6 -echo "configure:1454: checking for opendir in -ldir" >&5 +echo "configure:1546: checking for opendir in -ldir" >&5 ac_lib_var=`echo dir'_'opendir | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1458,7 +1550,7 @@ ac_save_LIBS="$LIBS" LIBS="-ldir $LIBS" cat > conftest.$ac_ext <<EOF -#line 1462 "configure" +#line 1554 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -1469,7 +1561,7 @@ opendir() ; return 0; } EOF -if { (eval echo configure:1473: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1565: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -1491,7 +1583,7 @@ else echo $ac_n "checking for opendir in -lx""... $ac_c" 1>&6 -echo "configure:1495: checking for opendir in -lx" >&5 +echo "configure:1587: checking for opendir in -lx" >&5 ac_lib_var=`echo x'_'opendir | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1499,7 +1591,7 @@ ac_save_LIBS="$LIBS" LIBS="-lx $LIBS" cat > conftest.$ac_ext <<EOF -#line 1503 "configure" +#line 1595 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -1510,7 +1602,7 @@ opendir() ; return 0; } EOF -if { (eval echo configure:1514: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1606: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -1532,21 +1624,21 @@ fi -for ac_hdr in unistd.h getopt.h string.h strings.h sys/sockio.h sys/socketio.h +for ac_hdr in unistd.h string.h strings.h sys/sockio.h sys/socketio.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1540: checking for $ac_hdr" >&5 +echo "configure:1632: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 1545 "configure" +#line 1637 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1550: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1642: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -1576,17 +1668,17 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1580: checking for $ac_hdr" >&5 +echo "configure:1672: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 1585 "configure" +#line 1677 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1590: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1682: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -1616,17 +1708,17 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1620: checking for $ac_hdr" >&5 +echo "configure:1712: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 1625 "configure" +#line 1717 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1630: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1722: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -1656,17 +1748,17 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1660: checking for $ac_hdr" >&5 +echo "configure:1752: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 1665 "configure" +#line 1757 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1670: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1762: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -1696,17 +1788,17 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1700: checking for $ac_hdr" >&5 +echo "configure:1792: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 1705 "configure" +#line 1797 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1710: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1802: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -1736,17 +1828,17 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1740: checking for $ac_hdr" >&5 +echo "configure:1832: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 1745 "configure" +#line 1837 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1750: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1842: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -1776,17 +1868,17 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1780: checking for $ac_hdr" >&5 +echo "configure:1872: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 1785 "configure" +#line 1877 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1790: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1882: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -1816,17 +1908,17 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1820: checking for $ac_hdr" >&5 +echo "configure:1912: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 1825 "configure" +#line 1917 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1830: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1922: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -1856,17 +1948,17 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1860: checking for $ac_hdr" >&5 +echo "configure:1952: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 1865 "configure" +#line 1957 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1870: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1962: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -1914,17 +2006,17 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:1918: checking for $ac_hdr" >&5 +echo "configure:2010: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 1923 "configure" +#line 2015 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1928: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2020: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -1957,19 +2049,19 @@ # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works # for constant arguments. Useless! echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6 -echo "configure:1961: checking for working alloca.h" >&5 +echo "configure:2053: checking for working alloca.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 1966 "configure" +#line 2058 "configure" #include "confdefs.h" #include <alloca.h> int main() { char *p = alloca(2 * sizeof(int)); ; return 0; } EOF -if { (eval echo configure:1973: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2065: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_header_alloca_h=yes else @@ -1990,12 +2082,12 @@ fi echo $ac_n "checking for alloca""... $ac_c" 1>&6 -echo "configure:1994: checking for alloca" >&5 +echo "configure:2086: checking for alloca" >&5 if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 1999 "configure" +#line 2091 "configure" #include "confdefs.h" #ifdef __GNUC__ @@ -2023,7 +2115,7 @@ char *p = (char *) alloca(1); ; return 0; } EOF -if { (eval echo configure:2027: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2119: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_func_alloca_works=yes else @@ -2055,12 +2147,12 @@ echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 -echo "configure:2059: checking whether alloca needs Cray hooks" >&5 +echo "configure:2151: checking whether alloca needs Cray hooks" >&5 if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 2064 "configure" +#line 2156 "configure" #include "confdefs.h" #if defined(CRAY) && ! defined(CRAY2) webecray @@ -2085,12 +2177,12 @@ if test $ac_cv_os_cray = yes; then for ac_func in _getb67 GETB67 getb67; do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2089: checking for $ac_func" >&5 +echo "configure:2181: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 2094 "configure" +#line 2186 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -2113,7 +2205,7 @@ ; return 0; } EOF -if { (eval echo configure:2117: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2209: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -2140,7 +2232,7 @@ fi echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 -echo "configure:2144: checking stack direction for C alloca" >&5 +echo "configure:2236: checking stack direction for C alloca" >&5 if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2148,7 +2240,7 @@ ac_cv_c_stack_direction=0 else cat > conftest.$ac_ext <<EOF -#line 2152 "configure" +#line 2244 "configure" #include "confdefs.h" find_stack_direction () { @@ -2167,7 +2259,7 @@ exit (find_stack_direction() < 0); } EOF -if { (eval echo configure:2171: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2263: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_c_stack_direction=1 else @@ -2189,7 +2281,7 @@ fi echo $ac_n "checking for wait3 that fills in rusage""... $ac_c" 1>&6 -echo "configure:2193: checking for wait3 that fills in rusage" >&5 +echo "configure:2285: checking for wait3 that fills in rusage" >&5 if eval "test \"`echo '$''{'ac_cv_func_wait3_rusage'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2197,7 +2289,7 @@ ac_cv_func_wait3_rusage=no else cat > conftest.$ac_ext <<EOF -#line 2201 "configure" +#line 2293 "configure" #include "confdefs.h" #include <sys/types.h> #include <sys/time.h> @@ -2228,7 +2320,7 @@ } } EOF -if { (eval echo configure:2232: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2324: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_func_wait3_rusage=yes else @@ -2253,12 +2345,12 @@ for ac_func in waitpid wait4 mmap atexit do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2257: checking for $ac_func" >&5 +echo "configure:2349: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 2262 "configure" +#line 2354 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -2281,7 +2373,7 @@ ; return 0; } EOF -if { (eval echo configure:2285: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2377: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -2308,12 +2400,12 @@ for ac_func in lstat memmove gettimeofday gethrtime getrusage rand do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2312: checking for $ac_func" >&5 +echo "configure:2404: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 2317 "configure" +#line 2409 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -2336,7 +2428,7 @@ ; return 0; } EOF -if { (eval echo configure:2340: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2432: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -2363,12 +2455,12 @@ for ac_func in strchr memcpy select poll do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2367: checking for $ac_func" >&5 +echo "configure:2459: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 2372 "configure" +#line 2464 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -2391,7 +2483,7 @@ ; return 0; } EOF -if { (eval echo configure:2395: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2487: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -2416,12 +2508,12 @@ done echo $ac_n "checking for vsnprintf""... $ac_c" 1>&6 -echo "configure:2420: checking for vsnprintf" >&5 +echo "configure:2512: checking for vsnprintf" >&5 if eval "test \"`echo '$''{'ac_cv_func_vsnprintf'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 2425 "configure" +#line 2517 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char vsnprintf(); below. */ @@ -2444,7 +2536,7 @@ ; return 0; } EOF -if { (eval echo configure:2448: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2540: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_vsnprintf=yes" else @@ -2469,12 +2561,12 @@ for ac_func in bzero bcopy setsid rint mkstemp do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2473: checking for $ac_func" >&5 +echo "configure:2565: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 2478 "configure" +#line 2570 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -2497,7 +2589,7 @@ ; return 0; } EOF -if { (eval echo configure:2501: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2593: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -2524,12 +2616,12 @@ for ac_func in addr2ascii inet_neta setproctitle _exit do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2528: checking for $ac_func" >&5 +echo "configure:2620: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 2533 "configure" +#line 2625 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -2552,7 +2644,7 @@ ; return 0; } EOF -if { (eval echo configure:2556: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2648: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -2578,7 +2670,7 @@ echo $ac_n "checking size of unsigned int""... $ac_c" 1>&6 -echo "configure:2582: checking size of unsigned int" >&5 +echo "configure:2674: checking size of unsigned int" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_unsigned_int'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2586,7 +2678,7 @@ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext <<EOF -#line 2590 "configure" +#line 2682 "configure" #include "confdefs.h" #include <stdio.h> #include <sys/types.h> @@ -2598,7 +2690,7 @@ exit(0); } EOF -if { (eval echo configure:2602: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2694: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_unsigned_int=`cat conftestval` else @@ -2618,7 +2710,7 @@ echo $ac_n "checking size of unsigned long""... $ac_c" 1>&6 -echo "configure:2622: checking size of unsigned long" >&5 +echo "configure:2714: checking size of unsigned long" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_unsigned_long'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2626,7 +2718,7 @@ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext <<EOF -#line 2630 "configure" +#line 2722 "configure" #include "confdefs.h" #include <stdio.h> #include <sys/types.h> @@ -2638,7 +2730,7 @@ exit(0); } EOF -if { (eval echo configure:2642: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2734: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_unsigned_long=`cat conftestval` else @@ -2658,14 +2750,14 @@ echo $ac_n "checking whether byte ordering is bigendian""... $ac_c" 1>&6 -echo "configure:2662: checking whether byte ordering is bigendian" >&5 +echo "configure:2754: checking whether byte ordering is bigendian" >&5 if eval "test \"`echo '$''{'ac_cv_c_bigendian'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_cv_c_bigendian=unknown # See if sys/param.h defines the BYTE_ORDER macro. cat > conftest.$ac_ext <<EOF -#line 2669 "configure" +#line 2761 "configure" #include "confdefs.h" #include <sys/types.h> #include <sys/param.h> @@ -2676,11 +2768,11 @@ #endif ; return 0; } EOF -if { (eval echo configure:2680: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2772: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* # It does; now see whether it defined to BIG_ENDIAN or not. cat > conftest.$ac_ext <<EOF -#line 2684 "configure" +#line 2776 "configure" #include "confdefs.h" #include <sys/types.h> #include <sys/param.h> @@ -2691,7 +2783,7 @@ #endif ; return 0; } EOF -if { (eval echo configure:2695: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2787: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_bigendian=yes else @@ -2711,7 +2803,7 @@ { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext <<EOF -#line 2715 "configure" +#line 2807 "configure" #include "confdefs.h" main () { /* Are we little or big endian? From Harbison&Steele. */ @@ -2724,7 +2816,7 @@ exit (u.c[sizeof (long) - 1] == 1); } EOF -if { (eval echo configure:2728: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2820: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_c_bigendian=no else @@ -2748,12 +2840,12 @@ fi echo $ac_n "checking for time_t""... $ac_c" 1>&6 -echo "configure:2752: checking for time_t" >&5 +echo "configure:2844: checking for time_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_time_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 2757 "configure" +#line 2849 "configure" #include "confdefs.h" #include <sys/types.h> #if STDC_HEADERS @@ -2781,12 +2873,12 @@ fi echo $ac_n "checking for pid_t""... $ac_c" 1>&6 -echo "configure:2785: checking for pid_t" >&5 +echo "configure:2877: checking for pid_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_pid_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 2790 "configure" +#line 2882 "configure" #include "confdefs.h" #include <sys/types.h> #if STDC_HEADERS @@ -2814,12 +2906,12 @@ fi echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:2818: checking for size_t" >&5 +echo "configure:2910: checking for size_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 2823 "configure" +#line 2915 "configure" #include "confdefs.h" #include <sys/types.h> #if STDC_HEADERS @@ -2847,12 +2939,12 @@ fi echo $ac_n "checking for uid_t in sys/types.h""... $ac_c" 1>&6 -echo "configure:2851: checking for uid_t in sys/types.h" >&5 +echo "configure:2943: checking for uid_t in sys/types.h" >&5 if eval "test \"`echo '$''{'ac_cv_type_uid_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 2856 "configure" +#line 2948 "configure" #include "confdefs.h" #include <sys/types.h> EOF @@ -2882,9 +2974,9 @@ echo $ac_n "checking for struct timeval""... $ac_c" 1>&6 -echo "configure:2886: checking for struct timeval" >&5 +echo "configure:2978: checking for struct timeval" >&5 cat > conftest.$ac_ext <<EOF -#line 2888 "configure" +#line 2980 "configure" #include "confdefs.h" #ifdef TIME_WITH_SYS_TIME #include <sys/time.h> @@ -2900,7 +2992,7 @@ static struct timeval x; x.tv_sec = x.tv_usec; ; return 0; } EOF -if { (eval echo configure:2904: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2996: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""yes" 1>&6 HAVE_TIMEVAL=yes @@ -2920,9 +3012,9 @@ if test "x$HAVE_TIMEVAL" = xyes; then echo $ac_n "checking whether gettimeofday can't accept two arguments""... $ac_c" 1>&6 -echo "configure:2924: checking whether gettimeofday can't accept two arguments" >&5 +echo "configure:3016: checking whether gettimeofday can't accept two arguments" >&5 cat > conftest.$ac_ext <<EOF -#line 2926 "configure" +#line 3018 "configure" #include "confdefs.h" #ifdef TIME_WITH_SYS_TIME @@ -2944,7 +3036,7 @@ ; return 0; } EOF -if { (eval echo configure:2948: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3040: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* echo "$ac_t""no" 1>&6 else @@ -2974,12 +3066,12 @@ test -z "$BROKEN_REGEXP" && { echo $ac_n "checking for a working regexp implementation""... $ac_c" 1>&6 -echo "configure:2978: checking for a working regexp implementation" >&5 +echo "configure:3070: checking for a working regexp implementation" >&5 if test "$cross_compiling" = yes; then { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext <<EOF -#line 2983 "configure" +#line 3075 "configure" #include "confdefs.h" #include <stdio.h> @@ -3009,7 +3101,7 @@ } EOF -if { (eval echo configure:3013: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:3105: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then echo "$ac_t""yes" 1>&6;cat >> confdefs.h <<\EOF #define HAVE_REGEX_SUPPORT 1 @@ -3027,9 +3119,9 @@ } echo $ac_n "checking struct ip contains ip_csum""... $ac_c" 1>&6 -echo "configure:3031: checking struct ip contains ip_csum" >&5 +echo "configure:3123: checking struct ip contains ip_csum" >&5 cat > conftest.$ac_ext <<EOF -#line 3033 "configure" +#line 3125 "configure" #include "confdefs.h" #ifdef __linux__ #define __BSD_SOURCE @@ -3047,7 +3139,7 @@ ; return 0; } EOF -if { (eval echo configure:3051: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3143: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""yes" 1>&6; cat >> confdefs.h <<\EOF #define HAVE_STRUCT_IP_CSUM 1 @@ -3062,9 +3154,9 @@ rm -f conftest* echo $ac_n "checking struct ip""... $ac_c" 1>&6 -echo "configure:3066: checking struct ip" >&5 +echo "configure:3158: checking struct ip" >&5 cat > conftest.$ac_ext <<EOF -#line 3068 "configure" +#line 3160 "configure" #include "confdefs.h" #include <sys/types.h> #include <netinet/in.h> @@ -3074,7 +3166,7 @@ struct ip ip; ; return 0; } EOF -if { (eval echo configure:3078: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3170: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""yes" 1>&6; cat >> confdefs.h <<\EOF #define HAVE_STRUCT_IP 1 @@ -3089,9 +3181,9 @@ rm -f conftest* echo $ac_n "checking struct icmp""... $ac_c" 1>&6 -echo "configure:3093: checking struct icmp" >&5 +echo "configure:3185: checking struct icmp" >&5 cat > conftest.$ac_ext <<EOF -#line 3095 "configure" +#line 3187 "configure" #include "confdefs.h" #include <sys/types.h> #include <netinet/in.h> @@ -3102,7 +3194,7 @@ struct icmp icmp; ; return 0; } EOF -if { (eval echo configure:3106: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3198: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""yes" 1>&6; cat >> confdefs.h <<\EOF #define HAVE_STRUCT_ICMP 1 @@ -3117,9 +3209,9 @@ rm -f conftest* echo $ac_n "checking struct udphdr""... $ac_c" 1>&6 -echo "configure:3121: checking struct udphdr" >&5 +echo "configure:3213: checking struct udphdr" >&5 cat > conftest.$ac_ext <<EOF -#line 3123 "configure" +#line 3215 "configure" #include "confdefs.h" #include <sys/types.h> #include <netinet/in.h> @@ -3130,7 +3222,7 @@ struct udphdr udp; ; return 0; } EOF -if { (eval echo configure:3134: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3226: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""yes" 1>&6; cat >> confdefs.h <<\EOF #define HAVE_STRUCT_UDPHDR 1 @@ -3145,9 +3237,9 @@ rm -f conftest* echo $ac_n "checking BSD struct udphdr""... $ac_c" 1>&6 -echo "configure:3149: checking BSD struct udphdr" >&5 +echo "configure:3241: checking BSD struct udphdr" >&5 cat > conftest.$ac_ext <<EOF -#line 3151 "configure" +#line 3243 "configure" #include "confdefs.h" #ifdef __linux__ #define __BSD_SOURCE @@ -3163,7 +3255,7 @@ struct udphdr udp;udp.uh_dport = 0; ; return 0; } EOF -if { (eval echo configure:3167: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3259: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""yes" 1>&6; cat >> confdefs.h <<\EOF #define HAVE_BSD_STRUCT_UDPHDR 1 @@ -3179,9 +3271,9 @@ echo $ac_n "checking struct tcphdr""... $ac_c" 1>&6 -echo "configure:3183: checking struct tcphdr" >&5 +echo "configure:3275: checking struct tcphdr" >&5 cat > conftest.$ac_ext <<EOF -#line 3185 "configure" +#line 3277 "configure" #include "confdefs.h" #include <sys/types.h> #include <netinet/in.h> @@ -3192,7 +3284,7 @@ struct tcphdr tcp; ; return 0; } EOF -if { (eval echo configure:3196: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3288: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""yes" 1>&6; cat >> confdefs.h <<\EOF #define HAVE_STRUCT_TCPHDR 1 @@ -3207,9 +3299,9 @@ rm -f conftest* echo $ac_n "checking struct tcphdr has th_off""... $ac_c" 1>&6 -echo "configure:3211: checking struct tcphdr has th_off" >&5 +echo "configure:3303: checking struct tcphdr has th_off" >&5 cat > conftest.$ac_ext <<EOF -#line 3213 "configure" +#line 3305 "configure" #include "confdefs.h" #include <sys/types.h> #ifdef __linux__ @@ -3223,7 +3315,7 @@ struct tcphdr tcp;tcp.th_off = 0; ; return 0; } EOF -if { (eval echo configure:3227: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3319: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""yes" 1>&6; cat >> confdefs.h <<\EOF #define HAVE_TCPHDR_TH_OFF 1 @@ -3238,9 +3330,9 @@ rm -f conftest* echo $ac_n "checking struct tcphdr has th_x2_off""... $ac_c" 1>&6 -echo "configure:3242: checking struct tcphdr has th_x2_off" >&5 +echo "configure:3334: checking struct tcphdr has th_x2_off" >&5 cat > conftest.$ac_ext <<EOF -#line 3244 "configure" +#line 3336 "configure" #include "confdefs.h" #include <sys/types.h> #ifdef __linux__ @@ -3254,7 +3346,7 @@ struct tcphdr tcp;tcp.th_x2_off = 0; ; return 0; } EOF -if { (eval echo configure:3258: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3350: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""yes" 1>&6; cat >> confdefs.h <<\EOF #define HAVE_TCPHDR_TH_X2_OFF 1 @@ -3275,7 +3367,7 @@ # Uses ac_ vars as temps to allow command line to override cache and checks. # --without-x overrides everything else, but does not touch the cache. echo $ac_n "checking for X""... $ac_c" 1>&6 -echo "configure:3279: checking for X" >&5 +echo "configure:3371: checking for X" >&5 # Check whether --with-x or --without-x was given. if test "${with_x+set}" = set; then @@ -3337,12 +3429,12 @@ # First, try using that file with no special directory specified. cat > conftest.$ac_ext <<EOF -#line 3341 "configure" +#line 3433 "configure" #include "confdefs.h" #include <$x_direct_test_include> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3346: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3438: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -3411,14 +3503,14 @@ ac_save_LIBS="$LIBS" LIBS="-l$x_direct_test_library $LIBS" cat > conftest.$ac_ext <<EOF -#line 3415 "configure" +#line 3507 "configure" #include "confdefs.h" int main() { ${x_direct_test_function}() ; return 0; } EOF -if { (eval echo configure:3422: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3514: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* LIBS="$ac_save_LIBS" # We can link X programs with no special library path. @@ -3524,17 +3616,17 @@ case "`(uname -sr) 2>/dev/null`" in "SunOS 5"*) echo $ac_n "checking whether -R must be followed by a space""... $ac_c" 1>&6 -echo "configure:3528: checking whether -R must be followed by a space" >&5 +echo "configure:3620: checking whether -R must be followed by a space" >&5 ac_xsave_LIBS="$LIBS"; LIBS="$LIBS -R$x_libraries" cat > conftest.$ac_ext <<EOF -#line 3531 "configure" +#line 3623 "configure" #include "confdefs.h" int main() { ; return 0; } EOF -if { (eval echo configure:3538: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3630: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_R_nospace=yes else @@ -3550,14 +3642,14 @@ else LIBS="$ac_xsave_LIBS -R $x_libraries" cat > conftest.$ac_ext <<EOF -#line 3554 "configure" +#line 3646 "configure" #include "confdefs.h" int main() { ; return 0; } EOF -if { (eval echo configure:3561: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3653: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_R_space=yes else @@ -3589,7 +3681,7 @@ # libraries were built with DECnet support. And karl at cs.umb.edu says # the Alpha needs dnet_stub (dnet does not exist). echo $ac_n "checking for dnet_ntoa in -ldnet""... $ac_c" 1>&6 -echo "configure:3593: checking for dnet_ntoa in -ldnet" >&5 +echo "configure:3685: checking for dnet_ntoa in -ldnet" >&5 ac_lib_var=`echo dnet'_'dnet_ntoa | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3597,7 +3689,7 @@ ac_save_LIBS="$LIBS" LIBS="-ldnet $LIBS" cat > conftest.$ac_ext <<EOF -#line 3601 "configure" +#line 3693 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -3608,7 +3700,7 @@ dnet_ntoa() ; return 0; } EOF -if { (eval echo configure:3612: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3704: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3630,7 +3722,7 @@ if test $ac_cv_lib_dnet_dnet_ntoa = no; then echo $ac_n "checking for dnet_ntoa in -ldnet_stub""... $ac_c" 1>&6 -echo "configure:3634: checking for dnet_ntoa in -ldnet_stub" >&5 +echo "configure:3726: checking for dnet_ntoa in -ldnet_stub" >&5 ac_lib_var=`echo dnet_stub'_'dnet_ntoa | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3638,7 +3730,7 @@ ac_save_LIBS="$LIBS" LIBS="-ldnet_stub $LIBS" cat > conftest.$ac_ext <<EOF -#line 3642 "configure" +#line 3734 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -3649,7 +3741,7 @@ dnet_ntoa() ; return 0; } EOF -if { (eval echo configure:3653: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3745: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3678,12 +3770,12 @@ # The nsl library prevents programs from opening the X display # on Irix 5.2, according to dickey at clark.net. echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6 -echo "configure:3682: checking for gethostbyname" >&5 +echo "configure:3774: checking for gethostbyname" >&5 if eval "test \"`echo '$''{'ac_cv_func_gethostbyname'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 3687 "configure" +#line 3779 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char gethostbyname(); below. */ @@ -3706,7 +3798,7 @@ ; return 0; } EOF -if { (eval echo configure:3710: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3802: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_gethostbyname=yes" else @@ -3727,7 +3819,7 @@ if test $ac_cv_func_gethostbyname = no; then echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6 -echo "configure:3731: checking for gethostbyname in -lnsl" >&5 +echo "configure:3823: checking for gethostbyname in -lnsl" >&5 ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3735,7 +3827,7 @@ ac_save_LIBS="$LIBS" LIBS="-lnsl $LIBS" cat > conftest.$ac_ext <<EOF -#line 3739 "configure" +#line 3831 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -3746,7 +3838,7 @@ gethostbyname() ; return 0; } EOF -if { (eval echo configure:3750: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3842: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3776,12 +3868,12 @@ # -lsocket must be given before -lnsl if both are needed. # We assume that if connect needs -lnsl, so does gethostbyname. echo $ac_n "checking for connect""... $ac_c" 1>&6 -echo "configure:3780: checking for connect" >&5 +echo "configure:3872: checking for connect" >&5 if eval "test \"`echo '$''{'ac_cv_func_connect'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 3785 "configure" +#line 3877 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char connect(); below. */ @@ -3804,7 +3896,7 @@ ; return 0; } EOF -if { (eval echo configure:3808: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3900: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_connect=yes" else @@ -3825,7 +3917,7 @@ if test $ac_cv_func_connect = no; then echo $ac_n "checking for connect in -lsocket""... $ac_c" 1>&6 -echo "configure:3829: checking for connect in -lsocket" >&5 +echo "configure:3921: checking for connect in -lsocket" >&5 ac_lib_var=`echo socket'_'connect | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3833,7 +3925,7 @@ ac_save_LIBS="$LIBS" LIBS="-lsocket $X_EXTRA_LIBS $LIBS" cat > conftest.$ac_ext <<EOF -#line 3837 "configure" +#line 3929 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -3844,7 +3936,7 @@ connect() ; return 0; } EOF -if { (eval echo configure:3848: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3940: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3868,12 +3960,12 @@ # gomez at mi.uni-erlangen.de says -lposix is necessary on A/UX. echo $ac_n "checking for remove""... $ac_c" 1>&6 -echo "configure:3872: checking for remove" >&5 +echo "configure:3964: checking for remove" >&5 if eval "test \"`echo '$''{'ac_cv_func_remove'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 3877 "configure" +#line 3969 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char remove(); below. */ @@ -3896,7 +3988,7 @@ ; return 0; } EOF -if { (eval echo configure:3900: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3992: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_remove=yes" else @@ -3917,7 +4009,7 @@ if test $ac_cv_func_remove = no; then echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6 -echo "configure:3921: checking for remove in -lposix" >&5 +echo "configure:4013: checking for remove in -lposix" >&5 ac_lib_var=`echo posix'_'remove | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -3925,7 +4017,7 @@ ac_save_LIBS="$LIBS" LIBS="-lposix $LIBS" cat > conftest.$ac_ext <<EOF -#line 3929 "configure" +#line 4021 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -3936,7 +4028,7 @@ remove() ; return 0; } EOF -if { (eval echo configure:3940: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4032: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -3960,12 +4052,12 @@ # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. echo $ac_n "checking for shmat""... $ac_c" 1>&6 -echo "configure:3964: checking for shmat" >&5 +echo "configure:4056: checking for shmat" >&5 if eval "test \"`echo '$''{'ac_cv_func_shmat'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 3969 "configure" +#line 4061 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char shmat(); below. */ @@ -3988,7 +4080,7 @@ ; return 0; } EOF -if { (eval echo configure:3992: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4084: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_shmat=yes" else @@ -4009,7 +4101,7 @@ if test $ac_cv_func_shmat = no; then echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6 -echo "configure:4013: checking for shmat in -lipc" >&5 +echo "configure:4105: checking for shmat in -lipc" >&5 ac_lib_var=`echo ipc'_'shmat | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4017,7 +4109,7 @@ ac_save_LIBS="$LIBS" LIBS="-lipc $LIBS" cat > conftest.$ac_ext <<EOF -#line 4021 "configure" +#line 4113 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -4028,7 +4120,7 @@ shmat() ; return 0; } EOF -if { (eval echo configure:4032: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4124: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4061,7 +4153,7 @@ # libraries we check for below, so use a different variable. # --interran at uluru.Stanford.EDU, kb at cs.umb.edu. echo $ac_n "checking for IceConnectionNumber in -lICE""... $ac_c" 1>&6 -echo "configure:4065: checking for IceConnectionNumber in -lICE" >&5 +echo "configure:4157: checking for IceConnectionNumber in -lICE" >&5 ac_lib_var=`echo ICE'_'IceConnectionNumber | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4069,7 +4161,7 @@ ac_save_LIBS="$LIBS" LIBS="-lICE $X_EXTRA_LIBS $LIBS" cat > conftest.$ac_ext <<EOF -#line 4073 "configure" +#line 4165 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -4080,7 +4172,7 @@ IceConnectionNumber() ; return 0; } EOF -if { (eval echo configure:4084: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4176: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4106,7 +4198,7 @@ PWDD=`pwd` echo $ac_n "checking for long file names""... $ac_c" 1>&6 -echo "configure:4110: checking for long file names" >&5 +echo "configure:4202: checking for long file names" >&5 if eval "test \"`echo '$''{'ac_cv_sys_long_file_names'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4151,21 +4243,21 @@ echo $ac_n "checking for -lrpcsvc""... $ac_c" 1>&6 -echo "configure:4155: checking for -lrpcsvc" >&5 +echo "configure:4247: checking for -lrpcsvc" >&5 if eval "test \"`echo '$''{'ac_cv_lib_rpcsvc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" LIBS="-lrpcsvc $LIBS" cat > conftest.$ac_ext <<EOF -#line 4162 "configure" +#line 4254 "configure" #include "confdefs.h" int main() { main() ; return 0; } EOF -if { (eval echo configure:4169: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4261: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_lib_rpcsvc=yes else @@ -4184,7 +4276,7 @@ fi echo $ac_n "checking for xdr_mon in -lrpcsvc""... $ac_c" 1>&6 -echo "configure:4188: checking for xdr_mon in -lrpcsvc" >&5 +echo "configure:4280: checking for xdr_mon in -lrpcsvc" >&5 ac_lib_var=`echo rpcsvc'_'xdr_mon | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4192,7 +4284,7 @@ ac_save_LIBS="$LIBS" LIBS="-lrpcsvc $LIBS" cat > conftest.$ac_ext <<EOF -#line 4196 "configure" +#line 4288 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -4203,7 +4295,7 @@ xdr_mon() ; return 0; } EOF -if { (eval echo configure:4207: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4299: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4229,7 +4321,7 @@ echo $ac_n "checking for lfind in -lcompat""... $ac_c" 1>&6 -echo "configure:4233: checking for lfind in -lcompat" >&5 +echo "configure:4325: checking for lfind in -lcompat" >&5 ac_lib_var=`echo compat'_'lfind | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4237,7 +4329,7 @@ ac_save_LIBS="$LIBS" LIBS="-lcompat $LIBS" cat > conftest.$ac_ext <<EOF -#line 4241 "configure" +#line 4333 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -4248,7 +4340,7 @@ lfind() ; return 0; } EOF -if { (eval echo configure:4252: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4344: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4272,7 +4364,7 @@ test -n "$resolv_lib" && (echo $ac_n "checking for inet_neta in -lresolv""... $ac_c" 1>&6 -echo "configure:4276: checking for inet_neta in -lresolv" >&5 +echo "configure:4368: checking for inet_neta in -lresolv" >&5 ac_lib_var=`echo resolv'_'inet_neta | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4280,7 +4372,7 @@ ac_save_LIBS="$LIBS" LIBS="-lresolv $LIBS" cat > conftest.$ac_ext <<EOF -#line 4284 "configure" +#line 4376 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -4291,7 +4383,7 @@ inet_neta() ; return 0; } EOF -if { (eval echo configure:4295: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4387: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4318,21 +4410,21 @@ test -n "$libwrap" && { echo $ac_n "checking for -lwrap""... $ac_c" 1>&6 -echo "configure:4322: checking for -lwrap" >&5 +echo "configure:4414: checking for -lwrap" >&5 if eval "test \"`echo '$''{'ac_cv_lib_wrap'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" LIBS="-lwrap $LIBS" cat > conftest.$ac_ext <<EOF -#line 4329 "configure" +#line 4421 "configure" #include "confdefs.h" int main() { main() ; return 0; } EOF -if { (eval echo configure:4336: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4428: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_lib_wrap=yes else @@ -4359,17 +4451,17 @@ ac_safe=`echo "tcpd.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for tcpd.h""... $ac_c" 1>&6 -echo "configure:4363: checking for tcpd.h" >&5 +echo "configure:4455: checking for tcpd.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 4368 "configure" +#line 4460 "configure" #include "confdefs.h" #include <tcpd.h> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4373: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4465: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -4394,7 +4486,7 @@ uselibwrap="-DUSE_LIBWRAP" } echo $ac_n "checking for inet_aton in -lc""... $ac_c" 1>&6 -echo "configure:4398: checking for inet_aton in -lc" >&5 +echo "configure:4490: checking for inet_aton in -lc" >&5 ac_lib_var=`echo c'_'inet_aton | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4402,7 +4494,7 @@ ac_save_LIBS="$LIBS" LIBS="-lc $LIBS" cat > conftest.$ac_ext <<EOF -#line 4406 "configure" +#line 4498 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -4413,7 +4505,7 @@ inet_aton() ; return 0; } EOF -if { (eval echo configure:4417: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4509: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4437,7 +4529,7 @@ fi echo $ac_n "checking for inet_aton in -lresolv""... $ac_c" 1>&6 -echo "configure:4441: checking for inet_aton in -lresolv" >&5 +echo "configure:4533: checking for inet_aton in -lresolv" >&5 ac_lib_var=`echo resolv'_'inet_aton | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4445,7 +4537,7 @@ ac_save_LIBS="$LIBS" LIBS="-lresolv $LIBS" cat > conftest.$ac_ext <<EOF -#line 4449 "configure" +#line 4541 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -4456,7 +4548,7 @@ inet_aton() ; return 0; } EOF -if { (eval echo configure:4460: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4552: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4481,7 +4573,7 @@ echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6 -echo "configure:4485: checking for dlopen in -ldl" >&5 +echo "configure:4577: checking for dlopen in -ldl" >&5 ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4489,7 +4581,7 @@ ac_save_LIBS="$LIBS" LIBS="-ldl $LIBS" cat > conftest.$ac_ext <<EOF -#line 4493 "configure" +#line 4585 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -4500,7 +4592,7 @@ dlopen() ; return 0; } EOF -if { (eval echo configure:4504: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4596: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4526,12 +4618,12 @@ for ac_func in shl_load do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4530: checking for $ac_func" >&5 +echo "configure:4622: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 4535 "configure" +#line 4627 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -4554,7 +4646,7 @@ ; return 0; } EOF -if { (eval echo configure:4558: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4650: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -4581,12 +4673,12 @@ for ac_func in NSCreateObjectFileImageFromFile do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:4585: checking for $ac_func" >&5 +echo "configure:4677: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 4590 "configure" +#line 4682 "configure" #include "confdefs.h" /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func(); below. */ @@ -4609,7 +4701,7 @@ ; return 0; } EOF -if { (eval echo configure:4613: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4705: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -4637,7 +4729,7 @@ LIBS=`$LIBOPENVASCONFIG --libs` echo $ac_n "checking for nessuslib_pthreads_enabled in -lnessus""... $ac_c" 1>&6 -echo "configure:4641: checking for nessuslib_pthreads_enabled in -lnessus" >&5 +echo "configure:4733: checking for nessuslib_pthreads_enabled in -lnessus" >&5 ac_lib_var=`echo nessus'_'nessuslib_pthreads_enabled | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4645,7 +4737,7 @@ ac_save_LIBS="$LIBS" LIBS="-lnessus $LIBS" cat > conftest.$ac_ext <<EOF -#line 4649 "configure" +#line 4741 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -4656,7 +4748,7 @@ nessuslib_pthreads_enabled() ; return 0; } EOF -if { (eval echo configure:4660: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4752: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4682,17 +4774,17 @@ do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:4686: checking for $ac_hdr" >&5 +echo "configure:4778: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 4691 "configure" +#line 4783 "configure" #include "confdefs.h" #include <$ac_hdr> EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:4696: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:4788: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -4719,9 +4811,9 @@ done echo $ac_n "checking if we have a broken pthread_cleanup_push""... $ac_c" 1>&6 -echo "configure:4723: checking if we have a broken pthread_cleanup_push" >&5 +echo "configure:4815: checking if we have a broken pthread_cleanup_push" >&5 cat > conftest.$ac_ext <<EOF -#line 4725 "configure" +#line 4817 "configure" #include "confdefs.h" #include <pthread.h> @@ -4729,7 +4821,7 @@ void main(){pthread_cleanup_push(NULL,NULL);} ; return 0; } EOF -if { (eval echo configure:4733: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:4825: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* echo "$ac_t""no" 1>&6 else @@ -4745,7 +4837,7 @@ echo $ac_n "checking for pthread_create in -lpthread""... $ac_c" 1>&6 -echo "configure:4749: checking for pthread_create in -lpthread" >&5 +echo "configure:4841: checking for pthread_create in -lpthread" >&5 ac_lib_var=`echo pthread'_'pthread_create | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4753,7 +4845,7 @@ ac_save_LIBS="$LIBS" LIBS="-lpthread $LIBS" cat > conftest.$ac_ext <<EOF -#line 4757 "configure" +#line 4849 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -4764,7 +4856,7 @@ pthread_create() ; return 0; } EOF -if { (eval echo configure:4768: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4860: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4785,7 +4877,7 @@ fi echo $ac_n "checking for gethostbyname_r in -lc_r""... $ac_c" 1>&6 -echo "configure:4789: checking for gethostbyname_r in -lc_r" >&5 +echo "configure:4881: checking for gethostbyname_r in -lc_r" >&5 ac_lib_var=`echo c_r'_'gethostbyname_r | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4793,7 +4885,7 @@ ac_save_LIBS="$LIBS" LIBS="-lc_r $LIBS" cat > conftest.$ac_ext <<EOF -#line 4797 "configure" +#line 4889 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -4804,7 +4896,7 @@ gethostbyname_r() ; return 0; } EOF -if { (eval echo configure:4808: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4900: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4825,7 +4917,7 @@ fi echo $ac_n "checking for pthread_create in -lc_r""... $ac_c" 1>&6 -echo "configure:4829: checking for pthread_create in -lc_r" >&5 +echo "configure:4921: checking for pthread_create in -lc_r" >&5 ac_lib_var=`echo c_r'_'pthread_create | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4833,7 +4925,7 @@ ac_save_LIBS="$LIBS" LIBS="-lc_r $LIBS" cat > conftest.$ac_ext <<EOF -#line 4837 "configure" +#line 4929 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -4844,7 +4936,7 @@ pthread_create() ; return 0; } EOF -if { (eval echo configure:4848: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4940: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4865,7 +4957,7 @@ fi echo $ac_n "checking for gethostbyname_r in -lc""... $ac_c" 1>&6 -echo "configure:4869: checking for gethostbyname_r in -lc" >&5 +echo "configure:4961: checking for gethostbyname_r in -lc" >&5 ac_lib_var=`echo c'_'gethostbyname_r | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4873,7 +4965,7 @@ ac_save_LIBS="$LIBS" LIBS="-lc $LIBS" cat > conftest.$ac_ext <<EOF -#line 4877 "configure" +#line 4969 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -4884,7 +4976,7 @@ gethostbyname_r() ; return 0; } EOF -if { (eval echo configure:4888: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4980: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4908,7 +5000,7 @@ fi echo $ac_n "checking for gethostbyname_r in -lc_r""... $ac_c" 1>&6 -echo "configure:4912: checking for gethostbyname_r in -lc_r" >&5 +echo "configure:5004: checking for gethostbyname_r in -lc_r" >&5 ac_lib_var=`echo c_r'_'gethostbyname_r | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4916,7 +5008,7 @@ ac_save_LIBS="$LIBS" LIBS="-lc_r $LIBS" cat > conftest.$ac_ext <<EOF -#line 4920 "configure" +#line 5012 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -4927,7 +5019,7 @@ gethostbyname_r() ; return 0; } EOF -if { (eval echo configure:4931: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5023: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4951,7 +5043,7 @@ fi echo $ac_n "checking for gethostbyname_r in -lnsl""... $ac_c" 1>&6 -echo "configure:4955: checking for gethostbyname_r in -lnsl" >&5 +echo "configure:5047: checking for gethostbyname_r in -lnsl" >&5 ac_lib_var=`echo nsl'_'gethostbyname_r | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4959,7 +5051,7 @@ ac_save_LIBS="$LIBS" LIBS="-lnsl $LIBS" cat > conftest.$ac_ext <<EOF -#line 4963 "configure" +#line 5055 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -4970,7 +5062,7 @@ gethostbyname_r() ; return 0; } EOF -if { (eval echo configure:4974: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5066: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -4994,7 +5086,7 @@ fi echo $ac_n "checking for pthread_cancel in -lpthread""... $ac_c" 1>&6 -echo "configure:4998: checking for pthread_cancel in -lpthread" >&5 +echo "configure:5090: checking for pthread_cancel in -lpthread" >&5 ac_lib_var=`echo pthread'_'pthread_cancel | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -5002,7 +5094,7 @@ ac_save_LIBS="$LIBS" LIBS="-lpthread $LIBS" cat > conftest.$ac_ext <<EOF -#line 5006 "configure" +#line 5098 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -5013,7 +5105,7 @@ pthread_cancel() ; return 0; } EOF -if { (eval echo configure:5017: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5109: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5037,7 +5129,7 @@ fi echo $ac_n "checking for pthread_cancel in -lc_r""... $ac_c" 1>&6 -echo "configure:5041: checking for pthread_cancel in -lc_r" >&5 +echo "configure:5133: checking for pthread_cancel in -lc_r" >&5 ac_lib_var=`echo c_r'_'pthread_cancel | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -5045,7 +5137,7 @@ ac_save_LIBS="$LIBS" LIBS="-lc_r $LIBS" cat > conftest.$ac_ext <<EOF -#line 5049 "configure" +#line 5141 "configure" #include "confdefs.h" /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 @@ -5056,7 +5148,7 @@ pthread_cancel() ; return 0; } EOF -if { (eval echo configure:5060: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5152: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -5080,9 +5172,9 @@ fi echo $ac_n "checking whether gethostbyname_r takes 5 args""... $ac_c" 1>&6 -echo "configure:5084: checking whether gethostbyname_r takes 5 args" >&5 +echo "configure:5176: checking whether gethostbyname_r takes 5 args" >&5 cat > conftest.$ac_ext <<EOF -#line 5086 "configure" +#line 5178 "configure" #include "confdefs.h" #define THREADS 1 @@ -5102,7 +5194,7 @@ ; return 0; } EOF -if { (eval echo configure:5106: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5198: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* solaris_gethostbyname_r=yes else @@ -5119,9 +5211,9 @@ echo $ac_n "checking whether gethostbyaddr_r takes 5 args""... $ac_c" 1>&6 -echo "configure:5123: checking whether gethostbyaddr_r takes 5 args" >&5 +echo "configure:5215: checking whether gethostbyaddr_r takes 5 args" >&5 cat > conftest.$ac_ext <<EOF -#line 5125 "configure" +#line 5217 "configure" #include "confdefs.h" #define THREADS 1 @@ -5142,7 +5234,7 @@ ; return 0; } EOF -if { (eval echo configure:5146: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5238: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* solaris_gethostbyaddr_r=yes else @@ -5171,12 +5263,12 @@ echo $ac_n "checking if sockaddr{} has sa_len member""... $ac_c" 1>&6 -echo "configure:5175: checking if sockaddr{} has sa_len member" >&5 +echo "configure:5267: checking if sockaddr{} has sa_len member" >&5 if eval "test \"`echo '$''{'ac_cv_sockaddr_has_sa_len'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <<EOF -#line 5180 "configure" +#line 5272 "configure" #include "confdefs.h" # include <sys/types.h> @@ -5185,7 +5277,7 @@ unsigned int i = sizeof(((struct sockaddr *)0)->sa_len) ; return 0; } EOF -if { (eval echo configure:5189: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5281: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_sockaddr_has_sa_len=yes else @@ -5359,9 +5451,9 @@ echo $ac_n "checking whether struct sigaction has sa_restorer""... $ac_c" 1>&6 -echo "configure:5363: checking whether struct sigaction has sa_restorer" >&5 +echo "configure:5455: checking whether struct sigaction has sa_restorer" >&5 cat > conftest.$ac_ext <<EOF -#line 5365 "configure" +#line 5457 "configure" #include "confdefs.h" #include <signal.h> @@ -5374,7 +5466,7 @@ ; return 0; } EOF -if { (eval echo configure:5378: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5470: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* signal_sa_restorer=yes else @@ -5433,7 +5525,7 @@ # Extract the first word of "ar", so it can be a program name with args. set dummy ar; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:5437: checking for $ac_word" >&5 +echo "configure:5529: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_AR'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5663,6 +5755,9 @@ s%@INSTALL_DATA@%$INSTALL_DATA%g s%@LIBOPENVASCONFIG@%$LIBOPENVASCONFIG%g s%@OPENVASLIBNASLCONFIG@%$OPENVASLIBNASLCONFIG%g +s%@PKG_CONFIG@%$PKG_CONFIG%g +s%@GLIB_CFLAGS@%$GLIB_CFLAGS%g +s%@GLIB_LIBS@%$GLIB_LIBS%g s%@CPP@%$CPP%g s%@ALLOCA@%$ALLOCA%g s%@X_CFLAGS@%$X_CFLAGS%g Modified: trunk/openvas-server/configure.in =================================================================== --- trunk/openvas-server/configure.in 2008-08-11 06:41:42 UTC (rev 1127) +++ trunk/openvas-server/configure.in 2008-08-11 13:18:22 UTC (rev 1128) @@ -198,6 +198,10 @@ ) fi +PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.2.0, HAVE_GLIB="yes", AC_MSG_ERROR("glib not found")) +AC_SUBST(GLIB_CFLAGS) +AC_SUBST(GLIB_LIBS) + OVSCFLAGS="`$LIBOPENVASCONFIG --cflags`" NASLCFLAGS="`$OPENVASLIBNASLCONFIG --cflags`" @@ -216,7 +220,7 @@ AC_HEADER_SYS_WAIT AC_HEADER_TIME AC_HEADER_DIRENT -AC_CHECK_HEADERS(unistd.h getopt.h string.h strings.h sys/sockio.h sys/socketio.h) +AC_CHECK_HEADERS(unistd.h string.h strings.h sys/sockio.h sys/socketio.h) AC_CHECK_HEADERS(sys/param.h netinet/tcpip.h netinet/in_systm.h) AC_CHECK_HEADERS(netinet/ip_udp.h netinet/protocols.h sys/ioctl.h netinet/ip_icmp.h) AC_CHECK_HEADERS(rpc/rpc.h netinet/udp.h dlfcn.h sys/un.h memory.h ctype.h errno.h) Modified: trunk/openvas-server/openvas.tmpl.in =================================================================== --- trunk/openvas-server/openvas.tmpl.in 2008-08-11 06:41:42 UTC (rev 1127) +++ trunk/openvas-server/openvas.tmpl.in 2008-08-11 13:18:22 UTC (rev 1128) @@ -109,6 +109,8 @@ LIBOPENVASCONFIG=@LIBOPENVASCONFIG@ OPENVASLIBNASLCONFIG=@OPENVASLIBNASLCONFIG@ # libraries +GLIB_CFLAGS=@GLIB_CFLAGS@ +GLIB_LIBS=@GLIB_LIBS@ DL_LIB=@dl_lib@ RESOLV_LIB=@resolv_lib@ SOCKET_LIB=@socket_lib@ Modified: trunk/openvas-server/openvasd/Makefile =================================================================== --- trunk/openvas-server/openvasd/Makefile 2008-08-11 06:41: