summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgeniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b <geniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>2005-04-07 17:45:03 +0000
committergeniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b <geniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>2005-04-07 17:45:03 +0000
commit4a051a7fe1367874d1dca2206ade5f6f1f7256d6 (patch)
tree6f8fd1661d62d86ba1c49e259bbd3d1be2d61702
parentce2c4d02c824552076bff61daee7824c46edc46d (diff)
BUILD : 1.7.8 (657) BUGS : 346 351 341 328 345 NOTES : Added channame to XOP/ACCESS/AKICK CLEAR, added checks to /hs off, fixed guest nick to take an unused nick, added SVN revision to win32 versions, fixed /ns alist to not accept invalid access levels, improved Config script, fixed responses for /ns glist/alist -- ty qa ;)
git-svn-id: svn://svn.anope.org/anope/trunk@657 31f1291d-b8d6-0310-a050-a5561fc1590b git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@505 5417fbe8-f217-4b02-8779-1006273d7864
-rw-r--r--Changes9
-rwxr-xr-xConfig177
-rw-r--r--include/version.sh.c9
-rw-r--r--lang/cat.l10
-rw-r--r--lang/de.l12
-rw-r--r--lang/en_us.l12
-rw-r--r--lang/es.l12
-rw-r--r--lang/fr.l12
-rw-r--r--lang/it.l12
-rw-r--r--lang/nl.l12
-rw-r--r--lang/pl.l10
-rw-r--r--lang/pt.l12
-rw-r--r--lang/tr.l12
-rw-r--r--src/chanserv.c6
-rw-r--r--src/hostserv.c19
-rw-r--r--src/nickserv.c23
-rw-r--r--src/shadowircd.c11
-rw-r--r--version.log6
18 files changed, 225 insertions, 151 deletions
diff --git a/Changes b/Changes
index c9a67043e..083dd2c8d 100644
--- a/Changes
+++ b/Changes
@@ -10,6 +10,9 @@ Provided by Anope Dev. <dev@anope.org> - 2005
02/13 A Internal Event support, see EVENTS in the doc folder for help [ #00]
02/05 A Support for Unreal 3.2 +I channel mode. [ #00]
02/03 A Merged anope-win32 branch into the main, now Win32 ready. [ #00]
+04/07 F Added channel names to XOP/ACCESS/AKICK CLEAR [#346]
+04/07 F Only users with vHost/vIdent can /hostserv off [#351]
+04/07 F Make sure nick isn't in use on nickserv collide [#341]
04/01 F Sync state for leaf-servers not updated correctly. [ #00]
03/30 F ChanServ now sets topic again when channel is re-created. [#339]
03/29 F Changed anoperc script to use kill numerics for compliance. [ #00]
@@ -61,13 +64,17 @@ Provided by Anope Dev. <dev@anope.org> - 2005
03/07 R Removed Proxy Detector from core. [ #00]
Provided by Trystan <trystan@nomadirc.net> - 2005
+04/07 F Win32 now includes SVN revision in version [#328]
03/16 F Shadowircd nick handling and vhost changing [#321]
03/14 R Removed some old irc-services convertor ifdef's [#317]
Provided by DrStein <drstein@anope.org> - 2005
+04/07 A NickServ's ALIST won't accept invalid access levels for min_level [ #00]
03/22 A Compiling extra tools (db-merger, epona2anope) [ #00]
+03/17 A Improvements on Config script. [ #00]
03/17 A OS SET SQL ON shall warn about SQL disabled in services.conf [ #00]
03/15 A ChanServ will now include the channel name in SET's responses [#318]
+04/07 F NickServ shall give the correct response to GLIST/ALIST [#345]
03/15 F ChanServ's do_getkey() function is now using notice_lang() [#319]
03/14 F Updated docs/FAQ. [#312]
03/09 F Updated Spanish language file (es.l). [ #00]
@@ -86,6 +93,8 @@ Provided by crazytoon <da.crew@gmx.net> - 2005
Provided by BarkerJr <barkerjr@barkerjr.net> - 2005
02/05 A Setting and Removal of SQLINEs on forbid of Channels and Nicks. [ #00]
+Provided by nenolod <nenolod@gmail.com> - 2005
+04/07 F Numerous ShadowIRCD fixes [ #00]
Anope Version 1.7.8
-------------------
diff --git a/Config b/Config
index c93b2c8ff..bb4417927 100755
--- a/Config
+++ b/Config
@@ -17,6 +17,69 @@ echo2 () {
$ECHO2 "$*$ECHO2SUF" # these are defined later
}
+exists () { # because some shells don't have test -e
+ if [ -f $1 -o -d $1 -o -p $1 -o -c $1 -o -b $1 ] ; then
+ return 0
+ else
+ return 1
+ fi
+}
+
+Load_Cache () {
+ if [ -f config.cache -a -r config.cache -a ! "$IGNORE_CACHE" ] ; then
+ echo "Using defaults from config.cache. To ignore, ./Config -nocache"
+ echo ""
+ . config.cache
+ CAN_QUICK="yes"
+ else
+ CAN_QUICK="no"
+ fi
+}
+
+Run_Configure () {
+WITH_BIN=""
+WITH_DATA=""
+WITH_ENC=""
+WITH_IRCD=""
+WITH_RUN=""
+WITH_PERM=""
+WITH_MYSQL=""
+
+if [ "$BINDEST" != "" ] ; then
+ WITH_BIN=" --with-bindir=$BINDEST"
+ WITH_DATA=" --with-datadir=$DATDEST"
+fi
+
+if [ "$DATDEST" != "" ] ; then
+ WITH_DATA=" --with-datadir=$DATDEST"
+fi
+
+if [ "$ENCRYPTION" != "" ] ; then
+ WITH_ENC=" --with-encryption"
+fi
+
+if [ "$IRCTYPE_DEF" != "" ] ; then
+ WITH_IRCD=" --with-ircd=$IRCTYPE_DEF"
+fi
+
+if [ "$RUNGROUP" != "" ] ; then
+ WITH_RUN=" --with-rungroup=$RUNGROUP"
+fi
+
+if [ "$UMASK" != "" ] ; then
+ WITH_PERM=" --with-permissions=$UMASK"
+fi
+
+if [ "$MYSQL" != "yes" ] ; then
+ WITH_MYSQL=" --without-mysql"
+fi
+
+
+echo "./configure $WITH_BIN $WITH_DATA $WITH_ENC $WITH_IRCD $WITH_RUN $WITH_PERM $WITH_MYSQL"
+
+./configure $WITH_BIN $WITH_DATA $WITH_ENC $WITH_IRCD $WITH_RUN $WITH_PERM $WITH_MYSQL
+}
+
ECHO2SUF=''
if [ "`echo -n a ; echo -n b`" = "ab" ] ; then
ECHO2='echo -n'
@@ -30,14 +93,6 @@ else
fi
export ECHO2 ECHO2SUF
-exists () { # because some shells don't have test -e
- if [ -f $1 -o -d $1 -o -p $1 -o -c $1 -o -b $1 ] ; then
- return 0
- else
- return 1
- fi
-}
-
###########################################################################
# Init values
###########################################################################
@@ -48,39 +103,55 @@ RUNGROUP=
UMASK=
IRCTYPE="no default"
ENCRYPTION=
+CAN_QUICK="no"
###########################################################################
-# Load the cache
+# Check out the options
###########################################################################
-if [ -f config.cache -a -r config.cache -a ! "$IGNORE_CACHE" ] ; then
-cat <<EOT
- Using defaults from config.cache. To ignore, rm config.cache
-EOT
-. config.cache
-fi
+while [ $# -ge 1 ] ; do
+ if [ $1 = "--help" ] ; then
+ echo "Config utility for Anope"
+ echo "------------------------"
+ echo "Syntax: ./Config [options]"
+ echo "-nocache Ignore settings saved in config.cache"
+ echo "-nointro Skip intro (disclaimer, etc)"
+ echo "-quick Skip questions, go straight to configure"
+ exit 0
+ elif [ $1 = "-nocache" ] ; then
+ IGNORE_CACHE="1"
+ elif [ $1 = "-nointro" ] ; then
+ NO_INTRO="1"
+ elif [ $1 = "-quick" -o $1 = "-q" ] ; then
+ Load_Cache
+ if [ $CAN_QUICK = "yes" ] ; then
+ Run_Configure
+ else
+ echo ""
+ echo "Can't find cache file (config.cache), aborting..."
+ fi
+ exit 0
+ fi
+ shift 1
+done
###########################################################################
+if [ ! "$NO_INTRO" ] ; then
+ clear
+ more .BANNER
+ echo ""
+else
+ echo ""
+fi
-echo ""
-echo "-========================= A N O P E ==========================-"
-echo "For more detailed information on the features of Anope1.7 please"
-echo "read the self-named documentation found on the 'docs' directory."
-echo ""
-
-echo "Anope is a set of IRC Service expanded upon Lara's Epona, based"
-echo "on Andy Church's IRC Services. For all your Anope needs please"
-echo "visit our portal at http://www.anope.org/"
-echo ""
-
-echo "Please read the INSTALL file for install/upgrade instructions."
-echo "Reading the FAQ and README files would be a good idea too. (all"
-echo "documentation is located on directory 'docs')."
-echo "-==============================================================-"
-echo ""
echo "Beginning Services configuration."
echo ""
###########################################################################
+# Load the cache
+###########################################################################
+if [ ! "$IGNORE_CACHE" ] ; then
+ Load_Cache
+fi
# Ask the user anything we need to know ahead of time.
@@ -395,46 +466,4 @@ echo "done."
################################################################################
# Build the configure string
################################################################################
-
-WITH_BIN=""
-WITH_DATA=""
-WITH_ENC=""
-WITH_IRCD=""
-WITH_RUN=""
-WITH_PERM=""
-WITH_MYSQL=""
-
-if [ "$BINDEST" != "" ] ; then
- WITH_BIN=" --with-bindir=$BINDEST"
- WITH_DATA=" --with-datadir=$DATDEST"
-fi
-
-if [ "$DATDEST" != "" ] ; then
- WITH_DATA=" --with-datadir=$DATDEST"
-fi
-
-if [ "$ENCRYPTION" != "" ] ; then
- WITH_ENC=" --with-encryption"
-fi
-
-if [ "$IRCTYPE_DEF" != "" ] ; then
- WITH_IRCD=" --with-ircd=$IRCTYPE_DEF"
-fi
-
-if [ "$RUNGROUP" != "" ] ; then
- WITH_RUN=" --with-rungroup=$RUNGROUP"
-fi
-
-if [ "$UMASK" != "" ] ; then
- WITH_PERM=" --with-permissions=$UMASK"
-fi
-
-if [ "$MYSQL" != "yes" ] ; then
- WITH_MYSQL=" --without-mysql"
-fi
-
-
-echo "./configure $WITH_BIN $WITH_DATA $WITH_ENC $WITH_IRCD $WITH_RUN $WITH_PERM $WITH_MYSQL"
-
-./configure $WITH_BIN $WITH_DATA $WITH_ENC $WITH_IRCD $WITH_RUN $WITH_PERM $WITH_MYSQL
-
+Run_Configure
diff --git a/include/version.sh.c b/include/version.sh.c
index 0332fddfe..4be369bcb 100644
--- a/include/version.sh.c
+++ b/include/version.sh.c
@@ -22,6 +22,7 @@
long version_major, version_minor, version_patch, version_build, build;
char *version_extra;
char version[1024];
+char version_dotted[1024];
void load_ctrl(FILE *);
@@ -45,9 +46,11 @@ int main()
load_ctrl(fd);
fclose(fd);
- _snprintf(version, 1024, "%d.%d.%d%s", version_major, version_minor,
- version_patch, version_extra ? version_extra : "");
+ _snprintf(version, 1024, "%d.%d.%d%s (%d)", version_major, version_minor,
+ version_patch, (version_extra ? version_extra : ""), version_build);
+ _snprintf(version_dotted, 1024, "%d.%d.%d%s.%d", version_major, version_minor,
+ version_patch, (version_extra ? version_extra : ""), version_build);
fd = fopen("version.h", "r");
@@ -205,6 +208,8 @@ void parse_line(FILE * fd, char *line)
fprintf(fd, "%d", build);
else if (!strcmp(varbegin, "VERSION"))
fprintf(fd, "%s", version);
+ else if (!strcmp(varbegin, "VERSIONDOTTED"))
+ fprintf(fd, "%s", version_dotted);
fputc(tmp, fd);
}
c = var;
diff --git a/lang/cat.l b/lang/cat.l
index a30b38aea..7699ad2a6 100644
--- a/lang/cat.l
+++ b/lang/cat.l
@@ -1157,7 +1157,7 @@ CHAN_AOP_LIST_HEADER
Llista AOP per a %s:
Num Nick
CHAN_AOP_CLEAR
- La llista AOP de canals ha estat netegada.
+ La llista AOP de canals %s ha estat netegada.
# HOP messages
CHAN_HOP_SYNTAX
@@ -1189,7 +1189,7 @@ CHAN_HOP_LIST_HEADER
Llista HOP per a %s:
Num Nick
CHAN_HOP_CLEAR
- La llista HOP de canals ha estat netegada.
+ La llista HOP de canals %s ha estat netegada.
# SOP messages
CHAN_SOP_SYNTAX
@@ -1221,7 +1221,7 @@ CHAN_SOP_LIST_HEADER
Llista SOP per a %s:
Num Nick
CHAN_SOP_CLEAR
- La llista HOP de canals ha estat netegada.
+ La llista SOP de canals %s ha estat netegada.
# VOP messages
CHAN_VOP_SYNTAX
@@ -1253,7 +1253,7 @@ CHAN_VOP_LIST_HEADER
Llista VOP per a %s:
Num Nick
CHAN_VOP_CLEAR
- La llista HOP de canals ha estat netegada.
+ La llista VOP de canals %s ha estat netegada.
# ACCESS messages
CHAN_ACCESS_SYNTAX
@@ -1302,7 +1302,7 @@ CHAN_ACCESS_LIST_XOP_FORMAT
CHAN_ACCESS_LIST_AXS_FORMAT
%3d %4d %s
CHAN_ACCESS_CLEAR
- La llista d'accés pel canal ha estat netegada.
+ La llista d'accés pel canal %s ha estat netegada.
# AKICK responses
CHAN_AKICK_SYNTAX
diff --git a/lang/de.l b/lang/de.l
index 7594e0489..33a98b945 100644
--- a/lang/de.l
+++ b/lang/de.l
@@ -1164,7 +1164,7 @@ CHAN_AOP_LIST_HEADER
AOP Liste für %s:
Nummer Nickname
CHAN_AOP_CLEAR
- Die Channel AOP-Liste wurde geleert.
+ Die %s AOP-Liste wurde geleert.
# HOP messages
CHAN_HOP_SYNTAX
@@ -1195,7 +1195,7 @@ CHAN_HOP_LIST_HEADER
HOP Liste für %s:
Nummer Nickname
CHAN_HOP_CLEAR
- Die Channel HOP-Liste wurde geleert.
+ Die %s HOP-Liste wurde geleert.
# SOP messages
CHAN_SOP_SYNTAX
@@ -1226,7 +1226,7 @@ CHAN_SOP_LIST_HEADER
SOP Liste für %s:
Nummer Nickname
CHAN_SOP_CLEAR
- Die Channel SOP-Liste wurde geleert.
+ Die %s SOP-Liste wurde geleert.
# VOP messages
CHAN_VOP_SYNTAX
@@ -1257,7 +1257,7 @@ CHAN_VOP_LIST_HEADER
VOP Liste für %s:
Nummer Nickname
CHAN_VOP_CLEAR
- Die Channel VOP-Liste wurde geleert.
+ Die %s VOP-Liste wurde geleert.
# ACCESS messages
CHAN_ACCESS_SYNTAX
@@ -1306,7 +1306,7 @@ CHAN_ACCESS_LIST_XOP_FORMAT
CHAN_ACCESS_LIST_AXS_FORMAT
%3d %4d %s
CHAN_ACCESS_CLEAR
- Die Access-Liste wurde geleert.
+ Die %s Access-Liste wurde geleert.
# AKICK responses
CHAN_AKICK_SYNTAX
@@ -1350,7 +1350,7 @@ CHAN_AKICK_VIEW_FORMAT_STUCK
CHAN_AKICK_ENFORCE_DONE
AKICK ENFORCE für %s erledigt. %d User betroffen.
CHAN_AKICK_CLEAR
- Autokick-Liste wurde geleert.
+ %s Autokick-Liste wurde geleert.
# LEVELS responses
CHAN_LEVELS_SYNTAX
diff --git a/lang/en_us.l b/lang/en_us.l
index 934410885..c84c121c9 100644
--- a/lang/en_us.l
+++ b/lang/en_us.l
@@ -1136,7 +1136,7 @@ CHAN_AOP_LIST_HEADER
AOP list for %s:
Num Nick
CHAN_AOP_CLEAR
- Channel AOP list has been cleared.
+ Channel %s AOP list has been cleared.
# HOP messages
CHAN_HOP_SYNTAX
@@ -1167,7 +1167,7 @@ CHAN_HOP_LIST_HEADER
HOP list for %s:
Num Nick
CHAN_HOP_CLEAR
- Channel HOP list has been cleared.
+ Channel %s HOP list has been cleared.
# SOP messages
CHAN_SOP_SYNTAX
@@ -1198,7 +1198,7 @@ CHAN_SOP_LIST_HEADER
SOP list for %s:
Num Nick
CHAN_SOP_CLEAR
- Channel SOP list has been cleared.
+ Channel %s SOP list has been cleared.
# VOP messages
CHAN_VOP_SYNTAX
@@ -1229,7 +1229,7 @@ CHAN_VOP_LIST_HEADER
VOP list for %s:
Num Nick
CHAN_VOP_CLEAR
- Channel VOP list has been cleared.
+ Channel %s VOP list has been cleared.
# ACCESS messages
CHAN_ACCESS_SYNTAX
@@ -1278,7 +1278,7 @@ CHAN_ACCESS_LIST_XOP_FORMAT
CHAN_ACCESS_LIST_AXS_FORMAT
%3d %4d %s
CHAN_ACCESS_CLEAR
- Channel access list has been cleared.
+ Channel %s access list has been cleared.
# AKICK responses
CHAN_AKICK_SYNTAX
@@ -1322,7 +1322,7 @@ CHAN_AKICK_VIEW_FORMAT_STUCK
CHAN_AKICK_ENFORCE_DONE
AKICK ENFORCE for %s complete; %d users were affected.
CHAN_AKICK_CLEAR
- Channel akick list has been cleared.
+ Channel %s akick list has been cleared.
# LEVELS responses
CHAN_LEVELS_SYNTAX
diff --git a/lang/es.l b/lang/es.l
index 8ae62eff9..389460dfa 100644
--- a/lang/es.l
+++ b/lang/es.l
@@ -1156,7 +1156,7 @@ CHAN_AOP_LIST_HEADER
Lista AOP para %s:
Num Nick
CHAN_AOP_CLEAR
- La lista AOP de canales ha sido limpiada.
+ La lista AOP de canales %s ha sido limpiada.
# HOP messages
CHAN_HOP_SYNTAX
@@ -1188,7 +1188,7 @@ CHAN_HOP_LIST_HEADER
Lista HOP para %s:
Num Nick
CHAN_HOP_CLEAR
- La lista HOP de canales ha sido limpiada.
+ La lista HOP de canales %s ha sido limpiada.
# SOP messages
CHAN_SOP_SYNTAX
@@ -1220,7 +1220,7 @@ CHAN_SOP_LIST_HEADER
Lista SOP para %s:
Num Nick
CHAN_SOP_CLEAR
- La lista HOP de canales ha sido limpiada.
+ La lista HOP de canales %s ha sido limpiada.
# VOP messages
CHAN_VOP_SYNTAX
@@ -1252,7 +1252,7 @@ CHAN_VOP_LIST_HEADER
Lista VOP para %s:
Num Nick
CHAN_VOP_CLEAR
- La lista HOP de canales ha sido limpiada.
+ La lista HOP de canales %s ha sido limpiada.
# ACCESS messages
CHAN_ACCESS_SYNTAX
@@ -1301,7 +1301,7 @@ CHAN_ACCESS_LIST_XOP_FORMAT
CHAN_ACCESS_LIST_AXS_FORMAT
%3d %4d %s
CHAN_ACCESS_CLEAR
- La lista de acceso para el canal ha sido limpiada.
+ La lista de acceso para el canal %s ha sido limpiada.
# AKICK responses
CHAN_AKICK_SYNTAX
@@ -1345,7 +1345,7 @@ CHAN_AKICK_VIEW_FORMAT_STUCK
CHAN_AKICK_ENFORCE_DONE
AKICK ENFORCE en %s completa; %d usuarios afectados.
CHAN_AKICK_CLEAR
- La lista de kicks automaticos ha sido limpiada.
+ La lista de kicks automaticos del canal %s ha sido limpiada.
# LEVELS responses
CHAN_LEVELS_SYNTAX
diff --git a/lang/fr.l b/lang/fr.l
index 47460eb6a..061e7b865 100644
--- a/lang/fr.l
+++ b/lang/fr.l
@@ -1156,7 +1156,7 @@ CHAN_AOP_LIST_HEADER
Liste des AOPs de %s:
Num Nick
CHAN_AOP_CLEAR
- La liste des AOPs est maintenant vide.
+ La liste des AOPs de %s est maintenant vide.
# HOP messages
CHAN_HOP_SYNTAX
@@ -1187,7 +1187,7 @@ CHAN_HOP_LIST_HEADER
Liste des HOPs de %s:
Num Nick
CHAN_HOP_CLEAR
- La liste des HOPs est maintenant vide.
+ La liste des HOPs de %s est maintenant vide.
# SOP messages
CHAN_SOP_SYNTAX
@@ -1218,7 +1218,7 @@ CHAN_SOP_LIST_HEADER
Liste des SOPs de %s:
Num Nick
CHAN_SOP_CLEAR
- La liste des SOPs est maintenant vide.
+ La liste des SOPs de %s est maintenant vide.
# VOP messages
CHAN_VOP_SYNTAX
@@ -1249,7 +1249,7 @@ CHAN_VOP_LIST_HEADER
Liste des VOPs de %s:
Num Nick
CHAN_VOP_CLEAR
- La liste des VOPs est maintenant vide.
+ La liste des VOPs de %s est maintenant vide.
# ACCESS messages
CHAN_ACCESS_SYNTAX
@@ -1298,7 +1298,7 @@ CHAN_ACCESS_LIST_XOP_FORMAT
CHAN_ACCESS_LIST_AXS_FORMAT
%3d %4d %s
CHAN_ACCESS_CLEAR
- La liste d'accès est maintenant vide.
+ La liste d'accès de %s est maintenant vide.
# AKICK responses
CHAN_AKICK_SYNTAX
@@ -1345,7 +1345,7 @@ CHAN_AKICK_ENFORCE_DONE
L'application des entrées de la liste de kicks automatiques
pour %s est terminé; %d utilisateurs étaient concernés.
CHAN_AKICK_CLEAR
- La liste de kicks automatiques est maintenant vide.
+ La liste de kicks automatiques de %s est maintenant vide.
# LEVELS responses
CHAN_LEVELS_SYNTAX
diff --git a/lang/it.l b/lang/it.l
index c4f4c60d7..649665ac2 100644
--- a/lang/it.l
+++ b/lang/it.l
@@ -1152,7 +1152,7 @@ CHAN_AOP_LIST_HEADER
Lista AOP di %s:
Num Nick
CHAN_AOP_CLEAR
- La lista AOP del canale è stata svuotata.
+ La lista AOP del canale %s è stata svuotata.
# HOP messages
CHAN_HOP_SYNTAX
@@ -1183,7 +1183,7 @@ CHAN_HOP_LIST_HEADER
Lista HOP di %s:
Num Nick
CHAN_HOP_CLEAR
- La lista HOP del canale è stata svuotata.
+ La lista HOP del canale %s è stata svuotata.
# SOP messages
CHAN_SOP_SYNTAX
@@ -1214,7 +1214,7 @@ CHAN_SOP_LIST_HEADER
Lista SOP di %s:
Num Nick
CHAN_SOP_CLEAR
- La lista SOP del canale è stata svuotata.
+ La lista SOP del canale %s è stata svuotata.
# VOP messages
CHAN_VOP_SYNTAX
@@ -1245,7 +1245,7 @@ CHAN_VOP_LIST_HEADER
Lista VOP di %s:
Num Nick
CHAN_VOP_CLEAR
- La lista VOP del canale è stata svuotata.
+ La lista VOP del canale %s è stata svuotata.
# ACCESS messages
CHAN_ACCESS_SYNTAX
@@ -1293,7 +1293,7 @@ CHAN_ACCESS_LIST_XOP_FORMAT
CHAN_ACCESS_LIST_AXS_FORMAT
%3d %4d %s
CHAN_ACCESS_CLEAR
- La lista di accesso del canale è stata svuotata.
+ La lista di accesso del canale %s è stata svuotata.
# AKICK responses
CHAN_AKICK_SYNTAX
@@ -1337,7 +1337,7 @@ CHAN_AKICK_VIEW_FORMAT_STUCK
CHAN_AKICK_ENFORCE_DONE
AKICK ENFORCE su %s completato; ne sono stati influenzati %d utenti.
CHAN_AKICK_CLEAR
- La lista autokick del canale è stata svuotata.
+ La lista autokick del canale %s è stata svuotata.
# LEVELS responses
CHAN_LEVELS_SYNTAX
diff --git a/lang/nl.l b/lang/nl.l
index d3c740c7f..1601bb06a 100644
--- a/lang/nl.l
+++ b/lang/nl.l
@@ -1148,7 +1148,7 @@ CHAN_AOP_LIST_HEADER
AOP lijst voor %s:
Num Nick
CHAN_AOP_CLEAR
- Kanaal AOP lijst is leeggemaakt.
+ Kanaal %s AOP lijst is leeggemaakt.
# HOP messages
CHAN_HOP_SYNTAX
@@ -1179,7 +1179,7 @@ CHAN_HOP_LIST_HEADER
HOP lijst voor %s:
Num Nick
CHAN_HOP_CLEAR
- Kanaal HOP lijst is leeggemaakt.
+ Kanaal %s HOP lijst is leeggemaakt.
# SOP messages
CHAN_SOP_SYNTAX
@@ -1210,7 +1210,7 @@ CHAN_SOP_LIST_HEADER
SOP lijst voor %s:
Num Nick
CHAN_SOP_CLEAR
- Kanaal SOP list is leeggemaakt.
+ Kanaal %s SOP lijst is leeggemaakt.
# VOP messages
CHAN_VOP_SYNTAX
@@ -1241,7 +1241,7 @@ CHAN_VOP_LIST_HEADER
VOP lijst for %s:
Num Nick
CHAN_VOP_CLEAR
- Kanaal VOP lijst is leeggemaakt.
+ Kanaal %s VOP lijst is leeggemaakt.
# ACCESS messages
CHAN_ACCESS_SYNTAX
@@ -1290,7 +1290,7 @@ CHAN_ACCESS_LIST_XOP_FORMAT
CHAN_ACCESS_LIST_AXS_FORMAT
%3d %4d %s
CHAN_ACCESS_CLEAR
- Kanaal toegangslijst is leeggemaakt.
+ Kanaal %s toegangslijst is leeggemaakt.
# AKICK responses
CHAN_AKICK_SYNTAX
@@ -1334,7 +1334,7 @@ CHAN_AKICK_VIEW_FORMAT_STUCK
CHAN_AKICK_ENFORCE_DONE
AKICK ENFORCE voor %s compleet; %d gebruikers zijn getroffen.
CHAN_AKICK_CLEAR
- Kanaal autokick lijst is leeggemaakt.
+ Kanaal %s autokick lijst is leeggemaakt.
# LEVELS responses
CHAN_LEVELS_SYNTAX
diff --git a/lang/pl.l b/lang/pl.l
index 41942b933..8e50611fa 100644
--- a/lang/pl.l
+++ b/lang/pl.l
@@ -1238,7 +1238,7 @@ CHAN_AOP_LIST_HEADER
Lista AOP dla %s:
Nr Nick
CHAN_AOP_CLEAR
- Kana³owa lista AOP zosta³a wyczyszczona.
+ Kana³owa %s lista AOP zosta³a wyczyszczona.
# HOP messages
CHAN_HOP_SYNTAX
@@ -1271,7 +1271,7 @@ CHAN_HOP_LIST_HEADER
Lista HOP dla %s:
Nr Nick
CHAN_HOP_CLEAR
- Kana³owa lista HOP zosta³a wyczyszczona.
+ Kana³owa %s lista HOP zosta³a wyczyszczona.
# SOP messages
CHAN_SOP_SYNTAX
@@ -1304,7 +1304,7 @@ CHAN_SOP_LIST_HEADER
Lista SOP dla %s:
Nr Nick
CHAN_SOP_CLEAR
- Kana³owa lista SOP zosta³a wyczyszczona.
+ Kana³owa %s lista SOP zosta³a wyczyszczona.
# VOP messages
CHAN_VOP_SYNTAX
@@ -1337,7 +1337,7 @@ CHAN_VOP_LIST_HEADER
Lista VOP dla %s:
Nr Nick
CHAN_VOP_CLEAR
- Kana³owa lista VOP zosta³a wyczyszczona.
+ Kana³owa %s lista VOP zosta³a wyczyszczona.
# ACCESS messages
CHAN_ACCESS_SYNTAX
@@ -1393,7 +1393,7 @@ CHAN_ACCESS_LIST_XOP_FORMAT
CHAN_ACCESS_LIST_AXS_FORMAT
%3d %4d %s
CHAN_ACCESS_CLEAR
- Lista dostêpu kana³u zosta³a wyczyszczona.
+ Lista dostêpu kana³u %s zosta³a wyczyszczona.
# AKICK responses
CHAN_AKICK_SYNTAX
diff --git a/lang/pt.l b/lang/pt.l
index 09f6f1f4f..00738a04a 100644
--- a/lang/pt.l
+++ b/lang/pt.l
@@ -1146,7 +1146,7 @@ CHAN_AOP_LIST_HEADER
Lista de AOP para %s:
Núm Nick
CHAN_AOP_CLEAR
- Lista de AOP do canal foi limpa.
+ Lista de AOP do canal %s foi limpa.
# HOP messages
CHAN_HOP_SYNTAX
@@ -1177,7 +1177,7 @@ CHAN_HOP_LIST_HEADER
Lista de HOP para %s:
Núm Nick
CHAN_HOP_CLEAR
- Lista de HOP do canal foi limpa.
+ Lista de HOP do canal %s foi limpa.
# SOP messages
CHAN_SOP_SYNTAX
@@ -1208,7 +1208,7 @@ CHAN_SOP_LIST_HEADER
Lista de SOP para %s:
Núm Nick
CHAN_SOP_CLEAR
- Lista de SOP do canal foi limpa.
+ Lista de SOP do canal %s foi limpa.
# VOP messages
CHAN_VOP_SYNTAX
@@ -1239,7 +1239,7 @@ CHAN_VOP_LIST_HEADER
Lista de VOP para %s:
Núm Nick
CHAN_VOP_CLEAR
- Lista de VOP do canal foi limpa.
+ Lista de VOP do canal %s foi limpa.
# ACCESS messages
CHAN_ACCESS_SYNTAX
@@ -1288,7 +1288,7 @@ CHAN_ACCESS_LIST_XOP_FORMAT
CHAN_ACCESS_LIST_AXS_FORMAT
%3d %4d %s
CHAN_ACCESS_CLEAR
- Lista de acesso do canal apagada.
+ Lista de acesso do canal %s apagada.
# AKICK responses
CHAN_AKICK_SYNTAX
@@ -1332,7 +1332,7 @@ CHAN_AKICK_VIEW_FORMAT_STUCK
CHAN_AKICK_ENFORCE_DONE
AKICK ENFORCE para %s terminado; %d usuários afetados.
CHAN_AKICK_CLEAR
- Lista de akick do canal foi limpa.
+ Lista de akick do canal %s foi limpa.
# LEVELS responses
CHAN_LEVELS_SYNTAX
diff --git a/lang/tr.l b/lang/tr.l
index dc67d20d2..e0bc6ca69 100644
--- a/lang/tr.l
+++ b/lang/tr.l
@@ -1156,7 +1156,7 @@ CHAN_AOP_LIST_HEADER
%s kanali AOP listesi:
Num Nick
CHAN_AOP_CLEAR
- Kanalin AOP listesi temizlendi.
+ Kanalin %s AOP listesi temizlendi.
# HOP messages
CHAN_HOP_SYNTAX
@@ -1187,7 +1187,7 @@ CHAN_HOP_LIST_HEADER
%s kanali HOP listesi:
Num Nick
CHAN_HOP_CLEAR
- Kanal HOP listesi temizlendi.
+ Kanal %s HOP listesi temizlendi.
# SOP messages
CHAN_SOP_SYNTAX
@@ -1218,7 +1218,7 @@ CHAN_SOP_LIST_HEADER
%s kanali SOP listesi:
Num Nick
CHAN_SOP_CLEAR
- Kanal SOP listesi temizlendi.
+ Kanal %s SOP listesi temizlendi.
# VOP messages
CHAN_VOP_SYNTAX
@@ -1249,7 +1249,7 @@ CHAN_VOP_LIST_HEADER
%s kanali VOP listesi:
Num Nick
CHAN_VOP_CLEAR
- Kanal VOP listesi temizlendi.
+ Kanal %s VOP listesi temizlendi.
# ACCESS messages
CHAN_ACCESS_SYNTAX
@@ -1298,7 +1298,7 @@ CHAN_ACCESS_LIST_XOP_FORMAT
CHAN_ACCESS_LIST_AXS_FORMAT
%3d %4d %s
CHAN_ACCESS_CLEAR
- Kanal access listesi temizlendi.
+ Kanal %s access listesi temizlendi.
# AKICK responses
CHAN_AKICK_SYNTAX
@@ -1342,7 +1342,7 @@ CHAN_AKICK_VIEW_FORMAT_STUCK
CHAN_AKICK_ENFORCE_DONE
%s için AKICK uygulamasý tamam; %d kullanýcý için geçerli.
CHAN_AKICK_CLEAR
- Kanal akick listesi temizlendi.
+ Kanal %s akick listesi temizlendi.
# LEVELS responses
CHAN_LEVELS_SYNTAX
diff --git a/src/chanserv.c b/src/chanserv.c
index d479888a8..6ee7d0056 100644
--- a/src/chanserv.c
+++ b/src/chanserv.c
@@ -3952,7 +3952,7 @@ static int do_xop(User * u, char *xname, int xlev, int *xmsgs)
}
}
- notice_lang(s_ChanServ, u, xmsgs[13]);
+ notice_lang(s_ChanServ, u, xmsgs[13], ci->name);
} else {
syntax_error(s_ChanServ, u, xname, xmsgs[0]);
}
@@ -4293,7 +4293,7 @@ static int do_access(User * u)
ci->access = NULL;
ci->accesscount = 0;
- notice_lang(s_ChanServ, u, CHAN_ACCESS_CLEAR);
+ notice_lang(s_ChanServ, u, CHAN_ACCESS_CLEAR, ci->name);
alog("%s: %s!%s@%s (level %d) cleared access list on %s",
s_ChanServ, u->nick, u->username, u->host,
get_access(u, ci), chan);
@@ -4902,7 +4902,7 @@ static int do_akick(User * u)
ci->akick = NULL;
ci->akickcount = 0;
- notice_lang(s_ChanServ, u, CHAN_AKICK_CLEAR);
+ notice_lang(s_ChanServ, u, CHAN_AKICK_CLEAR, ci->name);
} else {
syntax_error(s_ChanServ, u, "AKICK", CHAN_AKICK_SYNTAX);
diff --git a/src/hostserv.c b/src/hostserv.c
index 38ee8dea7..e6cf50f86 100644
--- a/src/hostserv.c
+++ b/src/hostserv.c
@@ -1035,8 +1035,23 @@ int do_del(User * u)
/*************************************************************************/
int do_off(User * u)
{
- /* put any generic code here... :) */
- anope_cmd_vhost_off(u);
+ NickAlias *na;
+ char *vhost;
+ char *vident = NULL;
+ if ((na = findnick(u->nick))) {
+ if (na->status & NS_IDENTIFIED) {
+ vhost = getvHost(u->nick);
+ vident = getvIdent(u->nick);
+ if (vhost == NULL && vident == NULL)
+ notice_lang(s_HostServ, u, HOST_NOT_ASSIGNED);
+ else
+ anope_cmd_vhost_off(u);
+ } else {
+ notice_lang(s_HostServ, u, HOST_ID);
+ }
+ } else {
+ notice_lang(s_HostServ, u, HOST_NOT_REGED);
+ }
return MOD_CONT;
}
diff --git a/src/nickserv.c b/src/nickserv.c
index 54629c9d7..586362c9e 100644
--- a/src/nickserv.c
+++ b/src/nickserv.c
@@ -1761,8 +1761,11 @@ static void collide(NickAlias * na, int from_timeout)
*/
if (ircd->svsnick) {
- snprintf(guestnick, sizeof(guestnick), "%s%d", NSGuestNickPrefix,
- guestnum++);
+ /* We need to make sure the guestnick is free -- heinz */
+ do {
+ snprintf(guestnick, sizeof(guestnick), "%s%d%d",
+ NSGuestNickPrefix, getrandom32(), getrandom32());
+ } while (finduser(guestnick));
notice_lang(s_NickServ, na->u, FORCENICKCHANGE_CHANGING,
guestnick);
anope_cmd_svsnick(na->nick, guestnick, time(NULL));
@@ -3777,12 +3780,15 @@ static int do_glist(User * u)
char *nick = strtok(NULL, " ");
NickAlias *na, *na2;
+ int is_servadmin = is_services_admin(u);
+ int nick_ided = nick_identified(u);
int i;
- if ((nick ? (stricmp(nick, u->nick) ? !is_services_admin(u)
- : !nick_identified(u))
- : !nick_identified(u))) {
- notice_lang(s_NickServ, u, ACCESS_DENIED);
+ if ((nick ? (stricmp(nick, u->nick) ? !is_servadmin : !nick_ided)
+ : !nick_ided)) {
+ notice_lang(s_NickServ, u,
+ (nick_ided ? ACCESS_DENIED :
+ NICK_IDENTIFY_REQUIRED), s_NickServ);
} else if ((!nick ? !(na = u->na) : !(na = findnick(nick)))) {
notice_lang(s_NickServ, u,
(!nick ? NICK_NOT_REGISTERED : NICK_X_NOT_REGISTERED),
@@ -3879,11 +3885,14 @@ static int do_alist(User * u)
}
if (!nick_identified(u)) {
- notice_lang(s_NickServ, u, ACCESS_DENIED);
+ notice_lang(s_NickServ, u, NICK_IDENTIFY_REQUIRED, s_NickServ);
} else if (is_servadmin && nick && !na) {
notice_lang(s_NickServ, u, NICK_X_NOT_REGISTERED, nick);
} else if (na->status & NS_VERBOTEN) {
notice_lang(s_NickServ, u, NICK_X_FORBIDDEN, na->nick);
+ } else if (min_level <= ACCESS_INVALID || min_level >= ACCESS_FOUNDER) {
+ notice_lang(s_NickServ, u, CHAN_ACCESS_LEVEL_RANGE,
+ ACCESS_INVALID + 1, ACCESS_FOUNDER - 1);
} else {
int i, level;
int chan_count = 0;
diff --git a/src/shadowircd.c b/src/shadowircd.c
index 2e4dcd239..c71381782 100644
--- a/src/shadowircd.c
+++ b/src/shadowircd.c
@@ -519,7 +519,8 @@ void anope_cmd_privmsg(char *source, char *dest, const char *fmt, ...)
ud = find_uid(source);
ud2 = find_uid(dest);
- send_cmd((ud ? ud->uid : source), "PRIVMSG %s :%s", ud2->uid, buf);
+ send_cmd((ud ? ud->uid : source), "PRIVMSG %s :%s",
+ (ud2 ? ud2->uid : dest), buf);
}
void anope_cmd_privmsg2(char *source, char *dest, char *msg)
@@ -529,7 +530,8 @@ void anope_cmd_privmsg2(char *source, char *dest, char *msg)
ud = find_uid(source);
ud2 = find_uid(dest);
- send_cmd((ud ? ud->uid : source), "PRIVMSG %s :%s", ud2->uid, msg);
+ send_cmd((ud ? ud->uid : source), "PRIVMSG %s :%s",
+ (ud2 ? ud2->uid : dest), msg);
}
void anope_cmd_serv_notice(char *source, char *dest, char *msg)
@@ -772,6 +774,7 @@ void moduleAddIRCDMsgs(void)
m = createMessage("JOIN", anope_event_join); addCoreMessage(IRCD,m);
m = createMessage("KICK", anope_event_kick); addCoreMessage(IRCD,m);
m = createMessage("KILL", anope_event_kill); addCoreMessage(IRCD,m);
+ m = createMessage("SVSKILL", anope_event_kill); addCoreMessage(IRCD,m);
m = createMessage("MODE", anope_event_mode); addCoreMessage(IRCD,m);
m = createMessage("TMODE", anope_event_tmode); addCoreMessage(IRCD,m);
m = createMessage("MOTD", anope_event_motd); addCoreMessage(IRCD,m);
@@ -865,7 +868,7 @@ void anope_cmd_topic(char *whosets, char *chan, char *whosetit,
void anope_cmd_vhost_off(User * u)
{
- send_cmd(NULL, "MODE %s -v", u->uid);
+ send_cmd(NULL, "MODE %s -v", (u->uid ? u->uid : u->nick));
}
void anope_cmd_vhost_on(char *nick, char *vIdent, char *vhost)
@@ -1604,7 +1607,7 @@ int anope_event_mode(char *source, int ac, char **av)
u = find_byuid(source);
u2 = find_byuid(av[0]);
av[0] = u2->nick;
- do_umode((u ? u->nick : source), ac, av);
+ do_umode2((u ? u->nick : source), ac, av);
}
return MOD_CONT;
}
diff --git a/version.log b/version.log
index 105d10b8e..85052ebd4 100644
--- a/version.log
+++ b/version.log
@@ -8,10 +8,14 @@
VERSION_MAJOR="1"
VERSION_MINOR="7"
VERSION_PATCH="8"
-VERSION_BUILD="656"
+VERSION_BUILD="657"
# $Log$
#
+# BUILD : 1.7.8 (657)
+# BUGS : 346 351 341 328 345
+# NOTES : Added channame to XOP/ACCESS/AKICK CLEAR, added checks to /hs off, fixed guest nick to take an unused nick, added SVN revision to win32 versions, fixed /ns alist to not accept invalid access levels, improved Config script, fixed responses for /ns glist/alist -- ty qa ;)
+#
# BUILD : 1.7.8 (656)
# BUGS : 331
# NOTES : (1) Updated de.l (2) mydbgen will now be installed correctly (3) added support for cmodes +SN to solidircd