From c41ca4314507e0a28afc41a93d58f3fb188af82d Mon Sep 17 00:00:00 2001 From: William Pitcock Date: Thu, 16 May 2013 06:36:13 +0000 Subject: [PATCH] - Remove ziplinks support, patch from FalconKirtaran. (#4189) --- Config | 55 ------------------- autoconf/m4/unreal.m4 | 44 ---------------- configure | 55 ------------------- configure.ac | 1 - doc/compiling_win32.txt | 7 ++- doc/technical/protoctl.txt | 4 -- doc/technical/serverprotocol.html | 1 - doc/technical/vl.txt | 1 - doc/unreal32docs.html | 52 +++++++----------- include/modversion.h | 15 ++---- include/setup.h.in | 3 -- include/struct.h | 36 ++----------- makefile.win32 | 55 +++++-------------- src/Makefile | 7 +-- src/ircd.c | 19 ++----- src/list.c | 4 -- src/modules/Makefile.in | 2 +- src/modules/m_netinfo.c | 11 ---- src/modules/m_protoctl.c | 12 ----- src/modules/m_server.c | 41 ++------------ src/modules/m_stats.c | 39 +------------- src/packet.c | 88 ------------------------------- src/s_conf.c | 34 ------------ src/s_debug.c | 3 -- src/s_serv.c | 13 +---- src/send.c | 48 ----------------- src/win32/unrealinst.iss | 5 -- 27 files changed, 56 insertions(+), 599 deletions(-) diff --git a/Config b/Config index 34c9fb578..282f82769 100755 --- a/Config +++ b/Config @@ -52,13 +52,6 @@ else ARG="$ARG--enable-ssl=$SSLDIR " fi fi -if [ "$ZIPLINKS" = "1" ] ; then -if test x"$ZIPLINKSDIR" = "x" ; then -ARG="$ARG--enable-ziplinks " -else -ARG="$ARG--enable-ziplinks=$ZIPLINKSDIR " -fi -fi if [ "$REMOTEINC" = "1" ] ; then ARG="$ARG--enable-libcurl=$CURLDIR " fi @@ -346,9 +339,6 @@ SPATH="`pwd`/src/ircd" DEFPERM="0600" CRYPTOIRCD="" SSLDIR="" -ZIPLINKS="" -ZIPLINKSDIR="" -LISTEN_SIZE="5" NICKNAMEHISTORYLENGTH="2000" MAXSENDQLENGTH="3000000" BUFFERPOOL="18" @@ -568,49 +558,6 @@ while [ -z "$TEST" ] ; do esac done -TEST="" -while [ -z "$TEST" ] ; do - if [ "$ZIPLINKS" = "1" ] ; then - TEST="Yes" - else - TEST="No" - fi - echo "" - echo "Do you want to enable ziplinks support?" - echo $n "[$TEST] -> $c" - read cc - if [ -z "$cc" ] ; then - cc=$TEST - fi - case "$cc" in - [Yy]*) - ZIPLINKS="1" - ;; - [Nn]*) - ZIPLINKS="" - ;; - *) - echo "" - echo "You must enter either Yes or No" - TEST="" - ;; - esac -done - -if [ "$ZIPLINKS" = "1" ] ; then -TEST="$ZIPLINKSDIR" -echo "" -echo "If you know the path to zlib on your system, enter it here. If not" -echo "leave this blank" -echo $n "[$TEST] -> $c" - read cc -if [ -z "$cc" ] ; then - ZIPLINKSDIR="$TEST" -else - ZIPLINKSDIR=`eval echo $cc` # modified -fi -fi - TEST="" while [ -z "$TEST" ] ; do if [ "$REMOTEINC" = "1" ] ; then @@ -966,8 +913,6 @@ NICKNAMEHISTORYLENGTH="$NICKNAMEHISTORYLENGTH" DEFPERM="$DEFPERM" CRYPTOIRCD="$CRYPTOIRCD" SSLDIR="$SSLDIR" -ZIPLINKS="$ZIPLINKS" -ZIPLINKSDIR="$ZIPLINKSDIR" REMOTEINC="$REMOTEINC" CURLDIR="$CURLDIR" SHOWLISTMODES="$SHOWLISTMODES" diff --git a/autoconf/m4/unreal.m4 b/autoconf/m4/unreal.m4 index 7eec22232..85e1d4a38 100644 --- a/autoconf/m4/unreal.m4 +++ b/autoconf/m4/unreal.m4 @@ -207,47 +207,3 @@ AS_IF([test $enable_ssl != "no"], fi ]) ]) - -AC_DEFUN([CHECK_ZLIB], -[ -AC_ARG_ENABLE([ziplinks], - [AC_HELP_STRING([--enable-ziplinks=DIR],[enable ziplinks. will check /usr/local /usr /usr/pkg. Note that SSL does its own compression, so you won't need this for SSL links.])], - [], - [enable_ziplinks=no]) -AS_IF([test $enable_ziplinks != "no"], - [ - AC_MSG_CHECKING([for zlib]) - for dir in $enable_ziplinks /usr/local /usr /usr/pkg; do - zlibdir="$dir" - if test -f "$dir/include/zlib.h"; then - AC_MSG_RESULT(found in $zlibdir) - found_zlib="yes"; - if test "$zlibdir" != "/usr" ; then - CFLAGS="$CFLAGS -I$zlibdir/include"; - fi - AC_DEFINE([ZIP_LINKS], [], [Define if you have zlib and want zip links support.]) - break - fi - done - if test x_$found_zlib != x_yes; then - AC_MSG_RESULT([not found]) - echo "" - echo "Apparently you do not have the zlib development library installed." - echo "You have two options:" - echo "a) Install the zlib development library" - echo " and run ./Config" - echo "OR" - echo "b) If you don't need compressed links..." - echo " Run ./Config and say 'no' when asked about ziplinks support" - echo "" - exit 1 - else - IRCDLIBS="$IRCDLIBS -lz" - if test "$zlibdir" != "/usr" ; then - LDFLAGS="$LDFLAGS -L$zlibdir/lib" - fi - HAVE_ZLIB=yes - fi - AC_SUBST([HAVE_ZLIB]) - ]) -]) diff --git a/configure b/configure index 0824fc630..209a5eede 100755 --- a/configure +++ b/configure @@ -633,7 +633,6 @@ TRE_CFLAGS FD_SETSIZE BINDIR IRCDDIR -HAVE_ZLIB MODULEFLAGS CRYPTOLIB STRTOUL @@ -719,7 +718,6 @@ with_disable_extendedban_stacking with_system_tre with_system_cares enable_ssl -enable_ziplinks enable_dynamic_linking enable_inet6 enable_libcurl @@ -1350,9 +1348,6 @@ Optional Features: --disable-prefixaq Enable chanadmin (+a) and chanowner (+q) prefixes --enable-ssl= enable ssl will check /usr/local/ssl /usr/lib/ssl /usr/ssl /usr/pkg /usr/sfw /usr/local /usr - --enable-ziplinks=DIR enable ziplinks. will check /usr/local /usr - /usr/pkg. Note that SSL does its own compression, so - you won't need this for SSL links. --disable-dynamic-linking Make the IRCd statically link with shared objects rather than dynamically (noone knows if disabling @@ -6234,56 +6229,6 @@ $as_echo "#define USE_SSL /**/" >>confdefs.h fi -# Check whether --enable-ziplinks was given. -if test "${enable_ziplinks+set}" = set; then : - enableval=$enable_ziplinks; -else - enable_ziplinks=no -fi - -if test $enable_ziplinks != "no"; then : - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for zlib" >&5 -$as_echo_n "checking for zlib... " >&6; } - for dir in $enable_ziplinks /usr/local /usr /usr/pkg; do - zlibdir="$dir" - if test -f "$dir/include/zlib.h"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: found in $zlibdir" >&5 -$as_echo "found in $zlibdir" >&6; } - found_zlib="yes"; - if test "$zlibdir" != "/usr" ; then - CFLAGS="$CFLAGS -I$zlibdir/include"; - fi - -$as_echo "#define ZIP_LINKS /**/" >>confdefs.h - - break - fi - done - if test x_$found_zlib != x_yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5 -$as_echo "not found" >&6; } - echo "" - echo "Apparently you do not have the zlib development library installed." - echo "You have two options:" - echo "a) Install the zlib development library" - echo " and run ./Config" - echo "OR" - echo "b) If you don't need compressed links..." - echo " Run ./Config and say 'no' when asked about ziplinks support" - echo "" - exit 1 - else - IRCDLIBS="$IRCDLIBS -lz" - if test "$zlibdir" != "/usr" ; then - LDFLAGS="$LDFLAGS -L$zlibdir/lib" - fi - HAVE_ZLIB=yes - fi - - -fi - # Check whether --enable-dynamic-linking was given. if test "${enable_dynamic_linking+set}" = set; then : enableval=$enable_dynamic_linking; enable_dynamic_linking=$enableval diff --git a/configure.ac b/configure.ac index 913c48335..f38aa9090 100644 --- a/configure.ac +++ b/configure.ac @@ -521,7 +521,6 @@ AC_ARG_WITH(disable-extendedban-stacking, [AS_HELP_STRING([--with-disable-extend AC_ARG_WITH(system-tre, [AS_HELP_STRING([--with-system-tre], [Use the system tre package instead of bundled, discovered using pkg-config])], [], [with_system_tre=no]) AC_ARG_WITH(system-cares, [AS_HELP_STRING([--with-system-cares], [Use the system c-ares (at least version 1.6.0) package instead of bundled c-ares, discovered using pkg-config])], [], [with_system_cares=no]) CHECK_SSL -CHECK_ZLIB AC_ARG_ENABLE(dynamic-linking, [AS_HELP_STRING([--disable-dynamic-linking], [Make the IRCd statically link with shared objects rather than dynamically (noone knows if disabling dynamic linking actually does anything or not)])], [enable_dynamic_linking=$enableval], [enable_dynamic_linking="yes"]) AS_IF([test $enable_dynamic_linking = "yes"], diff --git a/doc/compiling_win32.txt b/doc/compiling_win32.txt index 9b25f324a..22c7decbf 100644 --- a/doc/compiling_win32.txt +++ b/doc/compiling_win32.txt @@ -27,7 +27,7 @@ use the FREE development kit available for Windows 7 explained below: in your path (eg: put it in c:\windows\system32). ==[ EXTERNAL LIBRARIES ]== -Fetch the external libraries (c-ares, tre, openssl, zlib, curl) from: +Fetch the external libraries (c-ares, tre, openssl, curl) from: http://www.vulnscan.org/unrealwin32dev/ ==[ COMPILING ]== @@ -40,8 +40,7 @@ http://www.vulnscan.org/unrealwin32dev/ 'nmake -f makefile.win32' B. Don't edit makefile.win32 but instead create a one-line command (which you can put in a batch file), like this (all on one line!): - nmake -f makefile.win32 USE_ZIPLINKS=1 ZLIB_INC_DIR="c:\dev\zlib" - ZLIB_LIB_DIR="c:\dev\zlib\dll32" USE_SSL=1 + nmake -f makefile.win32 USE_SSL=1 OPENSSL_INC_DIR="c:\openssl\include" OPENSSL_LIB_DIR="c:\openssl\lib" USE_REMOTEINC=1 LIBCURL_INC_DIR="c:\dev\curl-ssl\include" LIBCURL_LIB_DIR="c:\dev\curl-ssl\lib\dll-release" @@ -112,7 +111,7 @@ nmake -f makefile.win32 [your other options here] So basically you just run 'nmake -f makefile.win32 SYMBOLFILE' and then restart compiling again. -==[ COMPILING ZLIB/SSL/CURL YOURSELF ]== +==[ COMPILING SSL/CURL YOURSELF ]== This is off-topic and not explained here. Again, use the stuff from the win32 development pack unless you have a good reason to do otherwise. diff --git a/doc/technical/protoctl.txt b/doc/technical/protoctl.txt index f0d060f2a..e8fb8bbc8 100644 --- a/doc/technical/protoctl.txt +++ b/doc/technical/protoctl.txt @@ -122,10 +122,6 @@ SJB64 This token allows timestamps to be specified in base64 notation to characters following the ! represent the timestamp in base64. See doc/technical/base64.txt for information on the base64 system used. -ZIP If both servers have this set then the link will be (zlib) compressed after - the SERVER message. If one of the servers does not have ZIP in his PROTOCTL - message then the link stays uncompressed. - TKLEXT This allows 10 instead of 8 parameters in TKL's for spamfilter, see s_kline.c function m_tkl for more info on this (added in 3.2RC2). diff --git a/doc/technical/serverprotocol.html b/doc/technical/serverprotocol.html index f1d9befd5..a066eb4f4 100644 --- a/doc/technical/serverprotocol.html +++ b/doc/technical/serverprotocol.html @@ -148,7 +148,6 @@
  • e : Server has SSL Support (#define USE_SSL or answer "yes" (and have ssl libraries installed) to relevant ./Config prompt).
  • O : Server has OperOverride enabled (#undef NO_OPEROVERRIDE or answer "no" to relevant ./Config prompt).
  • o : Server has disabled Oper verify (#undef OPEROVERRIDE_VERIFY or answer "no" to relevant ./Config prompt).
  • -
  • Z : Server has ziplink support (#define ZIP_LINKS or answer "yes" to relevant ./Config prompt AND have the zlib dev libraries).
  • E : Server has extended channel mode support.
  • 3 : 3rd party modules are loaded or some system libraries are wonky.
  • m : Private message handling is 'tainted' (one or modules registered a USERMSG hook).
  • diff --git a/doc/technical/vl.txt b/doc/technical/vl.txt index a64d6db3f..f520428f4 100644 --- a/doc/technical/vl.txt +++ b/doc/technical/vl.txt @@ -34,6 +34,5 @@ P Uses poll() e SSL supported O OperOverride enabled o OperOverride without verify -Z Zip links supported 3 3rd party modules (were) loaded or unreal is any other way 'tainted' (eg: bad libs) E Extended channel modes supported diff --git a/doc/unreal32docs.html b/doc/unreal32docs.html index 6ff1e1212..e24e44aac 100644 --- a/doc/unreal32docs.html +++ b/doc/unreal32docs.html @@ -58,17 +58,16 @@ English | -- 3.7. Oper commands
    -- 3.8. SSL
    -- 3.9. IPv6
    - -- 3.10. Zip links
    - -- 3.11. Dynamic DNS/IP linking support
    - -- 3.12. Anti-flood features
    - -- 3.13. Ban types
    - -- 3.14. Spamfilter
    - -- 3.15. CIDR
    - -- 3.16. Nick Character Sets
    - -- 3.17. CGI:IRC Support
    - -- 3.18. Time Synchronization
    - -- 3.19. Authentication Types
    - -- 3.20. Other features
    + -- 3.10. Dynamic DNS/IP linking support
    + -- 3.11. Anti-flood features
    + -- 3.12. Ban types
    + -- 3.13. Spamfilter
    + -- 3.14. CIDR
    + -- 3.15. Nick Character Sets
    + -- 3.16. CGI:IRC Support
    + -- 3.17. Time Synchronization
    + -- 3.18. Authentication Types
    + -- 3.19. Other features
    4. Configuring your unrealircd.conf file
    ---4.1. Configuration file explained
    @@ -344,19 +343,12 @@ because otherwise you will not understand concepts such as 'cloaking', 'snomasks Your OS needs to have IPv6 support and you need to enable IPv6 support in UnrealIRCd during ./Config as well.

    Although microsoft has an experimental IPv6 implementation for w2k/XP it is not (yet) supported by UnrealIRCd.

    -

    3.10 - Zip links

    -

    Zip links can be turned on for server<->server links, it compresses the data by using zlib. - It can save 60-80% bandwidth... So it's quite useful for low-bandwidth links or links with - many users, it can help a lot when you are linking since a lot of data is sent about every user/channel/etc.

    -

    To compile with zip links support, you need to answer Yes to the zlib question in ./Config and set it in link::options::zip - (on both sides)

    - -

    3.11 - Dynamic DNS/IP linking support

    +

    3.10 - Dynamic DNS/IP linking support

    UnrealIRCd has some (new) nice features which helps dynamic IP users using dynamic DNS (like blah.dyndns.org). If you are linking two dynamic DNS hosts, then set link::options::nodnscache and link::options::nohostcheck.

    -

    3.12 - Anti-Flood features

    +

    3.11 - Anti-Flood features

    Throttling
    Throttling is a method that allows you to limit how fast a user can disconnect and then reconnect to your server. @@ -455,7 +447,7 @@ joins and Y is the number of seconds. If a user exceeds this limit, he/she will from joining the channel.

    -

    3.13 - Ban types

    +

    3.12 - Ban types

    Basic bantypes and cloaked hosts
    UnrealIRCd supports the basic bantypes like +b nick!user@host.
    @@ -528,7 +520,7 @@ such as +I ~c:#trusted and +I ~a:accountname.
    Modules can add other extended ban types.

    -

    3.14 - Spamfilter

    +

    3.13 - Spamfilter

    Spamfilter is a new system to fight spam, advertising, worms and other things. It works a bit like the badwords system but has several advantages.

    Spamfilters are added via the /spamfilter command which uses the following syntax:
    @@ -619,7 +611,7 @@ This feature is currently not available on Windows.

    -

    3.15 - CIDR

    +

    3.14 - CIDR

    UnrealIRCd now has support for CIDR (Classless Interdomain Routing). CIDR allows you to ban IP ranges. IPs are allocated to ISPs using CIDR, therefore, being able to set a CIDR based ban allows you to easily ban an ISP. Unreal supports CIDR for both IPv4 and IPv6. CIDR masks may be @@ -629,7 +621,7 @@ can be used in /kline, /gline, /zline, /gzline, and /shun. Unreal uses the stand IP/bits, e.g., 127.0.0.0/8 (matches 127.0.0.0 - 127.255.255.255), and fe80:0:0:123::/64 (matches fe80:0:0:123:0:0:0:0 - fe80:0:0:123:ffff:ffff:ffff:ffff).

    -

    3.16 - Nick Character Sets

    +

    3.15 - Nick Character Sets

    UnrealIRCd now has the ability to specify which charsets/languages should be allowed in nicknames. You do this in set::allowed-nickchars.
    A table of all possible choices:
    @@ -686,14 +678,14 @@ Example 2, if you have mainly chinese users and want to allow "normal" chinese c

    set { allowed-nickchars { chinese-simp; chinese-trad; }; };

    -

    3.17 - CGI:IRC Support

    +

    3.16 - CGI:IRC Support

    UnrealIRCd has support for CGI:IRC host spoofing, which means you can mark specific CGI:IRC gateways as "trusted" which will cause the IRCd to show the users' real host/ip everywhere on IRC, instead of the host/ip of the CGI:IRC-gateway.

    See the cgiirc block for information on how to configure this.

    -

    3.18 - Time Synchronization

    +

    3.17 - Time Synchronization

    Having correct time is extremely important for IRC servers. Without correct time, channels can desynch, innocent users can be killed, channels might not show up properly in /LIST, in short: huge trouble will arrise.

    UnrealIRCd has some build-in time synchronization support. @@ -708,7 +700,7 @@ the IRCd will continue to boot regardlessly (should rarely happen).

    the set documentation for more information.

    -

    3.19 - Authentication Types

    +

    3.18 - Authentication Types

    At various places in the configuration file, for example the oper block, allow block and link block, you can authenticate clients by password or other @@ -780,7 +772,7 @@ available in UnrealIRCd.
    Another very useful place to use sslclientcertfp is in link::password-receive

    -

    3.20 - Other features

    +

    3.19 - Other features

    UnrealIRCd has a lot of features so not everything is covered here... You'll find that out by yourself.

    @@ -2120,9 +2112,6 @@ link <server-name> {

    class
    The class this server is put into, often a separate server class is used for this.

    -

    compression-level (optional)
    - Specifies the compression level (1-9) for this link. Only used if link::options::zip is set. -

    ciphers (optional)
    Specifies the SSL ciphers to use for this link. To obtain a list of available ciphers, use the `openssl ciphers` command. Ciphers should be specified as a : separated list. @@ -3658,7 +3647,6 @@ to get more information on a command.

    V - vhost - Send the vhost block list
    X - notlink - Send the list of servers that are not current linked
    Y - class - Send the class block list
    - z - zip - Send compression information about ziplinked servers (if compiled with ziplinks support)
    Z - mem - Send memory usage information
    All diff --git a/include/modversion.h b/include/modversion.h index e7f112f2b..37626ecf9 100644 --- a/include/modversion.h +++ b/include/modversion.h @@ -22,8 +22,8 @@ #include "version.h" /* What all this is for? Well, it's simple... - * Example: When someone compiles a module with zip support, but the - * core was not compiled with zip support, then the module will read + * Example: When someone compiles a module with ssl support, but the + * core was not compiled with ssl support, then the module will read * things incorrect in the struct because the module sees an extra * field half-way the struct but in the core that field does not exist, * hence all data is shifted 4 bytes causing all kinds of odd crashes, @@ -32,7 +32,7 @@ * options that cause binary incompatability (eg: changing nicklen), * we just take the most common ones... * - * NOTE: On win32 we allow ssl and zip inconsistencies because we + * NOTE: On win32 we allow ssl inconsistencies because we * explicitly use "padding" in the structs: we add a useless * placeholder so everything is still aligned correctly. * In the process of doing so, we waste several bytes per-user, @@ -44,11 +44,6 @@ #else #define MYTOKEN_SSL "" #endif - #if defined(ZIP_LINKS) && !defined(_WIN32) - #define MYTOKEN_ZIP "/ZIP" - #else - #define MYTOKEN_ZIP "" - #endif #if !defined(JOINTHROTTLE) #define MYTOKEN_JOINTHROTTLE "/NOJTHR" #else @@ -79,12 +74,12 @@ #ifdef UNREALCORE char our_mod_version[] = BASE_VERSION PATCH1 PATCH2 PATCH3 PATCH4 PATCH6 PATCH7 PATCH8 PATCH9 \ - MYTOKEN_SSL MYTOKEN_ZIP MYTOKEN_JOINTHROTTLE \ + MYTOKEN_SSL MYTOKEN_JOINTHROTTLE \ MYTOKEN_NOFLDAWAY MYTOKEN_NEWCHF MYTOKEN_INET6; unsigned int our_compiler_version = GCCVER; #else DLLFUNC char Mod_Version[] = BASE_VERSION PATCH1 PATCH2 PATCH3 PATCH4 PATCH6 PATCH7 PATCH8 PATCH9 \ - MYTOKEN_SSL MYTOKEN_ZIP MYTOKEN_JOINTHROTTLE \ + MYTOKEN_SSL MYTOKEN_JOINTHROTTLE \ MYTOKEN_NOFLDAWAY MYTOKEN_NEWCHF MYTOKEN_INET6; DLLFUNC unsigned int compiler_version = GCCVER; #endif diff --git a/include/setup.h.in b/include/setup.h.in index 74ccaea46..5b927191a 100644 --- a/include/setup.h.in +++ b/include/setup.h.in @@ -390,9 +390,6 @@ /* Define if you want to allow SSL connections */ #undef USE_SSL -/* Define if you have zlib and want zip links support. */ -#undef ZIP_LINKS - /* Define if you are compiling unrealircd on Sun's (or Oracle's?) Solaris */ #undef _SOLARIS diff --git a/include/struct.h b/include/struct.h index e355e2df7..8e95213fa 100644 --- a/include/struct.h +++ b/include/struct.h @@ -61,9 +61,6 @@ # include # endif #endif -#ifdef ZIP_LINKS -#include "zip.h" -#endif #include "auth.h" #include "tre/regex.h" @@ -155,10 +152,6 @@ typedef struct SMembershipL MembershipL; typedef struct JFlood aJFlood; typedef struct PendingNet aPendingNet; -#ifdef ZIP_LINKS -typedef struct Zdata aZdata; -#endif - #ifdef NEED_U_INT32_T typedef unsigned int u_int32_t; /* XXX Hope this works! */ #endif @@ -324,9 +317,7 @@ typedef unsigned int u_int32_t; /* XXX Hope this works! */ #define FLAGS_NETINFO 0x200000 #define FLAGS_HYBNOTICE 0x400000 #define FLAGS_QUARANTINE 0x800000 -#ifdef ZIP_LINKS -#define FLAGS_ZIP 0x1000000 -#endif +//0x1000000 unused (was ziplinks) #define FLAGS_DCCNOTICE 0x2000000 /* Has the user seen a notice on how to use DCCALLOW already? */ #define FLAGS_SHUNNED 0x4000000 #define FLAGS_VIRUS 0x8000000 /* tagged by spamfilter */ @@ -357,7 +348,7 @@ typedef unsigned int u_int32_t; /* XXX Hope this works! */ #define PROTO_NICKv2 0x0008 /* Negotiated NICKv2 protocol */ #define PROTO_SJOIN2 0x0010 /* Negotiated SJOIN2 protocol */ #define PROTO_UMODE2 0x0020 /* Negotiated UMODE2 protocol */ -#define PROTO_ZIP 0x0080 /* Negotiated ZIP protocol */ +//0x0080 unused (was ziplinks) #define PROTO_VL 0x0100 /* Negotiated VL protocol */ #define PROTO_SJ3 0x0200 /* Negotiated SJ3 protocol */ #define PROTO_VHP 0x0400 /* Send hostnames in NICKv2 even if not sethosted */ @@ -431,14 +422,6 @@ typedef unsigned int u_int32_t; /* XXX Hope this works! */ #define IsSecure(x) (0) #endif -#ifdef ZIP_LINKS -#define IsZipped(x) ((x)->flags & FLAGS_ZIP) -#define IsZipStart(x) (((x)->flags & FLAGS_ZIP) && ((x)->zip->first == 1)) -#else -#define IsZipped(x) (0) -#define IsZipStart(x) (0) -#endif - /* Fake lag exception */ #define IsNoFakeLag(x) ((x)->flags & FLAGS_NOFAKELAG) #define SetNoFakeLag(x) ((x)->flags |= FLAGS_NOFAKELAG) @@ -504,11 +487,6 @@ typedef unsigned int u_int32_t; /* XXX Hope this works! */ #define ClearHidden(x) ((x)->umodes &= ~UMODE_HIDE) #define ClearHideOper(x) ((x)->umodes &= ~UMODE_HIDEOPER) -#ifdef ZIP_LINKS -#define SetZipped(x) ((x)->flags |= FLAGS_ZIP) -#define ClearZipped(x) ((x)->flags &= ~FLAGS_ZIP) -#endif - /* * ProtoCtl options */ @@ -969,7 +947,7 @@ typedef struct { #define IsServersOnlyListener(x) ((x) && ((x)->options & LISTENER_SERVERSONLY)) #define CONNECT_SSL 0x000001 -#define CONNECT_ZIP 0x000002 +//0x000002 unused (was ziplinks) #define CONNECT_AUTO 0x000004 #define CONNECT_QUARANTINE 0x000008 #define CONNECT_NODNSCACHE 0x000010 @@ -1028,11 +1006,6 @@ struct Client { long sendM; /* Statistics: protocol messages send */ long sendK; /* Statistics: total k-bytes send */ long receiveM; /* Statistics: protocol messages received */ -#ifdef ZIP_LINKS - struct Zdata *zip; /* zip data */ -#elif defined(_WIN32) - void *zip_NOTUSED; /* (win32 binary compatability) */ -#endif #ifdef USE_SSL SSL *ssl; #elif defined(_WIN32) @@ -1289,9 +1262,6 @@ struct _configitem_link { #elif defined(_WIN32) void *ciphers_NOTUSED; #endif -#ifdef ZIP_LINKS - int compression_level; -#endif }; typedef enum { diff --git a/makefile.win32 b/makefile.win32 index e2778f43f..c44c3e60b 100644 --- a/makefile.win32 +++ b/makefile.win32 @@ -10,7 +10,7 @@ MT=mt # You are encouraged NOT to set these values here, but instead make a batch file # which passes all these arguments to nmake, like: -# nmake -f makefile.win32 USE_ZIPLINKS=1 ZLIB_INC_DIR="c:\dev\zlib" etc etc... +# nmake -f makefile.win32 USE_SSL=1 OPENSSL_INC_DIR="c:\dev\openssl" etc etc... # Both ways will work, but if you use a batch file it's easier with # upgrading Unreal as you won't have to edit this makefile again. @@ -40,22 +40,6 @@ MT=mt # ### END REMOTE INCLUDES ## -#### ZIPLINKS SUPPORT #### -#To enable ziplinks support you must have zlib installed on your system -#you can get a pre-built zlib library from http://www.winimage.com/zLibDll/ -# -# -#To enable ziplinks uncomment the next line: -#USE_ZIPLINKS=1 -# -#If your zlib library and include files are not in your compiler's -#default locations, specify the locations here: -#ZLIB_INC_DIR="c:\dev\zlib" -#ZLIB_LIB_DIR="c:\dev\zlib\dll32" -# -# -###### END ZIPLINKS ###### - ####### SSL SUPPORT ###### #To enable SSL support you must have OpenSSL installed on your system # @@ -116,18 +100,6 @@ LIBCURL_LIB=/LIBPATH:"$(LIBCURL_LIB_DIR)" !ENDIF !ENDIF -!IFDEF USE_ZIPLINKS -ZIPCFLAGS=/D ZIP_LINKS /D ZLIB_DLL -ZIPOBJ=SRC/ZIP.OBJ -ZIPLIB=zlibwapi.lib -!IFDEF ZLIB_INC_DIR -ZLIB_INC=/I "$(ZLIB_INC_DIR)" -!ENDIF -!IFDEF ZLIB_LIB_DIR -ZLIB_LIB=/LIBPATH:"$(ZLIB_LIB_DIR)" -!ENDIF -!ENDIF - !IFDEF USE_SSL SSLCFLAGS=/D USE_SSL SSLLIBS=ssleay32.lib libeay32.lib @@ -152,19 +124,19 @@ MODDBGCFLAG=/LDd /MD /Zi !ENDIF FD_SETSIZE=/D FD_SETSIZE=16384 -CFLAGS=$(DBGCFLAG) $(TRE_INC) $(CARES_INC) $(LIBCURL_INC) $(ZLIB_INC) $(OPENSSL_INC) /J /I ./INCLUDE /I ./INCLUDE/WIN32/ARES /Fosrc/ /nologo \ - $(ZIPCFLAGS) $(CURLCFLAGS) $(FD_SETSIZE) $(SSLCFLAGS) $(NS_ADDRESS) /D NOSPOOF=1 /c /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _USE_32BIT_TIME_T -CFLAGSST=$(DBGCFLAGST) $(TRE_INC) $(CARES_INC) $(LIBCURL_INC) $(ZLIB_INC) $(OPENSSL_INC) /J /I ./INCLUDE /I ./INCLUDE/WIN32/ARES /Fosrc/ /nologo \ - $(ZIPCFLAGS) $(CURLCFLAGS) $(FD_SETSIZE) $(SSLCFLAGS) $(NS_ADDRESS) /D NOSPOOF=1 /c /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _USE_32BIT_TIME_T +CFLAGS=$(DBGCFLAG) $(TRE_INC) $(CARES_INC) $(LIBCURL_INC) $(OPENSSL_INC) /J /I ./INCLUDE /I ./INCLUDE/WIN32/ARES /Fosrc/ /nologo \ + $(CURLCFLAGS) $(FD_SETSIZE) $(SSLCFLAGS) $(NS_ADDRESS) /D NOSPOOF=1 /c /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _USE_32BIT_TIME_T +CFLAGSST=$(DBGCFLAGST) $(TRE_INC) $(CARES_INC) $(LIBCURL_INC) $(OPENSSL_INC) /J /I ./INCLUDE /I ./INCLUDE/WIN32/ARES /Fosrc/ /nologo \ + $(CURLCFLAGS) $(FD_SETSIZE) $(SSLCFLAGS) $(NS_ADDRESS) /D NOSPOOF=1 /c /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _USE_32BIT_TIME_T LFLAGS=kernel32.lib user32.lib gdi32.lib shell32.lib ws2_32.lib advapi32.lib \ - dbghelp.lib oldnames.lib comctl32.lib comdlg32.lib $(CARES_LIB) $(CARESLIB) $(TRE_LIB) $(TRELIB) $(ZLIB_LIB) $(ZIPLIB) \ + dbghelp.lib oldnames.lib comctl32.lib comdlg32.lib $(CARES_LIB) $(CARESLIB) $(TRE_LIB) $(TRELIB) \ $(OPENSSL_LIB) $(SSLLIBS) $(LIBCURL_LIB) $(CURLLIB) /def:wircd.def /implib:wircd.lib \ /nologo $(DBGLFLAG) /out:WIRCD.EXE -MODCFLAGS=$(MODDBGCFLAG) $(SSLCFLAGS) $(ZIPCFLAGS) $(CURLCFLAGS) /J /Fesrc/modules/ \ - /Fosrc/modules/ /nologo $(TRE_INC) $(CARES_INC) $(LIBCURL_INC) $(ZLIB_INC) $(OPENSSL_INC) /I ./INCLUDE /D \ +MODCFLAGS=$(MODDBGCFLAG) $(SSLCFLAGS) $(CURLCFLAGS) /J /Fesrc/modules/ \ + /Fosrc/modules/ /nologo $(TRE_INC) $(CARES_INC) $(LIBCURL_INC) $(OPENSSL_INC) /I ./INCLUDE /D \ DYNAMIC_LINKING /D NOSPOOF /D MODULE_COMPILE /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _USE_32BIT_TIME_T MODLFLAGS=/link /def:src/modules/module.def wircd.lib ws2_32.lib $(TRE_LIB) $(TRELIB) $(CARES_LIB) $(OPENSSL_LIB) $(SSLLIBS) \ - $(ZLIB_LIB) $(ZIPLIB) $(LIBCURL_LIB) $(CURLLIB) + $(LIBCURL_LIB) $(CURLLIB) INCLUDES=./include/struct.h ./include/config.h ./include/sys.h \ ./include/common.h ./include/version.h ./include/h.h ./include/numeric.h \ @@ -182,7 +154,7 @@ EXP_OBJ_FILES=SRC/CHANNEL.OBJ SRC/SEND.OBJ SRC/SOCKET.OBJ \ SRC/SCACHE.OBJ SRC/ALN.OBJ SRC/RES.OBJ SRC/MODULES.OBJ \ SRC/S_SVS.OBJ SRC/EVENTS.OBJ SRC/UMODES.OBJ SRC/AUTH.OBJ SRC/CIDR.OBJ SRC/SSL.OBJ \ SRC/RANDOM.OBJ SRC/EXTCMODES.OBJ SRC/MD5.OBJ SRC/API-ISUPPORT.OBJ SRC/API-COMMAND.OBJ \ - SRC/EXTBANS.OBJ SRC/TIMESYNCH.OBJ $(ZIPOBJ) $(CURLOBJ) + SRC/EXTBANS.OBJ SRC/TIMESYNCH.OBJ $(CURLOBJ) OBJ_FILES=$(EXP_OBJ_FILES) SRC/GUI.OBJ SRC/SERVICE.OBJ SRC/DEBUG.OBJ SRC/RTF.OBJ \ SRC/EDITOR.OBJ SRC/WIN32.OBJ @@ -475,9 +447,6 @@ src/api-isupport.obj: src/api-isupport.c $(INCLUDES) src/api-command.obj: src/api-command.c $(INCLUDES) $(CC) $(CFLAGS) src/api-command.c -src/zip.obj: src/zip.c $(INCLUDES) - $(CC) $(CFLAGS) src/zip.c - src/ssl.obj: src/ssl.c $(INCLUDES) $(CC) $(CFLAGS) src/ssl.c @@ -503,8 +472,8 @@ SYMBOLFILE: MODULES: $(DLL_FILES) src/modules/commands.dll: $(MOD_FILES) $(INCLUDES) - $(CC) $(MODDBGCFLAG) $(LIBCURL_INC) $(ZLIB_INC) $(OPENSSL_INC) /nologo \ - $(SSLCFLAGS) $(ZIPCFLAGS) $(CURLCFLAGS) $(TRE_INC) /Fosrc/modules/ \ + $(CC) $(MODDBGCFLAG) $(LIBCURL_INC) $(OPENSSL_INC) /nologo \ + $(SSLCFLAGS) $(CURLCFLAGS) $(TRE_INC) /Fosrc/modules/ \ /I ./INCLUDE /D NOSPOOF /D MODULE_COMPILE /D _CRT_SECURE_NO_DEPRECATE \ /D _USE_32BIT_TIME_T $(MOD_FILES) \ $(MODLFLAGS) /OUT:src/modules/commands.dll diff --git a/src/Makefile b/src/Makefile index 7fe2e963b..ccf1aa9c7 100644 --- a/src/Makefile +++ b/src/Makefile @@ -27,7 +27,7 @@ OBJS=timesynch.o res.o s_bsd.o auth.o aln.o channel.o cloak.o crule.o dbuf.o \ s_conf.o s_debug.o s_dispatch.o s_err.o s_extra.o s_kline.o \ s_misc.o s_numeric.o s_serv.o s_svs.o $(STRTOUL) socket.o \ ssl.o s_user.o charsys.o scache.o send.o support.o umodes.o \ - version.o whowas.o zip.o cidr.o random.o extcmodes.o \ + version.o whowas.o cidr.o random.o extcmodes.o \ extbans.o md5.o api-isupport.o api-command.o $(URL) SRC=$(OBJS:%.o=%.c) @@ -53,7 +53,7 @@ INCLUDES = ../include/auth.h ../include/badwords.h ../include/channel.h \ ../include/resource.h ../include/setup.h ../include/sjoin.h \ ../include/sock.h ../include/ssl.h ../include/struct.h ../include/sys.h \ ../include/threads.h ../include/types.h ../include/url.h \ - ../include/version.h ../include/whowas.h ../include/zip.h + ../include/version.h ../include/whowas.h all: build @@ -112,9 +112,6 @@ aln.o: aln.c $(INCLUDES) auth.o: auth.c $(INCLUDES) $(CC) $(CFLAGS) -c auth.c -zip.o: zip.c $(INCLUDES) - $(CC) $(CFLAGS) -c zip.c - send.o: send.c $(INCLUDES) $(CC) $(CFLAGS) -c send.c diff --git a/src/ircd.c b/src/ircd.c index 9de9bd929..0e503ee99 100644 --- a/src/ircd.c +++ b/src/ircd.c @@ -750,7 +750,7 @@ char buf[1024]; #endif } -/** Ugly version checker that ensures zlib/ssl/curl runtime libraries match the +/** Ugly version checker that ensures ssl/curl runtime libraries match the * version we compiled for. */ static void do_version_check() @@ -768,19 +768,9 @@ int error = 0; error=1; } #endif -#ifdef ZIP_LINKS - runtime = zlibVersion(); - compiledfor = ZLIB_VERSION; - if (*compiledfor != *runtime) - { - version_check_logerror("Zlib version mismatch: compiled for '%s', library is '%s'", - compiledfor, runtime); - error = 1; - } -#endif #ifdef USE_LIBCURL /* Perhaps someone should tell them to do this a bit more easy ;) - * problem is runtime output is like: 'libcurl/7.11.1 zlib/1.2.1 c-ares/1.2.0' + * problem is runtime output is like: 'libcurl/7.11.1 c-ares/1.2.0' * while header output is like: '7.11.1'. */ { @@ -810,7 +800,7 @@ int error = 0; { #ifndef _WIN32 version_check_logerror("Header<->library mismatches can make UnrealIRCd *CRASH*! " - "Make sure you don't have multiple versions of openssl or zlib installed (eg: " + "Make sure you don't have multiple versions of openssl installed (eg: " "one in /usr and one in /usr/local). And, if you recently upgraded them, " "be sure to recompile Unreal."); #else @@ -1355,9 +1345,6 @@ int InitwIRCD(int argc, char *argv[]) #ifdef USE_SSL fprintf(stderr, " using %s\n", SSLeay_version(SSLEAY_VERSION)); #endif -#ifdef ZIP_LINKS - fprintf(stderr, " using zlib %s\n", zlibVersion()); -#endif #ifdef USE_LIBCURL fprintf(stderr, " using %s\n", curl_version()); #endif diff --git a/src/list.c b/src/list.c index d2cbaa005..c5ae7ab3c 100644 --- a/src/list.c +++ b/src/list.c @@ -178,10 +178,6 @@ void free_client(aClient *cptr) MyFree((char *)cptr->passwd); if (cptr->error_str) MyFree(cptr->error_str); -#ifdef ZIP_LINKS - if (cptr->zip) - zip_free(cptr); -#endif if (cptr->hostp) unreal_free_hostent(cptr->hostp); } diff --git a/src/modules/Makefile.in b/src/modules/Makefile.in index c824a79b5..a0810c0b9 100644 --- a/src/modules/Makefile.in +++ b/src/modules/Makefile.in @@ -30,7 +30,7 @@ INCLUDES = ../include/auth.h ../include/badwords.h ../include/channel.h \ ../include/resource.h ../include/setup.h ../include/sjoin.h \ ../include/sock.h ../include/ssl.h ../include/struct.h ../include/sys.h \ ../include/threads.h ../include/types.h ../include/url.h \ - ../include/version.h ../include/whowas.h ../include/zip.h + ../include/version.h ../include/whowas.h R_MODULES= \ m_sethost.so m_chghost.so m_chgident.so m_setname.so \ diff --git a/src/modules/m_netinfo.c b/src/modules/m_netinfo.c index 5378a450b..ef9f3ad5c 100644 --- a/src/modules/m_netinfo.c +++ b/src/modules/m_netinfo.c @@ -149,17 +149,6 @@ DLLFUNC CMD_FUNC(m_netinfo) ("Link %s -> %s is now synced [secs: %li recv: %ld.%hu sent: %ld.%hu]", cptr->name, me.name, (TStime() - endsync), sptr->receiveK, sptr->receiveB, sptr->sendK, sptr->sendB); -#ifdef ZIP_LINKS - if ((MyConnect(cptr)) && (IsZipped(cptr)) && cptr->zip->in->total_out && cptr->zip->out->total_in) { - sendto_realops - ("Zipstats for link to %s: decompressed (in): %01lu=>%01lu (%3.1f%%), compressed (out): %01lu=>%01lu (%3.1f%%)", - get_client_name(cptr, TRUE), - cptr->zip->in->total_in, cptr->zip->in->total_out, - (100.0*(float)cptr->zip->in->total_in) /(float)cptr->zip->in->total_out, - cptr->zip->out->total_in, cptr->zip->out->total_out, - (100.0*(float)cptr->zip->out->total_out) /(float)cptr->zip->out->total_in); - } -#endif sendto_serv_butone(&me, ":%s SMO o :\2(sync)\2 Link %s -> %s is now synced [secs: %li recv: %ld.%hu sent: %ld.%hu]", diff --git a/src/modules/m_protoctl.c b/src/modules/m_protoctl.c index cb357a68b..a0ea42e1e 100644 --- a/src/modules/m_protoctl.c +++ b/src/modules/m_protoctl.c @@ -280,18 +280,6 @@ CMD_FUNC(m_protoctl) proto, cptr->name)); cptr->proto |= PROTO_SJB64; } - else if (strcmp(s, "ZIP") == 0) - { - if (remove) - { - cptr->proto &= ~PROTO_ZIP; - continue; - } - Debug((DEBUG_ERROR, - "Chose protocol %s for link %s", - proto, cptr->name)); - cptr->proto |= PROTO_ZIP; - } else if (strcmp(s, "TKLEXT") == 0) { Debug((DEBUG_ERROR, "Chose protocol %s for link %s", proto, cptr->name)); diff --git a/src/modules/m_server.c b/src/modules/m_server.c index 3cffe7bf3..197641bf4 100644 --- a/src/modules/m_server.c +++ b/src/modules/m_server.c @@ -628,36 +628,7 @@ int m_server_synch(aClient *cptr, ConfigItem_link *aconf) sendto_one(cptr, "SERVER %s 1 :%s", me.name, me.info); } -#ifdef ZIP_LINKS - if (aconf->options & CONNECT_ZIP) - { - if (cptr->proto & PROTO_ZIP) - { - if (zip_init(cptr, aconf->compression_level ? aconf->compression_level : ZIP_DEFAULT_LEVEL) == -1) - { - zip_free(cptr); - sendto_realops("Unable to setup compressed link for %s", get_client_name(cptr, TRUE)); - return exit_client(cptr, cptr, &me, "zip_init() failed"); - } - SetZipped(cptr); - cptr->zip->first = 1; - } else { - sendto_realops("WARNING: Remote doesnt have link::options::zip set. Compression disabled."); - } - } -#endif -#if 0 -/* Disabled because it may generate false warning when linking with cvs versions between b14 en b15 -- Syzop */ - if ((cptr->proto & PROTO_ZIP) && !(aconf->options & CONNECT_ZIP)) - { -#ifdef ZIP_LINKS - sendto_realops("WARNING: Remote requested compressed link, but we don't have link::options::zip set. Compression disabled."); -#else - sendto_realops("WARNING: Remote requested compressed link, but we don't have zip links support compiled in. Compression disabled."); -#endif - } -#endif /* Set up server structure */ free_pending_net(cptr); SetServer(cptr); @@ -673,23 +644,19 @@ int m_server_synch(aClient *cptr, ConfigItem_link *aconf) #ifdef USE_SSL if (IsSecure(cptr)) { - sendto_serv_butone(&me, ":%s SMO o :(\2link\2) Secure %slink %s -> %s established (%s)", + sendto_serv_butone(&me, ":%s SMO o :(\2link\2) Secure link %s -> %s established (%s)", me.name, - IsZipped(cptr) ? "ZIP" : "", me.name, inpath, (char *) ssl_get_cipher((SSL *)cptr->ssl)); - sendto_realops("(\2link\2) Secure %slink %s -> %s established (%s)", - IsZipped(cptr) ? "ZIP" : "", + sendto_realops("(\2link\2) Secure link %s -> %s established (%s)", me.name, inpath, (char *) ssl_get_cipher((SSL *)cptr->ssl)); } else #endif { - sendto_serv_butone(&me, ":%s SMO o :(\2link\2) %sLink %s -> %s established", + sendto_serv_butone(&me, ":%s SMO o :(\2link\2) Link %s -> %s established", me.name, - IsZipped(cptr) ? "ZIP" : "", me.name, inpath); - sendto_realops("(\2link\2) %sLink %s -> %s established", - IsZipped(cptr) ? "ZIP" : "", + sendto_realops("(\2link\2) Link %s -> %s established", me.name, inpath); } (void)add_to_client_hash_table(cptr->name, cptr); diff --git a/src/modules/m_stats.c b/src/modules/m_stats.c index 1a5debc5f..12cd9e29c 100644 --- a/src/modules/m_stats.c +++ b/src/modules/m_stats.c @@ -111,7 +111,6 @@ int stats_uptime(aClient *, char *); int stats_denyver(aClient *, char *); int stats_notlink(aClient *, char *); int stats_class(aClient *, char *); -int stats_zip(aClient *, char *); int stats_officialchannels(aClient *, char *); int stats_spamfilter(aClient *, char *); int stats_fdtable(aClient *, char *); @@ -173,7 +172,6 @@ struct statstab StatsTable[] = { { 'v', "denyver", stats_denyver, 0 }, { 'x', "notlink", stats_notlink, 0 }, { 'y', "class", stats_class, 0 }, - { 'z', "zip", stats_zip, 0 }, { 0, NULL, NULL, 0 } }; @@ -312,10 +310,6 @@ inline void stats_help(aClient *sptr) "X - notlink - Send the list of servers that are not current linked"); sendto_one(sptr, rpl_str(RPL_STATSHELP), me.name, sptr->name, "Y - class - Send the class block list"); -#ifdef ZIP_LINKS - sendto_one(sptr, rpl_str(RPL_STATSHELP), me.name, sptr->name, - "z - zip - Send compression information about ziplinked servers"); -#endif sendto_one(sptr, rpl_str(RPL_STATSHELP), me.name, sptr->name, "Z - mem - Send memory usage information"); } @@ -502,14 +496,13 @@ int stats_links(aClient *sptr, char *para) #endif for (link_p = conf_link; link_p; link_p = (ConfigItem_link *) link_p->next) { - sendto_one(sptr, ":%s 213 %s C %s@%s * %s %i %s %s%s%s%s%s%s", + sendto_one(sptr, ":%s 213 %s C %s@%s * %s %i %s %s%s%s%s%s", me.name, sptr->name, IsOper(sptr) ? link_p->username : "*", IsOper(sptr) ? link_p->hostname : "*", link_p->servername, link_p->port, link_p->class->name, (link_p->options & CONNECT_AUTO) ? "a" : "", (link_p->options & CONNECT_SSL) ? "S" : "", - (link_p->options & CONNECT_ZIP) ? "z" : "", (link_p->options & CONNECT_NODNSCACHE) ? "d" : "", (link_p->options & CONNECT_NOHOSTCHECK) ? "h" : "", (link_p->flag.temporary == 1) ? "T" : ""); @@ -1453,36 +1446,6 @@ int stats_class(aClient *sptr, char *para) return 0; } -int stats_zip(aClient *sptr, char *para) -{ -#ifdef ZIP_LINKS - aClient *acptr; - - list_for_each_entry(acptr, &server_list, special_node) - { - if (!IsZipped(acptr)) - continue; - if (acptr->zip->in->total_out && acptr->zip->out->total_in) - { - sendto_one(sptr, - ":%s %i %s :Zipstats for link to %s (compresslevel %d): decompressed (in): %01lu=>%01lu (%3.1f%%), compressed (out): %01lu=>%01lu (%3.1f%%)", - me.name, RPL_TEXT, sptr->name, - IsAnOper(sptr) ? get_client_name(acptr, TRUE) : acptr->name, - acptr->serv->conf->compression_level ? - acptr->serv->conf->compression_level : ZIP_DEFAULT_LEVEL, - acptr->zip->in->total_in, acptr->zip->in->total_out, - (100.0*(float)acptr->zip->in->total_in) /(float)acptr->zip->in->total_out, - acptr->zip->out->total_in, acptr->zip->out->total_out, - (100.0*(float)acptr->zip->out->total_out) /(float)acptr->zip->out->total_in); - } - else - sendto_one(sptr, ":%s %i %s :Zipstats for link to %s: unavailable", - me.name, RPL_TEXT, sptr->name, acptr->name); - } -#endif - return 0; -} - int stats_linkinfo(aClient *sptr, char *para) { return stats_linkinfoint(sptr, para, 0); diff --git a/src/packet.c b/src/packet.c index 9e641ebdd..fd0e09dbc 100644 --- a/src/packet.c +++ b/src/packet.c @@ -48,10 +48,6 @@ int dopacket(aClient *cptr, char *buffer, int length) { char *ch1; char *ch2; -#ifdef ZIP_LINKS - int zipped = 0; - int done_unzip = 0; -#endif me.receiveB += length; /* Update bytes received */ cptr->receiveB += length; @@ -67,40 +63,7 @@ int dopacket(aClient *cptr, char *buffer, int length) } ch1 = cptr->buffer + cptr->count; ch2 = buffer; -#ifdef ZIP_LINKS - if (IsZipStart(cptr)) - { - if (*ch2 == '\n' || *ch2 == '\r') - { - ch2++; - length--; - } - cptr->zip->first = 0; - } else { - done_unzip = 1; - } - if (IsZipped(cptr)) - { - /* uncompressed buffer first */ - zipped = length; - cptr->zip->inbuf[0] = '\0'; /* unnecessary but nicer for debugging */ - cptr->zip->incount = 0; - ch2 = unzip_packet(cptr, ch2, &zipped); - length = zipped; - zipped = 1; - if (length == -1) - return exit_client(cptr, cptr, &me, - "fatal error in unzip_packet(1)"); - } - - /* While there is "stuff" in the compressed input to deal with, - * keep loop parsing it. I have to go through this loop at least once. - * -Dianora - */ - do - { -#endif while (--length >= 0) { char g = (*ch1 = *ch2++); @@ -136,63 +99,12 @@ int dopacket(aClient *cptr, char *buffer, int length) if (cptr->flags & FLAGS_DEADSOCKET) return exit_client(cptr, cptr, &me, cptr->error_str ? cptr->error_str : "Dead socket"); -#ifdef ZIP_LINKS - if ((IsZipped(cptr)) && (zipped == 0) && (length > 0)) - { - /* - ** beginning of server connection, the buffer - ** contained PASS/CAPAB/SERVER and is now - ** zipped! - ** Ignore the '\n' that should be here. - */ - /* Checked RFC1950: \r or \n can't start a - ** zlib stream -orabidoo - */ - zipped = length; - if (zipped > 0 && (*ch2 == '\n' || *ch2 == '\r')) - { - ch2++; - zipped--; - } - cptr->zip->first = 0; - ch2 = unzip_packet(cptr, ch2, &zipped); - length = zipped; - zipped = 1; - if (length == -1) - return exit_client(cptr, cptr, &me, - "fatal error in unzip_packet(2)"); - } -#endif ch1 = cptr->buffer; } else if (ch1 < cptr->buffer + (sizeof(cptr->buffer) - 1)) ch1++; /* There is always room for the null */ } -#ifdef ZIP_LINKS - /* Now see if anything is left uncompressed in the input - * If so, uncompress it and continue to parse - * -Dianora - */ - if ((IsZipped(cptr)) && cptr->zip->incount) - { - /* This call simply finishes unzipping whats left - * second parameter is not used. -Dianora - */ - ch2 = unzip_packet(cptr, (char *)NULL, &zipped); - length = zipped; - zipped = 1; - if (length == -1) - return exit_client(cptr, cptr, &me, - "fatal error in unzip_packet(3)"); - ch1 = ch2 + length; - done_unzip = 0; - } else { - done_unzip = 1; - } - - } while(!done_unzip); -#endif cptr->count = ch1 - cptr->buffer; return 0; } diff --git a/src/s_conf.c b/src/s_conf.c index df5e97d8e..766f1fb9c 100644 --- a/src/s_conf.c +++ b/src/s_conf.c @@ -263,7 +263,6 @@ static OperFlag _LinkFlags[] = { { CONNECT_NOHOSTCHECK, "nohostcheck" }, { CONNECT_QUARANTINE, "quarantine"}, { CONNECT_SSL, "ssl" }, - { CONNECT_ZIP, "zip" }, }; /* This MUST be alphabetized */ @@ -6471,10 +6470,6 @@ int _conf_link(ConfigFile *conf, ConfigEntry *ce) #ifdef USE_SSL else if (!strcmp(cep->ce_varname, "ciphers")) link->ciphers = strdup(cep->ce_vardata); -#endif -#ifdef ZIP_LINKS - else if (!strcmp(cep->ce_varname, "compression-level")) - link->compression_level = atoi(cep->ce_vardata); #endif } AddListItem(link, conf_link); @@ -6492,9 +6487,6 @@ int _test_link(ConfigFile *conf, ConfigEntry *ce) char has_options = 0; char has_autoconnect = 0; char has_hostname_wildcards = 0; -#ifdef ZIP_LINKS - char has_compressionlevel = 0; -#endif if (!ce->ce_vardata) { config_error("%s:%i: link without servername", @@ -6551,14 +6543,6 @@ int _test_link(ConfigFile *conf, ConfigEntry *ce) errors++; } #endif -#ifndef ZIP_LINKS - if (ofp->flag == CONNECT_ZIP) - { - config_error("%s:%i: link %s with ZIP option enabled on a non-ZIP compile", - cep->ce_fileptr->cf_filename, cep->ce_varlinenum, ce->ce_vardata); - errors++; - } -#endif if (ofp->flag == CONNECT_AUTO) { has_autoconnect = 1; @@ -6747,24 +6731,6 @@ int _test_link(ConfigFile *conf, ConfigEntry *ce) } has_ciphers = 1; } -#ifdef ZIP_LINKS - else if (!strcmp(cep->ce_varname, "compression-level")) - { - if (has_compressionlevel) - { - config_warn_duplicate(cep->ce_fileptr->cf_filename, - cep->ce_varlinenum, "link::compression-level"); - continue; - } - has_compressionlevel = 1; - if ((atoi(cep->ce_vardata) < 1) || (atoi(cep->ce_vardata) > 9)) - { - config_error("%s:%i: compression-level should be in range 1..9", - cep->ce_fileptr->cf_filename, cep->ce_varlinenum); - errors++; - } - } -#endif else { config_error_unknown(cep->ce_fileptr->cf_filename, cep->ce_varlinenum, diff --git a/src/s_debug.c b/src/s_debug.c index 1c08ce8a6..1a3fab62e 100644 --- a/src/s_debug.c +++ b/src/s_debug.c @@ -78,9 +78,6 @@ MODVAR char serveropts[] = { #endif #ifndef OPEROVERRIDE_VERIFY 'o', -#endif -#ifdef ZIP_LINKS - 'Z', #endif 'E', '\0', /* Don't change those 3 nuls. -- Syzop */ diff --git a/src/s_serv.c b/src/s_serv.c index 70a987da1..334571d72 100644 --- a/src/s_serv.c +++ b/src/s_serv.c @@ -192,10 +192,6 @@ CMD_FUNC(m_version) if (IsAnOper(sptr)) sendto_one(sptr, ":%s NOTICE %s :%s", me.name, sptr->name, OPENSSL_VERSION_TEXT); #endif -#ifdef ZIP_LINKS - if (IsAnOper(sptr)) - sendto_one(sptr, ":%s NOTICE %s :zlib %s", me.name, sptr->name, zlibVersion()); -#endif #ifdef USE_LIBCURL if (IsAnOper(sptr)) sendto_one(sptr, ":%s NOTICE %s :%s", me.name, sptr->name, curl_version()); @@ -217,8 +213,7 @@ char *num = NULL; /* * send_proto: - * Sends PROTOCTL message to server, taking care of whether ZIP - * should be enabled or not. + * Sends PROTOCTL message to server * Now split up into multiple PROTOCTL messages (again), since we have * too many for a single line. If this breaks your services because * you fail to maintain PROTOCTL state, then fix them! @@ -231,12 +226,8 @@ char buf[1024]; sendto_one(cptr, "PROTOCTL %s", PROTOCTL_SERVER); /* Second line */ - sprintf(buf, "CHANMODES=%s%s,%s%s,%s%s,%s%s NICKCHARS=%s MLOCK", + snprintf(buf, sizeof(buf), "CHANMODES=%s%s,%s%s,%s%s,%s%s NICKCHARS=%s MLOCK", CHPAR1, EXPAR1, CHPAR2, EXPAR2, CHPAR3, EXPAR3, CHPAR4, EXPAR4, langsinuse); -#ifdef ZIP_LINKS - if (aconf->options & CONNECT_ZIP) - strcat(buf, " ZIP"); -#endif sendto_one(cptr, "PROTOCTL %s", buf); } diff --git a/src/send.c b/src/send.c index 76af75d43..ba2e5f34e 100644 --- a/src/send.c +++ b/src/send.c @@ -122,9 +122,6 @@ int send_queued(aClient *to) { char *msg; int len, rlen; -#ifdef ZIP_LINKS - int more = 0; -#endif /* ** Once socket is marked dead, we cannot start writing to it, @@ -140,24 +137,6 @@ int send_queued(aClient *to) return -1; } -#ifdef ZIP_LINKS - /* - ** Here, we must make sure than nothing will be left in to->zip->outbuf - ** This buffer needs to be compressed and sent if all the sendQ is sent - */ - if ((IsZipped(to)) && to->zip->outcount) { - if (DBufLength(&to->sendQ) > 0) { - more = 1; - } else { - msg = zip_buffer(to, NULL, &len, 1); - if (len == -1) - return dead_link(to, "fatal error in zip_buffer()"); - if (!dbuf_put(&to->sendQ, msg, len)) - return dead_link(to, "Buffer allocation error"); - } - } -#endif - while (DBufLength(&to->sendQ) > 0) { msg = dbuf_map(&to->sendQ, &len); @@ -176,20 +155,6 @@ int send_queued(aClient *to) fd_setselect(to->fd, FD_SELECT_WRITE | FD_SELECT_ONESHOT, send_queued_write, to); break; } -#ifdef ZIP_LINKS - if (DBufLength(&to->sendQ) == 0 && more) { - /* - ** The sendQ is now empty, compress what's left - ** uncompressed and try to send it too - */ - more = 0; - msg = zip_buffer(to, NULL, &len, 1); - if (len == -1) - return dead_link(to, "fatal error in zip_buffer()"); - if (!dbuf_put(&to->sendQ, msg, len)) - return dead_link(to, "Buffer allocation error"); - } -#endif } return (IsDead(to)) ? -1 : 0; @@ -293,20 +258,7 @@ void sendbufto_one(aClient *to, char *msg, unsigned int quick) return; } -#ifdef ZIP_LINKS - /* - ** data is first stored in to->zip->outbuf until - ** it's big enough to be compressed and stored in the sendq. - ** send_queued is then responsible to never let the sendQ - ** be empty and to->zip->outbuf not empty. - */ - if (IsZipped(to)) - msg = zip_buffer(to, msg, &len, 0); - - if (len && !dbuf_put(&to->sendQ, msg, len)) -#else if (!dbuf_put(&to->sendQ, msg, len)) -#endif { dead_link(to, "Buffer allocation error"); return; diff --git a/src/win32/unrealinst.iss b/src/win32/unrealinst.iss index 0366fa28b..8874ec44d 100644 --- a/src/win32/unrealinst.iss +++ b/src/win32/unrealinst.iss @@ -3,8 +3,6 @@ ;#define USE_SSL ; Uncomment the above line to package an SSL build -#define USE_ZIP -; Uncomment the above line to package with ZIP support #define USE_CURL ; Uncomment the above line to package with libcurl support @@ -78,9 +76,6 @@ Source: ".\makecert.bat"; DestDir: "{app}"; Flags: ignoreversion Source: ".\encpem.bat"; DestDir: "{app}"; Flags: ignoreversion Source: "..\ssl.cnf"; DestDir: "{app}"; Flags: ignoreversion #endif -#ifdef USE_ZIP -Source: "c:\dev\zlib\zlibwapi.dll"; DestDir: "{app}"; Flags: ignoreversion -#endif #ifdef USE_SSL #ifdef USE_CURL ; curl with ssl support