Author: Isomer <isomer@coders.net>
[ircu2.10.12-pk.git] / config / config-sh.in
index dee97490841f8aed5fa1dc3a81ba4b252f7f111c..9fc336e713cc3a3e60c14bbe4f6c01464a3a609d 100644 (file)
@@ -57,6 +57,21 @@ mainmenu_option next_comment
   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
@@ -88,6 +103,16 @@ comment 'Compile stuff'
     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
@@ -111,7 +136,6 @@ comment 'Compile stuff'
   if [ "$IRCDLIBS" = "none" ]; then
     IRCDLIBS=""
   fi
-  EXTRA_CPPFLAGS=""
   if [ -n "$EXTRA_INCLUDEDIRS" ]; then
     for i in $EXTRA_INCLUDEDIRS; do
       if [ -z "$EXTRA_CPPFLAGS" ]; then
@@ -122,9 +146,9 @@ comment 'Compile stuff'
     done
   fi
   if [ -z "$EXTRA_CPPFLAGS" ]; then
-    CPPFLAGS=-I../include
+    CPPFLAGS="-I../include -I../config"
   else
-    CPPFLAGS="-I../include $EXTRA_CPPFLAGS"
+    CPPFLAGS="-I../include -I../config $EXTRA_CPPFLAGS"
   fi
   echo "EXTRA_CPPFLAGS=\"$EXTRA_CPPFLAGS\"" >>$CONFIG
   echo "CPPFLAGS=\"$CPPFLAGS\"" >>$CONFIG
@@ -157,12 +181,13 @@ endmenu
 
 mainmenu_option next_comment
 comment 'General defines'
-  bool 'Change root ('/') after start of daemon' CHROOTDIR
-  bool 'Do you want the daemon set its own uid/gid' CONFIG_SETUGID
+  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
@@ -170,7 +195,6 @@ comment 'General defines'
       echo "   SECURITY: Then don't install the daemon SUID or SGID !"
     fi
   fi
-  bool 'Set up a Unix domain socket to connect clients/servers' UNIXPORT
   bool 'Do you need virtual hosting' VIRTUAL_HOST
   PREV_HUB=$HUB
   bool 'Will you connect to more then one server at a time' HUB
@@ -179,36 +203,16 @@ comment 'General defines'
   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 memory- allocation and/or leak checking' DEBUGMALLOC
-  if [ "$DEBUGMALLOC" = "y" ]; then
-    bool 'Do you want to have boundary checking' MEMMAGICNUMS
-    bool 'Do you want memory leak testing (stats M)' MEMLEAKSTATS y
-    if [ "$MEMLEAKSTATS" = "y" ]; then
-      if [ "$MEMMAGICNUMS" = "y" ]; then
-       echo "You will have extra info on allocated sizes too (MEMSIZESTATS)"
-       define_bool MEMSIZESTATS $MEMSIZESTATS
-      else
-        bool 'Do you want extra info on allocated sizes' MEMSIZESTATS y
-      fi
-      bool 'Do you want support for a time interval with /stats M' MEMTIMESTATS y
-    fi
-  else
-    define_bool MEMMAGICNUMS $MEMMAGICNUMS
-    define_bool MEMLEAKSTATS $MEMLEAKSTATS
-    define_bool MEMSIZESTATS $MEMSIZESTATS
-    define_bool MEMTIMESTATS $MEMTIMESTATS
-  fi
-  bool 'Are you testing on a host without DNS' NODNS
-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
-  define_string SPATH "$BINDIR/ircd"
+  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'
@@ -227,17 +231,36 @@ comment 'Logging (filenames are either full paths or files within DPATH)'
     if [ "$CONFIG_LOG_WHOX" = "y" ]; then
       string '   Give the path and(or) filename of this log file' WPATH 'whox.log'
     fi
+
+comment 'Bad Channel G-Lines allow operators to add channel masks to a list which prohibits local clients from being able joining channels which match the mask.  Remote BadChan Glines allow Uworld to add or remove channels from the servers internal list of badchans'
+  BADCHAN=y
+  bool 'Do you want to enable Bad Channel G-lines' BADCHAN y
+    if [ "$BADCHAN" = "y" ]; then
+      echo " "
+      echo " WARNING DO _NOT_ USE LOCAL BADCHANNEL GLINES ON UNDERNET"
+      echo " Use of LOCAL BAD Channel G-Lines can be cause for REMOVAL"
+      bool 'Allow LOCAL BAD Channel G-lines' LOCAL_BADCHAN
+    fi
+
   bool 'Do you want to log G-lines to a separate file' CONFIG_LOG_GLINES
     if [ "$CONFIG_LOG_GLINES" = "y" ]; then
       string '   Give the path and(or) filename of this log file' GPATH 'gline.log'
     fi
