diff -uNr ircservices-5.0.42/Changes ircservices-5.0.43/Changes --- ircservices-5.0.42/Changes 2004-11-22 19:10:01 +0900 +++ ircservices-5.0.43/Changes 2004-12-10 15:41:16 +0900 @@ -1,5 +1,12 @@ Version 5.0 ----------- +2004/12/02 .43 Added workaround for va_copy with obsolete compilers. + Reported by +2004/12/02 Added support for SGlines on Unreal. Reported by Dionisios + K. +2004/12/02 Fixed "unknown message" on Unreal SWHOIS. Reported by + Anton Wolkov +2004/11/22 Fixed URLs in the documentation to point to the new website. 2004/11/22 .42 The mail/smtp module now allows multiple RelayHost configuration directives for backup relay servers. Suggested by Torbjorn Svennson diff -uNr ircservices-5.0.42/configure ircservices-5.0.43/configure --- ircservices-5.0.42/configure 2004-10-14 11:32:43 +0900 +++ ircservices-5.0.43/configure 2004-12-02 11:57:25 +0900 @@ -971,8 +971,7 @@ fi -# See whether compiler supports vararg macros. Don't bother caching this -# (besides, it's safer to test each time). +# See whether compiler supports various C99 features. log "test vararg macros..." cat >$CONFTMP/test.c <$CONFTMP/test.c < +void foo(int a,...) { + va_list args, args2; + va_start(args,a); + va_copy(args2, args); + va_end(args); + va_end(args2); +} +int main() { + foo(1,2); + return 0; +} +EOT +if run $CC $CONFTMP/test.c -o $CONFTMP/test && run $CONFTMP/test ; then + log "va_copy ok." + NO_VA_COPY= +else + log "va_copy NG!" + if [ ! "$WARNED_OLD_GCC" ] ; then + cat <>config.h.new <>config.h.new <>config.h.new <1-3. IRC Services home page and download URL

The official IRC Services home page is located at -http://www.ircservices.za.net/. +http://www.ircservices.esper.net/. This page contains up-to-date information on Services (including much of the information in this section), as well as links to download Services and a copy of this manual.

