#!/bin/sh
#
# Config script for UnrealIRCd
# (C) 2001-2019 The UnrealIRCd Team
#
# This configure script is free software; the UnrealIRCd Team gives 
# unlimited permission to copy, distribute and modify as long as the
# copyright headers stay intact
#
#
# Rewritten completely to be an interface to autoconf by codemastr
# This was inspired by the config by Michael Graff (explorer@flame.org)
# but was written from scratch

# In order to be faster than the old Config, this assumes that all information
# in the cache file is valid and therefore doesn't check it, so if you messed with
# default values thats your problem :P

# some bits edited by baafie on March 17 2004, every change marked.


RUN_CONFIGURE () {
ARG=" "

if [ -z "$BINDIR" -o -z "$DATADIR" -o -z "$CONFDIR" -o -z "$MODULESDIR" -o -z "$LOGDIR" -o -z "$CACHEDIR" -o -z "$DOCDIR" -o -z "$TMPDIR" -o -z "$PRIVATELIBDIR" ]; then
	echo "Sorry './Config -quick' cannot be used because your 'config.settings'"
	echo "file either does not exist or is from an old UnrealIRCd version"
	echo "(older than UnrealIRCd 5.0.0)."
	echo ""
	echo "Please run './Config' without -quick and answer all questions."
	echo ""
	exit
fi


mkdir -p $TMPDIR
mkdir -p $PRIVATELIBDIR

# Do this even if we're not in advanced mode
if [ "$SHOWLISTMODES" = "1" ] ; then
	ARG="$ARG--with-showlistmodes "
fi
if [ "$ADVANCED" = "1" ] ; then
if [ "$NOOPEROVERRIDE" = "1" ] ; then
	ARG="$ARG--with-no-operoverride "
fi
if [ "$OPEROVERRIDEVERIFY" = "1" ] ; then
	ARG="$ARG--with-operoverride-verify "
fi
fi
if test x"$SSLDIR" = "x" ; then
ARG="$ARG--enable-ssl "
else
ARG="$ARG--enable-ssl=$SSLDIR "
fi
if [ "$REMOTEINC" = "1" ] ; then
ARG="$ARG--enable-libcurl=$CURLDIR "
fi
if [ "$PREFIXAQ" != "1" ]; then
ARG="$ARG--disable-prefixaq "
fi
if [ "$MAXCONNECTIONS_REQUEST" != "auto" ]; then
	ARG="$ARG--with-maxconnections=$MAXCONNECTIONS_REQUEST "
fi

ARG="$ARG--with-bindir=$BINDIR "
ARG="$ARG--with-datadir=$DATADIR "
ARG="$ARG--with-pidfile=$DATADIR/unrealircd.pid "
ARG="$ARG--with-confdir=$CONFDIR "
ARG="$ARG--with-modulesdir=$MODULESDIR "
ARG="$ARG--with-logdir=$LOGDIR "
ARG="$ARG--with-cachedir=$CACHEDIR "
ARG="$ARG--with-docdir=$DOCDIR "
ARG="$ARG--with-tmpdir=$TMPDIR "
ARG="$ARG--with-privatelibdir=$PRIVATELIBDIR "
ARG="$ARG--with-scriptdir=$BASEPATH "
ARG="$ARG--with-nick-history=$NICKNAMEHISTORYLENGTH "
ARG="$ARG--with-permissions=$DEFPERM "
ARG="$ARG--enable-dynamic-linking "
ARG="$ARG $EXTRAPARA "
CONF="./configure $ARG"
# remove possibly old instances of curl in ~/unrealircd/lib/
rm -f $PRIVATELIBDIR/*curl* 1>/dev/null 2>&1
# Ensure we install curl even if someone does ./Config -quick...
if [ "x$CURLDIR" = "x$UNREALCWD/extras/curl" ]; then
	INSTALLCURL=1
fi
if [ "x$INSTALLCURL" = "x1" ]; then
	extras/curlinstall "$PRIVATELIBDIR" || exit 1
fi
# At least do SOME parallel compiling by default, IF:
# - the MAKE environment variable is not set
# - the MAKEFLAGS environment variable is not set
# - we are using GNU Make
if [ "x$MAKE" = "x" ]; then
	if [ "x$MAKEFLAGS" = "x" ]; then
		if make --version 2>&1|grep -q "GNU Make"; then
			echo "Running with 4 concurrent build processes by default (make -j4)."
			export MAKE='make -j4'
		fi
	fi
fi

echo $CONF
$CONF || exit 1
cd "$UNREALCWD"
if [  "$QUICK" != "1" ] ; then
if [ ! -f $CONFDIR/tls/server.cert.pem -a ! -f $CONFDIR/ssl/server.cert.pem ]; then
export OPENSSLPATH
TEST=""
while [ -z "$TEST" ] ; do
    if [ "$GENCERTIFICATE" = "1" ] ; then
	TEST="Yes"
    else
	TEST="No"
    fi
    echo ""
    echo "Do you want to generate an SSL certificate for the IRCd?"
    echo "Only answer No if you already have one."
    echo $n "[$TEST] -> $c"
	read cc
    if [ -z "$cc" ] ; then
	cc=$TEST
    fi
    case "$cc" in
	[Yy]*)
	    GENCERTIFICATE="1"
	    ;;
	[Nn]*)
	    GENCERTIFICATE=""
	    ;;
	*)
	    echo ""
	    echo "You must enter either Yes or No"
	    TEST=""
	    ;;
    esac
done
if [ "$GENCERTIFICATE" = 1 ]; then
	make pem
	echo "Certificate created successfully."
	sleep 1
else
	echo "Ok, not generating SSL certificate. Make sure that the certificate and key"
	echo "are installed in conf/tls/server.crt.pem and conf/tls/server.key.pem prior to starting the IRCd."
fi
else
echo "SSL certificate already exists in configuration directory, no need to regenerate."
fi
fi

# Silently force a 'make clean' as otherwise part (or whole) of the
# compiled source could be using different settings than the user
# just requested when re-running ./Config.
make clean 1>/dev/null 2>&1
}

RUN_ADVANCED () {
TEST=""
while [ -z "$TEST" ] ; do
    if [ "$SHOWLISTMODES" = "1" ] ; then
	TEST="Yes"
    else
	TEST="No"
    fi
    echo ""
    echo "Do you want to show the modes a channel has set in the /list output?"
    echo $n "[$TEST] -> $c"
	read cc
    if [ -z "$cc" ] ; then
	cc=$TEST
    fi
    case "$cc" in
	[Yy]*)
	    SHOWLISTMODES="1"
	    ;;
	[Nn]*)
	    SHOWLISTMODES=""
	    ;;
	*)
	    echo ""
	    echo "You must enter either Yes or No"
	    TEST=""
	    ;;
    esac
done

TEST=""
while [ -z "$TEST" ] ; do
    if [ "$NOOPEROVERRIDE" = "1" ] ; then
	TEST="Yes"
    else
	TEST="No"
    fi
    echo ""
    echo "Do you want to disable oper override?"
    echo $n "[$TEST] -> $c"
	read cc
    if [ -z "$cc" ] ; then
	cc=$TEST
    fi
    case "$cc" in
	[Yy]*)
	    NOOPEROVERRIDE="1"
	    ;;
	[Nn]*)
	    NOOPEROVERRIDE=""
	    ;;
	*)
	    echo ""
	    echo "You must enter either Yes or No"
	    TEST=""
	    ;;
    esac
done

TEST=""
while [ -z "$TEST" ] ; do
    if [ "$OPEROVERRIDEVERIFY" = "1" ] ; then
	TEST="Yes"
    else
	TEST="No"
    fi
    echo ""
    echo "Do you want to require opers to /invite themselves into a +s or +p channel?"
    echo $n "[$TEST] -> $c"
	read cc
    if [ -z "$cc" ] ; then
	cc=$TEST
    fi
    case "$cc" in
	[Yy]*)
	    OPEROVERRIDEVERIFY="1"
	    ;;
	[Nn]*)
	    OPEROVERRIDEVERIFY=""
	    ;;
	*)
	    echo ""
	    echo "You must enter either Yes or No"
	    TEST=""
	    ;;
    esac
done

}
c=""
n=""
UNREALCWD="`pwd`"
BASEPATH="$HOME/unrealircd"
DEFPERM="0600"
SSLDIR=""
NICKNAMEHISTORYLENGTH="100"
MAXCONNECTIONS_REQUEST="auto"
REMOTEINC="1"
CURLDIR=""
PREFIXAQ="0"
SHOWLISTMODES="0"
NOOPEROVERRIDE=""
OPEROVERRIDEVERIFY=""
GENCERTIFICATE="1"
EXTRAPARA=""
if [ "`eval echo -n 'a'`" = "-n a" ] ; then
        c="\c"
else
        n="-n"
fi


#parse arguments
IMPORTEDSETTINGS=""
NOINTRO=""
QUICK=""
ADVANCED=""
while [ $# -ge 1 ] ; do
	if [ $1 = "--help" ] ; then
		echo "Config utility for UnrealIRCd"
		echo "-----------------------------"
		echo "Syntax: ./Config [options]"
		echo "-nointro     Skip intro (release notes, etc)"
		echo "-quick       Skip questions, go straight to configure"
		echo "-advanced    Include additional advanced questions"
		exit 0
	elif [ $1 = "-nointro" ] ; then
		NOINTRO="1"
	elif [ $1 = "-quick" -o $1 = "-q" ] ; then
		QUICK="1"
		echo "running quick config"
		if [ -f "config.settings" ] ; then
			. ./config.settings
		fi
		RUN_CONFIGURE
		cd "$UNREALCWD"
		exit 0
	elif [ $1 = "-advanced" ] ; then
		PREADVANCED="1"
	fi
	shift 1
done

if [ "$PREADVANCED" = "1" ] ; then
	ADVANCED="1"
elif [ "$ADVANCED" = "1" ]; then
	ADVANCED=""
fi

if [ "`id -u`" = "0" ]; then
	echo "ERROR: You cannot build or run UnrealIRCd as root"
	echo ""
	echo "Please create a separate account for building and running UnrealIRCd."
	echo "See https://www.unrealircd.org/docs/Do_not_run_as_root"
	exit
fi

clear

    if [ -f "doc/Config.header" -a -z "$NOINTRO" ] ; then
        more doc/Config.header
        echo ""
        echo $n "[Press Enter to continue]"
        read cc
        clear
    fi

echo "We will now ask you a number of questions. You can just press ENTER to accept the defaults!"
echo ""

# This needs to be updated each release so auto-upgrading works for settings, modules, etc!!:
UNREALRELEASES="unrealircd-5.0.7-rc1 unrealircd-5.0.6 unrealircd-5.0.5.1 unrealircd-5.0.5 unrealircd-5.0.4 unrealircd-5.0.3.1 unrealircd-5.0.3 unrealircd-5.0.2 unrealircd-5.0.1 unrealircd-5.0.0 unrealircd-5.0.0-rc2 unrealircd-5.0.0-rc1"
if [ -f "config.settings" ]; then
	. ./config.settings
else
	# Try to load a previous config.settings
	for x in $UNREALRELEASES
	do
		if [ -f ../$x/config.settings ]; then
			IMPORTEDSETTINGS="../$x"
			break
		fi
	done
	echo "If you have previously installed UnrealIRCd on this shell then you can specify a"
	echo "directory here so I can import the build settings and third party modules"
	echo "to make your life a little easier."
	if [ ! -z "$IMPORTEDSETTINGS" ]; then
		echo "Found previous installation in: $IMPORTEDSETTINGS."
		echo "You can enter a different path or type 'none' if you don't want to use it."
		echo "Just press Enter to accept the default settings."
	else
		echo "If you install UnrealIRCd for the first time on this shell, then just hit Enter";
	fi

	TEST="$IMPORTEDSETTINGS"
	echo $n "[$TEST] -> $c"
	read cc
	if [ -z "$cc" ]; then
		IMPORTEDSETTINGS="$TEST"
	else
		IMPORTEDSETTINGS="$cc"
	fi
	if [ "$IMPORTEDSETTINGS" = "none" ]; then
		IMPORTEDSETTINGS=""
	fi
	if [ "$IMPORTEDSETTINGS" != "" ]; then
		if [ -d $IMPORTEDSETTINGS/conf ]; then
			echo "ERROR: Directory $IMPORTEDSETTINGS is an INSTALLATION directory (eg /home/irc/unrealircd)."
			echo "This question was about a SOURCE directory (eg /home/irc/unrealircd-5.0.0)."
			exit
		fi
		if [ ! -f $IMPORTEDSETTINGS/config.settings ]; then
			echo "Directory $IMPORTEDSETTINGS does not exist or does not contain a config.settings file"
			exit
		fi
		COPYMODULES="1"
		if grep -q TOPICNICKISNUH $IMPORTEDSETTINGS/config.settings; then
			echo "Directory $IMPORTEDSETTINGS seems to be UnrealIRCd 4.x (or older)."
			echo "I will copy the settings but not any 3rd party modules, as they are incompatible with 5.x."
			COPYMODULES="0"
		fi
		# Actually load the settings
		. $IMPORTEDSETTINGS/config.settings
		if [ "$COPYMODULES" = "1" ]; then
			# Copy over 3rd party modules (also deals with 0 file cases, hence the silly looking code)
			for f in $IMPORTEDSETTINGS/src/modules/third/*.c
			do
				[ -e "$f" ] && cp $f src/modules/third/
			done
		fi
	fi
fi
# If we just imported settings and the curl dir is set to
# something like /home/xxx/unrealircd-5.x.y/extras/curl/
# (what we call 'local-curl') then remove this setting as
# it would refer to the old UnrealIRCd installation.
if [ ! -z "$IMPORTEDSETTINGS" ]; then
	if echo "$CURLDIR"|grep -qi unrealircd; then
		CURLDIR=""
	fi
fi

TEST="$BASEPATH"
echo ""
echo "In what directory do you want to install UnrealIRCd?"
echo "(Note: UnrealIRCd 5 will need to be installed somewhere."
echo " If this directory does not exist it will be created.)"
echo $n "[$TEST] -> $c"
read cc
if [ -z "$cc" ] ; then
   BASEPATH=$TEST
else
   BASEPATH=`eval echo $cc` # modified
fi
if [ "$BASEPATH" = "$UNREALCWD" ]; then
	echo ""
	echo "ERROR: The installation directory cannot be the same as the directory"
	echo "       containing the source code ($UNREALCWD)."
	echo " HINT: Usually the directory containing the source is $HOME/unrealircd-5.x.y"
	echo "       and the installation directory you would need to enter is $HOME/unrealircd"
	exit 1
fi

# TODO: For -advanced we could prompt the user.
BINDIR="$BASEPATH/bin"
DATADIR="$BASEPATH/data"
CONFDIR="$BASEPATH/conf"
MODULESDIR="$BASEPATH/modules"
LOGDIR="$BASEPATH/logs"
CACHEDIR="$BASEPATH/cache"
DOCDIR="$BASEPATH/doc"
TMPDIR="$BASEPATH/tmp"
PRIVATELIBDIR="$BASEPATH/lib"

TEST=""
while [ -z "$TEST" ] ; do
    TEST="$DEFPERM"
    echo ""
    echo "What should the default permissions for your configuration files be? (Set this to 0 to disable)"
    echo "It is strongly recommended that you use 0600 to prevent unwanted reading of the file"
    echo $n "[$TEST] -> $c"
	read cc
    if [ -z "$cc" ] ; then
	DEFPERM=$TEST
	break
    fi
    case "$cc" in
	[0-9]*)
	    DEFPERM="$cc"
	    ;;
	*)
	    echo ""
	    echo "You must enter a number"
	    TEST=""
	    ;;
    esac

done




echo ""
echo "If you want, you can manually enter the path to OpenSSL/LibreSSL here."
echo "In most cases you can leave this blank and it will be detected automatically."

if [ -z "$SSLDIR" ]; then
	uname|grep -q Darwin
	if [ "$?" = 0 ]; then
		echo "Looks like you're on a Mac - El Capitan and higher require"
		echo "a 3rd party OpenSSL installation. We recommend using homebrew"
		echo "to install OpenSSL, but you may install it any other way as well."
		echo "We are selecting the default homebrew OpenSSL path - but you can"
		echo "change it to another path if you have installed OpenSSL another way"
		SSLDIR="/usr/local/opt/openssl/"
	fi
fi

TEST="$SSLDIR"
echo $n "[$TEST] -> $c"
    read cc
if [ -z "$cc" ] ; then
    SSLDIR="$TEST"
else 
    SSLDIR=`eval echo $cc` # modified
fi

TEST=""
while [ -z "$TEST" ] ; do
    if [ "$REMOTEINC" = "1" ] ; then
	TEST="Yes"
    else
	TEST="No"
    fi
    echo ""
    echo "Do you want to enable remote includes?"
    echo "This allows stuff like this in your configuration file:"
    echo "include \"https://www.somesite.org/files/opers.conf\";"
    echo $n "[$TEST] -> $c"
	read cc
    if [ -z "$cc" ] ; then
	cc=$TEST
    fi
    case "$cc" in
	[Yy]*)
	    REMOTEINC="1"
	    ;;
	[Nn]*)
	    REMOTEINC=""
	    CURLDIR=""
	    ;;
	*)
	    echo ""
	    echo "You must enter either Yes or No"
	    TEST=""
	    ;;
    esac
done

if [ "$REMOTEINC" = "1" ] ; then
	if [ ! -d "$CURLDIR" ]; then
		# Reset any previous CURLDIR if it doesn't exist (anymore)
		CURLDIR=""
	fi

	INSTALLCURL="0"
	SUGGESTCURLDIR=""

	if [ -d "/usr/local/include/curl" ]; then
		SUGGESTCURLDIR="/usr/local"
	fi
	if [ -d "/usr/include/curl" ]; then
		SUGGESTCURLDIR="/usr"
	fi
	# This one also works for /usr/include/x86_64-linux-gnu and friends:
	if [ -f "/usr/bin/curl-config" ]; then
		SUGGESTCURLDIR="/usr"
	fi

	GOTASYNC=0
	if [ "x$SUGGESTCURLDIR" != "x" ]; then
		# Check if it's of any use: a curl without async dns (cares) hangs the entire ircd..
		# normally this is done in ./configure but now we're forced to do it also here..
		if "$SUGGESTCURLDIR"/bin/curl-config --features | grep -q -e AsynchDNS; then
			GOTASYNC="1"
		fi
		if [ "$GOTASYNC" != "1" ]; then
			SUGGESTCURLDIRBAD="$CURLDIR"
			SUGGESTCURLDIR=""
		fi
	fi

	if [ "x$CURLDIR" = "x$HOME/curl" ]; then
		if [ "x$SUGGESTCURLDIR" != "x" ]; then
			# I guess some people will complain about this, but if system wide cURL is available
			# and many people have old defaults then this is much preferred:
			echo ""
			echo "WARNING: Your previous (potentially old) setting is to use cURL from $HOME/curl."
			echo "However, your operating system also provides a working cURL."
			echo "I am therefore changing the setting to: $SUGGESTCURLDIR"
			CURLDIR="$SUGGESTCURLDIR"
		else
			echo ""
			echo "WARNING: We no longer use $HOME/curl nowadays."
			echo "Use the automatic download and install feature below."
			CURLDIR=""
		fi
	fi

	if [ "x$CURLDIR" = "x" ]; then
		CURLDIR="$SUGGESTCURLDIR"
		# NOTE: CURLDIR may still be empty after this

		# System curl has no asyncdns, so install our own.
		if [ "$GOTASYNC" != "1" ]; then
			CURLDIR=""
		fi

		# Need to output it here, as the HOME check from above may cause this to be no longer relevant.
		if [ "x$CURLDIR" = "x" -a "x$SUGGESTCURLDIRBAD" != "x" ]; then
			echo "Curl library was found in $SUGGESTCURLDIRBAD, but it does not support Asynchronous DNS (not compiled with c-ares)"
			echo "so it's of no use to us as it would stall the IRCd on REHASH."
		fi
	fi

	# Final check
	if [ "x$CURLDIR" != "x" ]; then
		"$CURLDIR/bin/curl-config" --features 2>/dev/null | grep -q -e AsynchDNS
		if [ "$?" != 0 ]; then
			echo "Curl from $CURLDIR seems unusable ($CURLDIR/bin/curl-config does not exist)"
			CURLDIR=""
		fi
	fi

        if [ "x$CURLDIR" = "x" ]; then
        	# Still empty?
        	TEST=""
                while [ -z "$TEST" ] ; do
                    TEST="Yes"
                    echo ""
        	    echo "Do you want me to automatically download and install curl for you?"
                    echo $n "[$TEST] -> $c"
                        read cc
                    if [ -z "$cc" ] ; then
                        cc=$TEST
                    fi
                    case "$cc" in
                        [Yy]*)
                            INSTALLCURL="1"
                            CURLDIR="$UNREALCWD/extras/curl"
                            ;;
                        [Nn]*)
                            INSTALLCURL="0"
                            ;;
                        *)
                            echo ""
                            echo "You must enter either Yes or No"
                            TEST=""
                            ;;
                    esac
                done
        fi

	if [ "$INSTALLCURL" != "1" ]; then
	  TEST=""
          while [ -z "$TEST" ] ; do
                  TEST="$CURLDIR"
                  echo ""
                  echo "Specify the directory you installed libcurl to"
                  echo $n "[$TEST] -> $c"
                  read cc
                  if [ -z "$cc" ] ; then
                      cc=$TEST
                  else
                      TEST=$cc
                      CURLDIR=`eval echo $cc` # modified
                  fi
          done
        fi
fi


TEST=""
while [ -z "$TEST" ] ; do
    if [ "$PREFIXAQ" = "1" ] ; then
	TEST="Yes"
    else
	TEST="No"
    fi
    echo ""
    echo "Do you want to enable prefixes for chanadmin and chanowner?"
    echo "This will give +a the & prefix and ~ for +q (just like +o is @)"
    echo "Supported by the major clients (mIRC, xchat, epic, eggdrop, Klient,"
    echo "PJIRC, irssi, CGI:IRC, etc.)"
    echo "This feature should be enabled/disabled network-wide."
    echo $n "[$TEST] -> $c"
	read cc
    if [ -z "$cc" ] ; then
	cc=$TEST
    fi
    case "$cc" in
	[Yy]*)
	    PREFIXAQ="1"
	    ;;
	[Nn]*)
	    PREFIXAQ=""
	    ;;
	*)
	    echo ""
	    echo "You must enter either Yes or No"
	    TEST=""
	    ;;
    esac
done

TEST=""
while [ -z "$TEST" ] ; do
    TEST="$NICKNAMEHISTORYLENGTH"
    echo ""
    echo "How far back do you want to keep the nickname history?"
    echo $n "[$TEST] -> $c"
	read cc
    if [ -z "$cc" ] ; then
	NICKNAMEHISTORYLENGTH=$TEST
	break
    fi
    case "$cc" in
	[1-9]*)
	    NICKNAMEHISTORYLENGTH="$cc"
	    ;;
	*)
	    echo ""
	    echo "You must enter a number"
	    TEST=""
	    ;;
    esac
done

echo ""
TEST=""
while [ -z "$TEST" ] ; do
	TEST="$MAXCONNECTIONS_REQUEST"
	echo ""
	echo "What is the maximum number of sockets (and file descriptors) that"
	echo "UnrealIRCd may use?"
	echo "It is recommended to leave this at the default setting 'auto',"
	echo "which at present results in a limit of up to 8192, depending on"
	echo "the system. When you boot UnrealIRCd later you will always see"
	echo "the effective limit."
	echo $n "[$TEST] -> $c"
	read cc
	if [ -z "$cc" ] ; then
		MAXCONNECTIONS_REQUEST=$TEST
		break
	fi
	case "$cc" in
		auto)
			MAXCONNECTIONS_REQUEST="$cc"
			;;
		[1-9][0-9][0-9]*)
			MAXCONNECTIONS_REQUEST="$cc"
			;;
		*)
			echo ""
			echo "You must to enter a number greater than or equal to 100."
			echo "Or enter 'auto' to leave it at automatic, which is recommended."
			TEST=""
			;;
	esac
done
if [ -n "$ADVANCED" ] ; then
	RUN_ADVANCED
fi

TEST="$EXTRAPARA"
echo ""
echo "Would you like to pass any custom parameters to configure?"
echo "Most people don't need this and can just press ENTER."
echo "Otherwise, see \`./configure --help' and write them here:"
echo $n "[$TEST] -> $c"
read EXTRAPARA
if [ -z "$EXTRAPARA" ]; then
    EXTRAPARA="$TEST"
fi

rm -f config.settings
cat > config.settings << __EOF__
#
BASEPATH="$BASEPATH"
BINDIR="$BINDIR"
DATADIR="$DATADIR"
CONFDIR="$CONFDIR"
MODULESDIR="$MODULESDIR"
LOGDIR="$LOGDIR"
CACHEDIR="$CACHEDIR"
DOCDIR="$DOCDIR"
TMPDIR="$TMPDIR"
PRIVATELIBDIR="$PRIVATELIBDIR"
PREFIXAQ="$PREFIXAQ"
MAXCONNECTIONS_REQUEST="$MAXCONNECTIONS_REQUEST"
NICKNAMEHISTORYLENGTH="$NICKNAMEHISTORYLENGTH"
DEFPERM="$DEFPERM"
SSLDIR="$SSLDIR"
REMOTEINC="$REMOTEINC"
CURLDIR="$CURLDIR"
SHOWLISTMODES="$SHOWLISTMODES"
NOOPEROVERRIDE="$NOOPEROVERRIDE"
OPEROVERRIDEVERIFY="$OPEROVERRIDEVERIFY"
GENCERTIFICATE="$GENCERTIFICATE"
EXTRAPARA="$EXTRAPARA"
ADVANCED="$ADVANCED"
__EOF__
RUN_CONFIGURE
cd "$UNREALCWD"
cat << __EOF__

 _______________________________________________________________________
|                                                                       |
|                    UnrealIRCd Compile-Time Config                     |
|_______________________________________________________________________|
|_______________________________________________________________________|
|                                                                       |
| Now all you have to do is type 'make' and let it compile. When that's |
| done, you will receive other instructions on what to do next.         |
|                                                                       |
|_______________________________________________________________________|
|_______________________________________________________________________|
|                        - The UnrealIRCd Team -                        |
|                                                                       |
| * Bram Matthys (Syzop)     syzop@unrealircd.org                       |
| * Gottem                   gottem@unrealircd.org                      |
| * i                        i@unrealircd.org                           |
|_______________________________________________________________________|
__EOF__