CVSROOT : /home/coder-com/cvs
Module : ircu2.10
Branch tags: u2_10_11
Commit time: 2002-09-02 15:29:46 UTC
Modified files:
Tag: u2_10_11
ChangeLog README README.FreeBSD README.Solaris
include/patchlevel.h tools/linesync/linesync.sh
Log message:
Author: Kev <[EMAIL PROTECTED]> and Arjen Wolfs <[EMAIL PROTECTED]>
Log message:
Arjen:
Here's a patch with minor documentation changes (typo fixes and some
additonal OS-specific information), and a patch for linesync to not use
/tmp for temporary files, and a check to make sure it's using GNU awk.
Could you apply this before releasing .11?
Kev:
Release u2.10.11.00.
---------------------- diff included ----------------------
Index: ircu2.10/ChangeLog
diff -u ircu2.10/ChangeLog:1.290.2.121 ircu2.10/ChangeLog:1.290.2.122
--- ircu2.10/ChangeLog:1.290.2.121 Fri Aug 30 11:12:23 2002
+++ ircu2.10/ChangeLog Mon Sep 2 10:29:34 2002
@@ -1,3 +1,19 @@
+2002-09-02 Kevin L Mitchell <[EMAIL PROTECTED]>
+
+ * include/patchlevel.h: release u2.10.11.00
+
+2002-09-02 Arjen Wolfs <[EMAIL PROTECTED]>
+
+ * tools/linesync/linesync.sh: don't use /tmp, require GNU awk
+
+ * README.Solaris: include a link with more information
+
+ * README.FreeBSD: document how to increase maximum number of open
+ files on the system
+
+ * README: document account, correct a couple of typos, include
+ CFLAGS example
+
2002-08-30 Kevin L Mitchell <[EMAIL PROTECTED]>
* ircd/send.c (vsendto_opmask_butone): make vsendto_opmask_butone
Index: ircu2.10/README
diff -u ircu2.10/README:1.2.2.1 ircu2.10/README:1.2.2.2
--- ircu2.10/README:1.2.2.1 Sat Aug 3 19:11:06 2002
+++ ircu2.10/README Mon Sep 2 10:29:35 2002
@@ -13,6 +13,9 @@
- New F: (feature) lines in ircd.conf, and the GET/SET commands allow
many settings to be changed dynamically, rather than by with compile-
time configuration.
+ - The new "account" feature added to the P10 protocol, allows people to
+ remain into service bots (i.e., gnuworld) during a netsplit. This means
+ people will not have to login again once the network rejoins.
INSTALLATION
@@ -33,7 +36,7 @@
server serves a small amount of users, you will not really have to do much
of anything about performance tuning.
- - Run an OS that supports an asynchronous netwerk event engine; currently
+ - Run an OS that supports an asynchronous network event engine; currently
these are FreeBSD (kqueue), and Solaris (/dev/poll); possibly other BSDs
will also support kqueue. This will have a dramatic effect on performance.
- Make things as lean as possible: Make your server dedicated to ircu,
@@ -43,7 +46,7 @@
as your OS documentation for more information.
- With many clients connecting each second, ircu will be doing lots of DNS
lookups. Make sure that the DNS server(s) in your /etc/resolv.conf are as
- close as possible, or run a local caching DNS server on your IRC box.
+ close as possible, or run a local caching DNS server on your IRC server.
TIME SYNCHRONIZATION
@@ -57,7 +60,9 @@
As per undernet-admins CFV-165, this server contains code that will,
by default, hide certain information from ordinary users. If you do
not want this, please make sure you add -DINCLUDED_ircd_policy_h to
-CFLAGS prior to running ./configure.
+CFLAGS prior to running ./configure, like in:
+
+> CFLAGS=-DINCLUDED_ircd_policy_h ./configure
MORE INFORMATION
Index: ircu2.10/README.FreeBSD
diff -u ircu2.10/README.FreeBSD:1.1.2.1 ircu2.10/README.FreeBSD:1.1.2.2
--- ircu2.10/README.FreeBSD:1.1.2.1 Sat Aug 3 19:11:46 2002
+++ ircu2.10/README.FreeBSD Mon Sep 2 10:29:35 2002
@@ -4,6 +4,14 @@
results in much improved performance over the old poll()-based method. kqueue
is included in the more recent 4.x release of FreeBSD.
+In order for ircu to be able to serve many clients simultaneously, you need
+to increase the maximum allowable number of open files in the system. To do
+this, add lines execute commands such as the following during your system's
+boot sequence:
+
+sysctl -w kern.maxfiles=16384
+sysctl -w kern.maxfilesperproc=16384
+
Unless you will be serving thousands of clients simultaneously, you will not
need to do the following, unless of course you just can't stand having a
system that is not optimized to its limits :)
Index: ircu2.10/README.Solaris
diff -u ircu2.10/README.Solaris:1.1.2.1 ircu2.10/README.Solaris:1.1.2.2
--- ircu2.10/README.Solaris:1.1.2.1 Sat Aug 3 19:11:46 2002
+++ ircu2.10/README.Solaris Mon Sep 2 10:29:35 2002
@@ -14,5 +14,7 @@
* set soft limit on file descriptors
set rlim_fd_cur = 8192
+For more useful hints see http://www.sean.de/Solaris/soltune.html
+
Created by Sengaia <[EMAIL PROTECTED]> on July 20, 2002.
Index: ircu2.10/include/patchlevel.h
diff -u ircu2.10/include/patchlevel.h:1.10.4.58 ircu2.10/include/patchlevel.h:1.10.4.59
--- ircu2.10/include/patchlevel.h:1.10.4.58 Sat Aug 24 11:08:48 2002
+++ ircu2.10/include/patchlevel.h Mon Sep 2 10:29:35 2002
@@ -15,12 +15,12 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
- * $Id: patchlevel.h,v 1.10.4.58 2002/08/24 16:08:48 kev Exp $
+ * $Id: patchlevel.h,v 1.10.4.59 2002/09/02 15:29:35 kev Exp $
*
*/
-#define PATCHLEVEL "2"
+#define PATCHLEVEL "00"
-#define RELEASE ".11.rc."
+#define RELEASE ".11."
/*
* Deliberate empty lines
Index: ircu2.10/tools/linesync/linesync.sh
diff -u ircu2.10/tools/linesync/linesync.sh:1.1.2.1
ircu2.10/tools/linesync/linesync.sh:1.1.2.2
--- ircu2.10/tools/linesync/linesync.sh:1.1.2.1 Sat Aug 3 19:11:06 2002
+++ ircu2.10/tools/linesync/linesync.sh Mon Sep 2 10:29:36 2002
@@ -68,8 +68,23 @@
}
# Try to find programs we will need
-locate_program awk && locate_program wget && locate_program egrep && locate_program
md5sum
+locate_program wget && locate_program egrep && locate_program md5sum
+# try to find GNU awk
+awk_cmd=`which gawk`
+if [ $? ]; then
+ awk_cmd=""
+fi
+if [ -z "$awk_cmd" ]; then
+ locate_program awk
+ is_gawk=`echo | awk --version | head -1 | egrep '^GNU.+$'`
+ if [ -z "$is_gawk" ]; then
+ echo "Your version of awk is not GNU awk. Sorry."
+ exit 1
+ fi
+ awk_cmd="awk"
+fi
+
# Check for required command line parameters
if [ -z "$1" -o -z "$2" ]; then
echo "Usage: $0 <conf_path> <pid_path>"
@@ -78,7 +93,6 @@
exit 1
fi
-
# check and set up stuff
cpath=$1
ppath=$2
@@ -88,6 +102,8 @@
check_file $lpath
save_dir=$PWD; cd $dpath
tpath=$PWD; cd $save_dir
+tmp_path="$dpath/tmp"
+mkdir $tmp_path > /dev/null 2>&1
# load and check configuration
. $lpath
@@ -98,7 +114,7 @@
# Not all versions of date support %s, work around it
TS=`date +%Y%m%d%H%M%S`
-TMPFILE="/tmp/linesync.$TS"
+TMPFILE="$tmp_path/linesync.$TS"
LSFILE="$LINE_SERVER""linesync"
# Attempt to download our .conf update
wget --cache=off --quiet --output-document=$TMPFILE $LSFILE > /dev/null 2>&1
@@ -128,8 +144,8 @@
echo "# Do not remove the previous line, linesync.sh depends on it!" >> $cpath
# Do an initial merge to remove duplicates
- inpath="/tmp/linesync.tmp.$TS"
- awk '
+ inpath="$tmp_path/linesync.tmp.$TS"
+ $awk_cmd '
{
if (!loaded_template) {
command="cat " tempfile; tlines=0;
@@ -150,7 +166,7 @@
# Get the checksum
CKSUM=`md5sum $TMPFILE|cut -d' ' -f1`
-check_file="/tmp/linesync.sum.$TS"
+check_file="$tmp_path/linesync.sum.$TS"
for ck_server in $LINE_CHECK; do
sumfile="$ck_server""linesync.sum"
wget --cache=off --quiet --output-document=$check_file $sumfile > /dev/null
2>&1
@@ -167,26 +183,26 @@
# It all checks out, proceed...
# Replace the marked block in ircd.conf with the new version
-awk '
+
+$awk_cmd '
$0=="# BEGIN LINESYNC" { chop++; print $0; next }
$0=="# END LINESYNC" {
command="cat " syncfile
- while ((command | getline avar) > 0) { print avar }
+ #while ((command | getline avar) > 0) { print avar }
close(command)
chop--
}
{ if (!chop) print $0 }
-' syncfile=$TMPFILE < $inpath > /tmp/linesync.new.$TS
-
+' syncfile=$TMPFILE < $inpath > $tmp_path/linesync.new.$TS
+exit
# Back up the current ircd.conf and replace it with the new one
cp $cpath $dpath/ircd.conf.bk
-cp /tmp/linesync.new.$TS $cpath
+cp $tmp_path/linesync.new.$TS $cpath
# Rehash ircd (without caring wether or not it succeeds)
kill -HUP `cat $ppath 2>/dev/null` > /dev/null 2>&1
# (Try to) clean up
-rm -f /tmp/linesync.* > /dev/null 2>&1
+rm -rf $tmp_path > /dev/null 2>&1
# That's it...
-
----------------------- End of diff -----------------------