The primary download site is located at -ftp://ftp.ircservices.za.net/pub/ircservices/ (located in South Africa); -the most recent version of the Services source code distribution can always -be obtained at -ftp://ftp.ircservices.za.net/pub/ircservices/current.tar.gz. -Mirrors of the download site are available at: +http://www.ircservices.esper.net/download/ +(located in Japan). Mirrors of the download site are available at:

  • ftp://ftp.esper.net/ircservices/ (Western USA)
  • ftp://ftp.electrocity.com/pub/ircservices/ (Eastern USA) @@ -312,7 +309,7 @@ Anyone may subscribe to the mailing list and participate in the discussion, but you must subscribe before you will be allowed to send mail to the list. You can subscribe to the list by visiting -http://www.ircservices.za.net/mailman/listinfo/ircservices. +http://lists.ircservices.esper.net/mailman/listinfo/ircservices. You will be sent a confirmation E-mail message; reply to that message and you will be subscribed to the list. If you later want to unsubscribe, visit the same page and select "Edit Options" after entering your E-mail @@ -320,9 +317,9 @@ delivery options from that page.

    Once you have subscribed, the address for posting to the list is -ircservices@ircservices.za.net. +ircservices@ircservices.esper.net. Archives of past messages to the list are available at -http://www.ircservices.za.net/pipermail/ircservices/; +http://lists.ircservices.esper.net/pipermail/ircservices/; please check the archives before asking a question to make sure your question has not been answered already. @@ -336,9 +333,9 @@ including the author of Services, cannot read them.

    Users who intend to modify or extend Services may also wish to join the -ircservices-coding@ircservices.za.net mailing list; information on +ircservices-coding@ircservices.esper.net mailing list; information on this mailing list can be found at -http://www.ircservices.za.net/mailman/listinfo/ircservices-coding. +http://lists.ircservices.esper.net/mailman/listinfo/ircservices-coding. Please note that discussions on this list are frequently very technical in nature, and questions about setting up or using Services will not be answered there. @@ -380,11 +377,9 @@ directory of the Services distribution, which detail all changes made in each version of Services. -

    The Services home page is -designed and maintained by Andrew -Kempe, who also maintains the -primary download -site. Mirrors of the download site are provided by +

    The Services home page +was designed by Andrew Kempe. +Mirrors of the download site are provided by Ian Justman, Michael Raff, Michael Haardt, diff -uNr ircservices-5.0.42/docs/2.html ircservices-5.0.43/docs/2.html --- ircservices-5.0.42/docs/2.html 2004-06-30 11:56:31 +0900 +++ ircservices-5.0.43/docs/2.html 2004-12-02 12:04:07 +0900 @@ -63,12 +63,12 @@ version 2.95.3, or version 3.2 or later. Services currently uses some extensions to the C language provided by GCC, and is unlikely to compile on other compilers; Services also takes advantage of recent additions to the C -standard (often referred to as "C99"), in particular "variadic macros", -which are not supported by older versions of GCC. This version of Services -may compile with such older versions, albeit with less specific error -messages in some circumstances, but support for them is planned to be -removed completely in a future version. Also note that early versions in -the 3.x series were reported to have problems, and should not be used. +standard (often referred to as "C99") which are not supported by older +versions of GCC. This version of Services may compile with such older +versions, albeit with less specific error messages in some circumstances, +but support for them is planned to be removed completely in Services 5.1. +Also note that early 3.x versions of GCC were reported to have bugs, and +should not be used.

    Warning: GCC version 2.96, provided in some Red Hat and related Linux distributions, has bugs which cause Services to be compiled diff -uNr ircservices-5.0.42/log.c ircservices-5.0.43/log.c --- ircservices-5.0.42/log.c 2004-11-22 20:04:43 +0900 +++ ircservices-5.0.43/log.c 2004-12-10 15:46:07 +0900 @@ -98,9 +98,21 @@ static void vlogprintf(const char *fmt, va_list args) { if (nofork) { +#ifdef NO_VA_COPY + static int warned = 0; + if (!warned) { + fprintf(stderr, +"*** Cannot write log messages to stderr because Services was compiled with\n" +" an obsolete compiler. Please upgrade your compiler and recompile\n" +" Services.\n" + ); + warned = 1; + } +#else va_list argscopy; va_copy(argscopy, args); vfprintf(stderr, fmt, argscopy); +#endif } if (logfile) { check_log_rotate(); diff -uNr ircservices-5.0.42/modules/chanserv/set.c ircservices-5.0.43/modules/chanserv/set.c --- ircservices-5.0.42/modules/chanserv/set.c 2004-11-22 20:04:46 +0900 +++ ircservices-5.0.43/modules/chanserv/set.c 2004-12-10 15:46:07 +0900 @@ -278,7 +278,7 @@ else notice_lang(s_ChanServ, u, CHAN_PASSWORD_CHANGED, ci->name); memset(param, 0, len); - if (get_access(u, ci) < ACCLEV_FOUNDER) { + if (!is_founder(u, ci)) { module_log("%s!%s@%s set password as Services admin for %s", u->nick, u->username, u->host, ci->name); if (WallSetpass) diff -uNr ircservices-5.0.42/modules/mail/smtp.c ircservices-5.0.43/modules/mail/smtp.c --- ircservices-5.0.42/modules/mail/smtp.c 2004-11-22 20:04:47 +0900 +++ ircservices-5.0.43/modules/mail/smtp.c 2004-12-10 15:46:08 +0900 @@ -81,7 +81,6 @@ free_socketinfo(si); return 1; } - si->relaynum = -1; si->state = ST_GREETING; si->replycode = 0; si->garbage = 0; diff -uNr ircservices-5.0.42/modules/protocol/unreal.c ircservices-5.0.43/modules/protocol/unreal.c --- ircservices-5.0.42/modules/protocol/unreal.c 2004-11-22 20:04:49 +0900 +++ ircservices-5.0.43/modules/protocol/unreal.c 2004-12-10 15:46:09 +0900 @@ -630,6 +630,7 @@ { "SQLINE", NULL }, { "SVSMODE", m_svsmode }, { "SVS2MODE", m_svsmode }, + { "SWHOIS", NULL }, { "TKL", m_tkl }, { "UMODE2", m_umode2 }, { NULL } @@ -1499,6 +1500,25 @@ * protocols. */ +static int do_send_sgline(const char *mask, time_t expires, const char *who, + const char *reason) +{ + char buf[BUFSIZE], *s; + + s = buf; + while (*reason && s-buf < sizeof(buf)-1) { + if (*reason == ' ') + *s = '_'; + else + *s = *reason; + reason++; + s++; + } + *s = 0; + send_cmd(ServerName, "SVSNLINE + %s :%s", buf, mask); + return 1; +} + static int do_send_sqline(const char *mask, time_t expires, const char *who, const char *reason) { @@ -1521,6 +1541,12 @@ * protocols. */ +static int do_cancel_sgline(const char *mask) +{ + send_cmd(ServerName, "SVSNLINE - :%s", mask); + return 1; +} + static int do_cancel_sqline(const char *mask) { send_cmd(ServerName, "UNSQLINE %s", mask); @@ -1582,10 +1608,14 @@ module_log("Unable to add cancel_exclude callback"); } } else if (strcmp(modname, "operserv/sline") == 0) { + if (!add_callback(mod, "send_sgline", do_send_sgline)) + module_log("Unable to add send_sgline callback"); if (!add_callback(mod, "send_sqline", do_send_sqline)) module_log("Unable to add send_sqline callback"); if (!add_callback(mod, "send_szline", do_send_szline)) module_log("Unable to add send_szline callback"); + if (!add_callback(mod, "cancel_sgline", do_cancel_sgline)) + module_log("Unable to add cancel_sgline callback"); if (!add_callback(mod, "cancel_sqline", do_cancel_sqline)) module_log("Unable to add cancel_sqline callback"); if (!add_callback(mod, "cancel_szline", do_cancel_szline)) diff -uNr ircservices-5.0.42/version.sh ircservices-5.0.43/version.sh --- ircservices-5.0.42/version.sh 2004-10-14 11:33:11 +0900 +++ ircservices-5.0.43/version.sh 2004-12-10 15:41:27 +0900 @@ -6,7 +6,7 @@ # $PROGRAM is the string returned as the first part of a /VERSION reply, # and must not contain spaces. It is not used anywhere else. PROGRAM=ircservices -VERSION=5.0.42 +VERSION=5.0.43 # Increment Services build number if [ -f version.c ] ; then