+  bool 'Do you want to log JUPEs to a separate file' CONFIG_LOG_JUPES y
+    if [ "$CONFIG_LOG_JUPES" = "y" ]; then
+      string '   Give the path and(or) filename of this log file' JPATH 'jupe.log'
+    fi
+  bool 'Do you want to log OPMODEs and CLEARMODEs to a separate file' CONFIG_LOG_OPMODES y
+    if [ "$CONFIG_LOG_OPMODES" = "y" ]; then
+      string '   Give the path and(or) filename of this log file' OPATH 'opmode.log'
+    fi
   bool 'Do you want to log connecting users to a separate file' CONFIG_LOG_USERS
     if [ "$CONFIG_LOG_USERS" = "y" ]; then
-      string '   Give the path and(or) filename of this log file' FNAME_USERLOG $DPATH/users
+      string '   Give the path and(or) filename of this log file' FNAME_USERLOG users.log
     fi
   bool 'Do you want to log Opers to a separate file' CONFIG_LOG_OPERS
     if [ "$CONFIG_LOG_OPERS" = "y" ]; then
-      string '   Give the path and(or) filename of this log file' FNAME_OPERLOG $DPATH/opers
+      string '   Give the path and(or) filename of this log file' FNAME_OPERLOG opers.log
     fi
   if [ "$ac_cv_header_syslog_h" = "yes" ]; then
     bool 'Do you want to use syslog' USE_SYSLOG
@@ -284,7 +307,6 @@ endmenu
 
 mainmenu_option next_comment
 comment 'Configuration'
-  bool 'Use crypted passwords for N: lines' CRYPT_LINK_PASSWORD y
   bool 'Use crypted passwords for operators' CRYPT_OPER_PASSWORD y
   DUMMY=`echo "$BUFFERPOOL" | sed -e 's/[0-9]//g'`
   if [ "$DUMMY" != "" ]; then
@@ -297,12 +319,8 @@ comment 'Configuration'
   fi
   int 'Max receive queue for clients (bytes)' CLIENT_FLOOD 1024
   int 'Maximum number of network connections (23 - (FD_SETSIZE-4))' MAXCONNECTIONS 252
-  int 'Default client listen port' PORTNUM 6667
+  int 'Default port for connections to other servers' SERVER_PORT 4400
   int 'Nickname history length' NICKNAMEHISTORYLENGTH 800
-  bool 'Allow Opers to see (dis)connects of local clients' ALLOW_SNO_CONNEXIT
-  if [ "$ALLOW_SNO_CONNEXIT" = "y" ]; then
-    bool 'Show IP address in client connection notices' SNO_CONNEXIT_IP
-  fi
   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
@@ -311,8 +329,8 @@ comment 'Configuration'
     define_bool R_LINES_REHASH $R_LINES_REHASH
     define_bool R_LINES_OFTEN $R_LINES_OFTEN
   fi
-  bool 'Do you want support for the old I:*:ONE:*:: construct (read help text!)' USEONE n
   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
@@ -336,6 +354,11 @@ comment 'Oper commands'
   bool 'Allow local opers to use the RESTART command' LOCOP_RESTART
   bool 'Allow local opers to use the DIE command' LOCOP_DIE
   bool 'Allow local opers to add local G-lines' LOCOP_LGLINE y
+  bool 'Allow local/global opers to be on any number of channels' OPER_NO_CHAN_LIMIT y
+  bool 'Allow local/global opers to set modes on local channels' OPER_MODE_LCHAN y
+  bool 'Allow local/global opers to walk through local channels modes' OPER_WALK_THROUGH_LMODES n
+  bool 'Prevent local/global opers from being kicked or deoped on local channels' NO_OPER_DEOP_LCHAN n
+
 endmenu
 
 mainmenu_option next_comment
@@ -355,18 +378,13 @@ endmenu
 mainmenu_option next_comment
 comment 'Mandatory defines (you should leave these untouched)'
   int 'Max auto connects per class (1!)' MAXIMUM_LINKS 1
-  echo '* Never define this on a production server:'
-  bool 'Enable message logging' MSGLOG_ENABLED
-  if [ "$MSGLOG_ENABLED" = "y" ]; then
-    int 'Message log size' MSGLOG_SIZE 128
-  fi
   if [ "$OPER_KILL" = "y" ]; then
     bool 'Only allow KILLs of local clients' LOCAL_KILL_ONLY
   else
     define_bool LOCAL_KILL_ONLY $LOCAL_KILL_ONLY
   fi
   int 'KILL nick chase time limit (30)' KILLCHASETIMELIMIT 30
-  int 'Max number of channels per user (recommended: 5)' MAXCHANNELSPERUSER 10
+  int 'Max number of channels per user (recommended: 10)' 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\)\'
@@ -380,3 +398,8 @@ comment 'Mandatory defines (you should leave these untouched)'
   int 'Max send queue (40000)' DEFAULTMAXSENDQLENGTH 40000
 endmenu
 
+mainmenu_option next_comment
+comment 'Experimental options (Do you know what you'\''re doing?)'
+  bool 'Use new MODE implementation' CONFIG_NEW_MODE y
+  bool 'Use new oper commands (JUPE, CLEARMODE, OPMODE, GLINE)' CONFIG_OPERCMDS y
+endmenu