# @configure_input@ # # By Carlo Wood (carlo@runaway.xs4all.nl) # # For a description of the syntax of this configuration file, # see the config/Configure script. # # TO CONFIGURE THE SERVER, TYPE: 'make config' in the top level directory ! # #### Start of system configuration section. #### prefix=@prefix@ exec_prefix=@exec_prefix@ bindir=@bindir@ mandir=@mandir@ CC_DEFAULT="@CC@" CFLAGS_DEFAULT="@CFLAGS@" CPPFLAGS_DEFAULT="@CPPFLAGS@" LDFLAGS_DEFAULT="@LDFLAGS@" LIBS="@LIBS@" ac_cv_header_poll_h=@ac_cv_header_poll_h@ unet_cv_func_poll_syscall=@unet_cv_func_poll_syscall@ ac_cv_header_syslog_h=@ac_cv_header_syslog_h@ #### End of system configuration section. #### if [ -z "$CONFIG_BATCH" ]; then echo "**************************************************************************" echo "Error: Please run 'make config' that resides in the top level directory!" echo "**************************************************************************" exit -1 fi mainmenu_name "Undernet IRC Daemon Configuration" mainmenu_option next_comment if [ "$CONFIG_BATCH" = "n" ]; then echo "* Welcome to the Undernet IRC Daemon Configuration script." echo "* You can restart this configuration at any time by typing 'make config'." echo "* If you need help with your decision on any question, type a '?'" echo "*" USE_DEFAULT=n else USE_DEFAULT=C fi CHANGE_CONFIG=n if [ "$DEFAULTS" != "none" ]; then bool 'Do you want to change your previous configuration' CHANGE_CONFIG if [ "$CHANGE_CONFIG" = "n" ]; then echo "Ok, I will only prompt you for NEW parameters." USE_DEFAULT=C else USE_DEFAULT=n fi else USE_DEFAULT=n fi endmenu mainmenu_option next_comment comment 'Debugging (do not define this on production servers)' bool 'Do you want to enable debugging output' DEBUGMODE bool 'Do you want to enable asserts and memory allocation checking' CONFIG_NDEBUG EXTRA_CPPFLAGS="" if [ "$CONFIG_NDEBUG" = "n" ]; then if [ -z "$EXTRA_CPPFLAGS" ]; then EXTRA_CPPFLAGS="-DNDEBUG" else EXTRA_CPPFLAGS="-DNDEBUG $EXTRA_CPPFLAGS" fi fi bool 'Are you testing on a host without DNS' NODNS endmenu mainmenu_option next_comment comment 'Compile stuff' if [ "$prefix" = "NONE" ]; then prefix=/usr/local fi if [ "$exec_prefix" = "NONE" ]; then eval exec_prefix="$prefix" fi string 'Which compiler do you want to use' CC "$CC_DEFAULT" echo "* For the following four questions, specify 'none' when you want it to be empty." if [ -z "$cflags_O3_remark" -a -n "$CFLAGS" ]; then CFLAGS_DEFAULT=`echo "$CFLAGS" | sed -e 's%-O2%-O3%'` if [ "$CFLAGS_DEFAULT" != "$CFLAGS" ]; then echo "You are highly advised to use -O3 instead of -O2 if you're short in cpu cycles!" echo "Please read documentation (press '?'):" CFLAGS= fi fi eval string "'What flags should I pass to $CC [none]'" CFLAGS "'$CFLAGS_DEFAULT'" define_macro cflags_O3_remark done string 'Do you need extra include directories [none]' EXTRA_INCLUDEDIRS none if [ -z "$LDFLAGS_DEFAULT" ]; then LDFLAGS_DEFAULT=none else eval LDFLAGS_DEFAULT="$LDFLAGS_DEFAULT" fi string 'Which linker flags do you need [none]' LDFLAGS "$LDFLAGS_DEFAULT" if [ -z "$LIBS" ]; then LIBS=none fi string 'Which extra libraries do you need [none]' IRCDLIBS "$LIBS" bool 'Generate debug symbols?' DEBUGSYMBOLS "y" bool 'Compile in profiling support (gcc and maybe SUNpro)?' IRCUPROFILE "n" unset ZSTEMP if [ "$DEBUGSYMBOLS" = "y" ] ; then ZSTEMP="-g" fi if [ "$IRCUPROFILE" = "y" ] ; then ZSTEMP="-pg $ZSTEMP" fi define_string DEBUGFLAGS "$ZSTEMP" eval bindir="$bindir" string 'In which directory should I install the ircd binary' BINDIR $bindir if [ ! -d "$BINDIR" ]; then echo "$BINDIR : No such directory" fi string 'What should the name of the installed symbolic link to the exectuable be' SYMLINK ircd string 'Which permissions do you want the binary to have' IRCDMODE 711 string 'Which owner do you want the binary to have' IRCDOWN "`id | sed -e 's/.*uid=[0-9]*(//' -e 's/).*//' 2> /dev/null`" string 'Which group do you want the binary to have' IRCDGRP "`id | sed -e 's/.*gid=[0-9]*(//' -e 's/).*//' 2> /dev/null`" eval mandir=$mandir string 'Where should I install the man page' MANDIR $mandir if [ "$CFLAGS" = "none" ]; then CFLAGS="" fi if [ "$EXTRA_INCLUDEDIRS" = "none" ]; then EXTRA_INCLUDEDIRS="" fi if [ "$LDFLAGS" = "none" ]; then LDFLAGS="" fi if [ "$IRCDLIBS" = "none" ]; then IRCDLIBS="" fi if [ -n "$EXTRA_INCLUDEDIRS" ]; then for i in $EXTRA_INCLUDEDIRS; do if [ -z "$EXTRA_CPPFLAGS" ]; then EXTRA_CPPFLAGS=-I$i else EXTRA_CPPFLAGS="$EXTRA_CPPFLAGS -I$i" fi done fi if [ -z "$EXTRA_CPPFLAGS" ]; then CPPFLAGS="-I../include -I../config" else CPPFLAGS="-I../include -I../config $EXTRA_CPPFLAGS" fi echo "EXTRA_CPPFLAGS=\"$EXTRA_CPPFLAGS\"" >>$CONFIG echo "CPPFLAGS=\"$CPPFLAGS\"" >>$CONFIG bool 'Use inlining for a few crucial functions' FORCEINLINE y endmenu if [ "$ac_cv_header_poll_h" = "yes" ]; then if [ "$unet_cv_func_poll_syscall" = "yes" ]; then define_bool USE_POLL y else mainmenu_option next_comment comment 'Operating System specific defines.' bool 'You have poll(), but do you want to use it' USE_POLL n endmenu fi fi mainmenu_option next_comment comment 'Host specific defines' if [ -f /etc/resolv.conf ]; then DOMAINNAME_DEFAULT="`awk '/^domain/ { print $2; exit }' /etc/resolv.conf`" fi string 'What is the domain name of your network' DOMAINNAME $DOMAINNAME_DEFAULT if [ -z "$DOMAINNAME" ]; then DOMAINNAME=none fi string 'Please give a random seed of eight characters' RANDOM_SEED 12345678 bool 'Does your host have a reliable clock' RELIABLE_CLOCK endmenu mainmenu_option next_comment comment 'General defines' bool 'Do you want the daemon set its own uid/gid (say yes for chroot!)' CONFIG_SETUGID if [ "$CONFIG_SETUGID" = "y" ]; then int ' UID of irc daemon' IRC_UID int ' GID of irc daemon' IRC_GID bool ' Change root ('/') after start of daemon' CHROOTDIR else define_bool CHROOTDIR n define_int IRC_UID $IRC_UID define_int IRC_GID $IRC_GID bool 'Allow to specify configuration file on command line' CMDLINE_CONFIG if [ "$CMDLINE_CONFIG" = "y" ]; then echo " SECURITY: Then don't install the daemon SUID or SGID !" fi fi bool 'Do you need virtual hosting' VIRTUAL_HOST PREV_HUB=$HUB bool 'Will you connect to more then one server at a time' HUB if [ "$PREV_HUB" != "$HUB" ]; then BUFFERPOOL= fi endmenu mainmenu_option next_comment comment 'Paths and files' eval DPATH_DEFAULT="${prefix}/lib/ircd" string 'Directory where all ircd stuff resides' DPATH $DPATH_DEFAULT if [ "$CHROOTDIR" = "y" ] ; then define_string SPATH "/$SYMLINK" else define_string SPATH "$BINDIR/$SYMLINK" fi echo "The following filenames are either full paths or files within DPATH" string 'Server configuration file' CPATH 'ircd.conf' string 'Server MOTD file' MPATH 'ircd.motd' string 'Server remote MOTD file (3 lines max)' RPATH 'remote.motd' if [ "$DEBUGMODE" = "y" ]; then string 'Debug file if DEBUGMODE' LPATH '/tmp/ircd.log' else define_string LPATH "$LPATH" fi string 'File for server pid' PPATH 'ircd.pid' endmenu mainmenu_option next_comment comment 'Configuration' bool 'Use crypted passwords for operators' CRYPT_OPER_PASSWORD y DUMMY=`echo "$BUFFERPOOL" | sed -e 's/[0-9]//g'` if [ "$DUMMY" != "" ]; then BUFFERPOOL= fi if [ "$HUB" = "y" ]; then int 'Max size of the total of of all sendqs (bytes)' BUFFERPOOL 27000000 else int 'Max size of the total of of all sendqs (bytes)' BUFFERPOOL 9000000 fi bool 'Aggressively empty the sendqpool (Read Help!)' HAS_FERGUSON_FLUSHER n int 'Max receive queue for clients (bytes)' CLIENT_FLOOD 1024 int 'Maximum number of network connections (23 - (FD_SETSIZE-4))' MAXCONNECTIONS 252 int 'Default port for connections to other servers' SERVER_PORT 4400 int 'Nickname history length' NICKNAMEHISTORYLENGTH 800 bool 'Do you want to use R: lines in your configuration file' R_LINES if [ "$R_LINES" = "y" ]; then bool 'Process R: lines every rehash' R_LINES_REHASH y bool 'Process R: lines always' R_LINES_OFTEN else define_bool R_LINES_REHASH $R_LINES_REHASH define_bool R_LINES_OFTEN $R_LINES_OFTEN fi bool 'Send a short message instead of the MOTD to connecting clients' NODEFAULTMOTD y bool 'Kill connecting clients when forward and reverse DNS mismatch' KILL_IPMISMATCH n endmenu mainmenu_option next_comment comment 'Server characteristics' bool 'Do you want to have a default LIST parameter' CONFIG_LIST y if [ "$CONFIG_LIST" = "y" ]; then string 'Give default LIST parameter' DEFAULT_LIST 'T<10' define_string DEFAULT_LIST_PARAM "$DEFAULT_LIST" else define_string DEFAULT_LIST "$DEFAULT_LIST" define_bool DEFAULT_LIST_PARAM n fi bool 'K: line comments treated as a file by default' COMMENT_IS_FILE y bool 'Only nullify idle-time on PRIVMSG' IDLE_FROM_MSG y endmenu mainmenu_option next_comment comment 'Mandatory defines (you should leave these untouched)' int 'Max auto connects per class (1!)' MAXIMUM_LINKS 1 int 'KILL nick chase time limit (30)' KILLCHASETIMELIMIT 30 int 'Max number of channels per user' MAXCHANNELSPERUSER 10 int 'Max number of silence masks (15!)' MAXSILES 15 int 'Expected average banmask length (40!)' AVBANLEN 40 eval define_macro MAXSILELENGTH \'\($AVBANLEN * MAXSILES\)\' echo '* These are default values, used for class 0:' int 'Max server idle time (60)' TIMESEC 60 int 'Class 0 ping frequency (120)' PINGFREQUENCY 120 int 'Class 0 connect frequency (600)' CONNECTFREQUENCY 600 int 'Min time before a link is good (300)' HANGONGOODLINK 300 int 'Wait before reconnecting to good link (10!)' HANGONRETRYDELAY 10 int 'connect(2) timeout (90!)' CONNECTTIMEOUT 90 int 'Max send queue (40000)' DEFAULTMAXSENDQLENGTH 40000 endmenu