You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(16) |
Aug
(7) |
Sep
(4) |
Oct
(94) |
Nov
(11) |
Dec
(2) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(2) |
Feb
|
Mar
|
Apr
|
May
(128) |
Jun
(22) |
Jul
(46) |
Aug
|
Sep
(15) |
Oct
|
Nov
|
Dec
(32) |
2006 |
Jan
(11) |
Feb
(2) |
Mar
(74) |
Apr
(3) |
May
|
Jun
(11) |
Jul
|
Aug
|
Sep
|
Oct
(11) |
Nov
|
Dec
|
2007 |
Jan
|
Feb
|
Mar
|
Apr
(23) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Gabriel B. <sh...@us...> - 2007-04-10 21:43:28
|
Update of /cvsroot/solidircd/solidircd-stable/zlib In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv10987/zlib Modified Files: ChangeLog FAQ INDEX Makefile.in README adler32.c compress.c configure crc32.c deflate.c deflate.h example.c gzio.c inftrees.h minigzip.c trees.c uncompr.c zconf.in.h zlib.3 zutil.c zutil.h Log Message: compile fixes Index: INDEX =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/zlib/INDEX,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** INDEX 10 Apr 2007 20:13:08 -0000 1.2 --- INDEX 10 Apr 2007 21:43:14 -0000 1.3 *************** *** 9,15 **** --- 9,18 ---- zconf.in.h template for zconf.h (used by configure) + amiga/ makefiles for Amiga SAS C + as400/ makefiles for IBM AS/400 msdos/ makefiles for MSDOS old/ makefiles for various architectures and zlib documentation files that have not yet been updated for zlib 1.2.x + projects/ projects for various Integrated Development Environments qnx/ makefiles for QNX win32/ makefiles for Windows *************** *** 47,54 **** unsupported contribution by third parties See contrib/README.contrib - source files for sample programs: - example.c - minigzip.c - - unsupported contribution by third parties - See contrib/README.contrib --- 50,51 ---- Index: inftrees.h =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/zlib/inftrees.h,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** inftrees.h 27 Jun 2005 03:02:37 -0000 1.1.1.1 --- inftrees.h 10 Apr 2007 21:43:14 -0000 1.2 *************** *** 1,4 **** /* inftrees.h -- header to use inftrees.c ! * Copyright (C) 1995-2003 Mark Adler * For conditions of distribution and use, see copyright notice in zlib.h */ --- 1,4 ---- /* inftrees.h -- header to use inftrees.c ! * Copyright (C) 1995-2005 Mark Adler * For conditions of distribution and use, see copyright notice in zlib.h */ *************** *** 37,46 **** /* Maximum size of dynamic tree. The maximum found in a long but non- ! exhaustive search was 1004 code structures (850 for length/literals ! and 154 for distances, the latter actually the result of an exhaustive search). The true maximum is not known, but the value below is more than safe. */ ! #define ENOUGH 1440 ! #define MAXD 154 /* Type of code to build for inftable() */ --- 37,46 ---- /* Maximum size of dynamic tree. The maximum found in a long but non- ! exhaustive search was 1444 code structures (852 for length/literals ! and 592 for distances, the latter actually the result of an exhaustive search). The true maximum is not known, but the value below is more than safe. */ ! #define ENOUGH 2048 ! #define MAXD 592 /* Type of code to build for inftable() */ Index: Makefile.in =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/zlib/Makefile.in,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** Makefile.in 27 Jun 2005 03:02:37 -0000 1.1.1.1 --- Makefile.in 10 Apr 2007 21:43:14 -0000 1.2 *************** *** 1,4 **** # Makefile for zlib ! # Copyright (C) 1995-2003 Jean-loup Gailly. # For conditions of distribution and use, see copyright notice in zlib.h --- 1,4 ---- # Makefile for zlib ! # Copyright (C) 1995-2005 Jean-loup Gailly. # For conditions of distribution and use, see copyright notice in zlib.h *************** *** 31,35 **** LIBS=libz.a SHAREDLIB=libz.so ! SHAREDLIBV=libz.so.1.2.1 SHAREDLIBM=libz.so.1 --- 31,35 ---- LIBS=libz.a SHAREDLIB=libz.so ! SHAREDLIBV=libz.so.1.2.3 SHAREDLIBM=libz.so.1 *************** *** 57,62 **** all: example$(EXE) minigzip$(EXE) - build: all - check: test test: all --- 57,60 ---- *************** *** 70,73 **** --- 68,72 ---- fi + build: libz.a libz.a: $(OBJS) $(OBJA) $(AR) $@ $(OBJS) $(OBJA) *************** *** 129,134 **** maintainer-clean: distclean distclean: clean ! cp -p Makefile.in Makefile ! cp -p zconf.in.h zconf.h rm -f .DS_Store --- 128,133 ---- maintainer-clean: distclean distclean: clean ! rm -f Makefile ! rm -f zconf.h rm -f .DS_Store Index: zlib.3 =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/zlib/zlib.3,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** zlib.3 27 Jun 2005 03:02:38 -0000 1.1.1.1 --- zlib.3 10 Apr 2007 21:43:14 -0000 1.2 *************** *** 1,3 **** ! .TH ZLIB 3 "17 November 2003" .SH NAME zlib \- compression/decompression library --- 1,3 ---- ! .TH ZLIB 3 "18 July 2005" .SH NAME zlib \- compression/decompression library *************** *** 134,139 **** or (for the Windows DLL version) to Gilles Vollant (in...@wi...). .SH AUTHORS ! Version 1.2.1 ! Copyright (C) 1995-2003 Jean-loup Gailly (jl...@gz...) and Mark Adler (ma...@al...). .LP --- 134,139 ---- or (for the Windows DLL version) to Gilles Vollant (in...@wi...). .SH AUTHORS ! Version 1.2.3 ! Copyright (C) 1995-2005 Jean-loup Gailly (jl...@gz...) and Mark Adler (ma...@al...). .LP Index: FAQ =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/zlib/FAQ,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** FAQ 10 Apr 2007 20:13:08 -0000 1.2 --- FAQ 10 Apr 2007 21:43:14 -0000 1.3 *************** *** 22,30 **** See - * http://www.winimage.com/zLibDll/ * http://www.dogma.net/markn/articles/zlibtool/zlibtool.htm * contrib/visual-basic.txt in the zlib distribution ! 4. compress() returns Z_BUF_ERROR Make sure that before the call of compress, the length of the compressed --- 22,30 ---- See * http://www.dogma.net/markn/articles/zlibtool/zlibtool.htm * contrib/visual-basic.txt in the zlib distribution + * win32/DLL_FAQ.txt in the zlib distribution ! 4. compress() returns Z_BUF_ERROR. Make sure that before the call of compress, the length of the compressed *************** *** 33,37 **** ("as any"), not by value ("as long"). ! 5. deflate() or inflate() returns Z_BUF_ERROR Before making the call, make sure that avail_in and avail_out are not --- 33,37 ---- ("as any"), not by value ("as long"). ! 5. deflate() or inflate() returns Z_BUF_ERROR. Before making the call, make sure that avail_in and avail_out are not *************** *** 48,53 **** It's in zlib.h for the moment, and Francis S. Lin has converted it to a web page zlib.html. Volunteers to transform this to Unix-style man pages, ! please contact Jean-loup Gailly (jl...@gz...). Examples of zlib usage ! are in the files example.c and minigzip.c. 7. Why don't you use GNU autoconf or libtool or ...? --- 48,53 ---- It's in zlib.h for the moment, and Francis S. Lin has converted it to a web page zlib.html. Volunteers to transform this to Unix-style man pages, ! please contact us (zl...@gz...). Examples of zlib usage are in the files ! example.c and minigzip.c. 7. Why don't you use GNU autoconf or libtool or ...? *************** *** 78,82 **** 11. Can zlib handle .zip archives? ! See the directory contrib/minizip in the zlib distribution. 12. Can zlib handle .Z files? --- 78,83 ---- 11. Can zlib handle .zip archives? ! Not by itself, no. See the directory contrib/minizip in the zlib ! distribution. 12. Can zlib handle .Z files? *************** *** 93,96 **** --- 94,99 ---- 14. How do I install a shared zlib library on Unix? + After the above, then: + make install *************** *** 100,109 **** can #include <zlib.h>, it's there. The -lz option will probably link to it. ! 15. I have a question about OttoPDF We are not the authors of OttoPDF. The real author is on the OttoPDF web ! site Joel Hainley jha...@my.... ! 16. Why does gzip give an error on a file I make with compress/deflate? The compress and deflate functions produce data in the zlib format, which --- 103,131 ---- can #include <zlib.h>, it's there. The -lz option will probably link to it. ! 15. I have a question about OttoPDF. We are not the authors of OttoPDF. The real author is on the OttoPDF web ! site: Joel Hainley, jha...@my.... ! 16. Can zlib decode Flate data in an Adobe PDF file? ! ! Yes. See http://www.fastio.com/ (ClibPDF), or http://www.pdflib.com/ . ! To modify PDF forms, see http://sourceforge.net/projects/acroformtool/ . ! ! 17. Why am I getting this "register_frame_info not found" error on Solaris? ! ! After installing zlib 1.1.4 on Solaris 2.6, running applications using zlib ! generates an error such as: ! ! ld.so.1: rpm: fatal: relocation error: file /usr/local/lib/libz.so: ! symbol __register_frame_info: referenced symbol not found ! ! The symbol __register_frame_info is not part of zlib, it is generated by ! the C compiler (cc or gcc). You must recompile applications using zlib ! which have this problem. This problem is specific to Solaris. See ! http://www.sunfreeware.com for Solaris versions of zlib and applications ! using zlib. ! ! 18. Why does gzip give an error on a file I make with compress/deflate? The compress and deflate functions produce data in the zlib format, which *************** *** 113,117 **** headers and trailers around the compressed data. ! 17. Ok, so why are there two different formats? The gzip format was designed to retain the directory information about --- 135,139 ---- headers and trailers around the compressed data. ! 19. Ok, so why are there two different formats? The gzip format was designed to retain the directory information about *************** *** 121,125 **** uses a faster integrity check than gzip. ! 18. Well that's nice, but how do I make a gzip file in memory? You can request that deflate write the gzip format instead of the zlib --- 143,147 ---- uses a faster integrity check than gzip. ! 20. Well that's nice, but how do I make a gzip file in memory? You can request that deflate write the gzip format instead of the zlib *************** *** 127,138 **** the gzip format using inflateInit2(). Read zlib.h for more details. ! Note that you cannot specify special gzip header contents (e.g. a file ! name or modification date), nor will inflate tell you what was in the ! gzip header. If you need to customize the header or see what's in it, ! you can use the raw deflate and inflate operations and the crc32() ! function and roll your own gzip encoding and decoding. Read the gzip ! RFC 1952 for details of the header and trailer format. ! ! 19. Is zlib thread-safe? Yes. However any library routines that zlib uses and any application- --- 149,153 ---- the gzip format using inflateInit2(). Read zlib.h for more details. ! 21. Is zlib thread-safe? Yes. However any library routines that zlib uses and any application- *************** *** 145,157 **** single thread at a time. ! 20. Can I use zlib in my commercial application? Yes. Please read the license in zlib.h. ! 21. Is zlib under the GNU license? No. Please read the license in zlib.h. ! 22. The license says that altered source versions must be "plainly marked". So what exactly do I need to do to meet that requirement? --- 160,172 ---- single thread at a time. ! 22. Can I use zlib in my commercial application? Yes. Please read the license in zlib.h. ! 23. Is zlib under the GNU license? No. Please read the license in zlib.h. ! 24. The license says that altered source versions must be "plainly marked". So what exactly do I need to do to meet that requirement? *************** *** 176,185 **** in zlib.h as you would for a full source distribution. ! 23. Will zlib work on a big-endian or little-endian architecture, and can I exchange compressed data between them? Yes and yes. ! 24. Will zlib work on a 64-bit machine? It should. It has been tested on 64-bit machines, and has no dependence --- 191,200 ---- in zlib.h as you would for a full source distribution. ! 25. Will zlib work on a big-endian or little-endian architecture, and can I exchange compressed data between them? Yes and yes. ! 26. Will zlib work on a 64-bit machine? It should. It has been tested on 64-bit machines, and has no dependence *************** *** 187,191 **** difficulties, please provide a complete problem report to zl...@gz... ! 25. Will zlib decompress data from the PKWare Data Compression Library? No. The PKWare DCL uses a completely different compressed data format --- 202,206 ---- difficulties, please provide a complete problem report to zl...@gz... ! 27. Will zlib decompress data from the PKWare Data Compression Library? No. The PKWare DCL uses a completely different compressed data format *************** *** 193,197 **** directory for a possible solution to your problem. ! 26. Can I access data randomly in a compressed stream? No, not without some preparation. If when compressing you periodically --- 208,212 ---- directory for a possible solution to your problem. ! 28. Can I access data randomly in a compressed stream? No, not without some preparation. If when compressing you periodically *************** *** 201,205 **** often, since it can significantly degrade compression. ! 27. Does zlib work on MVS, OS/390, CICS, etc.? We don't know for sure. We have heard occasional reports of success on --- 216,220 ---- often, since it can significantly degrade compression. ! 29. Does zlib work on MVS, OS/390, CICS, etc.? We don't know for sure. We have heard occasional reports of success on *************** *** 208,212 **** these questions. Thanks. ! 28. Is there some simpler, easier to read version of inflate I can look at to understand the deflate format? --- 223,227 ---- these questions. Thanks. ! 30. Is there some simpler, easier to read version of inflate I can look at to understand the deflate format? *************** *** 214,218 **** contrib/puff directory. ! 29. Does zlib infringe on any patents? As far as we know, no. In fact, that was originally the whole point behind --- 229,233 ---- contrib/puff directory. ! 31. Does zlib infringe on any patents? As far as we know, no. In fact, that was originally the whole point behind *************** *** 221,225 **** http://www.gzip.org/#faq11 ! 30. Can zlib work with greater than 4 GB of data? Yes. inflate() and deflate() will process any amount of data correctly. --- 236,240 ---- http://www.gzip.org/#faq11 ! 32. Can zlib work with greater than 4 GB of data? Yes. inflate() and deflate() will process any amount of data correctly. *************** *** 239,243 **** type is 64 bits, then the limit is 16 exabytes. ! 31. Does zlib have any security vulnerabilities? The only one that we are aware of is potentially in gzprintf(). If zlib --- 254,258 ---- type is 64 bits, then the limit is 16 exabytes. ! 33. Does zlib have any security vulnerabilities? The only one that we are aware of is potentially in gzprintf(). If zlib *************** *** 259,263 **** 1.1.3 and before were subject to a double-free vulnerability. ! 32. Is there a Java version of zlib? Probably what you want is to use zlib in Java. zlib is already included --- 274,278 ---- 1.1.3 and before were subject to a double-free vulnerability. ! 34. Is there a Java version of zlib? Probably what you want is to use zlib in Java. zlib is already included *************** *** 266,271 **** page for links: http://www.zlib.org/ ! 33. I get this or that compiler or source-code scanner warning when I crank it ! up to maximally-pendantic. Can't you guys write proper code? Many years ago, we gave up attempting to avoid warnings on every compiler --- 281,286 ---- page for links: http://www.zlib.org/ ! 35. I get this or that compiler or source-code scanner warning when I crank it ! up to maximally-pedantic. Can't you guys write proper code? Many years ago, we gave up attempting to avoid warnings on every compiler *************** *** 274,278 **** works. ! 34. Will zlib read the (insert any ancient or arcane format here) compressed data format? --- 289,302 ---- works. ! 36. Valgrind (or some similar memory access checker) says that deflate is ! performing a conditional jump that depends on an uninitialized value. ! Isn't that a bug? ! ! No. That is intentional for performance reasons, and the output of ! deflate is not affected. This only started showing up recently since ! zlib 1.2.x uses malloc() by default for allocations, whereas earlier ! versions used calloc(), which zeros out the allocated memory. ! ! 37. Will zlib read the (insert any ancient or arcane format here) compressed data format? *************** *** 280,291 **** formats and associated software. ! 35. How can I encrypt/decrypt zip files with zlib? zlib doesn't support encryption. The original PKZIP encryption is very weak and can be broken with freely available programs. To get strong encryption, ! use gpg ( http://www.gnupg.org/ ) which already includes zlib compression. For PKZIP compatible "encryption", look at http://www.info-zip.org/ ! 36. What's the difference between the "gzip" and "deflate" HTTP 1.1 encodings? "gzip" is the gzip format, and "deflate" is the zlib format. They should --- 304,315 ---- formats and associated software. ! 38. How can I encrypt/decrypt zip files with zlib? zlib doesn't support encryption. The original PKZIP encryption is very weak and can be broken with freely available programs. To get strong encryption, ! use GnuPG, http://www.gnupg.org/ , which already includes zlib compression. For PKZIP compatible "encryption", look at http://www.info-zip.org/ ! 39. What's the difference between the "gzip" and "deflate" HTTP 1.1 encodings? "gzip" is the gzip format, and "deflate" is the zlib format. They should *************** *** 303,325 **** Bottom line: use the gzip format for HTTP 1.1 encoding. - 37. Does zlib support the new "Deflate64" format introduced by PKWare? - - No. PKWare has apparently decided to keep that format proprietary, since - they have not documented it as they have previous compression formats. - In any case, the compression improvements are so modest compared to other - more modern approaches, that it's not worth the effort to implement. - - 38. Can you please sign these lengthy legal documents and fax them back to us - so that we can use your software in our product? - - No. Go away. Shoo. - 1, most notably Microsoft. So even though the - "deflate" transfer encoding using the zlib format would be the more - efficient approach (and in fact exactly what the zlib format was designed - for), using the "gzip" transfer encoding is probably more reliable due to - an unfortunate choice of name on the part of the HTTP 1.1 authors. - - Bottom line: use the gzip format for HTTP 1.1 encoding. - 40. Does zlib support the new "Deflate64" format introduced by PKWare? --- 327,330 ---- Index: README =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/zlib/README,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** README 27 Jun 2005 03:02:39 -0000 1.1.1.1 --- README 10 Apr 2007 21:43:14 -0000 1.2 *************** *** 1,5 **** ZLIB DATA COMPRESSION LIBRARY ! zlib 1.2.1 is a general purpose data compression library. All the code is thread safe. The data format used by the zlib library is described by RFCs (Request for Comments) 1950 to 1952 in the files --- 1,5 ---- ZLIB DATA COMPRESSION LIBRARY ! zlib 1.2.3 is a general purpose data compression library. All the code is thread safe. The data format used by the zlib library is described by RFCs (Request for Comments) 1950 to 1952 in the files *************** *** 17,23 **** To compile all files and run the test program, follow the instructions given at the top of Makefile. In short "make test; make install" should work for most ! machines. For Unix: "./configure; make test; make install" For MSDOS, use one ! of the special makefiles such as Makefile.msc. For VMS, use Make_vms.com or ! descrip.mms. Questions about zlib should be sent to <zl...@gz...>, or to Gilles Vollant --- 17,22 ---- To compile all files and run the test program, follow the instructions given at the top of Makefile. In short "make test; make install" should work for most ! machines. For Unix: "./configure; make test; make install". For MSDOS, use one ! of the special makefiles such as Makefile.msc. For VMS, use make_vms.com. Questions about zlib should be sent to <zl...@gz...>, or to Gilles Vollant *************** *** 35,39 **** http://dogma.net/markn/articles/zlibtool/zlibtool.htm ! The changes made in version 1.2.1 are documented in the file ChangeLog. Unsupported third party contributions are provided in directory "contrib". --- 34,38 ---- http://dogma.net/markn/articles/zlibtool/zlibtool.htm ! The changes made in version 1.2.3 are documented in the file ChangeLog. Unsupported third party contributions are provided in directory "contrib". *************** *** 47,51 **** http://www.cpan.org/modules/by-module/Compress/ ! A Python interface to zlib written by A.M. Kuchling <am...@ma...> is available in Python 1.5 and later versions, see http://www.python.org/doc/lib/module-zlib.html --- 46,50 ---- http://www.cpan.org/modules/by-module/Compress/ ! A Python interface to zlib written by A.M. Kuchling <am...@am...> is available in Python 1.5 and later versions, see http://www.python.org/doc/lib/module-zlib.html *************** *** 94,98 **** Copyright notice: ! (C) 1995-2003 Jean-loup Gailly and Mark Adler This software is provided 'as-is', without any express or implied --- 93,97 ---- Copyright notice: ! (C) 1995-2004 Jean-loup Gailly and Mark Adler This software is provided 'as-is', without any express or implied Index: configure =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/zlib/configure,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** configure 10 Apr 2007 20:13:08 -0000 1.2 --- configure 10 Apr 2007 21:43:14 -0000 1.3 *************** *** 78,96 **** case `(uname -s || echo unknown) 2>/dev/null` in Linux | linux | GNU | GNU/*) LDSHARED=${LDSHARED-"$cc -shared -Wl,-soname,libz.so.1"};; ! CYGWIN* | Cygwin* | cygwin* ) EXE='.exe';; QNX*) # This is for QNX6. I suppose that the QNX rule below is for QNX2,QNX4 # (ala...@ic...) LDSHARED=${LDSHARED-"$cc -shared -Wl,-hlibz.so.1"};; ! HP-UX*) LDSHARED=${LDSHARED-"$cc -shared $SFLAGS"} shared_ext='.sl' SHAREDLIB='libz.sl';; Darwin*) shared_ext='.dylib' SHAREDLIB=libz$shared_ext SHAREDLIBV=libz.$VER$shared_ext SHAREDLIBM=libz.$VER1$shared_ext ! LDSHARED=${LDSHARED-"$cc -dynamiclib -install_name /usr/lib/$SHAREDLIBV -compatibility_version $VER2 -current_version $VER"} ! libdir='/usr/lib' ! includedir='/usr/include';; *) LDSHARED=${LDSHARED-"$cc -shared"};; esac --- 78,101 ---- case `(uname -s || echo unknown) 2>/dev/null` in Linux | linux | GNU | GNU/*) LDSHARED=${LDSHARED-"$cc -shared -Wl,-soname,libz.so.1"};; ! CYGWIN* | Cygwin* | cygwin* | OS/2* ) EXE='.exe';; QNX*) # This is for QNX6. I suppose that the QNX rule below is for QNX2,QNX4 # (ala...@ic...) LDSHARED=${LDSHARED-"$cc -shared -Wl,-hlibz.so.1"};; ! HP-UX*) ! LDSHARED=${LDSHARED-"$cc -shared $SFLAGS"} ! case `(uname -m || echo unknown) 2>/dev/null` in ! ia64) ! shared_ext='.so' ! SHAREDLIB='libz.so';; ! *) shared_ext='.sl' SHAREDLIB='libz.sl';; + esac;; Darwin*) shared_ext='.dylib' SHAREDLIB=libz$shared_ext SHAREDLIBV=libz.$VER$shared_ext SHAREDLIBM=libz.$VER1$shared_ext ! LDSHARED=${LDSHARED-"$cc -dynamiclib -install_name $libdir/$SHAREDLIBM -compatibility_version $VER1 -current_version $VER"};; *) LDSHARED=${LDSHARED-"$cc -shared"};; esac *************** *** 103,108 **** --- 108,119 ---- # LDSHARED=${LDSHARED-"ld -b +vnocompatwarnings"} LDSHARED=${LDSHARED-"ld -b"} + case `(uname -m || echo unknown) 2>/dev/null` in + ia64) + shared_ext='.so' + SHAREDLIB='libz.so';; + *) shared_ext='.sl' SHAREDLIB='libz.sl';; + esac;; IRIX*) SFLAGS=${CFLAGS-"-ansi -O2 -rpath ."} CFLAGS=${CFLAGS-"-ansi -O2"} *************** *** 128,131 **** --- 139,145 ---- CFLAGS=${CFLAGS-"-O2"} LDSHARED=${LDSHARED-"ld"};; + SunStudio\ 9*) SFLAGS=${CFLAGS-"-DUSE_MMAP -fast -xcode=pic32 -xtarget=ultra3 -xarch=v9b"} + CFLAGS=${CFLAGS-"-DUSE_MMAP -fast -xtarget=ultra3 -xarch=v9b"} + LDSHARED=${LDSHARED-"cc -xarch=v9b"};; UNIX_System_V\ 4.2.0) SFLAGS=${CFLAGS-"-KPIC -O"} *************** *** 444,463 **** /^LDFLAGS *=/s#=.*#=$LDFLAGS# " > Makefile - C *=/s#=.*#=$CC# - /^CFLAGS *=/s#=.*#=$CFLAGS# - /^CPP *=/s#=.*#=$CPP# - /^LDSHARED *=/s#=.*#=$LDSHARED# - /^LIBS *=/s#=.*#=$LIBS# - /^SHAREDLIB *=/s#=.*#=$SHAREDLIB# - /^SHAREDLIBV *=/s#=.*#=$SHAREDLIBV# - /^SHAREDLIBM *=/s#=.*#=$SHAREDLIBM# - /^AR *=/s#=.*#=$AR# - /^RANLIB *=/s#=.*#=$RANLIB# - /^EXE *=/s#=.*#=$EXE# - /^prefix *=/s#=.*#=$prefix# - /^exec_prefix *=/s#=.*#=$exec_prefix# - /^libdir *=/s#=.*#=$libdir# - /^includedir *=/s#=.*#=$includedir# - /^mandir *=/s#=.*#=$mandir# - /^LDFLAGS *=/s#=.*#=$LDFLAGS# - " > Makefile --- 458,459 ---- Index: compress.c =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/zlib/compress.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** compress.c 27 Jun 2005 03:02:45 -0000 1.1.1.1 --- compress.c 10 Apr 2007 21:43:14 -0000 1.2 *************** *** 1,4 **** /* compress.c -- compress a memory buffer ! * Copyright (C) 1995-2002 Jean-loup Gailly. * For conditions of distribution and use, see copyright notice in zlib.h */ --- 1,4 ---- /* compress.c -- compress a memory buffer ! * Copyright (C) 1995-2003 Jean-loup Gailly. * For conditions of distribution and use, see copyright notice in zlib.h */ Index: ChangeLog =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/zlib/ChangeLog,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** ChangeLog 10 Apr 2007 20:13:08 -0000 1.2 --- ChangeLog 10 Apr 2007 21:43:14 -0000 1.3 *************** *** 2,5 **** --- 2,138 ---- ChangeLog file for zlib + Changes in 1.2.3 (18 July 2005) + - Apply security vulnerability fixes to contrib/infback9 as well + - Clean up some text files (carriage returns, trailing space) + - Update testzlib, vstudio, masmx64, and masmx86 in contrib [Vollant] + + Changes in 1.2.2.4 (11 July 2005) + - Add inflatePrime() function for starting inflation at bit boundary + - Avoid some Visual C warnings in deflate.c + - Avoid more silly Visual C warnings in inflate.c and inftrees.c for 64-bit + compile + - Fix some spelling errors in comments [Betts] + - Correct inflateInit2() error return documentation in zlib.h + - Added zran.c example of compressed data random access to examples + directory, shows use of inflatePrime() + - Fix cast for assignments to strm->state in inflate.c and infback.c + - Fix zlibCompileFlags() in zutil.c to use 1L for long shifts [Oberhumer] + - Move declarations of gf2 functions to right place in crc32.c [Oberhumer] + - Add cast in trees.c t avoid a warning [Oberhumer] + - Avoid some warnings in fitblk.c, gun.c, gzjoin.c in examples [Oberhumer] + - Update make_vms.com [Zinser] + - Initialize state->write in inflateReset() since copied in inflate_fast() + - Be more strict on incomplete code sets in inflate_table() and increase + ENOUGH and MAXD -- this repairs a possible security vulnerability for + invalid inflate input. Thanks to Tavis Ormandy and Markus Oberhumer for + discovering the vulnerability and providing test cases. + - Add ia64 support to configure for HP-UX [Smith] + - Add error return to gzread() for format or i/o error [Levin] + - Use malloc.h for OS/2 [Necasek] + + Changes in 1.2.2.3 (27 May 2005) + - Replace 1U constants in inflate.c and inftrees.c for 64-bit compile + - Typecast fread() return values in gzio.c [Vollant] + - Remove trailing space in minigzip.c outmode (VC++ can't deal with it) + - Fix crc check bug in gzread() after gzungetc() [Heiner] + - Add the deflateTune() function to adjust internal compression parameters + - Add a fast gzip decompressor, gun.c, to examples (use of inflateBack) + - Remove an incorrect assertion in examples/zpipe.c + - Add C++ wrapper in infback9.h [Donais] + - Fix bug in inflateCopy() when decoding fixed codes + - Note in zlib.h how much deflateSetDictionary() actually uses + - Remove USE_DICT_HEAD in deflate.c (would mess up inflate if used) + - Add _WIN32_WCE to define WIN32 in zconf.in.h [Spencer] + - Don't include stderr.h or errno.h for _WIN32_WCE in zutil.h [Spencer] + - Add gzdirect() function to indicate transparent reads + - Update contrib/minizip [Vollant] + - Fix compilation of deflate.c when both ASMV and FASTEST [Oberhumer] + - Add casts in crc32.c to avoid warnings [Oberhumer] + - Add contrib/masmx64 [Vollant] + - Update contrib/asm586, asm686, masmx86, testzlib, vstudio [Vollant] + + Changes in 1.2.2.2 (30 December 2004) + - Replace structure assignments in deflate.c and inflate.c with zmemcpy to + avoid implicit memcpy calls (portability for no-library compilation) + - Increase sprintf() buffer size in gzdopen() to allow for large numbers + - Add INFLATE_STRICT to check distances against zlib header + - Improve WinCE errno handling and comments [Chang] + - Remove comment about no gzip header processing in FAQ + - Add Z_FIXED strategy option to deflateInit2() to force fixed trees + - Add updated make_vms.com [Coghlan], update README + - Create a new "examples" directory, move gzappend.c there, add zpipe.c, + fitblk.c, gzlog.[ch], gzjoin.c, and zlib_how.html. + - Add FAQ entry and comments in deflate.c on uninitialized memory access + - Add Solaris 9 make options in configure [Gilbert] + - Allow strerror() usage in gzio.c for STDC + - Fix DecompressBuf in contrib/delphi/ZLib.pas [ManChesTer] + - Update contrib/masmx86/inffas32.asm and gvmat32.asm [Vollant] + - Use z_off_t for adler32_combine() and crc32_combine() lengths + - Make adler32() much faster for small len + - Use OS_CODE in deflate() default gzip header + + Changes in 1.2.2.1 (31 October 2004) + - Allow inflateSetDictionary() call for raw inflate + - Fix inflate header crc check bug for file names and comments + - Add deflateSetHeader() and gz_header structure for custom gzip headers + - Add inflateGetheader() to retrieve gzip headers + - Add crc32_combine() and adler32_combine() functions + - Add alloc_func, free_func, in_func, out_func to Z_PREFIX list + - Use zstreamp consistently in zlib.h (inflate_back functions) + - Remove GUNZIP condition from definition of inflate_mode in inflate.h + and in contrib/inflate86/inffast.S [Truta, Anderson] + - Add support for AMD64 in contrib/inflate86/inffas86.c [Anderson] + - Update projects/README.projects and projects/visualc6 [Truta] + - Update win32/DLL_FAQ.txt [Truta] + - Avoid warning under NO_GZCOMPRESS in gzio.c; fix typo [Truta] + - Deprecate Z_ASCII; use Z_TEXT instead [Truta] + - Use a new algorithm for setting strm->data_type in trees.c [Truta] + - Do not define an exit() prototype in zutil.c unless DEBUG defined + - Remove prototype of exit() from zutil.c, example.c, minigzip.c [Truta] + - Add comment in zlib.h for Z_NO_FLUSH parameter to deflate() + - Fix Darwin build version identification [Peterson] + + Changes in 1.2.2 (3 October 2004) + - Update zlib.h comments on gzip in-memory processing + - Set adler to 1 in inflateReset() to support Java test suite [Walles] + - Add contrib/dotzlib [Ravn] + - Update win32/DLL_FAQ.txt [Truta] + - Update contrib/minizip [Vollant] + - Move contrib/visual-basic.txt to old/ [Truta] + - Fix assembler builds in projects/visualc6/ [Truta] + + Changes in 1.2.1.2 (9 September 2004) + - Update INDEX file + - Fix trees.c to update strm->data_type (no one ever noticed!) + - Fix bug in error case in inflate.c, infback.c, and infback9.c [Brown] + - Add "volatile" to crc table flag declaration (for DYNAMIC_CRC_TABLE) + - Add limited multitasking protection to DYNAMIC_CRC_TABLE + - Add NO_vsnprintf for VMS in zutil.h [Mozilla] + - Don't declare strerror() under VMS [Mozilla] + - Add comment to DYNAMIC_CRC_TABLE to use get_crc_table() to initialize + - Update contrib/ada [Anisimkov] + - Update contrib/minizip [Vollant] + - Fix configure to not hardcode directories for Darwin [Peterson] + - Fix gzio.c to not return error on empty files [Brown] + - Fix indentation; update version in contrib/delphi/ZLib.pas and + contrib/pascal/zlibpas.pas [Truta] + - Update mkasm.bat in contrib/masmx86 [Truta] + - Update contrib/untgz [Truta] + - Add projects/README.projects [Truta] + - Add project for MS Visual C++ 6.0 in projects/visualc6 [Cadieux, Truta] + - Update win32/DLL_FAQ.txt [Truta] + - Update list of Z_PREFIX symbols in zconf.h [Randers-Pehrson, Truta] + - Remove an unnecessary assignment to curr in inftrees.c [Truta] + - Add OS/2 to exe builds in configure [Poltorak] + - Remove err dummy parameter in zlib.h [Kientzle] + + Changes in 1.2.1.1 (9 January 2004) + - Update email address in README + - Several FAQ updates + - Fix a big fat bug in inftrees.c that prevented decoding valid + dynamic blocks with only literals and no distance codes -- + Thanks to "Hot Emu" for the bug report and sample file + - Add a note to puff.c on no distance codes case. + Changes in 1.2.1 (17 November 2003) - Remove a tab in contrib/gzappend/gzappend.c *************** *** 408,412 **** - add functions gzprintf, gzputc, gzgetc, gztell, gzeof, gzseek, gzrewind and gzsetparams (thanks to Roland Giersig and Kevin Ruland for some of this code) ! - Fix a deflate bug occuring only with compression level 0 (thanks to Andy Buckler for finding this one). - In minigzip, pass transparently also the first byte for .Z files. --- 541,545 ---- - add functions gzprintf, gzputc, gzgetc, gztell, gzeof, gzseek, gzrewind and gzsetparams (thanks to Roland Giersig and Kevin Ruland for some of this code) ! - Fix a deflate bug occurring only with compression level 0 (thanks to Andy Buckler for finding this one). - In minigzip, pass transparently also the first byte for .Z files. *************** *** 721,879 **** - added Z_HUFFMAN_ONLY - added gzerror() - - avoid warning on fdopen (gzio.c) for HP cc -Aa - - include stdlib.h for STDC compilers - - include errno.h for Cray - - ignore error if ranlib doesn't exist - - call ranlib twice for NeXTSTEP - - use exec_prefix instead of prefix for libz.a - - renamed ct_* as _tr_* to avoid conflict with applications - - clear z->msg in inflateInit2 before any error return - - initialize opaque in example.c, gzio.c, deflate.c and inflate.c - - fixed typo in zconf.h (_GNUC__ => __GNUC__) - - check for WIN32 in zconf.h and zutil.c (avoid farmalloc in 32-bit mode) - - fix typo in Make_vms.com (f$trnlnm -> f$getsyi) - - in fcalloc, normalize pointer if size > 65520 bytes - - don't use special fcalloc for 32 bit Borland C++ - - use STDC instead of __GO32__ to avoid redeclaring exit, calloc, etc... - - use Z_BINARY instead of BINARY - - document that gzclose after gzdopen will close the file - - allow "a" as mode in gzopen. - - fix error checking in gzread - - allow skipping .gz extra-field on pipes - - added reference to Perl interface in README - - put the crc table in FAR data (I dislike more and more the medium model :) - - added get_crc_table - - added a dimension to all arrays (Borland C can't count). - - workaround Borland C bug in declaration of inflate_codes_new & inflate_fast - - guard against multiple inclusion of *.h (for precompiled header on Mac) - - Watcom C pretends to be Microsoft C small model even in 32 bit mode. - - don't use unsized arrays to avoid silly warnings by Visual C++: - warning C4746: 'inflate_mask' : unsized array treated as '__far' - (what's wrong with far data in far model?). - - define enum out of inflate_blocks_state to allow compilation with C++ - - Changes in 0.95 (16 Aug 95) - - fix MSDOS small and medium model (now easier to adapt to any compiler) - - inlined send_bits - - fix the final (:-) bug for deflate with flush (output was correct but - not completely flushed in rare occasions). - - default window size is same for compression and decompression - (it's now sufficient to set MAX_WBITS in zconf.h). - - voidp -> voidpf and voidnp -> voidp (for consistency with other - typedefs and because voidnp was not near in large model). - - Changes in 0.94 (13 Aug 95) - - support MSDOS medium model - - fix deflate with flush (could sometimes generate bad output) - - fix deflateReset (zlib header was incorrectly suppressed) - - added support for VMS - - allow a compression level in gzopen() - - gzflush now calls fflush - - For deflate with flush, flush even if no more input is provided. - - rename libgz.a as libz.a - - avoid complex expression in infcodes.c triggering Turbo C bug - - work around a problem with gcc on Alpha (in INSERT_STRING) - - don't use inline functions (problem with some gcc versions) - - allow renaming of Byte, uInt, etc... with #define. - - avoid warning about (unused) pointer before start of array in deflate.c - - avoid various warnings in gzio.c, example.c, infblock.c, adler32.c, zutil.c - - avoid reserved word 'new' in trees.c - - Changes in 0.93 (25 June 95) - - temporarily disable inline functions - - make deflate deterministic - - give enough lookahead for PARTIAL_FLUSH - - Set binary mode for stdin/stdout in minigzip.c for OS/2 - - don't even use signed char in inflate (not portable enough) - - fix inflate memory leak for segmented architectures - - Changes in 0.92 (3 May 95) - - don't assume that char is signed (problem on SGI) - - Clear bit buffer when starting a stored block - - no memcpy on Pyramid - - suppressed inftest.c - - optimized fill_window, put longest_match inline for gcc - - optimized inflate on stored blocks. - - untabify all sources to simplify patches - - Changes in 0.91 (2 May 95) - - Default MEM_LEVEL is 8 (not 9 for Unix) as documented in zlib.h - - Document the memory requirements in zconf.h - - added "make install" - - fix sync search logic in inflateSync - - deflate(Z_FULL_FLUSH) now works even if output buffer too short - - after inflateSync, don't scare people with just "lo world" - - added support for DJGPP - - Changes in 0.9 (1 May 95) - - don't assume that zalloc clears the allocated memory (the TurboC bug - was Mark's bug after all :) - - let again gzread copy uncompressed data unchanged (was working in 0.71) - - deflate(Z_FULL_FLUSH), inflateReset and inflateSync are now fully implemented - - added a test of inflateSync in example.c - - moved MAX_WBITS to zconf.h because users might want to change that. - - document explicitly that zalloc(64K) on MSDOS must return a normalized - pointer (zero offset) - - added Makefiles for Microsoft C, Turbo C, Borland C++ - - faster crc32() - - Changes in 0.8 (29 April 95) - - added fast inflate (inffast.c) - - deflate(Z_FINISH) now returns Z_STREAM_END when done. Warning: this - is incompatible with previous versions of zlib which returned Z_OK. - - work around a TurboC compiler bug (bad code for b << 0, see infutil.h) - (actually that was not a compiler bug, see 0.81 above) - - gzread no longer reads one extra byte in certain cases - - In gzio destroy(), don't reference a freed structure - - avoid many warnings for MSDOS - - avoid the ERROR symbol which is used by MS Windows - - Changes in 0.71 (14 April 95) - - Fixed more MSDOS compilation problems :( There is still a bug with - TurboC large model. - - Changes in 0.7 (14 April 95) - - Added full inflate support. - - Simplified the crc32() interface. The pre- and post-conditioning - (one's complement) is now done inside crc32(). WARNING: this is - incompatible with previous versions; see zlib.h for the new usage. - - Changes in 0.61 (12 April 95) - - workaround for a bug in TurboC. example and minigzip now work on MSDOS. - - Changes in 0.6 (11 April 95) - - added minigzip.c - - added gzdopen to reopen a file descriptor as gzFile - - added transparent reading of non-gziped files in gzread. - - fixed bug in gzread (don't read crc as data) - - fixed bug in destroy (gzio.c) (don't return Z_STREAM_END for gzclose). - - don't allocate big arrays in the stack (for MSDOS) - - fix some MSDOS compilation problems - - Changes in 0.5: - - do real compression in deflate.c. Z_PARTIAL_FLUSH is supported but - not yet Z_FULL_FLUSH. - - support decompression but only in a single step (forced Z_FINISH) - - added opaque object for zalloc and zfree. - - added deflateReset and inflateReset - - added a variable zlib_version for consistency checking. - - renamed the 'filter' parameter of deflateInit2 as 'strategy'. - Added Z_FILTERED and Z_HUFFMAN_ONLY constants. - - Changes in 0.4: - - avoid "zip" everywhere, use zlib instead of ziplib. - - suppress Z_BLOCK_FLUSH, interpret Z_PARTIAL_FLUSH as block flush - if compression method == 8. - - added adler32 and crc32 - - renamed deflateOptions as deflateInit2, call one or the other but not both - - added the method parameter for deflateInit2. - - added inflateInit2 - - simplied considerably deflateInit and inflateInit by not supporting - user-provided history buffer. This is supported only in deflateInit2 - and inflateInit2. - - Changes in 0.3: - - prefix all macro names with Z_ - - use Z_FINISH instead of deflateEnd to finish compression. - - added Z_HUFFMAN_ONLY - - added gzerror() --- 854,855 ---- Index: example.c =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/zlib/example.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** example.c 27 Jun 2005 03:02:41 -0000 1.1.1.1 --- example.c 10 Apr 2007 21:43:14 -0000 1.2 *************** *** 1,4 **** /* example.c -- usage example of the zlib compression library ! * Copyright (C) 1995-2003 Jean-loup Gailly. * For conditions of distribution and use, see copyright notice in zlib.h */ --- 1,4 ---- /* example.c -- usage example of the zlib compression library ! * Copyright (C) 1995-2004 Jean-loup Gailly. * For conditions of distribution and use, see copyright notice in zlib.h */ *************** *** 12,17 **** # include <string.h> # include <stdlib.h> - #else - extern void exit OF((int)); #endif --- 12,15 ---- |
From: Gabriel B. <sh...@us...> - 2007-04-10 21:43:20
|
Update of /cvsroot/solidircd/solidircd-stable/doc/ssl In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv10987/doc/ssl Modified Files: ssl.rnd vgc.pem vgckey.pem Log Message: compile fixes Index: vgc.pem =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/doc/ssl/vgc.pem,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** vgc.pem 9 Apr 2007 22:59:07 -0000 1.5 --- vgc.pem 10 Apr 2007 21:43:14 -0000 1.6 *************** *** 1,17 **** -----BEGIN CERTIFICATE----- ! MIICszCCAhygAwIBAgIBADANBgkqhkiG9w0BAQQFADCBkzELMAkGA1UEBhMCVVMx EDAOBgNVBAgTB0FsYWJhbWExEzARBgNVBAcTCkJpcm1pbmdoYW0xIDAeBgNVBAoT F1ZpZEdhbWVDaGF0IElSQyBOZXR3b3JrMR8wHQYDVQQLExZWaWRHYW1lQ2hhdCBJ ! UkMgU2VydmVyMRowGAYDVQQDExFpcmMuc2hlbGxzaGVkLmNvbTAeFw0wNzA0MDkx ! NjAzMzdaFw0wODA0MDgxNjAzMzdaMIGTMQswCQYDVQQGEwJVUzEQMA4GA1UECBMH ! QWxhYmFtYTETMBEGA1UEBxMKQmlybWluZ2hhbTEgMB4GA1UEChMXVmlkR2FtZUNo ! YXQgSVJDIE5ldHdvcmsxHzAdBgNVBAsTFlZpZEdhbWVDaGF0IElSQyBTZXJ2ZXIx ! GjAYBgNVBAMTEWlyYy5zaGVsbHNoZWQuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GN ! ADCBiQKBgQDXNySyLjSGMq+s/gLOPq/QvbrTcBBLVoo3kYy/uHPHv4SlrEwCu8Mh ! J8ICf2tC10YAEFazBoVFQ3ffSabkjIEQ0kz9535UDp0Y1CPOEnJS6KiwXegQRae4 ! ctiiAOPmdO/IIvZK19EQ3Dxy0yf5UmaV5KQssDeIIxeu1youfG/oKQIDAQABoxUw ! EzARBglghkgBhvhCAQEEBAMCBkAwDQYJKoZIhvcNAQEEBQADgYEAa/97sgVVuNPz ! ECHwCuBgMHBXGvfvXhUr71FEKKJkKxNWygYV/9wAhaTPO6Ooz6tmZCw4mXzy4bgE ! zYHdaAbSYY0U3xFLNxBoOwRBm2Dmu5GQo0KwsTJmFV5GfM2rud5YhzcxWgNi0FAv ! Vs+78aQL4bookXIBmVh5HqoNaVmxMJw= -----END CERTIFICATE----- --- 1,17 ---- -----BEGIN CERTIFICATE----- ! MIICtzCCAiCgAwIBAgIBADANBgkqhkiG9w0BAQQFADCBlTELMAkGA1UEBhMCVVMx EDAOBgNVBAgTB0FsYWJhbWExEzARBgNVBAcTCkJpcm1pbmdoYW0xIDAeBgNVBAoT F1ZpZEdhbWVDaGF0IElSQyBOZXR3b3JrMR8wHQYDVQQLExZWaWRHYW1lQ2hhdCBJ ! UkMgU2VydmVyMRwwGgYDVQQDExNpcmMudmlkZ2FtZWNoYXQubmV0MB4XDTA3MDQx ! MDIxNDAxMloXDTA4MDQwOTIxNDAxMlowgZUxCzAJBgNVBAYTAlVTMRAwDgYDVQQI ! EwdBbGFiYW1hMRMwEQYDVQQHEwpCaXJtaW5naGFtMSAwHgYDVQQKExdWaWRHYW1l ! Q2hhdCBJUkMgTmV0d29yazEfMB0GA1UECxMWVmlkR2FtZUNoYXQgSVJDIFNlcnZl ! cjEcMBoGA1UEAxMTaXJjLnZpZGdhbWVjaGF0Lm5ldDCBnzANBgkqhkiG9w0BAQEF ! AAOBjQAwgYkCgYEArX3IYljQdwCW7X9YZ+3HuJxvYrbuFA76YNXEeWMyfvzZXEuo ! 52i9c+nTv7dzsIdyx7Zev7Id4dP6tDv7YJItQx24DqCcPixfeP5eS3ZjEVfFrxUr ! rLcDyt13/7kuqFPxP9lCCWTW1DqktLkXqF/Ab+z2N646OKYdg7hEMCoCvukCAwEA ! AaMVMBMwEQYJYIZIAYb4QgEBBAQDAgZAMA0GCSqGSIb3DQEBBAUAA4GBAJgxljFA ! Sl5aQKtWxhWlmqDFjLSbz9MaXBn4d3wFTSPzwb9Se87kzDAZcnYrDKflqO7xNzsn ! +BVPWXCHThSeNKRrRqTtV+MzyXgqJdWkxyKPw7n+1rGOoj1065fIKNtBLZkcRo6t ! juKorBahxim90f9kq75HCcWyyhHj1tdlPo7g -----END CERTIFICATE----- Index: ssl.rnd =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/doc/ssl/ssl.rnd,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 Binary files /tmp/cvsDi7cwM and /tmp/cvsxzoMLP differ Index: vgckey.pem =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/doc/ssl/vgckey.pem,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** vgckey.pem 9 Apr 2007 22:59:07 -0000 1.5 --- vgckey.pem 10 Apr 2007 21:43:14 -0000 1.6 *************** *** 1,15 **** -----BEGIN RSA PRIVATE KEY----- ! MIICXQIBAAKBgQDXNySyLjSGMq+s/gLOPq/QvbrTcBBLVoo3kYy/uHPHv4SlrEwC ! u8MhJ8ICf2tC10YAEFazBoVFQ3ffSabkjIEQ0kz9535UDp0Y1CPOEnJS6KiwXegQ ! Rae4ctiiAOPmdO/IIvZK19EQ3Dxy0yf5UmaV5KQssDeIIxeu1youfG/oKQIDAQAB ! AoGAWdLpHPkN8QjMq74ku6IMTWoyxLbcBiWrcH/uJ8K7iB4WJfOgke9+BKOMZPB7 ! ex1QWQx4syXAj+UV7frWjkNaRj+w38/0wdY4tc2pqprEsslGY8IuOchh2jLKvcP8 ! 9odJR0JL4fj5P2bg+ALVGWZJT/8DFxb5YHoq3tYmNahmFyUCQQD662Pv5HOV1ABc ! kQdiWyQN4ViG+H1cIEQPLyrZ44qyppJRMcLbc4XcqK+TmeTfINrXel3e3K22vNvF ! LIITazbTAkEA25KvcEgW5TJKtnPvcVgchTTkLJv/TcmUrBe/gp7QFygCIgofguQu ! A6nl5cgCutgh+t/x25R95zyc+9ZivSi/kwJBAOJBVTkgf5UvuC+/2q+2zTjy5Ne3 ! w5pJwfULLBGTWyKijrdGLpWhgqgpN0DZ+QW1439/aJun08A+ZdFSw+vstl8CQFdw ! 9ALgApYl0BEW3G0j7L+zj4agXSyqMVXTY0XuXupJ2Yeaxm/G1PhKia5XV5b3CZkx ! 48xRN06GGfJEry+rcZcCQQCDp0yJJbH1LX43YhLY6KSatxRGq4qI0Xim61I/PFqj ! 0Ew4KAHl3pEYWzZBbSswFBkSAImGQrNFiOW3NiKhnq4v -----END RSA PRIVATE KEY----- --- 1,15 ---- -----BEGIN RSA PRIVATE KEY----- ! MIICXQIBAAKBgQCtfchiWNB3AJbtf1hn7ce4nG9itu4UDvpg1cR5YzJ+/NlcS6jn ! aL1z6dO/t3Owh3LHtl6/sh3h0/q0O/tgki1DHbgOoJw+LF94/l5LdmMRV8WvFSus ! twPK3Xf/uS6oU/E/2UIJZNbUOqS0uReoX8Bv7PY3rjo4ph2DuEQwKgK+6QIDAQAB ! AoGAJGTiiF8BPDWPc7rnHMYww3VtmFOvld2egHnXgW9hxGneXxIwGHtMYuiGVw1w ! 43NGjMahEa2Xvyvsx6pdjWCcxcMjilYsNJ6oqU6orAq8c+rZiBJMe3vINnKojdlB ! tZ+5Z4LxGbHp2mv3bREr6jQWEla6Ip+EL4csecuWXCdfFgECQQDWXf6bbYqg3JZo ! okMXVNA8fVz6t5Byoz9Nk+Vm3zpBDVW7rFENev89nr4lZZ3Fx/HMJJYCMzvIKkWe ! Xj3G/eCZAkEAzy+BRyClfRyxvIDqvOVQPV52YUbwsHVb6eLAryABOgMjKdz9LrL4 ! tOOIVIPfjMguo617W08uHNBw0sN3O7Sy0QJBALRKY4u3aoN2Yu3nooOp6mUljqCy ! 6ELyN5h4jdSiZC04GOX5vEWZL7hUnVl4iGRCkIOANcXt7xafLuROIKkO9ukCQGoA ! 2TkGGAWyN7HFl9R70xkDCrhsrlrqQNOio4k2a8o9rrENkzBge2U5gRgUvLzv8wTl ! jtbB5UryzrbXMVsH8fECQQDIpt+OZ6v+cu0lZjI/vmmE3T2EZ7D3UicalZtlRsFb ! pyjT9Nzpo3mL8vZBw2qzfncR+xx+4p2UInIApg3PR2fk -----END RSA PRIVATE KEY----- |
From: Gabriel B. <sh...@us...> - 2007-04-10 21:25:04
|
Update of /cvsroot/solidircd/solidircd-stable/src In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv3467/src Modified Files: userban.c Log Message: compile fixes Index: userban.c =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/src/userban.c,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** userban.c 10 Apr 2007 21:16:55 -0000 1.14 --- userban.c 10 Apr 2007 21:24:59 -0000 1.15 *************** *** 471,474 **** --- 471,475 ---- { uBanEnt *bln; + aClient *acptr; struct userBan *ban; int i; *************** *** 481,485 **** if((ban->flags & UBAN_TEMPORARY) && ban->timeset + ban->duration <= NOW) { ! /* if (ban->flags & UBAN_SHUN) { --- 482,486 ---- if((ban->flags & UBAN_TEMPORARY) && ban->timeset + ban->duration <= NOW) { ! if (ban->flags & UBAN_SHUN) { *************** *** 496,500 **** } - */ remove_userban(ban); --- 497,500 ---- |
From: Gabriel B. <sh...@us...> - 2007-04-10 21:25:04
|
Update of /cvsroot/solidircd/solidircd-stable/zlib In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv3467/zlib Modified Files: zconf.h Log Message: compile fixes |
From: Gabriel B. <sh...@us...> - 2007-04-10 21:18:06
|
Update of /cvsroot/solidircd/solidircd-stable/zlib In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv647/zlib Modified Files: Makefile zconf.h Log Message: compile fixes Index: zconf.h =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/zlib/zconf.h,v retrieving revision 1.45 retrieving revision 1.46 diff -C2 -d -r1.45 -r1.46 *** zconf.h 10 Apr 2007 21:16:55 -0000 1.45 --- zconf.h 10 Apr 2007 21:18:03 -0000 1.46 *************** *** 285,289 **** #endif ! #if 1 /* HAVE_UNISTD_H -- this line is updated by ./configure */ # include <sys/types.h> /* for off_t */ # include <unistd.h> /* for SEEK_* and off_t */ --- 285,289 ---- #endif ! #if 0 /* HAVE_UNISTD_H -- this line is updated by ./configure */ # include <sys/types.h> /* for off_t */ # include <unistd.h> /* for SEEK_* and off_t */ Index: Makefile =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/zlib/Makefile,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** Makefile 10 Apr 2007 21:16:55 -0000 1.8 --- Makefile 10 Apr 2007 21:18:03 -0000 1.9 *************** *** 17,23 **** # make install prefix=$HOME ! CC=gcc ! CFLAGS=-O3 -DUSE_MMAP #CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7 #CFLAGS=-g -DDEBUG --- 17,23 ---- # make install prefix=$HOME ! CC=cc ! CFLAGS=-O #CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7 #CFLAGS=-g -DDEBUG *************** *** 25,35 **** # -Wstrict-prototypes -Wmissing-prototypes ! LDFLAGS=-L. libz.a ! LDSHARED=gcc ! CPP=gcc -E LIBS=libz.a SHAREDLIB=libz.so ! SHAREDLIBV=libz.so.1.2.3 SHAREDLIBM=libz.so.1 --- 25,35 ---- # -Wstrict-prototypes -Wmissing-prototypes ! LDFLAGS=libz.a ! LDSHARED=$(CC) ! CPP=$(CC) -E LIBS=libz.a SHAREDLIB=libz.so ! SHAREDLIBV=libz.so.1.2.1 SHAREDLIBM=libz.so.1 *************** *** 40,48 **** EXE= ! prefix =/usr/local ! exec_prefix =${prefix} ! libdir =${exec_prefix}/lib ! includedir =${prefix}/include ! mandir =${prefix}/share/man man3dir = ${mandir}/man3 --- 40,48 ---- EXE= ! prefix = /usr/local ! exec_prefix = ${prefix} ! libdir = ${exec_prefix}/lib ! includedir = ${prefix}/include ! mandir = ${prefix}/share/man man3dir = ${mandir}/man3 |
From: Gabriel B. <sh...@us...> - 2007-04-10 21:17:37
|
Update of /cvsroot/solidircd/solidircd-stable/zlib In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv616/zlib Modified Files: trees.c Log Message: compile fixes Index: trees.c =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/zlib/trees.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** trees.c 27 Jun 2005 03:02:44 -0000 1.1.1.1 --- trees.c 10 Apr 2007 21:17:34 -0000 1.2 *************** *** 1,4 **** /* trees.c -- output deflated data using Huffman coding ! * Copyright (C) 1995-2003 Jean-loup Gailly * For conditions of distribution and use, see copyright notice in zlib.h */ --- 1,4 ---- /* trees.c -- output deflated data using Huffman coding ! * Copyright (C) 1995-2005 Jean-loup Gailly * For conditions of distribution and use, see copyright notice in zlib.h */ *************** *** 556,560 **** m = s->heap[--h]; if (m > max_code) continue; ! if (tree[m].Len != (unsigned) bits) { Trace((stderr,"code %d bits %d->%d\n", m, tree[m].Len, bits)); s->opt_len += ((long)bits - (long)tree[m].Len) --- 556,560 ---- m = s->heap[--h]; if (m > max_code) continue; ! if ((unsigned) tree[m].Len != (unsigned) bits) { Trace((stderr,"code %d bits %d->%d\n", m, tree[m].Len, bits)); s->opt_len += ((long)bits - (long)tree[m].Len) *************** *** 931,936 **** if (s->level > 0) { ! /* Check if the file is ascii or binary */ ! if (s->data_type == Z_UNKNOWN) set_data_type(s); /* Construct the literal and distance trees */ --- 931,937 ---- if (s->level > 0) { ! /* Check if the file is binary or text */ ! if (stored_len > 0 && s->strm->data_type == Z_UNKNOWN) ! set_data_type(s); /* Construct the literal and distance trees */ *************** *** 983,987 **** } else if (static_lenb >= 0) { /* force static trees */ #else ! } else if (static_lenb == opt_lenb) { #endif send_bits(s, (STATIC_TREES<<1)+eof, 3); --- 984,988 ---- } else if (static_lenb >= 0) { /* force static trees */ #else ! } else if (s->strategy == Z_FIXED || static_lenb == opt_lenb) { #endif send_bits(s, (STATIC_TREES<<1)+eof, 3); *************** *** 1118,1136 **** /* =========================================================================== ! * Set the data type to ASCII or BINARY, using a crude approximation: ! * binary if more than 20% of the bytes are <= 6 or >= 128, ascii otherwise. ! * IN assertion: the fields freq of dyn_ltree are set and the total of all ! * frequencies does not exceed 64K (to fit in an int on 16 bit machines). */ local void set_data_type(s) deflate_state *s; { ! int n = 0; ! unsigned ascii_freq = 0; ! unsigned bin_freq = 0; ! while (n < 7) bin_freq += s->dyn_ltree[n++].Freq; ! while (n < 128) ascii_freq += s->dyn_ltree[n++].Freq; ! while (n < LITERALS) bin_freq += s->dyn_ltree[n++].Freq; ! s->data_type = (Byte)(bin_freq > (ascii_freq >> 2) ? Z_BINARY : Z_ASCII); } --- 1119,1140 ---- /* =========================================================================== ! * Set the data type to BINARY or TEXT, using a crude approximation: ! * set it to Z_TEXT if all symbols are either printable characters (33 to 255) ! * or white spaces (9 to 13, or 32); or set it to Z_BINARY otherwise. ! * IN assertion: the fields Freq of dyn_ltree are set. */ local void set_data_type(s) deflate_state *s; { ! int n; ! ! for (n = 0; n < 9; n++) ! if (s->dyn_ltree[n].Freq != 0) ! break; ! if (n == 9) ! for (n = 14; n < 32; n++) ! if (s->dyn_ltree[n].Freq != 0) ! break; ! s->strm->data_type = (n == 32) ? Z_TEXT : Z_BINARY; } |
Update of /cvsroot/solidircd/solidircd-stable/src In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv32644/src Modified Files: channel.c glines.c ircd.c klines.c m_nick.c m_services.c s_serv.c struct.c userban.c Log Message: compile fixes Index: glines.c =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/src/glines.c,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** glines.c 10 Apr 2007 20:13:07 -0000 1.10 --- glines.c 10 Apr 2007 21:16:54 -0000 1.11 *************** *** 608,610 **** return 0; ! } \ No newline at end of file --- 608,610 ---- return 0; ! } Index: s_serv.c =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/src/s_serv.c,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** s_serv.c 25 Jun 2006 22:53:01 -0000 1.19 --- s_serv.c 10 Apr 2007 21:16:54 -0000 1.20 *************** *** 1348,1353 **** char *message = parc > 1 ? parv[1] : NULL; ! if (check_registered(sptr)) ! return 0; if (BadPtr(message)) --- 1348,1352 ---- char *message = parc > 1 ? parv[1] : NULL; ! if (BadPtr(message)) *************** *** 3857,3862 **** aClient *acptr; ! if (check_registered(sptr)) ! return 0; if (MyClient(sptr)) { --- 3856,3860 ---- aClient *acptr; ! if (MyClient(sptr)) { *************** *** 3916,3921 **** aClient *acptr; ! if (check_registered(sptr)) ! return 0; if (MyClient(sptr)) { --- 3914,3918 ---- aClient *acptr; ! if (MyClient(sptr)) { *************** *** 4100,4105 **** int longest = strlen(me.name); ! if (check_registered (sptr)) ! return 0; if (!IsAnOper(cptr)) --- 4097,4101 ---- int longest = strlen(me.name); ! if (!IsAnOper(cptr)) *************** *** 4125,4128 **** --- 4121,4161 ---- } + int + m_check(aClient *cptr, aClient *sptr, int parc, char *parv[]) + { + struct simBan *ban; + + if (!IsAnOper(sptr)) + { + sendto_one(sptr, getreply(ERR_NOPRIVILEGES), me.name, parv[0]); + return 0; + } + + if (parc < 3 || mycmp(parv[1], "nick")) + { + sendto_one(sptr, "NOTICE %s :Syntax: CHECK NICK <nickname>", parv[0]); + return 0; + } + + if ((ban = check_mask_simbanned(parv[2], SBAN_NICK))) + { + char *reason = ban->reason ? ban->reason : "<no reason>"; + + if (ban->flags & SBAN_TEMPORARY) + sendto_one(sptr, "NOTICE %s :CHECK NICK: %s [expires in %dm]: %s", + parv[0], ban->mask, + (ban->timeset + ban->duration - NOW) / 60, + reason); + else + sendto_one(sptr, "NOTICE %s :CHECK NICK: %s [permanent]: %s", + parv[0], ban->mask, reason); + } + else + { + sendto_one(sptr, "NOTICE %s :CHECK NICK: no match", parv[0]); + } + + return 0; + } Index: userban.c =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/src/userban.c,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** userban.c 10 Apr 2007 20:13:08 -0000 1.13 --- userban.c 10 Apr 2007 21:16:55 -0000 1.14 *************** *** 481,484 **** --- 481,485 ---- if((ban->flags & UBAN_TEMPORARY) && ban->timeset + ban->duration <= NOW) { + /* if (ban->flags & UBAN_SHUN) { *************** *** 495,499 **** } ! remove_userban(ban); --- 496,500 ---- } ! */ remove_userban(ban); Index: m_nick.c =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/src/m_nick.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** m_nick.c 27 Jun 2005 03:02:22 -0000 1.1.1.1 --- m_nick.c 10 Apr 2007 21:16:54 -0000 1.2 *************** *** 469,484 **** nick, get_client_name(cptr, TRUE)); - if (ban->autocap) - { - time_t maxexp = NOW + ban->autocap; - ban->duration += 5; - if ((ban->timeset + ban->duration) > maxexp) - { - ban->duration = maxexp - ban->timeset; - sendto_realops_lev(REJ_LEV, "Resetting expire time for" - " restricted nick %s on try from %s", - nick, get_client_name(cptr, TRUE)); - } - } return 0; --- 469,472 ---- *************** *** 612,642 **** if (MyConnect(sptr)) { ! if (!IsOper(sptr) && (ban = check_mask_simbanned(nick, SBAN_NICK))) ! { ! sendto_one(sptr, err_str(ERR_ERRONEUSNICKNAME), me.name, ! BadPtr(parv[0]) ? "*" : parv[0], nick, ! BadPtr(ban->reason) ? "Erroneous Nickname" : ! ban->reason); ! sendto_realops_lev(REJ_LEV, ! "Forbidding restricted nick %s from %s.", nick, ! get_client_name(cptr, TRUE)); - if (ban->autocap) - { - time_t maxexp = NOW + ban->autocap; - ban->duration += 5; - if ((ban->timeset + ban->duration) > maxexp) - { - ban->duration = maxexp - ban->timeset; - sendto_realops_lev(REJ_LEV, "Resetting expire time for" - " restricted nick %s on try from %s", - nick, get_client_name(cptr, TRUE)); - } - } - return 0; - } - } - - strcpy(sptr->name, nick); sptr->tsinfo = timeofday; --- 600,620 ---- if (MyConnect(sptr)) { ! if ((ban = check_mask_simbanned(nick, SBAN_NICK))) ! { ! if (MyConnect(sptr) && (!IsServer(cptr)) && (!IsOper(cptr)) ! && (!IsULine(sptr))) ! { ! sendto_one(sptr, err_str(ERR_ERRONEUSNICKNAME), me.name, ! BadPtr(parv[0]) ? "*" : parv[0], nick, ! BadPtr(ban->reason) ? "Erroneous Nickname" : ! ban->reason); ! sendto_realops_lev(REJ_LEV, ! "Forbidding restricted nick %s from %s", nick, ! get_client_name(cptr, FALSE)); ! return 0; ! } ! } ! } strcpy(sptr->name, nick); sptr->tsinfo = timeofday; Index: ircd.c =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/src/ircd.c,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** ircd.c 10 Apr 2007 18:46:27 -0000 1.10 --- ircd.c 10 Apr 2007 21:16:54 -0000 1.11 *************** *** 659,663 **** char REPORT_DO_DNS[256], REPORT_FIN_DNS[256], REPORT_FIN_DNSC[256], REPORT_FAIL_DNS[256], REPORT_DO_ID[256], REPORT_FIN_ID[256], ! REPORT_FAIL_ID[256], REPORT_REJECT_ID[256]; FILE *dumpfp=NULL; --- 659,663 ---- char REPORT_DO_DNS[256], REPORT_FIN_DNS[256], REPORT_FIN_DNSC[256], REPORT_FAIL_DNS[256], REPORT_DO_ID[256], REPORT_FIN_ID[256], ! REPORT_FAIL_ID[256], REPORT_REJECT_ID[256]; FILE *dumpfp=NULL; Index: channel.c =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/src/channel.c,v retrieving revision 1.24 retrieving revision 1.25 diff -C2 -d -r1.24 -r1.25 *** channel.c 9 Apr 2007 22:59:07 -0000 1.24 --- channel.c 10 Apr 2007 21:16:54 -0000 1.25 *************** *** 1108,1112 **** chanMember *cm; int ismine; ! if (IsServer(cptr) || IsULine(cptr)) return 0; --- 1108,1112 ---- chanMember *cm; int ismine; ! if (IsServer(cptr) || IsULine(cptr)) return 0; *************** *** 1114,1118 **** cm = find_user_member(chptr->members, cptr); ismine = MyClient(cptr); ! if(!cm) { --- 1114,1118 ---- cm = find_user_member(chptr->members, cptr); ismine = MyClient(cptr); ! if(!cm) { *************** *** 1128,1144 **** return (ERR_NOCTRLSONCHAN); if (is_banned(cptr, chptr, NULL)) ! return (MODE_BAN); ! ! /* * channel is -n and user is not there; * we need to bquiet them if we can ! } */ } else { /* ops and voices can talk through everything except NOCTRL */ ! if (!(cm->flags & (CHFL_CHANOP | CHFL_HALFOP | CHFL_VOICE))) { ! if (chptr->mode.mode & MODE_MODERATED) return (MODE_MODERATED); if (is_banned(cptr, chptr, cm)) --- 1128,1143 ---- return (ERR_NOCTRLSONCHAN); if (is_banned(cptr, chptr, NULL)) ! return (MODE_BAN); /* * channel is -n and user is not there; * we need to bquiet them if we can ! */ ! } } else { /* ops and voices can talk through everything except NOCTRL */ ! if (!(cm->flags & (CHFL_CHANOP | CHFL_HALFOP | CHFL_VOICE))) { ! if (chptr->mode.mode & MODE_MODERATED) return (MODE_MODERATED); if (is_banned(cptr, chptr, cm)) *************** *** 1149,1153 **** /* control code blocking isn't flood-critical, so only check locally */ if (ismine && (chptr->mode.mode & MODE_NOCTRL) && msg_has_ctrls(msg)) - return (ERR_NOCTRLSONCHAN); } --- 1148,1151 ---- *************** *** 1156,1160 **** } - /* Can a user change his nick on this channel? - TheSphere 08/01/04*/ --- 1154,1157 ---- *************** *** 2169,2172 **** --- 2166,2170 ---- break; *mbuf++ = 'j'; + chptr->mode.mode &= ~MODE_JOINRATE; chptr->mode.jr_num = DEFAULT_JOIN_NUM; chptr->mode.jr_time = DEFAULT_JOIN_TIME; *************** *** 5468,5473 **** mc->s_scratch.c++; mc->s_scratch.m += sizeof(parabuf); ! ! return mc->total.m; ! } --- 5466,5469 ---- mc->s_scratch.c++; mc->s_scratch.m += sizeof(parabuf); ! return mc->total.m; } Index: klines.c =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/src/klines.c,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** klines.c 10 Apr 2007 20:13:07 -0000 1.5 --- klines.c 10 Apr 2007 21:16:54 -0000 1.6 *************** *** 600,602 **** return 0; ! } \ No newline at end of file --- 600,602 ---- return 0; ! } Index: m_services.c =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/src/m_services.c,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** m_services.c 25 Jun 2006 22:53:01 -0000 1.5 --- m_services.c 10 Apr 2007 21:16:54 -0000 1.6 *************** *** 481,485 **** oban->timeset = NOW; oban->duration = length; ! oban->autocap = (*parv[2] == '+') ? length : 0; } } --- 481,485 ---- oban->timeset = NOW; oban->duration = length; ! } } *************** *** 490,495 **** ban->timeset = NOW; ban->duration = length; - if (*parv[2] == '+') - ban->autocap = length; add_simban(ban); } --- 490,493 ---- Index: struct.c =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/src/struct.c,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** struct.c 9 Jul 2005 01:22:50 -0000 1.3 --- struct.c 10 Apr 2007 21:16:54 -0000 1.4 *************** *** 485,496 **** return chptr->chname; } - - int ch_join_start(aChannel *chptr) - { - return chptr->join_start; - } - - int ch_join_count(aChannel *chptr) - { - return chptr->join_count; - } --- 485,486 ---- |
From: Gabriel B. <sh...@us...> - 2007-04-10 21:17:00
|
Update of /cvsroot/solidircd/solidircd-stable/zlib In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv32644/zlib Modified Files: Makefile zconf.h Log Message: compile fixes Index: zconf.h =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/zlib/zconf.h,v retrieving revision 1.44 retrieving revision 1.45 diff -C2 -d -r1.44 -r1.45 *** zconf.h 10 Apr 2007 20:13:08 -0000 1.44 --- zconf.h 10 Apr 2007 21:16:55 -0000 1.45 *************** *** 1,4 **** /* zconf.h -- configuration of the zlib compression library ! * Copyright (C) 1995-2003 Jean-loup Gailly. * For conditions of distribution and use, see copyright notice in zlib.h */ --- 1,4 ---- /* zconf.h -- configuration of the zlib compression library ! * Copyright (C) 1995-2005 Jean-loup Gailly. * For conditions of distribution and use, see copyright notice in zlib.h */ *************** *** 14,54 **** */ #ifdef Z_PREFIX ! # define deflateInit_ z_deflateInit_ ! # define deflate z_deflate ! # define deflateEnd z_deflateEnd ! # define inflateInit_ z_inflateInit_ ! # define inflate z_inflate ! # define inflateEnd z_inflateEnd ! # define deflateInit2_ z_deflateInit2_ ! # define deflateSetDictionary z_deflateSetDictionary ! # define deflateCopy z_deflateCopy ! # define deflateReset z_deflateReset ! # define deflatePrime z_deflatePrime ! # define deflateParams z_deflateParams ! # define deflateBound z_deflateBound ! # define inflateInit2_ z_inflateInit2_ ! # define inflateSetDictionary z_inflateSetDictionary ! # define inflateSync z_inflateSync ! # define inflateSyncPoint z_inflateSyncPoint ! # define inflateCopy z_inflateCopy ! # define inflateReset z_inflateReset ! # define compress z_compress ! # define compress2 z_compress2 ! # define compressBound z_compressBound ! # define uncompress z_uncompress ! # define adler32 z_adler32 ! # define crc32 z_crc32 ! # define get_crc_table z_get_crc_table ! # define Byte z_Byte ! # define uInt z_uInt ! # define uLong z_uLong ! # define Bytef z_Bytef ! # define charf z_charf ! # define intf z_intf ! # define uIntf z_uIntf ! # define uLongf z_uLongf ! # define voidpf z_voidpf ! # define voidp z_voidp #endif --- 14,61 ---- */ #ifdef Z_PREFIX ! # define deflateInit_ z_deflateInit_ ! # define deflate z_deflate ! # define deflateEnd z_deflateEnd ! # define inflateInit_ z_inflateInit_ ! # define inflate z_inflate ! # define inflateEnd z_inflateEnd ! # define deflateInit2_ z_deflateInit2_ ! # define deflateSetDictionary z_deflateSetDictionary ! # define deflateCopy z_deflateCopy ! # define deflateReset z_deflateReset ! # define deflateParams z_deflateParams ! # define deflateBound z_deflateBound ! # define deflatePrime z_deflatePrime ! # define inflateInit2_ z_inflateInit2_ ! # define inflateSetDictionary z_inflateSetDictionary ! # define inflateSync z_inflateSync ! # define inflateSyncPoint z_inflateSyncPoint ! # define inflateCopy z_inflateCopy ! # define inflateReset z_inflateReset ! # define inflateBack z_inflateBack ! # define inflateBackEnd z_inflateBackEnd ! # define compress z_compress ! # define compress2 z_compress2 ! # define compressBound z_compressBound ! # define uncompress z_uncompress ! # define adler32 z_adler32 ! # define crc32 z_crc32 ! # define get_crc_table z_get_crc_table ! # define zError z_zError ! # define alloc_func z_alloc_func ! # define free_func z_free_func ! # define in_func z_in_func ! # define out_func z_out_func ! # define Byte z_Byte ! # define uInt z_uInt ! # define uLong z_uLong ! # define Bytef z_Bytef ! # define charf z_charf ! # define intf z_intf ! # define uIntf z_uIntf ! # define uLongf z_uLongf ! # define voidpf z_voidpf ! # define voidp z_voidp #endif *************** *** 62,67 **** # define WINDOWS #endif ! #if (defined(_WIN32) || defined(__WIN32__)) && !defined(WIN32) ! # define WIN32 #endif #if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32) --- 69,76 ---- # define WINDOWS #endif ! #if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__) ! # ifndef WIN32 ! # define WIN32 ! # endif #endif #if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32) *************** *** 276,280 **** #endif ! #if 0 /* HAVE_UNISTD_H -- this line is updated by ./configure */ # include <sys/types.h> /* for off_t */ # include <unistd.h> /* for SEEK_* and off_t */ --- 285,289 ---- #endif ! #if 1 /* HAVE_UNISTD_H -- this line is updated by ./configure */ # include <sys/types.h> /* for off_t */ # include <unistd.h> /* for SEEK_* and off_t */ *************** *** 282,286 **** # include <unixio.h> /* for off_t */ # endif ! # define z_off_t off_t #endif #ifndef SEEK_SET --- 291,295 ---- # include <unixio.h> /* for off_t */ # endif ! # define z_off_t off_t #endif #ifndef SEEK_SET *************** *** 290,298 **** #endif #ifndef z_off_t ! # define z_off_t long #endif #if defined(__OS400__) ! #define NO_vsnprintf #endif --- 299,307 ---- #endif #ifndef z_off_t ! # define z_off_t long #endif #if defined(__OS400__) ! # define NO_vsnprintf #endif Index: Makefile =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/zlib/Makefile,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** Makefile 26 Mar 2006 17:27:08 -0000 1.7 --- Makefile 10 Apr 2007 21:16:55 -0000 1.8 *************** *** 17,23 **** # make install prefix=$HOME ! CC=cc ! CFLAGS=-O #CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7 #CFLAGS=-g -DDEBUG --- 17,23 ---- # make install prefix=$HOME ! CC=gcc ! CFLAGS=-O3 -DUSE_MMAP #CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7 #CFLAGS=-g -DDEBUG *************** *** 25,35 **** # -Wstrict-prototypes -Wmissing-prototypes ! LDFLAGS=libz.a ! LDSHARED=$(CC) ! CPP=$(CC) -E LIBS=libz.a SHAREDLIB=libz.so ! SHAREDLIBV=libz.so.1.2.1 SHAREDLIBM=libz.so.1 --- 25,35 ---- # -Wstrict-prototypes -Wmissing-prototypes ! LDFLAGS=-L. libz.a ! LDSHARED=gcc ! CPP=gcc -E LIBS=libz.a SHAREDLIB=libz.so ! SHAREDLIBV=libz.so.1.2.3 SHAREDLIBM=libz.so.1 *************** *** 40,48 **** EXE= ! prefix = /usr/local ! exec_prefix = ${prefix} ! libdir = ${exec_prefix}/lib ! includedir = ${prefix}/include ! mandir = ${prefix}/share/man man3dir = ${mandir}/man3 --- 40,48 ---- EXE= ! prefix =/usr/local ! exec_prefix =${prefix} ! libdir =${exec_prefix}/lib ! includedir =${prefix}/include ! mandir =${prefix}/share/man man3dir = ${mandir}/man3 |
From: Gabriel B. <sh...@us...> - 2007-04-10 21:17:00
|
Update of /cvsroot/solidircd/solidircd-stable/include In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv32644/include Modified Files: config.h memcount.h struct.h Log Message: compile fixes Index: memcount.h =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/include/memcount.h,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** memcount.h 9 Apr 2007 22:59:07 -0000 1.5 --- memcount.h 10 Apr 2007 21:16:54 -0000 1.6 *************** *** 190,193 **** --- 190,200 ---- } MCklines; + /* glines.c */ + typedef struct { + const char *file; + + /* MEMTRACE: allocates userban reasons */ + } MCglines; + /* list.c */ *************** *** 479,482 **** --- 486,490 ---- u_long memcount_clientlist(MCclientlist *); u_long memcount_klines(MCklines *); + u_long memcount_glines(MCglines *); u_long memcount_clones(MCclones *); #ifdef HAVE_ENCRYPTION_ON Index: struct.h =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/include/struct.h,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** struct.h 9 Apr 2007 22:59:07 -0000 1.13 --- struct.h 10 Apr 2007 21:16:54 -0000 1.14 *************** *** 74,81 **** #define REPORT_FIN_ID_ ":%s NOTICE AUTH :*** Got Ident response" #define REPORT_FAIL_ID_ ":%s NOTICE AUTH :*** No Ident response" extern char REPORT_DO_DNS[256], REPORT_FIN_DNS[256], REPORT_FIN_DNSC[256], REPORT_FAIL_DNS[256], REPORT_DO_ID[256], REPORT_FIN_ID[256], ! REPORT_FAIL_ID[256]; #include "hash.h" --- 74,83 ---- #define REPORT_FIN_ID_ ":%s NOTICE AUTH :*** Got Ident response" #define REPORT_FAIL_ID_ ":%s NOTICE AUTH :*** No Ident response" + #define REPORT_REJECT_ID_ ":%s NOTICE AUTH :*** Ignoring encrypted/unusable "\ + "Ident response" extern char REPORT_DO_DNS[256], REPORT_FIN_DNS[256], REPORT_FIN_DNSC[256], REPORT_FAIL_DNS[256], REPORT_DO_ID[256], REPORT_FIN_ID[256], ! REPORT_FAIL_ID[256], REPORT_REJECT_ID[256]; #include "hash.h" Index: config.h =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/include/config.h,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -d -r1.30 -r1.31 *** config.h 9 Apr 2007 22:59:07 -0000 1.30 --- config.h 10 Apr 2007 21:16:54 -0000 1.31 *************** *** 1060,1063 **** --- 1060,1066 ---- #define IRCD_PIDFILE PPATH + /* token bucket size for join rate stuffs */ + #define DEFAULT_JOIN_SIZE (DEFAULT_JOIN_NUM * DEFAULT_JOIN_TIME) + /* enforce a minimum, even though it'll probably break at runtime */ #if (MAXCONNECTIONS < 20) |
From: Gabriel B. <sh...@us...> - 2007-04-10 20:13:18
|
Update of /cvsroot/solidircd/solidircd-stable In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv7252 Modified Files: CHANGES README Log Message: Bahamut 1.8.4 latest changes part 4 Index: README =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/README,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** README 25 Jun 2006 22:53:00 -0000 1.7 --- README 10 Apr 2007 20:13:07 -0000 1.8 *************** *** 34,36 **** Please send any SECURITY RELATED bugs to sh...@so... - any non-critical bugs can be submitted to our bug tracker at http://www.solid-ircd.com ! for code discussion. \ No newline at end of file --- 34,36 ---- Please send any SECURITY RELATED bugs to sh...@so... - any non-critical bugs can be submitted to our bug tracker at http://www.solid-ircd.com ! for code discussion.. \ No newline at end of file Index: CHANGES =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/CHANGES,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -d -r1.30 -r1.31 *** CHANGES 9 Apr 2007 16:01:10 -0000 1.30 --- CHANGES 10 Apr 2007 20:13:07 -0000 1.31 *************** *** 411,412 **** --- 411,441 ---- - Updated m_module to allow non-admin viewing of hooks and loaded modules - Added module hooks for user and channel targetted privmsgs + _IDENT_SYSTYPE_OTHER + - NO_MIXED_CASE + - OLD_Y_LIMIT + - USE_REJECT_HOLD + This code is no longer used. + - Removed define options for: + - CLIENT_COUNT + This code is now manditory. + - Completely rewrote configuration structures. + - Rewrote methods for connecting to servers. + - Outdated Link structure config linking, now linking directly from + aClient(user/serv) structures to appropriate conf strucutures. + - Backported lucas's aListener structure and routines from defunct + bahamut-devel tree. + - Implemented +I/+e channel lists - thanks seddy. + - Ports now can be opened and closed on /rehash + - config file format changed to bind-style + - klinefile outdated + - replaced dbufs with sbufs - shared buffers. + - removed old High Traffic Mode (HTM) code + - config option block added to outdate use of ./config script + - fixes for solaris and OSX compatibility + - Added support for /dev/poll and epoll socket engines - thanks seddy. + - Moved m_server and m_dkey into m_server.c + - Moved m_stats into m_stats.c + - Fixed memory counting routines. Thanks Quension! + - Outdated modules.ini and all inifile uses - now a modules {} conf block + - Updated m_module to allow non-admin viewing of hooks and loaded modules + - Added module hooks for user and channel targetted privmsgs |
Update of /cvsroot/solidircd/solidircd-stable/zlib In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv7252/zlib Modified Files: ChangeLog FAQ INDEX adler32.c configure crc32.c deflate.c deflate.h gzio.c infback.c inffast.c inflate.c inflate.h inftrees.c minigzip.c zconf.h zconf.in.h zlib.h zutil.c zutil.h Log Message: Bahamut 1.8.4 latest changes part 4 Index: inflate.c =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/zlib/inflate.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** inflate.c 27 Jun 2005 03:02:40 -0000 1.1.1.1 --- inflate.c 10 Apr 2007 20:13:08 -0000 1.2 *************** *** 1,4 **** /* inflate.c -- zlib decompression ! * Copyright (C) 1995-2003 Mark Adler * For conditions of distribution and use, see copyright notice in zlib.h */ --- 1,4 ---- /* inflate.c -- zlib decompression ! * Copyright (C) 1995-2005 Mark Adler * For conditions of distribution and use, see copyright notice in zlib.h */ *************** *** 110,118 **** --- 110,122 ---- strm->total_in = strm->total_out = state->total = 0; strm->msg = Z_NULL; + strm->adler = 1; /* to support ill-conceived Java test suite */ state->mode = HEAD; state->last = 0; state->havedict = 0; + state->dmax = 32768U; + state->head = Z_NULL; state->wsize = 0; state->whave = 0; + state->write = 0; state->hold = 0; state->bits = 0; *************** *** 122,125 **** --- 126,145 ---- } + int ZEXPORT inflatePrime(strm, bits, value) + z_streamp strm; + int bits; + int value; + { + struct inflate_state FAR *state; + + if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; + state = (struct inflate_state FAR *)strm->state; + if (bits > 16 || state->bits + bits > 32) return Z_STREAM_ERROR; + value &= (1L << bits) - 1; + state->hold += value << state->bits; + state->bits += bits; + return Z_OK; + } + int ZEXPORT inflateInit2_(strm, windowBits, version, stream_size) z_streamp strm; *************** *** 144,148 **** if (state == Z_NULL) return Z_MEM_ERROR; Tracev((stderr, "inflate: allocated\n")); ! strm->state = (voidpf)state; if (windowBits < 0) { state->wrap = 0; --- 164,168 ---- if (state == Z_NULL) return Z_MEM_ERROR; Tracev((stderr, "inflate: allocated\n")); ! strm->state = (struct internal_state FAR *)state; if (windowBits < 0) { state->wrap = 0; *************** *** 582,585 **** --- 602,607 ---- } state->flags = 0; /* expect zlib header */ + if (state->head != Z_NULL) + state->head->done = -1; if (!(state->wrap & 1) || /* check if zlib header allowed */ #else *************** *** 597,605 **** } DROPBITS(4); ! if (BITS(4) + 8 > state->wbits) { strm->msg = (char *)"invalid window size"; state->mode = BAD; break; } Tracev((stderr, "inflate: zlib header ok\n")); strm->adler = state->check = adler32(0L, Z_NULL, 0); --- 619,629 ---- } DROPBITS(4); ! len = BITS(4) + 8; ! if (len > state->wbits) { strm->msg = (char *)"invalid window size"; state->mode = BAD; break; } + state->dmax = 1U << len; Tracev((stderr, "inflate: zlib header ok\n")); strm->adler = state->check = adler32(0L, Z_NULL, 0); *************** *** 621,624 **** --- 645,650 ---- break; } + if (state->head != Z_NULL) + state->head->text = (int)((hold >> 8) & 1); if (state->flags & 0x0200) CRC2(state->check, hold); INITBITS(); *************** *** 626,629 **** --- 652,657 ---- case TIME: NEEDBITS(32); + if (state->head != Z_NULL) + state->head->time = hold; if (state->flags & 0x0200) CRC4(state->check, hold); INITBITS(); *************** *** 631,634 **** --- 659,666 ---- case OS: NEEDBITS(16); + if (state->head != Z_NULL) { + state->head->xflags = (int)(hold & 0xff); + state->head->os = (int)(hold >> 8); + } if (state->flags & 0x0200) CRC2(state->check, hold); INITBITS(); *************** *** 638,644 **** --- 670,680 ---- NEEDBITS(16); state->length = (unsigned)(hold); + if (state->head != Z_NULL) + state->head->extra_len = (unsigned)hold; if (state->flags & 0x0200) CRC2(state->check, hold); INITBITS(); } + else if (state->head != Z_NULL) + state->head->extra = Z_NULL; state->mode = EXTRA; case EXTRA: *************** *** 647,650 **** --- 683,693 ---- if (copy > have) copy = have; if (copy) { + if (state->head != Z_NULL && + state->head->extra != Z_NULL) { + len = state->head->extra_len - state->length; + zmemcpy(state->head->extra + len, next, + len + copy > state->head->extra_max ? + state->head->extra_max - len : copy); + } if (state->flags & 0x0200) state->check = crc32(state->check, next, copy); *************** *** 655,658 **** --- 698,702 ---- if (state->length) goto inf_leave; } + state->length = 0; state->mode = NAME; case NAME: *************** *** 662,667 **** do { len = (unsigned)(next[copy++]); } while (len && copy < have); ! if (state->flags & 0x02000) state->check = crc32(state->check, next, copy); have -= copy; --- 706,715 ---- do { len = (unsigned)(next[copy++]); + if (state->head != Z_NULL && + state->head->name != Z_NULL && + state->length < state->head->name_max) + state->head->name[state->length++] = len; } while (len && copy < have); ! if (state->flags & 0x0200) state->check = crc32(state->check, next, copy); have -= copy; *************** *** 669,672 **** --- 717,723 ---- if (len) goto inf_leave; } + else if (state->head != Z_NULL) + state->head->name = Z_NULL; + state->length = 0; state->mode = COMMENT; case COMMENT: *************** *** 676,681 **** do { len = (unsigned)(next[copy++]); } while (len && copy < have); ! if (state->flags & 0x02000) state->check = crc32(state->check, next, copy); have -= copy; --- 727,736 ---- do { len = (unsigned)(next[copy++]); + if (state->head != Z_NULL && + state->head->comment != Z_NULL && + state->length < state->head->comm_max) + state->head->comment[state->length++] = len; } while (len && copy < have); ! if (state->flags & 0x0200) state->check = crc32(state->check, next, copy); have -= copy; *************** *** 683,686 **** --- 738,743 ---- if (len) goto inf_leave; } + else if (state->head != Z_NULL) + state->head->comment = Z_NULL; state->mode = HCRC; case HCRC: *************** *** 694,697 **** --- 751,758 ---- INITBITS(); } + if (state->head != Z_NULL) { + state->head->hcrc = (int)((state->flags >> 9) & 1); + state->head->done = 1; + } strm->adler = state->check = crc32(0L, Z_NULL, 0); state->mode = TYPE; *************** *** 862,865 **** --- 923,929 ---- } + /* handle error breaks in while */ + if (state->mode == BAD) break; + /* build code tables */ state->next = state->codes; *************** *** 966,969 **** --- 1030,1040 ---- DROPBITS(state->extra); } + #ifdef INFLATE_STRICT + if (state->offset > state->dmax) { + strm->msg = (char *)"invalid distance too far back"; + state->mode = BAD; + break; + } + #endif if (state->offset > state->whave + out - left) { strm->msg = (char *)"invalid distance too far back"; *************** *** 1107,1116 **** if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; state = (struct inflate_state FAR *)strm->state; ! if (state->mode != DICT) return Z_STREAM_ERROR; /* check for correct dictionary id */ ! id = adler32(0L, Z_NULL, 0); ! id = adler32(id, dictionary, dictLength); ! if (id != state->check) return Z_DATA_ERROR; /* copy dictionary to window */ --- 1178,1191 ---- if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; state = (struct inflate_state FAR *)strm->state; ! if (state->wrap != 0 && state->mode != DICT) ! return Z_STREAM_ERROR; /* check for correct dictionary id */ ! if (state->mode == DICT) { ! id = adler32(0L, Z_NULL, 0); ! id = adler32(id, dictionary, dictLength); ! if (id != state->check) ! return Z_DATA_ERROR; ! } /* copy dictionary to window */ *************** *** 1134,1137 **** --- 1209,1229 ---- } + int ZEXPORT inflateGetHeader(strm, head) + z_streamp strm; + gz_headerp head; + { + struct inflate_state FAR *state; + + /* check state */ + if (strm == Z_NULL || strm->state == Z_NULL) return Z_STREAM_ERROR; + state = (struct inflate_state FAR *)strm->state; + if ((state->wrap & 2) == 0) return Z_STREAM_ERROR; + + /* save header structure */ + state->head = head; + head->done = 0; + return Z_OK; + } + /* Search buf[0..len-1] for the pattern: 0, 0, 0xff, 0xff. Return when found *************** *** 1236,1239 **** --- 1328,1332 ---- struct inflate_state FAR *copy; unsigned char FAR *window; + unsigned wsize; /* check input */ *************** *** 1258,1270 **** /* copy state */ ! *dest = *source; ! *copy = *state; ! copy->lencode = copy->codes + (state->lencode - state->codes); ! copy->distcode = copy->codes + (state->distcode - state->codes); copy->next = copy->codes + (state->next - state->codes); ! if (window != Z_NULL) ! zmemcpy(window, state->window, 1U << state->wbits); copy->window = window; ! dest->state = (voidpf)copy; return Z_OK; } --- 1351,1368 ---- /* copy state */ ! zmemcpy(dest, source, sizeof(z_stream)); ! zmemcpy(copy, state, sizeof(struct inflate_state)); ! if (state->lencode >= state->codes && ! state->lencode <= state->codes + ENOUGH - 1) { ! copy->lencode = copy->codes + (state->lencode - state->codes); ! copy->distcode = copy->codes + (state->distcode - state->codes); ! } copy->next = copy->codes + (state->next - state->codes); ! if (window != Z_NULL) { ! wsize = 1U << state->wbits; ! zmemcpy(window, state->window, wsize); ! } copy->window = window; ! dest->state = (struct internal_state FAR *)copy; return Z_OK; } Index: minigzip.c =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/zlib/minigzip.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** minigzip.c 27 Jun 2005 03:02:43 -0000 1.1.1.1 --- minigzip.c 10 Apr 2007 20:13:08 -0000 1.2 *************** *** 1,4 **** /* minigzip.c -- simulate gzip using the zlib compression library ! * Copyright (C) 1995-2002 Jean-loup Gailly. * For conditions of distribution and use, see copyright notice in zlib.h */ --- 1,4 ---- /* minigzip.c -- simulate gzip using the zlib compression library ! * Copyright (C) 1995-2005 Jean-loup Gailly. * For conditions of distribution and use, see copyright notice in zlib.h */ *************** *** 22,27 **** # include <string.h> # include <stdlib.h> - #else - extern void exit OF((int)); #endif --- 22,25 ---- *************** *** 298,301 **** --- 296,301 ---- argc--, argv++; } + if (outmode[3] == ' ') + outmode[3] = 0; if (argc == 0) { SET_BINARY_MODE(stdin); Index: FAQ =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/zlib/FAQ,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** FAQ 27 Jun 2005 03:02:41 -0000 1.1.1.1 --- FAQ 10 Apr 2007 20:13:08 -0000 1.2 *************** *** 314,315 **** --- 314,334 ---- No. Go away. Shoo. + 1, most notably Microsoft. So even though the + "deflate" transfer encoding using the zlib format would be the more + efficient approach (and in fact exactly what the zlib format was designed + for), using the "gzip" transfer encoding is probably more reliable due to + an unfortunate choice of name on the part of the HTTP 1.1 authors. + + Bottom line: use the gzip format for HTTP 1.1 encoding. + + 40. Does zlib support the new "Deflate64" format introduced by PKWare? + + No. PKWare has apparently decided to keep that format proprietary, since + they have not documented it as they have previous compression formats. + In any case, the compression improvements are so modest compared to other + more modern approaches, that it's not worth the effort to implement. + + 41. Can you please sign these lengthy legal documents and fax them back to us + so that we can use your software in our product? + + No. Go away. Shoo. Index: configure =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/zlib/configure,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** configure 27 Jun 2005 03:02:49 -0000 1.1.1.1 --- configure 10 Apr 2007 20:13:08 -0000 1.2 *************** *** 444,445 **** --- 444,463 ---- /^LDFLAGS *=/s#=.*#=$LDFLAGS# " > Makefile + C *=/s#=.*#=$CC# + /^CFLAGS *=/s#=.*#=$CFLAGS# + /^CPP *=/s#=.*#=$CPP# + /^LDSHARED *=/s#=.*#=$LDSHARED# + /^LIBS *=/s#=.*#=$LIBS# + /^SHAREDLIB *=/s#=.*#=$SHAREDLIB# + /^SHAREDLIBV *=/s#=.*#=$SHAREDLIBV# + /^SHAREDLIBM *=/s#=.*#=$SHAREDLIBM# + /^AR *=/s#=.*#=$AR# + /^RANLIB *=/s#=.*#=$RANLIB# + /^EXE *=/s#=.*#=$EXE# + /^prefix *=/s#=.*#=$prefix# + /^exec_prefix *=/s#=.*#=$exec_prefix# + /^libdir *=/s#=.*#=$libdir# + /^includedir *=/s#=.*#=$includedir# + /^mandir *=/s#=.*#=$mandir# + /^LDFLAGS *=/s#=.*#=$LDFLAGS# + " > Makefile Index: zlib.h =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/zlib/zlib.h,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** zlib.h 27 Jun 2005 03:02:42 -0000 1.1.1.1 --- zlib.h 10 Apr 2007 20:13:08 -0000 1.2 *************** *** 1,6 **** /* zlib.h -- interface of the 'zlib' general purpose compression library ! version 1.2.1, November 17th, 2003 ! Copyright (C) 1995-2003 Jean-loup Gailly and Mark Adler This software is provided 'as-is', without any express or implied --- 1,6 ---- /* zlib.h -- interface of the 'zlib' general purpose compression library ! version 1.2.3, July 18th, 2005 ! Copyright (C) 1995-2005 Jean-loup Gailly and Mark Adler This software is provided 'as-is', without any express or implied *************** *** 38,43 **** #endif ! #define ZLIB_VERSION "1.2.1" ! #define ZLIB_VERNUM 0x1210 /* --- 38,43 ---- #endif ! #define ZLIB_VERSION "1.2.3" ! #define ZLIB_VERNUM 0x1230 /* *************** *** 54,60 **** (providing more output space) before each call. ! The compressed data format used by the in-memory functions is the zlib ! format, which is a zlib wrapper documented in RFC 1950, wrapped around a ! deflate stream, which is itself documented in RFC 1951. The library also supports reading and writing files in gzip (.gz) format --- 54,60 ---- (providing more output space) before each call. ! The compressed data format used by default by the in-memory functions is ! the zlib format, which is a zlib wrapper documented in RFC 1950, wrapped ! around a deflate stream, which is itself documented in RFC 1951. The library also supports reading and writing files in gzip (.gz) format *************** *** 63,66 **** --- 63,68 ---- gzip wrapper, documented in RFC 1952, wrapped around a deflate stream. + This library can optionally read and write gzip streams in memory as well. + The zlib format was designed to be compact and fast for use in memory and on communications channels. The gzip format was designed for single- *************** *** 68,75 **** directory information, and uses a different, slower check method than zlib. - This library does not provide any functions to write gzip files in memory. - However such functions could be easily written using zlib's deflate function, - the documentation in the gzip RFC, and the examples in gzio.c. - The library does not install any signal handler. The decoder checks the consistency of the compressed data, so the library should never --- 70,73 ---- *************** *** 98,102 **** voidpf opaque; /* private data object passed to zalloc and zfree */ ! int data_type; /* best guess about the data type: ascii or binary */ uLong adler; /* adler32 value of the uncompressed data */ uLong reserved; /* reserved for future use */ --- 96,100 ---- voidpf opaque; /* private data object passed to zalloc and zfree */ ! int data_type; /* best guess about the data type: binary or text */ uLong adler; /* adler32 value of the uncompressed data */ uLong reserved; /* reserved for future use */ *************** *** 106,109 **** --- 104,130 ---- /* + gzip header information passed to and from zlib routines. See RFC 1952 + for more details on the meanings of these fields. + */ + typedef struct gz_header_s { + int text; /* true if compressed data believed to be text */ + uLong time; /* modification time */ + int xflags; /* extra flags (not used when writing a gzip file) */ + int os; /* operating system */ + Bytef *extra; /* pointer to extra field or Z_NULL if none */ + uInt extra_len; /* extra field length (valid if extra != Z_NULL) */ + uInt extra_max; /* space at extra (only when reading header) */ + Bytef *name; /* pointer to zero-terminated file name or Z_NULL */ + uInt name_max; /* space at name (only when reading header) */ + Bytef *comment; /* pointer to zero-terminated comment or Z_NULL */ + uInt comm_max; /* space at comment (only when reading header) */ + int hcrc; /* true if there was or will be a header crc */ + int done; /* true when done reading gzip header (not used + when writing a gzip file) */ + } gz_header; + + typedef gz_header FAR *gz_headerp; + + /* The application must update next_in and avail_in when avail_in has dropped to zero. It must update next_out and avail_out when avail_out *************** *** 169,177 **** #define Z_HUFFMAN_ONLY 2 #define Z_RLE 3 #define Z_DEFAULT_STRATEGY 0 /* compression strategy; see deflateInit2() below for details */ #define Z_BINARY 0 ! #define Z_ASCII 1 #define Z_UNKNOWN 2 /* Possible values of the data_type field (though see inflate()) */ --- 190,200 ---- #define Z_HUFFMAN_ONLY 2 #define Z_RLE 3 + #define Z_FIXED 4 #define Z_DEFAULT_STRATEGY 0 /* compression strategy; see deflateInit2() below for details */ #define Z_BINARY 0 ! #define Z_TEXT 1 ! #define Z_ASCII Z_TEXT /* for compatibility with 1.2.2 and earlier */ #define Z_UNKNOWN 2 /* Possible values of the data_type field (though see inflate()) */ *************** *** 247,250 **** --- 270,277 ---- output buffer because there might be more output pending. + Normally the parameter flush is set to Z_NO_FLUSH, which allows deflate to + decide how much data to accumualte before producing output, in order to + maximize compression. + If the parameter flush is set to Z_SYNC_FLUSH, all pending output is flushed to the output buffer and the output is aligned on a byte boundary, so *************** *** 258,262 **** restart from this point if previous compressed data has been damaged or if random access is desired. Using Z_FULL_FLUSH too often can seriously degrade ! the compression. If deflate returns with avail_out == 0, this function must be called again --- 285,289 ---- restart from this point if previous compressed data has been damaged or if random access is desired. Using Z_FULL_FLUSH too often can seriously degrade ! compression. If deflate returns with avail_out == 0, this function must be called again *************** *** 283,288 **** so far (that is, total_in bytes). ! deflate() may update data_type if it can make a good guess about ! the input data type (Z_ASCII or Z_BINARY). In doubt, the data is considered binary. This field is only for information purposes and does not affect the compression algorithm in any manner. --- 310,315 ---- so far (that is, total_in bytes). ! deflate() may update strm->data_type if it can make a good guess about ! the input data type (Z_BINARY or Z_TEXT). In doubt, the data is considered binary. This field is only for information purposes and does not affect the compression algorithm in any manner. *************** *** 366,374 **** Z_FINISH, or Z_BLOCK. Z_SYNC_FLUSH requests that inflate() flush as much output as possible to the output buffer. Z_BLOCK requests that inflate() stop ! if and when it get to the next deflate block boundary. When decoding the zlib ! or gzip format, this will cause inflate() to return immediately after the ! header and before the first block. When doing a raw inflate, inflate() will ! go ahead and process the first block, and will return when it gets to the end ! of that block, or when it runs out of data. The Z_BLOCK option assists in appending to or combining deflate streams. --- 393,401 ---- Z_FINISH, or Z_BLOCK. Z_SYNC_FLUSH requests that inflate() flush as much output as possible to the output buffer. Z_BLOCK requests that inflate() stop ! if and when it gets to the next deflate block boundary. When decoding the ! zlib or gzip format, this will cause inflate() to return immediately after ! the header and before the first block. When doing a raw inflate, inflate() ! will go ahead and process the first block, and will return when it gets to ! the end of that block, or when it runs out of data. The Z_BLOCK option assists in appending to or combining deflate streams. *************** *** 402,406 **** If a preset dictionary is needed after this call (see inflateSetDictionary ! below), inflate sets strm-adler to the adler32 checksum of the dictionary chosen by the compressor and returns Z_NEED_DICT; otherwise it sets strm->adler to the adler32 checksum of all output produced so far (that is, --- 429,433 ---- If a preset dictionary is needed after this call (see inflateSetDictionary ! below), inflate sets strm->adler to the adler32 checksum of the dictionary chosen by the compressor and returns Z_NEED_DICT; otherwise it sets strm->adler to the adler32 checksum of all output produced so far (that is, *************** *** 479,483 **** compressed data instead of a zlib wrapper. The gzip header will have no file name, no extra data, no comment, no modification time (set to zero), ! no header crc, and the operating system will be set to 255 (unknown). The memLevel parameter specifies how much memory should be allocated --- 506,511 ---- compressed data instead of a zlib wrapper. The gzip header will have no file name, no extra data, no comment, no modification time (set to zero), ! no header crc, and the operating system will be set to 255 (unknown). If a ! gzip stream is being written, strm->adler is a crc32 instead of an adler32. The memLevel parameter specifies how much memory should be allocated *************** *** 498,502 **** Z_HUFFMAN_ONLY, but give better compression for PNG image data. The strategy parameter only affects the compression ratio but not the correctness of the ! compressed output even if it is not set appropriately. deflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough --- 526,532 ---- Z_HUFFMAN_ONLY, but give better compression for PNG image data. The strategy parameter only affects the compression ratio but not the correctness of the ! compressed output even if it is not set appropriately. Z_FIXED prevents the ! use of dynamic Huffman codes, allowing for a simpler decoder for special ! applications. deflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough *************** *** 527,531 **** discarded, for example if the dictionary is larger than the window size in deflate or deflate2. Thus the strings most likely to be useful should be ! put at the end of the dictionary, not at the front. Upon return of this function, strm->adler is set to the adler32 value --- 557,563 ---- discarded, for example if the dictionary is larger than the window size in deflate or deflate2. Thus the strings most likely to be useful should be ! put at the end of the dictionary, not at the front. In addition, the ! current implementation of deflate will use at most the window size minus ! 262 bytes of the provided dictionary. Upon return of this function, strm->adler is set to the adler32 value *************** *** 593,596 **** --- 625,645 ---- */ + ZEXTERN int ZEXPORT deflateTune OF((z_streamp strm, + int good_length, + int max_lazy, + int nice_length, + int max_chain)); + /* + Fine tune deflate's internal compression parameters. This should only be + used by someone who understands the algorithm used by zlib's deflate for + searching for the best matching string, and even then only by the most + fanatic optimizer trying to squeeze out the last compressed bit for their + specific input data. Read the deflate.c source code for the meaning of the + max_lazy, good_length, nice_length, and max_chain parameters. + + deflateTune() can be called after deflateInit() or deflateInit2(), and + returns Z_OK on success, or Z_STREAM_ERROR for an invalid deflate stream. + */ + ZEXTERN uLong ZEXPORT deflateBound OF((z_streamp strm, uLong sourceLen)); *************** *** 618,621 **** --- 667,694 ---- */ + ZEXTERN int ZEXPORT deflateSetHeader OF((z_streamp strm, + gz_headerp head)); + /* + deflateSetHeader() provides gzip header information for when a gzip + stream is requested by deflateInit2(). deflateSetHeader() may be called + after deflateInit2() or deflateReset() and before the first call of + deflate(). The text, time, os, extra field, name, and comment information + in the provided gz_header structure are written to the gzip header (xflag is + ignored -- the extra flags are set according to the compression level). The + caller must assure that, if not Z_NULL, name and comment are terminated with + a zero byte, and that if extra is not Z_NULL, that extra_len bytes are + available there. If hcrc is true, a gzip header crc is included. Note that + the current versions of the command-line version of gzip (up through version + 1.3.x) do not support header crc's, and will report that it is a "multi-part + gzip file" and give up. + + If deflateSetHeader is not used, the default gzip header has text false, + the time set to zero, and os set to 255, with no extra, name, or comment + fields. The gzip header is returned to the default state by deflateReset(). + + deflateSetHeader returns Z_OK if success, or Z_STREAM_ERROR if the source + stream state was inconsistent. + */ + /* ZEXTERN int ZEXPORT inflateInit2 OF((z_streamp strm, *************** *** 650,661 **** 32 to windowBits to enable zlib and gzip decoding with automatic header detection, or add 16 to decode only the gzip format (the zlib format will ! return a Z_DATA_ERROR). inflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough ! memory, Z_STREAM_ERROR if a parameter is invalid (such as a negative ! memLevel). msg is set to null if there is no error message. inflateInit2 ! does not perform any decompression apart from reading the zlib header if ! present: this will be done by inflate(). (So next_in and avail_in may be ! modified, but next_out and avail_out are unchanged.) */ --- 723,735 ---- 32 to windowBits to enable zlib and gzip decoding with automatic header detection, or add 16 to decode only the gzip format (the zlib format will ! return a Z_DATA_ERROR). If a gzip stream is being decoded, strm->adler is ! a crc32 instead of an adler32. inflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was not enough ! memory, Z_STREAM_ERROR if a parameter is invalid (such as a null strm). msg ! is set to null if there is no error message. inflateInit2 does not perform ! any decompression apart from reading the zlib header if present: this will ! be done by inflate(). (So next_in and avail_in may be modified, but next_out ! and avail_out are unchanged.) */ *************** *** 665,673 **** /* Initializes the decompression dictionary from the given uncompressed byte ! sequence. This function must be called immediately after a call of inflate ! if this call returned Z_NEED_DICT. The dictionary chosen by the compressor ! can be determined from the adler32 value returned by this call of ! inflate. The compressor and decompressor must use exactly the same ! dictionary (see deflateSetDictionary). inflateSetDictionary returns Z_OK if success, Z_STREAM_ERROR if a --- 739,750 ---- /* Initializes the decompression dictionary from the given uncompressed byte ! sequence. This function must be called immediately after a call of inflate, ! if that call returned Z_NEED_DICT. The dictionary chosen by the compressor ! can be determined from the adler32 value returned by that call of inflate. ! The compressor and decompressor must use exactly the same dictionary (see ! deflateSetDictionary). For raw inflate, this function can be called ! immediately after inflateInit2() or inflateReset() and before any call of ! inflate() to set the dictionary. The application must insure that the ! dictionary that was used for compression is provided. inflateSetDictionary returns Z_OK if success, Z_STREAM_ERROR if a *************** *** 720,725 **** */ /* ! ZEXTERN int ZEXPORT inflateBackInit OF((z_stream FAR *strm, int windowBits, unsigned char FAR *window)); --- 797,858 ---- */ + ZEXTERN int ZEXPORT inflatePrime OF((z_streamp strm, + int bits, + int value)); /* ! This function inserts bits in the inflate input stream. The intent is ! that this function is used to start inflating at a bit position in the ! middle of a byte. The provided bits will be used before any bytes are used ! from next_in. This function should only be used with raw inflate, and ! should be used before the first inflate() call after inflateInit2() or ! inflateReset(). bits must be less than or equal to 16, and that many of the ! least significant bits of value will be inserted in the input. ! ! inflatePrime returns Z_OK if success, or Z_STREAM_ERROR if the source ! stream state was inconsistent. ! */ ! ! ZEXTERN int ZEXPORT inflateGetHeader OF((z_streamp strm, ! gz_headerp head)); ! /* ! inflateGetHeader() requests that gzip header information be stored in the ! provided gz_header structure. inflateGetHeader() may be called after ! inflateInit2() or inflateReset(), and before the first call of inflate(). ! As inflate() processes the gzip stream, head->done is zero until the header ! is completed, at which time head->done is set to one. If a zlib stream is ! being decoded, then head->done is set to -1 to indicate that there will be ! no gzip header information forthcoming. Note that Z_BLOCK can be used to ! force inflate() to return immediately after header processing is complete ! and before any actual data is decompressed. ! ! The text, time, xflags, and os fields are filled in with the gzip header ! contents. hcrc is set to true if there is a header CRC. (The header CRC ! was valid if done is set to one.) If extra is not Z_NULL, then extra_max ! contains the maximum number of bytes to write to extra. Once done is true, ! extra_len contains the actual extra field length, and extra contains the ! extra field, or that field truncated if extra_max is less than extra_len. ! If name is not Z_NULL, then up to name_max characters are written there, ! terminated with a zero unless the length is greater than name_max. If ! comment is not Z_NULL, then up to comm_max characters are written there, ! terminated with a zero unless the length is greater than comm_max. When ! any of extra, name, or comment are not Z_NULL and the respective field is ! not present in the header, then that field is set to Z_NULL to signal its ! absence. This allows the use of deflateSetHeader() with the returned ! structure to duplicate the header. However if those fields are set to ! allocated memory, then the application will need to save those pointers ! elsewhere so that they can be eventually freed. ! ! If inflateGetHeader is not used, then the header information is simply ! discarded. The header is always checked for validity, including the header ! CRC if present. inflateReset() will reset the process to discard the header ! information. The application would need to call inflateGetHeader() again to ! retrieve the header from the next gzip stream. ! ! inflateGetHeader returns Z_OK if success, or Z_STREAM_ERROR if the source ! stream state was inconsistent. ! */ ! ! /* ! ZEXTERN int ZEXPORT inflateBackInit OF((z_streamp strm, int windowBits, unsigned char FAR *window)); *************** *** 745,749 **** typedef int (*out_func) OF((void FAR *, unsigned char FAR *, unsigned)); ! ZEXTERN int ZEXPORT inflateBack OF((z_stream FAR *strm, in_func in, void FAR *in_desc, out_func out, void FAR *out_desc)); --- 878,882 ---- typedef int (*out_func) OF((void FAR *, unsigned char FAR *, unsigned)); ! ZEXTERN int ZEXPORT inflateBack OF((z_streamp strm, in_func in, void FAR *in_desc, out_func out, void FAR *out_desc)); *************** *** 814,818 **** */ ! ZEXTERN int ZEXPORT inflateBackEnd OF((z_stream FAR *strm)); /* All memory allocated by inflateBackInit() is freed. --- 947,951 ---- */ ! ZEXTERN int ZEXPORT inflateBackEnd OF((z_streamp strm)); /* All memory allocated by inflateBackInit() is freed. *************** *** 1088,1091 **** --- 1221,1230 ---- */ + ZEXTERN int ZEXPORT gzdirect OF((gzFile file)); + /* + Returns 1 if file is being read directly without decompression, otherwise + zero. + */ + ZEXTERN int ZEXPORT gzclose OF((gzFile file)); /* *************** *** 1120,1124 **** ZEXTERN uLong ZEXPORT adler32 OF((uLong adler, const Bytef *buf, uInt len)); - /* Update a running Adler-32 checksum with the bytes buf[0..len-1] and --- 1259,1262 ---- *************** *** 1136,1145 **** */ ZEXTERN uLong ZEXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len)); /* ! Update a running crc with the bytes buf[0..len-1] and return the updated ! crc. If buf is NULL, this function returns the required initial value ! for the crc. Pre- and post-conditioning (one's complement) is performed ! within this function so it shouldn't be done by the application. Usage example: --- 1274,1292 ---- */ + ZEXTERN uLong ZEXPORT adler32_combine OF((uLong adler1, uLong adler2, + z_off_t len2)); + /* + Combine two Adler-32 checksums into one. For two sequences of bytes, seq1 + and seq2 with lengths len1 and len2, Adler-32 checksums were calculated for + each, adler1 and adler2. adler32_combine() returns the Adler-32 checksum of + seq1 and seq2 concatenated, requiring only adler1, adler2, and len2. + */ + ZEXTERN uLong ZEXPORT crc32 OF((uLong crc, const Bytef *buf, uInt len)); /* ! Update a running CRC-32 with the bytes buf[0..len-1] and return the ! updated CRC-32. If buf is NULL, this function returns the required initial ! value for the for the crc. Pre- and post-conditioning (one's complement) is ! performed within this function so it shouldn't be done by the application. Usage example: *************** *** 1152,1155 **** --- 1299,1312 ---- */ + ZEXTERN uLong ZEXPORT crc32_combine OF((uLong crc1, uLong crc2, z_off_t len2)); + + /* + Combine two CRC-32 check values into one. For two sequences of bytes, + seq1 and seq2 with lengths len1 and len2, CRC-32 check values were + calculated for each, crc1 and crc2. crc32_combine() returns the CRC-32 + check value of seq1 and seq2 concatenated, requiring only crc1, crc2, and + len2. + */ + /* various hacks, don't look :) */ *************** *** 1168,1172 **** ZEXTERN int ZEXPORT inflateInit2_ OF((z_streamp strm, int windowBits, const char *version, int stream_size)); ! ZEXTERN int ZEXPORT inflateBackInit_ OF((z_stream FAR *strm, int windowBits, unsigned char FAR *window, const char *version, --- 1325,1329 ---- ZEXTERN int ZEXPORT inflateInit2_ OF((z_streamp strm, int windowBits, const char *version, int stream_size)); ! ZEXTERN int ZEXPORT inflateBackInit_ OF((z_streamp strm, int windowBits, unsigned char FAR *window, const char *version, *************** *** 1190,1194 **** #endif ! ZEXTERN const char * ZEXPORT zError OF((int err)); ZEXTERN int ZEXPORT inflateSyncPoint OF((z_streamp z)); ZEXTERN const uLongf * ZEXPORT get_crc_table OF((void)); --- 1347,1351 ---- #endif ! ZEXTERN const char * ZEXPORT zError OF((int)); ZEXTERN int ZEXPORT inflateSyncPoint OF((z_streamp z)); ZEXTERN const uLongf * ZEXPORT get_crc_table OF((void)); Index: INDEX =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/zlib/INDEX,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** INDEX 27 Jun 2005 03:02:45 -0000 1.1.1.1 --- INDEX 10 Apr 2007 20:13:08 -0000 1.2 *************** *** 47,48 **** --- 47,54 ---- unsupported contribution by third parties See contrib/README.contrib + source files for sample programs: + example.c + minigzip.c + + unsupported contribution by third parties + See contrib/README.contrib Index: inflate.h =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/zlib/inflate.h,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** inflate.h 27 Jun 2005 03:02:40 -0000 1.1.1.1 --- inflate.h 10 Apr 2007 20:13:08 -0000 1.2 *************** *** 1,4 **** /* inflate.h -- internal inflate state definition ! * Copyright (C) 1995-2003 Mark Adler * For conditions of distribution and use, see copyright notice in zlib.h */ --- 1,4 ---- /* inflate.h -- internal inflate state definition ! * Copyright (C) 1995-2004 Mark Adler * For conditions of distribution and use, see copyright notice in zlib.h */ *************** *** 20,24 **** typedef enum { HEAD, /* i: waiting for magic header */ - #ifdef GUNZIP FLAGS, /* i: waiting for method and flags (gzip) */ TIME, /* i: waiting for modification time (gzip) */ --- 20,23 ---- *************** *** 29,33 **** COMMENT, /* i: waiting for end of comment (gzip) */ HCRC, /* i: waiting for header crc (gzip) */ - #endif DICTID, /* i: waiting for dictionary check value */ DICT, /* waiting for inflateSetDictionary() call */ --- 28,31 ---- *************** *** 46,52 **** LIT, /* o: waiting for output space to write literal */ CHECK, /* i: waiting for 32-bit check value */ - #ifdef GUNZIP LENGTH, /* i: waiting for 32-bit length (gzip) */ - #endif DONE, /* finished check, done -- remain here until reset */ BAD, /* got a data error -- remain here until reset */ --- 44,48 ---- *************** *** 85,90 **** --- 81,88 ---- int havedict; /* true if dictionary provided */ int flags; /* gzip header method and flags (0 if zlib) */ + unsigned dmax; /* zlib header max distance (INFLATE_STRICT) */ unsigned long check; /* protected copy of check value */ unsigned long total; /* protected copy of output count */ + gz_headerp head; /* where to save gzip header information */ /* sliding window */ unsigned wbits; /* log base 2 of requested window size */ Index: inffast.c =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/zlib/inffast.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** inffast.c 27 Jun 2005 03:02:48 -0000 1.1.1.1 --- inffast.c 10 Apr 2007 20:13:08 -0000 1.2 *************** *** 1,4 **** /* inffast.c -- fast decoding ! * Copyright (C) 1995-2003 Mark Adler * For conditions of distribution and use, see copyright notice in zlib.h */ --- 1,4 ---- /* inffast.c -- fast decoding ! * Copyright (C) 1995-2004 Mark Adler * For conditions of distribution and use, see copyright notice in zlib.h */ *************** *** 20,24 **** No measurable difference: - Pentium III (Anderson) ! - 68060 (Nikl) */ #ifdef POSTINC --- 20,24 ---- No measurable difference: - Pentium III (Anderson) ! - M68060 (Nikl) */ #ifdef POSTINC *************** *** 75,78 **** --- 75,81 ---- unsigned char FAR *beg; /* inflate()'s initial strm->next_out */ unsigned char FAR *end; /* while out < end, enough space available */ + #ifdef INFLATE_STRICT + unsigned dmax; /* maximum distance from zlib header */ + #endif unsigned wsize; /* window size or zero if not using window */ unsigned whave; /* valid bytes in the window */ *************** *** 99,102 **** --- 102,108 ---- beg = out - (start - strm->avail_out); end = out + (strm->avail_out - 257); + #ifdef INFLATE_STRICT + dmax = state->dmax; + #endif wsize = state->wsize; whave = state->whave; *************** *** 168,171 **** --- 174,184 ---- } dist += (unsigned)hold & ((1U << op) - 1); + #ifdef INFLATE_STRICT + if (dist > dmax) { + strm->msg = (char *)"invalid distance too far back"; + state->mode = BAD; + break; + } + #endif hold >>= op; bits -= op; Index: inftrees.c =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/zlib/inftrees.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** inftrees.c 27 Jun 2005 03:02:39 -0000 1.1.1.1 --- inftrees.c 10 Apr 2007 20:13:08 -0000 1.2 *************** *** 1,4 **** /* inftrees.c -- generate Huffman trees for efficient decoding ! * Copyright (C) 1995-2003 Mark Adler * For conditions of distribution and use, see copyright notice in zlib.h */ --- 1,4 ---- /* inftrees.c -- generate Huffman trees for efficient decoding ! * Copyright (C) 1995-2005 Mark Adler * For conditions of distribution and use, see copyright notice in zlib.h */ *************** *** 10,14 **** const char inflate_copyright[] = ! " inflate 1.2.1 Copyright 1995-2003 Mark Adler "; /* If you use the zlib library in a product, an acknowledgment is welcome --- 10,14 ---- const char inflate_copyright[] = ! " inflate 1.2.3 Copyright 1995-2005 Mark Adler "; /* If you use the zlib library in a product, an acknowledgment is welcome *************** *** 63,67 **** static const unsigned short lext[31] = { /* Length codes 257..285 extra */ 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, ! 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 76, 66}; static const unsigned short dbase[32] = { /* Distance codes 0..29 base */ 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, --- 63,67 ---- static const unsigned short lext[31] = { /* Length codes 257..285 extra */ 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, ! 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 201, 196}; static const unsigned short dbase[32] = { /* Distance codes 0..29 base */ 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, *************** *** 115,119 **** if (count[max] != 0) break; if (root > max) root = max; ! if (max == 0) return -1; /* no codes! */ for (min = 1; min <= MAXBITS; min++) if (count[min] != 0) break; --- 115,127 ---- if (count[max] != 0) break; if (root > max) root = max; ! if (max == 0) { /* no symbols to code at all */ ! this.op = (unsigned char)64; /* invalid code marker */ ! this.bits = (unsigned char)1; ! this.val = (unsigned short)0; ! *(*table)++ = this; /* make a table to force an error */ ! *(*table)++ = this; ! *bits = 1; ! return 0; /* no symbols, but wait for decoding to report error */ ! } for (min = 1; min <= MAXBITS; min++) if (count[min] != 0) break; *************** *** 127,131 **** if (left < 0) return -1; /* over-subscribed */ } ! if (left > 0 && (type == CODES || (codes - count[0] != 1))) return -1; /* incomplete set */ --- 135,139 ---- if (left < 0) return -1; /* over-subscribed */ } ! if (left > 0 && (type == CODES || max != 1)) return -1; /* incomplete set */ *************** *** 225,228 **** --- 233,237 ---- incr = 1U << (len - drop); fill = 1U << curr; + min = fill; /* save offset to next table */ do { fill -= incr; *************** *** 255,259 **** /* increment past last table */ ! next += 1U << curr; /* determine length of next table */ --- 264,268 ---- /* increment past last table */ ! next += min; /* here min is 1 << curr */ /* determine length of next table */ *************** *** 296,300 **** len = root; next = *table; - curr = root; this.bits = (unsigned char)len; } --- 305,308 ---- Index: gzio.c =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/zlib/gzio.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** gzio.c 27 Jun 2005 03:02:43 -0000 1.1.1.1 --- gzio.c 10 Apr 2007 20:13:08 -0000 1.2 *************** *** 1,4 **** /* gzio.c -- IO on .gz files ! * Copyright (C) 1995-2003 Jean-loup Gailly. * For conditions of distribution and use, see copyright notice in zlib.h * --- 1,4 ---- /* gzio.c -- IO on .gz files ! * Copyright (C) 1995-2005 Jean-loup Gailly. * For conditions of distribution and use, see copyright notice in zlib.h * *************** *** 12,16 **** #include "zutil.h" ! #ifdef NO_DEFLATE /* for compatiblity with old definition */ # define NO_GZCOMPRESS #endif --- 12,16 ---- #include "zutil.h" ! #ifdef NO_DEFLATE /* for compatibility with old definition */ # define NO_GZCOMPRESS #endif *************** *** 221,225 **** const char *mode; { ! char name[20]; if (fd < 0) return (gzFile)Z_NULL; --- 221,225 ---- const char *mode; { ! char name[46]; /* allow for up to 128-bit integers */ if (fd < 0) return (gzFile)Z_NULL; *************** *** 265,269 **** if (s->stream.avail_in == 0) { errno = 0; ! s->stream.avail_in = fread(s->inbuf, 1, Z_BUFSIZE, s->file); if (s->stream.avail_in == 0) { s->z_eof = 1; --- 265,269 ---- if (s->stream.avail_in == 0) { errno = 0; ! s->stream.avail_in = (uInt)fread(s->inbuf, 1, Z_BUFSIZE, s->file); if (s->stream.avail_in == 0) { s->z_eof = 1; *************** *** 301,305 **** if (len) s->inbuf[0] = s->stream.next_in[0]; errno = 0; ! len = fread(s->inbuf + len, 1, Z_BUFSIZE >> len, s->file); if (len == 0 && ferror(s->file)) s->z_err = Z_ERRNO; s->stream.avail_in += len; --- 301,305 ---- if (len) s->inbuf[0] = s->stream.next_in[0]; errno = 0; ! len = (uInt)fread(s->inbuf + len, 1, Z_BUFSIZE >> len, s->file); if (len == 0 && ferror(s->file)) s->z_err = Z_ERRNO; s->stream.avail_in += len; *************** *** 416,419 **** --- 416,420 ---- s->back = EOF; s->out++; + start++; if (s->last) { s->z_err = Z_STREAM_END; *************** *** 437,442 **** } if (s->stream.avail_out > 0) { ! s->stream.avail_out -= fread(next_out, 1, s->stream.avail_out, ! s->file); } len -= s->stream.avail_out; --- 438,443 ---- } if (s->stream.avail_out > 0) { ! s->stream.avail_out -= ! (uInt)fread(next_out, 1, s->stream.avail_out, s->file); } len -= s->stream.avail_out; *************** *** 449,453 **** errno = 0; ! s->stream.avail_in = fread(s->inbuf, 1, Z_BUFSIZE, s->file); if (s->stream.avail_in == 0) { s->z_eof = 1; --- 450,454 ---- errno = 0; ! s->stream.avail_in = (uInt)fread(s->inbuf, 1, Z_BUFSIZE, s->file); if (s->stream.avail_in == 0) { s->z_eof = 1; *************** *** 489,492 **** --- 490,496 ---- s->crc = crc32(s->crc, start, (uInt)(s->stream.next_out - start)); + if (len == s->stream.avail_out && + (s->z_err == Z_DATA_ERROR || s->z_err == Z_ERRNO)) + return -1; return (int)(len - s->stream.avail_out); } *************** *** 900,903 **** --- 904,919 ---- /* =========================================================================== + Returns 1 if reading and doing so transparently, otherwise zero. + */ + int ZEXPORT gzdirect (file) + gzFile file; + { + gz_stream *s = (gz_stream*)file; + + if (s == NULL || s->mode != 'r') return 0; + return s->transparent; + } + + /* =========================================================================== Outputs a long in LSB order to the given file */ *************** *** 938,942 **** gzFile file; { - int err; gz_stream *s = (gz_stream*)file; --- 954,957 ---- *************** *** 947,952 **** return Z_STREAM_ERROR; #else ! err = do_flush (file, Z_FINISH); ! if (err != Z_OK) return destroy((gz_stream*)file); putLong (s->file, s->crc); --- 962,967 ---- return Z_STREAM_ERROR; #else ! if (do_flush (file, Z_FINISH) != Z_OK) ! return destroy((gz_stream*)file); putLong (s->file, s->crc); *************** *** 957,964 **** } /* =========================================================================== ! Returns the error message for the last error which occured on the given compressed file. errnum is set to zlib error number. If an ! error occured in the file system and not in the compression library, errnum is set to Z_ERRNO and the application may consult errno to get the exact error code. --- 972,985 ---- } + #ifdef STDC + # define zstrerror(errnum) strerror(errnum) + #else + # define zstrerror(errnum) "" + #endif + /* =========================================================================== ! Returns the error message for the last error which occurred on the given compressed file. errnum is set to zlib error number. If an ! error occurred in the file system and not in the compression library, errnum is set to Z_ERRNO and the application may consult errno to get the exact error code. Index: zutil.h =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/zlib/zutil.h,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** zutil.h 27 Jun 2005 03:02:46 -0000 1.1.1.1 --- zutil.h 10 Apr 2007 20:13:08 -0000 1.2 *************** *** 1,4 **** /* zutil.h -- internal interface and configuration of the compression library ! * Copyright (C) 1995-2003 Jean-loup Gailly. * For conditions of distribution and use, see copyright notice in zlib.h */ --- 1,4 ---- /* zutil.h -- internal interface and configuration of the compression library ! * Copyright (C) 1995-2005 Jean-loup Gailly. * For conditions of distribution and use, see copyright notice in zlib.h */ *************** *** 18,29 **** #ifdef STDC ! # include <stddef.h> # include <string.h> # include <stdlib.h> #endif #ifdef NO_ERRNO_H extern int errno; #else ! # include <errno.h> #endif --- 18,41 ---- #ifdef STDC ! # ifndef _WIN32_WCE ! # include <stddef.h> ! # endif # include <string.h> # include <stdlib.h> #endif #ifdef NO_ERRNO_H + # ifdef _WIN32_WCE + /* The Microsoft C Run-Time Library for Windows CE doesn't have + * errno. We define it as a global variable to simplify porting. + * Its value is always 0 and should not be used. We rename it to + * avoid conflict with other libraries that use the same workaround. + */ + # define errno z_errno + # endif extern int errno; #else ! # ifndef _WIN32_WCE ! # include <errno.h> ! # endif #endif *************** *** 106,109 **** --- 118,124 ---- #ifdef OS2 # define OS_CODE 0x06 + # ifdef M_I86 + #include <malloc.h> + # endif #endif *************** *** 190,199 **** # endif #endif ! ! #ifdef HAVE_STRERROR ! extern char *strerror OF((int)); ! # define zstrerror(errnum) strerror(errnum) ! #else ! # define zstrerror(errnum) "" #endif --- 205,210 ---- # endif #endif ! #ifdef VMS ! # define NO_vsnprintf #endif Index: infback.c =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/zlib/infback.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** infback.c 27 Jun 2005 03:02:45 -0000 1.1.1.1 --- infback.c 10 Apr 2007 20:13:08 -0000 1.2 *************** *** 1,4 **** /* infback.c -- inflate using a call-back interface ! * Copyright (C) 1995-2003 Mark Adler * For conditions of distribution and use, see copyright notice in zlib.h */ --- 1,4 ---- /* infback.c -- inflate using a call-back interface ! * Copyright (C) 1995-2005 Mark Adler * For conditions of distribution and use, see copyright notice in zlib.h */ *************** *** 27,31 **** */ int ZEXPORT inflateBackInit_(strm, windowBits, window, version, stream_size) ! z_stream FAR *strm; int windowBits; unsigned char FAR *window; --- 27,31 ---- */ int ZEXPORT inflateBackInit_(strm, windowBits, window, version, stream_size) ! z_streamp strm; int windowBits; unsigned char FAR *window; *************** *** 51,55 **** if (state == Z_NULL) return Z_MEM_ERROR; Tracev((stderr, "inflate: allocated\n")); ! strm->state = (voidpf)state; state->wbits = windowBits; state->wsize = 1U << windowBits; --- 51,56 ---- if (state == Z_NULL) return Z_MEM_ERROR; Tracev((stderr, "inflate: allocated\n")); ! strm->state = (struct internal_state FAR *)state; ! state->dmax = 32768U; state->wbits = windowBits; state->wsize = 1U << windowBits; *************** *** 239,243 **** */ int ZEXPORT inflateBack(strm, in, in_desc, out, out_desc) ! z_stream FAR *strm; in_func in; void FAR *in_desc; --- 240,244 ---- */ int ZEXPORT inflateBack(strm, in, in_desc, out, out_desc) ! z_streamp strm; in_func in; void FAR *in_desc; *************** *** 435,438 **** --- 436,442 ---- } + /* handle error breaks in while */ + if (state->mode == BAD) break; + /* build code tables */ state->next = state->codes; *************** *** 609,613 **** int ZEXPORT inflateBackEnd(strm) ! z_stream FAR *strm; { if (strm == Z_NULL || strm->state == Z_NULL || strm->zfree == (free_func)0) --- 613,617 ---- int ZEXPORT inflateBackEnd(strm) ! z_streamp strm; { if (strm == Z_NULL || strm->state == Z_NULL || strm->zfree == (free_func)0) Index: deflate.c =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/zlib/deflate.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** deflate.c 27 Jun 2005 03:02:47 -0000 1.1.1.1 --- deflate.c 10 Apr 2007 20:13:08 -0000 1.2 *************** *** 1,4 **** /* deflate.c -- compress data using the deflation algorithm ! * Copyright (C) 1995-2003 Jean-loup Gailly. * For conditions of distribution and use, see copyright notice in zlib.h */ --- 1,4 ---- /* deflate.c -- compress data using the deflation algorithm ! * Copyright (C) 1995-2005... [truncated message content] |
From: Gabriel B. <sh...@us...> - 2007-04-10 20:13:17
|
Update of /cvsroot/solidircd/solidircd-stable/include In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv7252/include Modified Files: numeric.h Log Message: Bahamut 1.8.4 latest changes part 4 |
From: Gabriel B. <sh...@us...> - 2007-04-10 20:13:17
|
Update of /cvsroot/solidircd/solidircd-stable/src In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv7252/src Modified Files: glines.c klines.c m_rwho.c probability.c res.c s_auth.c userban.c Log Message: Bahamut 1.8.4 latest changes part 4 Index: userban.c =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/src/userban.c,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** userban.c 25 Jun 2006 21:03:35 -0000 1.12 --- userban.c 10 Apr 2007 20:13:08 -0000 1.13 *************** *** 471,475 **** { uBanEnt *bln; - aClient *acptr; struct userBan *ban; int i; --- 471,474 ---- *************** *** 1595,1598 **** --- 1594,1694 ---- } + /* Ok this needs to be reviewed by Tux with our mods, bahamuts orig code is + + the way bans are done have the changed. 4/9/2007 -Sheik + + void userban_sweep(struct userBan *ban) + { + int loc = (ban->flags & UBAN_LOCAL) ? 1 : 0; + int clientonly = 1; + aClient *acptr; + char *ntext; + int i; + + if (loc) + ntext = LOCAL_BAN_NAME; + else + ntext = NETWORK_BAN_NAME; + + if (ban->flags & UBAN_WILDUSER) + if (ban->flags & (UBAN_IP|UBAN_CIDR4|UBAN_CIDR4BIG)) + clientonly = 0; + + for (i = 0; i <= highest_fd; i++) + { + if (!(acptr = local[i]) || acptr->status < STAT_UNKNOWN) + continue; + + if (clientonly && !IsPerson(acptr)) + continue; + + if (user_match_ban(acptr, ban)) + { + sendto_ops("%s active for %s", ntext, + get_client_name(acptr, FALSE)); + exit_banned_client(acptr, loc, loc ? 'K' : 'A', ban->reason, 1); + i--; + } + } + } + + + + + our old original code + + + void userban_sweep(struct userBan *ban) + { + char rbuf[512]; + aClient *acptr; + char *reason; + char *btext; + char *ntext; + int clientonly = 1; + int i; + + if (ban->flags & UBAN_NETWORK) { + btext = NETWORK_BANNED_NAME; + ntext = NETWORK_BAN_NAME; + } else if (ban->flags & UBAN_GLINE) { + btext = NETWORK_GLINNED_NAME; + ntext = NETWORK_GLINE_NAME; + } else { + btext = LOCAL_BANNED_NAME; + ntext = LOCAL_BAN_NAME; + } + + if (!(reason = ban->reason)) + reason = "<no reason>"; + + + if (ban->flags & UBAN_WILDUSER) + if (ban->flags & (UBAN_IP|UBAN_CIDR4|UBAN_CIDR4BIG)) + clientonly = 0; + + ircsnprintf(rbuf, sizeof(rbuf), "%s: %s", btext, reason); + + for (i = 0; i <= highest_fd; i++) + { + if (!(acptr = local[i]) || acptr->status < STAT_UNKNOWN) + continue; + + if (clientonly && !IsPerson(acptr)) + continue; + + if (user_match_ban(acptr, ban)) + { + sendto_ops("%s active for %s", btext, + get_client_name(acptr, FALSE)); + exit_client(acptr, acptr, &me, rbuf); + i--; + } + } + } + + + */ + /* *************** *** 1601,1611 **** void userban_sweep(struct userBan *ban) { ! char rbuf[512]; aClient *acptr; - char *reason; char *btext; char *ntext; int clientonly = 1; int i; if (ban->flags & UBAN_NETWORK) { --- 1697,1707 ---- void userban_sweep(struct userBan *ban) { ! int loc = (ban->flags & UBAN_LOCAL) ? 1 : 0; aClient *acptr; char *btext; char *ntext; int clientonly = 1; int i; + if (ban->flags & UBAN_NETWORK) { *************** *** 1615,1625 **** btext = NETWORK_GLINNED_NAME; ntext = NETWORK_GLINE_NAME; ! } else { btext = LOCAL_BANNED_NAME; ntext = LOCAL_BAN_NAME; } ! if (!(reason = ban->reason)) ! reason = "<no reason>"; /* if it's purely IP based, dump unregistered and server connections too */ --- 1711,1720 ---- btext = NETWORK_GLINNED_NAME; ntext = NETWORK_GLINE_NAME; ! } else if(loc) { btext = LOCAL_BANNED_NAME; ntext = LOCAL_BAN_NAME; } ! /* if it's purely IP based, dump unregistered and server connections too */ *************** *** 1628,1632 **** clientonly = 0; - ircsnprintf(rbuf, sizeof(rbuf), "%s: %s", btext, reason); for (i = 0; i <= highest_fd; i++) --- 1723,1726 ---- *************** *** 1640,1646 **** if (user_match_ban(acptr, ban)) { ! sendto_ops("%s active for %s", btext, get_client_name(acptr, FALSE)); ! exit_client(acptr, acptr, &me, rbuf); i--; } --- 1734,1741 ---- if (user_match_ban(acptr, ban)) { ! sendto_ops("%s active for %s", ntext, get_client_name(acptr, FALSE)); ! exit_banned_client(acptr, loc, loc ? 'K' : 'A', ban->reason, 1); ! i--; } |
Update of /cvsroot/solidircd/solidircd-stable/src In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv5364/src Modified Files: glines.c ircd.c klines.c m_rwho.c parse.c probability.c res.c s_auth.c s_err.c s_misc.c Log Message: Bahamut 1.8.4 latest changes part 3 Index: s_err.c =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/src/s_err.c,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** s_err.c 1 Oct 2006 21:45:44 -0000 1.4 --- s_err.c 10 Apr 2007 18:46:28 -0000 1.5 *************** *** 431,435 **** /* 389 */ NULL, /* 390 */ NULL, ! /* 391 RPL_TIME */ ":%s 391 %s %s :%s", /* 392 */ NULL, /* 393 */ NULL, --- 431,435 ---- /* 389 */ NULL, /* 390 */ NULL, ! /* 391 RPL_TIME */ ":%s 391 %s %s %d :%s", /* 392 */ NULL, /* 393 */ NULL, *************** *** 451,456 **** /* 407 ERR_TOOMANYTARGETS */ ":%s 407 %s %s :Too many targets. " "Remaining targets skipped.", ! /* 408 ERR_NOCOLORSONCHAN */ ":%s 408 %s %s :You cannot use colors " ! "on this channel. Not sent: %s", /* 409 ERR_NOORIGIN */ ":%s 409 %s :No origin specified", /* 410 */ NULL, --- 451,456 ---- /* 407 ERR_TOOMANYTARGETS */ ":%s 407 %s %s :Too many targets. " "Remaining targets skipped.", ! /* 408 ERR_NOCTRLSONCHAN */ ":%s 408 %s %s :You cannot use control codes " ! "on this channel. Not sent: %s", "on this channel. Not sent: %s", /* 409 ERR_NOORIGIN */ ":%s 409 %s :No origin specified", /* 410 */ NULL, *************** *** 503,507 **** /* 449 */ NULL, /* 450 */ NULL, ! /* 451 ERR_NOTREGISTERED */ ":%s 451 %s :You have not registered", /* 452 */ NULL, /* 453 */ NULL, --- 503,508 ---- /* 449 */ NULL, /* 450 */ NULL, ! /* 451 ERR_NOTREGISTERED */ ":%s 451 %s %s :You must finish connecting " ! "with another nickname first.", /* 452 */ NULL, /* 453 */ NULL, *************** *** 518,522 **** "privileged", /* 464 ERR_PASSWDMISMATCH */ ":%s 464 %s :Password Incorrect", ! /* 465 ERR_YOUREBANNEDCREEP */ ":%s 465 %s :You have been %s.", /* 466 */ NULL, /* 467 ERR_KEYSET */ ":%s 467 %s %s :Channel key already set", --- 519,523 ---- "privileged", /* 464 ERR_PASSWDMISMATCH */ ":%s 464 %s :Password Incorrect", ! /* 465 ERR_YOUREBANNEDCREEP */ ":%s 465 %s :%s", /* 466 */ NULL, /* 467 ERR_KEYSET */ ":%s 467 %s %s :Channel key already set", *************** *** 550,555 **** /* 484 */ NULL, /* In use by Undernet */ /* 485 ERR_CHANBANREASON */ ":%s 485 %s %s :Cannot join channel (%s)", ! /* 486 ERR_NONONREG */ ":%s 486 %s :You must identify to a " ! "registered nickname in order to private message that user.", /* 487 ERR_MSGSERVICES */ ":%s 487 %s :Error! \"/msg %s\" is no longer supported. " "Use \"/msg %s@%s\" or \"/%s\" instead.", --- 551,556 ---- /* 484 */ NULL, /* In use by Undernet */ /* 485 ERR_CHANBANREASON */ ":%s 485 %s %s :Cannot join channel (%s)", ! /* 486 ERR_NONONREG */ ":%s 486 %s %s :You must identify to a registered " ! "nick to private message that person", /* 487 ERR_MSGSERVICES */ ":%s 487 %s :Error! \"/msg %s\" is no longer supported. " "Use \"/msg %s@%s\" or \"/%s\" instead.", *************** *** 561,565 **** /* 492 */ NULL, /* 493 */ NULL, ! /* 494 */ NULL, /* 495 */ NULL, /* 496 */ NULL, --- 562,566 ---- /* 492 */ NULL, /* 493 */ NULL, ! /* 494 ERR_OWNMODE */ ":%s 494 %s %s :You cannot message that person while you are %s, so your message was not sent", /* 495 */ NULL, /* 496 */ NULL, *************** *** 1074,1078 **** /* 997 */ NULL, /* 998 */ NULL, ! /* 999 */ ":%s 999 %s Numeric error! yikes! !woopie!", /* 1000 */ NULL }; --- 1075,1079 ---- /* 997 */ NULL, /* 998 */ NULL, ! /* 999 */ ":%s 999 %s Numeric error! yikes!", /* 1000 */ NULL }; Index: parse.c =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/src/parse.c,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** parse.c 5 Jul 2005 21:53:41 -0000 1.4 --- parse.c 10 Apr 2007 18:46:27 -0000 1.5 *************** *** 302,308 **** if (!IsRegistered(cptr) && !(mptr->flags & MF_UNREG)) { ! sendto_one(from, ":%s %d %s %s :Register first.", ! me.name, ERR_NOTREGISTERED, from->name, ch); ! return -1; } --- 302,308 ---- if (!IsRegistered(cptr) && !(mptr->flags & MF_UNREG)) { ! sendto_one(from, err_str(ERR_NOTREGISTERED), me.name, ! *para[0] ? para[0] : "*", ch); ! return -1; } Index: res.c =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/src/res.c,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** res.c 7 Jan 2006 22:13:26 -0000 1.3 --- res.c 10 Apr 2007 18:46:27 -0000 1.4 *************** *** 795,799 **** while (hptr->ancount-- > 0 && cp && cp < eob) { ! n = dn_expand(buf, eob, cp, hostbuf, sizeof(hostbuf)); hostbuf[HOSTLEN] = '\0'; --- 795,799 ---- while (hptr->ancount-- > 0 && cp && cp < eob) { ! n = dn_expand(buf, eob, cp, hostbuf, sizeof(hostbuf)-1); hostbuf[HOSTLEN] = '\0'; *************** *** 936,940 **** if ((n = dn_expand(buf, eob, cp, hostbuf, ! sizeof(hostbuf))) < 0) { cp = NULL; --- 936,940 ---- if ((n = dn_expand(buf, eob, cp, hostbuf, ! sizeof(hostbuf)-1)) < 0) { cp = NULL; *************** *** 1062,1066 **** rptr->type = type; ! if ((n = dn_expand(buf, eob, cp, hostbuf, sizeof(hostbuf))) < 0) { cp = NULL; --- 1062,1066 ---- rptr->type = type; ! if ((n = dn_expand(buf, eob, cp, hostbuf, sizeof(hostbuf)-1)) < 0) { cp = NULL; Index: probability.c =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/src/probability.c,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** probability.c 7 Jan 2006 22:13:26 -0000 1.4 --- probability.c 10 Apr 2007 18:46:27 -0000 1.5 *************** *** 49,55 **** /* nick/user/gcos count->percent scale factors */ ! static double nscale; ! static double uscale; ! static double gscale; /* nick/user/gcos unscaled averages */ --- 49,56 ---- /* nick/user/gcos count->percent scale factors */ ! static double nscale_lo, nscale_hi; ! static double uscale_lo, uscale_hi; ! static double gscale_lo, gscale_hi; ! /* nick/user/gcos unscaled averages */ *************** *** 316,320 **** { navg = ntotal / ncount; ! nscale = 100.0 / nmax; } --- 317,323 ---- { navg = ntotal / ncount; ! nscale_lo = 50.0 / navg; ! nscale_hi = 50.0 / (nmax - navg); ! } *************** *** 322,326 **** { uavg = utotal / ucount; ! uscale = 100.0 / umax; } --- 325,331 ---- { uavg = utotal / ucount; ! uscale_lo = 50.0 / uavg; ! uscale_hi = 50.0 / (umax - uavg); ! } *************** *** 328,332 **** { gavg = gtotal / gcount; ! gscale = 100.0 / gmax; } } --- 333,339 ---- { gavg = gtotal / gcount; ! gscale_lo = 50.0 / gavg; ! gscale_hi = 50.0 / (gmax - gavg); ! } } *************** *** 363,369 **** uavg = 50; gavg = 50; ! nscale = 1.0; ! uscale = 1.0; ! gscale = 1.0; navgfunc = pavg_skip; uavgfunc = pavg_skip; --- 370,376 ---- uavg = 50; gavg = 50; ! nscale_hi = nscale_lo = 0.5; ! uscale_hi = uscale_lo = 0.5; ! gscale_hi = gscale_lo = 0.5; navgfunc = pavg_skip; uavgfunc = pavg_skip; *************** *** 478,488 **** p = navgfunc((unsigned char *) ac->name, PCS_NICK); ! *np = (p < 0 ? navg : p) * nscale; ! p = uavgfunc((unsigned char *) ac->user->username, PCS_USER); ! *up = (p < 0 ? uavg : p) * uscale; - p = gavgfunc((unsigned char *) ac->info, PCS_GCOS); - *gp = (p < 0 ? gavg : p) * gscale; } --- 485,500 ---- p = navgfunc((unsigned char *) ac->name, PCS_NICK); ! if (p < 0) ! p = navg; ! *np = (p > navg) ? ((p - navg) * nscale_hi + 50) : (p * nscale_lo); p = uavgfunc((unsigned char *) ac->user->username, PCS_USER); ! if (p < 0) ! p = uavg; ! *up = (p > uavg) ? ((p - uavg) * uscale_hi + 50) : (p * uscale_lo); ! p = gavgfunc((unsigned char *) ac->info, PCS_GCOS); ! if (p < 0) ! p = gavg; ! *gp = (p > gavg) ? ((p - gavg) * gscale_hi + 50) : (p * gscale_lo); } Index: s_misc.c =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/src/s_misc.c,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** s_misc.c 1 Oct 2006 21:04:57 -0000 1.9 --- s_misc.c 10 Apr 2007 18:46:28 -0000 1.10 *************** *** 44,47 **** --- 44,49 ---- #include "h.h" #include "fdlist.h" + #include "throttle.h" + extern float curSendK, curRecvK; *************** *** 149,191 **** } - /* - * * check_registered_user is used to cancel message, if the * - * originator is a server or not registered yet. In other * words, - * passing this test, *MUST* guarantee that the * sptr->user exists - * (not checked after this--let there * be coredumps to catch bugs... - * this is intentional --msa ;) * - * - * There is this nagging feeling... should this NOT_REGISTERED * error - * really be sent to remote users? This happening means * that remote - * servers have this user registered, although this * one has it not... - * Not really users fault... Perhaps this * error message should be - * restricted to local clients and some * other thing generated for - * remotes... - */ - inline int - check_registered_user(aClient *sptr) - { - if (!IsRegisteredUser(sptr)) - { - sendto_one(sptr, err_str(ERR_NOTREGISTERED), me.name, "*"); - return -1; - } - return 0; - } - - /* - * * check_registered user cancels message, if 'x' is not * registered - * (e.g. we don't know yet whether a server * or user) - */ - inline int - check_registered(aClient *sptr) - { - if (!IsRegistered(sptr)) - { - sendto_one(sptr, err_str(ERR_NOTREGISTERED), me.name, "*"); - return -1; - } - return 0; - } inline char * --- 151,154 ---- *************** *** 873,875 **** --- 836,880 ---- return pbuf; + + } + + /* + * exit_banned_client() + * + * Sends an appropriate ban message and disconnects a client. + */ + int + exit_banned_client(aClient *cptr, int loc, char type, char *banmsg, int fast) + { + char rbuf[512]; + char *target = "*"; + char *reason = "<no reason specified>"; + + if (cptr->name[0]) + target = cptr->name; + + if (!BadPtr(banmsg)) + reason = banmsg; + + ircsnprintf(rbuf, sizeof(rbuf), "%c-banned: %s", type, reason); + + if (!fast) + { + sendto_one(cptr, "NOTICE %s :*** You are banned from %s", target, + loc ? me.name : Network_Name); + sendto_one(cptr, "NOTICE %s :*** Reason: %s", target, reason); + sendto_one(cptr, "NOTICE %s :*** Connection info: %s [%s]", target, + get_client_name(cptr, FALSE), + inetntoa((char *)&cptr->ip.s_addr)); + sendto_one(cptr, "NOTICE %s :*** Ban contact: %s", target, + loc ? Local_Kline_Address : Network_Kline_Address); + sendto_one(cptr, "NOTICE %s :*** When contacting %s, please include " + "all of the information shown above", target, Network_Name); + sendto_one(cptr, err_str(ERR_YOUREBANNEDCREEP), me.name, target, rbuf); + + throttle_force(inetntoa((char *)&cptr->ip.s_addr)); + } + return exit_client(cptr, cptr, &me, rbuf); + + } Index: s_auth.c =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/src/s_auth.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** s_auth.c 7 Jan 2006 22:13:26 -0000 1.2 --- s_auth.c 10 Apr 2007 18:46:27 -0000 1.3 *************** *** 63,67 **** #ifdef USE_SYSLOG syslog(LOG_ERR, "Unable to create auth socket for %s:%m", ! get_client_name(cptr, TRUE)); #endif ircstp->is_abad++; --- 63,67 ---- #ifdef USE_SYSLOG syslog(LOG_ERR, "Unable to create auth socket for %s:%m", ! get_client_name(cptr, IsServer(cptr) ? HIDEME : TRUE)); #endif ircstp->is_abad++; *************** *** 153,157 **** #ifdef USE_SYSLOG syslog(LOG_DEBUG, "auth get{sock,peer}name error for %s:%m", ! get_client_name(cptr, TRUE)); #endif authsenderr(cptr); --- 153,157 ---- #ifdef USE_SYSLOG syslog(LOG_DEBUG, "auth get{sock,peer}name error for %s:%m", ! get_client_name(cptr, IsServer(cptr) ? HIDEME : TRUE)); #endif authsenderr(cptr); *************** *** 219,223 **** int len, userncnt; char *userid = "", *s, *reply, *os, *tmp; ! len = recv(cptr->authfd, buf, AUTHBUFLEN, 0); --- 219,223 ---- int len, userncnt; char *userid = "", *s, *reply, *os, *tmp; ! int rejected = 0; len = recv(cptr->authfd, buf, AUTHBUFLEN, 0); *************** *** 270,273 **** --- 270,280 ---- s++; + /* hack to reject pidentd encryption */ + if (strlen(s) == 34) + { + rejected = 1; + break; + } + userid = tmp = usern; /* s is the pointer to the beginning of the userid field */ *************** *** 296,305 **** ClearAuth(cptr); ! if (!*userid) { ircstp->is_abad++; strcpy(cptr->username, "unknown"); #ifdef SHOW_HEADERS ! sendto_one(cptr, REPORT_FAIL_ID); #endif return; --- 303,312 ---- ClearAuth(cptr); ! if (rejected || !*userid) { ircstp->is_abad++; strcpy(cptr->username, "unknown"); #ifdef SHOW_HEADERS ! sendto_one(cptr, rejected ? REPORT_REJECT_ID : REPORT_FAIL_ID); #endif return; |
From: Gabriel B. <sh...@us...> - 2007-04-10 15:57:01
|
Update of /cvsroot/solidircd/solidircd-stable/src In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv26950/src Modified Files: glines.c ircd.c klines.c m_rwho.c m_stats.c memcount.c Log Message: Bahamut 1.8.4 latest changes part 2, this is not complete yet. Index: memcount.c =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/src/memcount.c,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** memcount.c 9 Jul 2005 03:09:11 -0000 1.4 --- memcount.c 10 Apr 2007 15:56:56 -0000 1.5 *************** *** 73,76 **** --- 73,78 ---- MCircd mc_ircd = {0}; MClist mc_list = {0}; + MCklines mc_klines = {0}; + MCglines mc_glines = {0}; MCm_services mc_m_services = {0}; MCmodules mc_modules = {0}; *************** *** 136,139 **** --- 138,143 ---- TracedCount tc_hash = {0}; TracedCount tc_hide = {0}; + TracedCount tc_klines = {0}; + TracedCount tc_glines = {0}; TracedCount tc_list = {0}; TracedCount tc_m_services = {0}; *************** *** 173,176 **** --- 177,182 ---- alloc_total += memcount_hide(&mc_hide); alloc_total += memcount_ircd(&mc_ircd); + alloc_total += memcount_klines(&mc_klines); + alloc_total += memcount_glines(&mc_glines); alloc_total += memcount_list(&mc_list); alloc_total += memcount_m_services(&mc_m_services); *************** *** 1360,1363 **** --- 1366,1371 ---- /* grouped: m_services.c s_conf.c s_serv.c userban.c */ /* yeah, this is screwy... */ + traced_total += memtrace_count(&tc_klines, mc_klines.file); + traced_total += memtrace_count(&tc_glines, mc_glines.file); traced_total += memtrace_count(&tc_m_services, mc_m_services.file); traced_total += memtrace_count(&tc_s_conf, mc_s_conf.file); *************** *** 1371,1374 **** --- 1379,1384 ---- subtotal -= mc_s_conf.ports.c * sizeof(aPort); subtotal -= mc_s_conf.classes.c * sizeof(aClass); + traced_subtotal = tc_klines.allocated.m; + traced_subtotal = tc_glines.allocated.m; traced_subtotal = tc_m_services.allocated.m; traced_subtotal += tc_s_conf.allocated.m; *************** *** 1381,1384 **** --- 1391,1396 ---- if (detail) { + memtrace_report(cptr, mc_klines.file); + memtrace_report(cptr, mc_glines.file); memtrace_report(cptr, mc_m_services.file); memtrace_report(cptr, mc_s_conf.file); *************** *** 1411,1414 **** --- 1423,1428 ---- subtotal += tc_hash.management.m; subtotal += tc_hide.management.m; + subtotal += tc_klines.management.m; + subtotal += tc_glines.management.m; subtotal += tc_list.management.m; subtotal += tc_m_services.management.m; Index: m_stats.c =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/src/m_stats.c,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** m_stats.c 12 Mar 2006 19:47:50 -0000 1.6 --- m_stats.c 10 Apr 2007 15:56:56 -0000 1.7 *************** *** 364,368 **** sp = &tmp; memcpy((char *) sp, (char *) ircstp, sizeof(*sp)); ! for (i = 0; i < highest_fd; i++) { if (!(acptr = local[i])) --- 364,368 ---- sp = &tmp; memcpy((char *) sp, (char *) ircstp, sizeof(*sp)); ! for (i = 0; i <= highest_fd; i++) { if (!(acptr = local[i])) Index: m_rwho.c =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/src/m_rwho.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** m_rwho.c 27 Jun 2005 03:02:28 -0000 1.1.1.1 --- m_rwho.c 10 Apr 2007 15:56:56 -0000 1.2 *************** *** 68,74 **** #define RWM_GPROB 0x2000 ! /* whois compatibility */ ! #define RWC_SHOWIP 0x0001 ! #define RWC_CHANNEL 0x0002 /* output options */ --- 68,72 ---- #define RWM_GPROB 0x2000 ! /* output options */ *************** *** 91,94 **** --- 89,100 ---- + + /* miscellaneous flags */ + #define RWC_SHOWIP 0x0001 /* WHO compatibility */ + #define RWC_CHANNEL 0x0002 /* WHO compatibility */ + #define RWC_TIME 0x0004 /* show timing stats */ + + + static const char *rwho_help[] = { "RWHO <[+|-]matchflags>[/<outputflags>[:<cookie>]] <args>", *************** *** 112,117 **** " t <seconds> - nick has been in use for N or more (less) seconds", " T <type> - user is (not) type <type> as set by services", ! " C - for compatibility with WHO, use discouraged", ! " I - for compatibility with WHO, use discouraged", "The following match flags are compiled into a single regular expression", "in the order you specify, so later flags can use backreferences to", --- 118,123 ---- " t <seconds> - nick has been in use for N or more (less) seconds", " T <type> - user is (not) type <type> as set by services", ! " C - for compatibility with WHO", ! " I - for compatibility with WHO", "The following match flags are compiled into a single regular expression", "in the order you specify, so later flags can use backreferences to", *************** *** 151,154 **** --- 157,162 ---- " D - returns only one matching result per host (summarize)", #endif + " $ - show time taken for search", + NULL }; *************** *** 157,161 **** unsigned check[2]; /* things to try match */ unsigned rplfields; /* fields to include in the response */ ! unsigned compat; /* WHO compatibility flags */ char *rplcookie; /* response cookie */ int countonly; /* counting only, no results */ --- 165,169 ---- unsigned check[2]; /* things to try match */ unsigned rplfields; /* fields to include in the response */ ! unsigned misc; /* miscellaneous flags */ char *rplcookie; /* response cookie */ int countonly; /* counting only, no results */ *************** *** 379,383 **** case 'C': ! rwho_opts.compat |= RWC_CHANNEL; break; --- 387,391 ---- case 'C': ! rwho_opts.misc |= RWC_CHANNEL; break; *************** *** 467,471 **** case 'I': ! rwho_opts.compat |= RWC_SHOWIP; break; --- 475,479 ---- case 'I': ! rwho_opts.misc |= RWC_SHOWIP; break; *************** *** 769,774 **** case 'g': rwho_opts.rplfields |= RWO_GCOS; sfl++; break; case 'a': rwho_opts.rplfields |= RWO_AWAY; sfl++; break; - case 'C': rwho_opts.countonly = 1; sfl++; break; case 'L': --- 777,783 ---- case 'g': rwho_opts.rplfields |= RWO_GCOS; sfl++; break; case 'a': rwho_opts.rplfields |= RWO_AWAY; sfl++; break; case 'C': rwho_opts.countonly = 1; sfl++; break; + case '$': rwho_opts.misc |= RWC_TIME; sfl++; break; + case 'L': *************** *** 1055,1059 **** char chname[CHANNELLEN+2] = "*"; ! if (!cm && (rwho_opts.compat & RWC_CHANNEL) && chptr) { for (cm = chptr->members; cm; cm = cm->next) --- 1064,1068 ---- char chname[CHANNELLEN+2] = "*"; ! if (!cm && (rwho_opts.misc & RWC_CHANNEL) && chptr) { for (cm = chptr->members; cm; cm = cm->next) *************** *** 1082,1086 **** *dst = 0; ! if (!rwho_opts.chptr && (rwho_opts.compat & RWC_CHANNEL) && chptr) { dst = chname; --- 1091,1095 ---- *dst = 0; ! if (!rwho_opts.chptr && (rwho_opts.misc & RWC_CHANNEL) && chptr) { dst = chname; *************** *** 1091,1095 **** } ! if (rwho_opts.compat & RWC_SHOWIP) src = ac->hostip; else --- 1100,1104 ---- } ! if (rwho_opts.misc & RWC_SHOWIP) src = ac->hostip; else *************** *** 1450,1477 **** } ! if (rwho_opts.compat) sendto_one(sptr, getreply(RPL_COMMANDSYNTAX), me.name, sptr->name, ! "NOTE: match flags C and I are deprecated"); ! ! cend = clock(); ! ircsprintf(rwhobuf, "Search completed in %.03fs.", ! ((double)(cend - cbegin)) / CLOCKS_PER_SEC); ! sendto_one(sptr, getreply(RPL_COMMANDSYNTAX), me.name, sptr->name,rwhobuf); ! ! ircsprintf(rwhobuf, "%d", results); sendto_one(sptr, getreply(RPL_ENDOFWHO), me.name, parv[0], rwhobuf,"RWHO"); if (failcode) { ! sendto_one(sptr, ":%s NOTICE %s :RWHO: Internal error %d during " ! "match, notify coders!", me.name, parv[0], failcode); ! sendto_one(sptr, ":%s NOTICE %s :RWHO: Match target was: %s %s " ! "[%s] [%s]", me.name, parv[0], failclient->name, ! failclient->user->username, failclient->info, ! failclient->user->away ? failclient->user->away : ""); } ! free(rwho_opts.re); ! return 0; } --- 1459,1498 ---- } ! cend = clock(); ! if (rwho_opts.misc & RWC_TIME) ! { ! ircsprintf(rwhobuf, "Search completed in %.03fs.", ! ((double)(cend - cbegin)) / CLOCKS_PER_SEC); sendto_one(sptr, getreply(RPL_COMMANDSYNTAX), me.name, sptr->name, ! rwhobuf); ! } ! ! if (rwho_opts.rplcookie) ! ircsprintf(rwhobuf, "%d:%s", results, rwho_opts.rplcookie); ! else ! ircsprintf(rwhobuf, "%d", results); sendto_one(sptr, getreply(RPL_ENDOFWHO), me.name, parv[0], rwhobuf,"RWHO"); if (failcode) { ! if (failcode == PCRE_ERROR_MATCHLIMIT) ! { ! sendto_one(sptr, ":%s NOTICE %s :RWHO: Regex match pattern is too " ! "recursive, so some matches failed prematurely. Use a " ! "more specific pattern.", me.name, parv[0]); ! } ! else ! { ! sendto_one(sptr, ":%s NOTICE %s :RWHO: Internal error %d during " ! "match, notify coders!", me.name, parv[0], failcode); ! sendto_one(sptr, ":%s NOTICE %s :RWHO: Match target was: %s %s " ! "[%s] [%s]", me.name, parv[0], failclient->name, ! failclient->user->username, failclient->info, ! failclient->user->away ? failclient->user->away : ""); ! } } ! free(rwho_opts.re); ! return 0; } |
From: Gabriel B. <sh...@us...> - 2007-04-09 22:59:19
|
Update of /cvsroot/solidircd/solidircd-stable/src In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv13985/src Modified Files: channel.c glines.c ircd.c klines.c md5.c Log Message: Bahamut 1.8.4 latest changes part 1, this is not complete yet. Index: glines.c =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/src/glines.c,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** glines.c 18 Mar 2006 05:37:00 -0000 1.6 --- glines.c 9 Apr 2007 22:59:07 -0000 1.7 *************** *** 1,593 **** ! /* ! * glines.c - gline interface and storage ! * Copyright (C) 2005 Trevor Talbot and ! * the DALnet coding team ! * ! * This program is free software; you can redistribute it and/or modify ! * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 1, or (at your option) ! * any later version. ! * [...1175 lines suppressed...] ! *s = 0; ! ! if (!gs_read(buf1)) ! break; ! } ! ! fclose(jf); ! ! /* this will reopen the journal for appending */ ! return glinestore_compact(); ! } ! ! u_long ! memcount_glines(MCglines *mc) ! { ! mc->file = __FILE__; ! ! return 0; ! } \ No newline at end of file Index: md5.c =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/src/md5.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** md5.c 27 Jun 2005 03:02:36 -0000 1.1.1.1 --- md5.c 9 Apr 2007 22:59:08 -0000 1.2 *************** *** 1,274 **** ! /* ! * This is an OpenSSL-compatible implementation of the RSA Data Security, ! * Inc. MD5 Message-Digest Algorithm. ! * ! * Written by Solar Designer <so...@op...> in 2001, and placed in ! * the public domain. There's absolutely no warranty. ! * ! * This differs from Colin Plumb's older public domain implementation in ! * that no 32-bit integer data type is required, there's no compile-time ! * endianness configuration, and the function prototypes match OpenSSL's. ! * The primary goals are portability and ease of use. ! * ! * This implementation is meant to be fast, but not as fast as possible. ! * Some known optimizations are not included to reduce source code size ! * and avoid compile-time configuration. ! */ ! ! #if !defined(HAVE_SSL) ! ! #include <string.h> ! ! #include "md5.h" ! ! /* ! * The basic MD5 functions. ! * ! * F is optimized compared to its RFC 1321 definition just like in Colin ! * Plumb's implementation. ! */ ! #define F(x, y, z) ((z) ^ ((x) & ((y) ^ (z)))) ! #define G(x, y, z) ((y) ^ ((z) & ((x) ^ (y)))) ! #define H(x, y, z) ((x) ^ (y) ^ (z)) ! #define I(x, y, z) ((y) ^ ((x) | ~(z))) ! ! /* ! * The MD5 transformation for all four rounds. ! */ ! #define STEP(f, a, b, c, d, x, t, s) \ ! (a) += f((b), (c), (d)) + (x) + (t); \ ! (a) = (((a) << (s)) | (((a) & 0xffffffff) >> (32 - (s)))); \ ! (a) += (b); ! ! /* ! * SET reads 4 input bytes in little-endian byte order and stores them ! * in a properly aligned word in host byte order. ! * ! * The check for little-endian architectures which tolerate unaligned ! * memory accesses is just an optimization. Nothing will break if it ! * doesn't work. ! */ ! #if defined(__i386__) || defined(__vax__) ! #define SET(n) \ ! (*(MD5_u32plus *)&ptr[(n) * 4]) ! #define GET(n) \ ! SET(n) ! #else ! #define SET(n) \ ! (ctx->block[(n)] = \ ! (MD5_u32plus)ptr[(n) * 4] | \ ! ((MD5_u32plus)ptr[(n) * 4 + 1] << 8) | \ ! ((MD5_u32plus)ptr[(n) * 4 + 2] << 16) | \ ! ((MD5_u32plus)ptr[(n) * 4 + 3] << 24)) ! #define GET(n) \ ! (ctx->block[(n)]) ! #endif ! ! /* ! * This processes one or more 64-byte data blocks, but does NOT update ! * the bit counters. There're no alignment requirements. ! */ ! static void *body(MD5_CTX *ctx, void *data, unsigned long size) ! { ! unsigned char *ptr; ! MD5_u32plus a, b, c, d; ! MD5_u32plus saved_a, saved_b, saved_c, saved_d; ! ! ptr = data; ! ! a = ctx->a; ! b = ctx->b; ! c = ctx->c; ! d = ctx->d; ! ! do { ! saved_a = a; ! saved_b = b; ! saved_c = c; ! saved_d = d; ! ! /* Round 1 */ ! STEP(F, a, b, c, d, SET(0), 0xd76aa478, 7) ! STEP(F, d, a, b, c, SET(1), 0xe8c7b756, 12) ! STEP(F, c, d, a, b, SET(2), 0x242070db, 17) ! STEP(F, b, c, d, a, SET(3), 0xc1bdceee, 22) ! STEP(F, a, b, c, d, SET(4), 0xf57c0faf, 7) ! STEP(F, d, a, b, c, SET(5), 0x4787c62a, 12) ! STEP(F, c, d, a, b, SET(6), 0xa8304613, 17) ! STEP(F, b, c, d, a, SET(7), 0xfd469501, 22) ! STEP(F, a, b, c, d, SET(8), 0x698098d8, 7) ! STEP(F, d, a, b, c, SET(9), 0x8b44f7af, 12) ! STEP(F, c, d, a, b, SET(10), 0xffff5bb1, 17) ! STEP(F, b, c, d, a, SET(11), 0x895cd7be, 22) ! STEP(F, a, b, c, d, SET(12), 0x6b901122, 7) ! STEP(F, d, a, b, c, SET(13), 0xfd987193, 12) ! STEP(F, c, d, a, b, SET(14), 0xa679438e, 17) ! STEP(F, b, c, d, a, SET(15), 0x49b40821, 22) ! ! /* Round 2 */ ! STEP(G, a, b, c, d, GET(1), 0xf61e2562, 5) ! STEP(G, d, a, b, c, GET(6), 0xc040b340, 9) ! STEP(G, c, d, a, b, GET(11), 0x265e5a51, 14) ! STEP(G, b, c, d, a, GET(0), 0xe9b6c7aa, 20) ! STEP(G, a, b, c, d, GET(5), 0xd62f105d, 5) ! STEP(G, d, a, b, c, GET(10), 0x02441453, 9) ! STEP(G, c, d, a, b, GET(15), 0xd8a1e681, 14) ! STEP(G, b, c, d, a, GET(4), 0xe7d3fbc8, 20) ! STEP(G, a, b, c, d, GET(9), 0x21e1cde6, 5) ! STEP(G, d, a, b, c, GET(14), 0xc33707d6, 9) ! STEP(G, c, d, a, b, GET(3), 0xf4d50d87, 14) ! STEP(G, b, c, d, a, GET(8), 0x455a14ed, 20) ! STEP(G, a, b, c, d, GET(13), 0xa9e3e905, 5) ! STEP(G, d, a, b, c, GET(2), 0xfcefa3f8, 9) ! STEP(G, c, d, a, b, GET(7), 0x676f02d9, 14) ! STEP(G, b, c, d, a, GET(12), 0x8d2a4c8a, 20) ! ! /* Round 3 */ ! STEP(H, a, b, c, d, GET(5), 0xfffa3942, 4) ! STEP(H, d, a, b, c, GET(8), 0x8771f681, 11) ! STEP(H, c, d, a, b, GET(11), 0x6d9d6122, 16) ! STEP(H, b, c, d, a, GET(14), 0xfde5380c, 23) ! STEP(H, a, b, c, d, GET(1), 0xa4beea44, 4) ! STEP(H, d, a, b, c, GET(4), 0x4bdecfa9, 11) ! STEP(H, c, d, a, b, GET(7), 0xf6bb4b60, 16) ! STEP(H, b, c, d, a, GET(10), 0xbebfbc70, 23) ! STEP(H, a, b, c, d, GET(13), 0x289b7ec6, 4) ! STEP(H, d, a, b, c, GET(0), 0xeaa127fa, 11) ! STEP(H, c, d, a, b, GET(3), 0xd4ef3085, 16) ! STEP(H, b, c, d, a, GET(6), 0x04881d05, 23) ! STEP(H, a, b, c, d, GET(9), 0xd9d4d039, 4) ! STEP(H, d, a, b, c, GET(12), 0xe6db99e5, 11) ! STEP(H, c, d, a, b, GET(15), 0x1fa27cf8, 16) ! STEP(H, b, c, d, a, GET(2), 0xc4ac5665, 23) ! ! /* Round 4 */ ! STEP(I, a, b, c, d, GET(0), 0xf4292244, 6) ! STEP(I, d, a, b, c, GET(7), 0x432aff97, 10) ! STEP(I, c, d, a, b, GET(14), 0xab9423a7, 15) ! STEP(I, b, c, d, a, GET(5), 0xfc93a039, 21) ! STEP(I, a, b, c, d, GET(12), 0x655b59c3, 6) ! STEP(I, d, a, b, c, GET(3), 0x8f0ccc92, 10) ! STEP(I, c, d, a, b, GET(10), 0xffeff47d, 15) ! STEP(I, b, c, d, a, GET(1), 0x85845dd1, 21) ! STEP(I, a, b, c, d, GET(8), 0x6fa87e4f, 6) ! STEP(I, d, a, b, c, GET(15), 0xfe2ce6e0, 10) ! STEP(I, c, d, a, b, GET(6), 0xa3014314, 15) ! STEP(I, b, c, d, a, GET(13), 0x4e0811a1, 21) ! STEP(I, a, b, c, d, GET(4), 0xf7537e82, 6) ! STEP(I, d, a, b, c, GET(11), 0xbd3af235, 10) ! STEP(I, c, d, a, b, GET(2), 0x2ad7d2bb, 15) ! STEP(I, b, c, d, a, GET(9), 0xeb86d391, 21) ! ! a += saved_a; ! b += saved_b; ! c += saved_c; ! d += saved_d; ! ! ptr += 64; ! } while (size -= 64); ! ! ctx->a = a; ! ctx->b = b; ! ctx->c = c; ! ctx->d = d; ! ! return ptr; ! } ! ! void MD5_Init(MD5_CTX *ctx) ! { ! ctx->a = 0x67452301; ! ctx->b = 0xefcdab89; ! ctx->c = 0x98badcfe; ! ctx->d = 0x10325476; ! ! ctx->lo = 0; ! ctx->hi = 0; ! } ! ! void MD5_Update(MD5_CTX *ctx, void *data, unsigned long size) ! { ! MD5_u32plus saved_lo; ! unsigned long used, free; ! ! saved_lo = ctx->lo; ! if ((ctx->lo = (saved_lo + size) & 0x1fffffff) < saved_lo) ! ctx->hi++; ! ctx->hi += size >> 29; ! ! used = saved_lo & 0x3f; ! ! if (used) { ! free = 64 - used; ! ! if (size < free) { ! memcpy(&ctx->buffer[used], data, size); ! return; ! } ! ! memcpy(&ctx->buffer[used], data, free); ! data = (unsigned char *)data + free; ! size -= free; ! body(ctx, ctx->buffer, 64); ! } ! ! if (size >= 64) { ! data = body(ctx, data, size & ~(unsigned long)0x3f); ! size &= 0x3f; ! } ! ! memcpy(ctx->buffer, data, size); ! } ! ! void MD5_Final(unsigned char *result, MD5_CTX *ctx) ! { ! unsigned long used, free; ! ! used = ctx->lo & 0x3f; ! ! ctx->buffer[used++] = 0x80; ! ! free = 64 - used; ! ! if (free < 8) { ! memset(&ctx->buffer[used], 0, free); ! body(ctx, ctx->buffer, 64); ! used = 0; ! free = 64; ! } ! ! memset(&ctx->buffer[used], 0, free - 8); ! ! ctx->lo <<= 3; ! ctx->buffer[56] = ctx->lo; ! ctx->buffer[57] = ctx->lo >> 8; ! ctx->buffer[58] = ctx->lo >> 16; ! ctx->buffer[59] = ctx->lo >> 24; ! ctx->buffer[60] = ctx->hi; ! ctx->buffer[61] = ctx->hi >> 8; ! ctx->buffer[62] = ctx->hi >> 16; ! ctx->buffer[63] = ctx->hi >> 24; ! ! body(ctx, ctx->buffer, 64); ! ! result[0] = ctx->a; ! result[1] = ctx->a >> 8; ! result[2] = ctx->a >> 16; ! result[3] = ctx->a >> 24; ! result[4] = ctx->b; ! result[5] = ctx->b >> 8; ! result[6] = ctx->b >> 16; ! result[7] = ctx->b >> 24; ! result[8] = ctx->c; ! result[9] = ctx->c >> 8; ! result[10] = ctx->c >> 16; ! result[11] = ctx->c >> 24; ! result[12] = ctx->d; ! result[13] = ctx->d >> 8; ! result[14] = ctx->d >> 16; ! result[15] = ctx->d >> 24; ! ! memset(ctx, 0, sizeof(ctx)); ! } ! ! #endif --- 1,274 ---- ! /* ! * This is an OpenSSL-compatible implementation of the RSA Data Security, ! * Inc. MD5 Message-Digest Algorithm. ! * ! * Written by Solar Designer <so...@op...> in 2001, and placed in ! * the public domain. There's absolutely no warranty. ! * ! * This differs from Colin Plumb's older public domain implementation in ! * that no 32-bit integer data type is required, there's no compile-time ! * endianness configuration, and the function prototypes match OpenSSL's. ! * The primary goals are portability and ease of use. ! * ! * This implementation is meant to be fast, but not as fast as possible. ! * Some known optimizations are not included to reduce source code size ! * and avoid compile-time configuration. ! */ ! ! #if !defined(HAVE_SSL) ! ! #include <string.h> ! ! #include "md5.h" ! ! /* ! * The basic MD5 functions. ! * ! * F is optimized compared to its RFC 1321 definition just like in Colin ! * Plumb's implementation. ! */ ! #define F(x, y, z) ((z) ^ ((x) & ((y) ^ (z)))) ! #define G(x, y, z) ((y) ^ ((z) & ((x) ^ (y)))) ! #define H(x, y, z) ((x) ^ (y) ^ (z)) ! #define I(x, y, z) ((y) ^ ((x) | ~(z))) ! ! /* ! * The MD5 transformation for all four rounds. ! */ ! #define STEP(f, a, b, c, d, x, t, s) \ ! (a) += f((b), (c), (d)) + (x) + (t); \ ! (a) = (((a) << (s)) | (((a) & 0xffffffff) >> (32 - (s)))); \ ! (a) += (b); ! ! /* ! * SET reads 4 input bytes in little-endian byte order and stores them ! * in a properly aligned word in host byte order. ! * ! * The check for little-endian architectures which tolerate unaligned ! * memory accesses is just an optimization. Nothing will break if it ! * doesn't work. ! */ ! #if defined(__i386__) || defined(__vax__) ! #define SET(n) \ ! (*(MD5_u32plus *)&ptr[(n) * 4]) ! #define GET(n) \ ! SET(n) ! #else ! #define SET(n) \ ! (ctx->block[(n)] = \ ! (MD5_u32plus)ptr[(n) * 4] | \ ! ((MD5_u32plus)ptr[(n) * 4 + 1] << 8) | \ ! ((MD5_u32plus)ptr[(n) * 4 + 2] << 16) | \ ! ((MD5_u32plus)ptr[(n) * 4 + 3] << 24)) ! #define GET(n) \ ! (ctx->block[(n)]) ! #endif ! ! /* ! * This processes one or more 64-byte data blocks, but does NOT update ! * the bit counters. There're no alignment requirements. ! */ ! static void *body(MD5_CTX *ctx, void *data, unsigned long size) ! { ! unsigned char *ptr; ! MD5_u32plus a, b, c, d; ! MD5_u32plus saved_a, saved_b, saved_c, saved_d; ! ! ptr = data; ! ! a = ctx->a; ! b = ctx->b; ! c = ctx->c; ! d = ctx->d; ! ! do { ! saved_a = a; ! saved_b = b; ! saved_c = c; ! saved_d = d; ! ! /* Round 1 */ ! STEP(F, a, b, c, d, SET(0), 0xd76aa478, 7) ! STEP(F, d, a, b, c, SET(1), 0xe8c7b756, 12) ! STEP(F, c, d, a, b, SET(2), 0x242070db, 17) ! STEP(F, b, c, d, a, SET(3), 0xc1bdceee, 22) ! STEP(F, a, b, c, d, SET(4), 0xf57c0faf, 7) ! STEP(F, d, a, b, c, SET(5), 0x4787c62a, 12) ! STEP(F, c, d, a, b, SET(6), 0xa8304613, 17) ! STEP(F, b, c, d, a, SET(7), 0xfd469501, 22) ! STEP(F, a, b, c, d, SET(8), 0x698098d8, 7) ! STEP(F, d, a, b, c, SET(9), 0x8b44f7af, 12) ! STEP(F, c, d, a, b, SET(10), 0xffff5bb1, 17) ! STEP(F, b, c, d, a, SET(11), 0x895cd7be, 22) ! STEP(F, a, b, c, d, SET(12), 0x6b901122, 7) ! STEP(F, d, a, b, c, SET(13), 0xfd987193, 12) ! STEP(F, c, d, a, b, SET(14), 0xa679438e, 17) ! STEP(F, b, c, d, a, SET(15), 0x49b40821, 22) ! ! /* Round 2 */ ! STEP(G, a, b, c, d, GET(1), 0xf61e2562, 5) ! STEP(G, d, a, b, c, GET(6), 0xc040b340, 9) ! STEP(G, c, d, a, b, GET(11), 0x265e5a51, 14) ! STEP(G, b, c, d, a, GET(0), 0xe9b6c7aa, 20) ! STEP(G, a, b, c, d, GET(5), 0xd62f105d, 5) ! STEP(G, d, a, b, c, GET(10), 0x02441453, 9) ! STEP(G, c, d, a, b, GET(15), 0xd8a1e681, 14) ! STEP(G, b, c, d, a, GET(4), 0xe7d3fbc8, 20) ! STEP(G, a, b, c, d, GET(9), 0x21e1cde6, 5) ! STEP(G, d, a, b, c, GET(14), 0xc33707d6, 9) ! STEP(G, c, d, a, b, GET(3), 0xf4d50d87, 14) ! STEP(G, b, c, d, a, GET(8), 0x455a14ed, 20) ! STEP(G, a, b, c, d, GET(13), 0xa9e3e905, 5) ! STEP(G, d, a, b, c, GET(2), 0xfcefa3f8, 9) ! STEP(G, c, d, a, b, GET(7), 0x676f02d9, 14) ! STEP(G, b, c, d, a, GET(12), 0x8d2a4c8a, 20) ! ! /* Round 3 */ ! STEP(H, a, b, c, d, GET(5), 0xfffa3942, 4) ! STEP(H, d, a, b, c, GET(8), 0x8771f681, 11) ! STEP(H, c, d, a, b, GET(11), 0x6d9d6122, 16) ! STEP(H, b, c, d, a, GET(14), 0xfde5380c, 23) ! STEP(H, a, b, c, d, GET(1), 0xa4beea44, 4) ! STEP(H, d, a, b, c, GET(4), 0x4bdecfa9, 11) ! STEP(H, c, d, a, b, GET(7), 0xf6bb4b60, 16) ! STEP(H, b, c, d, a, GET(10), 0xbebfbc70, 23) ! STEP(H, a, b, c, d, GET(13), 0x289b7ec6, 4) ! STEP(H, d, a, b, c, GET(0), 0xeaa127fa, 11) ! STEP(H, c, d, a, b, GET(3), 0xd4ef3085, 16) ! STEP(H, b, c, d, a, GET(6), 0x04881d05, 23) ! STEP(H, a, b, c, d, GET(9), 0xd9d4d039, 4) ! STEP(H, d, a, b, c, GET(12), 0xe6db99e5, 11) ! STEP(H, c, d, a, b, GET(15), 0x1fa27cf8, 16) ! STEP(H, b, c, d, a, GET(2), 0xc4ac5665, 23) ! ! /* Round 4 */ ! STEP(I, a, b, c, d, GET(0), 0xf4292244, 6) ! STEP(I, d, a, b, c, GET(7), 0x432aff97, 10) ! STEP(I, c, d, a, b, GET(14), 0xab9423a7, 15) ! STEP(I, b, c, d, a, GET(5), 0xfc93a039, 21) ! STEP(I, a, b, c, d, GET(12), 0x655b59c3, 6) ! STEP(I, d, a, b, c, GET(3), 0x8f0ccc92, 10) ! STEP(I, c, d, a, b, GET(10), 0xffeff47d, 15) ! STEP(I, b, c, d, a, GET(1), 0x85845dd1, 21) ! STEP(I, a, b, c, d, GET(8), 0x6fa87e4f, 6) ! STEP(I, d, a, b, c, GET(15), 0xfe2ce6e0, 10) ! STEP(I, c, d, a, b, GET(6), 0xa3014314, 15) ! STEP(I, b, c, d, a, GET(13), 0x4e0811a1, 21) ! STEP(I, a, b, c, d, GET(4), 0xf7537e82, 6) ! STEP(I, d, a, b, c, GET(11), 0xbd3af235, 10) ! STEP(I, c, d, a, b, GET(2), 0x2ad7d2bb, 15) ! STEP(I, b, c, d, a, GET(9), 0xeb86d391, 21) ! ! a += saved_a; ! b += saved_b; ! c += saved_c; ! d += saved_d; ! ! ptr += 64; ! } while (size -= 64); ! ! ctx->a = a; ! ctx->b = b; ! ctx->c = c; ! ctx->d = d; ! ! return ptr; ! } ! ! void MD5_Init(MD5_CTX *ctx) ! { ! ctx->a = 0x67452301; ! ctx->b = 0xefcdab89; ! ctx->c = 0x98badcfe; ! ctx->d = 0x10325476; ! ! ctx->lo = 0; ! ctx->hi = 0; ! } ! ! void MD5_Update(MD5_CTX *ctx, void *data, unsigned long size) ! { ! MD5_u32plus saved_lo; ! unsigned long used, free; ! ! saved_lo = ctx->lo; ! if ((ctx->lo = (saved_lo + size) & 0x1fffffff) < saved_lo) ! ctx->hi++; ! ctx->hi += size >> 29; ! ! used = saved_lo & 0x3f; ! ! if (used) { ! free = 64 - used; ! ! if (size < free) { ! memcpy(&ctx->buffer[used], data, size); ! return; ! } ! ! memcpy(&ctx->buffer[used], data, free); ! data = (unsigned char *)data + free; ! size -= free; ! body(ctx, ctx->buffer, 64); ! } ! ! if (size >= 64) { ! data = body(ctx, data, size & ~(unsigned long)0x3f); ! size &= 0x3f; ! } ! ! memcpy(ctx->buffer, data, size); ! } ! ! void MD5_Final(unsigned char *result, MD5_CTX *ctx) ! { ! unsigned long used, free; ! ! used = ctx->lo & 0x3f; ! ! ctx->buffer[used++] = 0x80; ! ! free = 64 - used; ! ! if (free < 8) { ! memset(&ctx->buffer[used], 0, free); ! body(ctx, ctx->buffer, 64); ! used = 0; ! free = 64; ! } ! ! memset(&ctx->buffer[used], 0, free - 8); ! ! ctx->lo <<= 3; ! ctx->buffer[56] = ctx->lo; ! ctx->buffer[57] = ctx->lo >> 8; ! ctx->buffer[58] = ctx->lo >> 16; ! ctx->buffer[59] = ctx->lo >> 24; ! ctx->buffer[60] = ctx->hi; ! ctx->buffer[61] = ctx->hi >> 8; ! ctx->buffer[62] = ctx->hi >> 16; ! ctx->buffer[63] = ctx->hi >> 24; ! ! body(ctx, ctx->buffer, 64); ! ! result[0] = ctx->a; ! result[1] = ctx->a >> 8; ! result[2] = ctx->a >> 16; ! result[3] = ctx->a >> 24; ! result[4] = ctx->b; ! result[5] = ctx->b >> 8; ! result[6] = ctx->b >> 16; ! result[7] = ctx->b >> 24; ! result[8] = ctx->c; ! result[9] = ctx->c >> 8; ! result[10] = ctx->c >> 16; ! result[11] = ctx->c >> 24; ! result[12] = ctx->d; ! result[13] = ctx->d >> 8; ! result[14] = ctx->d >> 16; ! result[15] = ctx->d >> 24; ! ! memset(ctx, 0, sizeof(ctx)); ! } ! ! #endif Index: ircd.c =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/src/ircd.c,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** ircd.c 26 Dec 2005 05:21:38 -0000 1.7 --- ircd.c 9 Apr 2007 22:59:07 -0000 1.8 *************** *** 106,114 **** float curSendK = 0, curRecvK = 0; ! #ifdef LOCKFILE ! extern time_t pending_kline_time; ! extern struct pkl *pending_klines; ! extern void do_pending_klines(void); ! #endif extern void engine_read_message(int); --- 106,110 ---- float curSendK = 0, curRecvK = 0; ! extern void engine_read_message(int); *************** *** 317,320 **** --- 313,319 ---- if (aconn->port <= 0 || aconn->class->connfreq == 0) continue; + if (aconn->legal == -1) + continue; + cltmp = aconn->class; *************** *** 580,584 **** /* found the ircd.conf in the directory local * to our binary itself */ ! strcpy(configfile, tmp); close(fd); strcpy(dpath, t_d2path); --- 579,583 ---- /* found the ircd.conf in the directory local * to our binary itself */ ! strcpy(configfile, tmp2); close(fd); strcpy(dpath, t_d2path); *************** *** 660,664 **** char REPORT_DO_DNS[256], REPORT_FIN_DNS[256], REPORT_FIN_DNSC[256], REPORT_FAIL_DNS[256], REPORT_DO_ID[256], REPORT_FIN_ID[256], ! REPORT_FAIL_ID[256]; FILE *dumpfp=NULL; --- 659,663 ---- char REPORT_DO_DNS[256], REPORT_FIN_DNS[256], REPORT_FIN_DNSC[256], REPORT_FAIL_DNS[256], REPORT_DO_ID[256], REPORT_FIN_ID[256], ! REPORT_FAIL_ID[256], REPORT_REJECT_ID[256]; FILE *dumpfp=NULL; *************** *** 905,908 **** --- 904,908 ---- sprintf(REPORT_FIN_ID, REPORT_FIN_ID_, me.name); sprintf(REPORT_FAIL_ID, REPORT_FAIL_ID_, me.name); + sprintf(REPORT_REJECT_ID, REPORT_REJECT_ID_, me.name); R_do_dns = strlen(REPORT_DO_DNS); R_fin_dns = strlen(REPORT_FIN_DNS); *************** *** 1209,1222 **** flush_connections(me.fd); - #ifdef LOCKFILE - /* - * * If we have pending klines and CHECK_PENDING_KLINES minutes - * have passed, try writing them out. -ThemBones - */ - - if ((pending_klines) && ((timeofday - pending_kline_time) - >= (CHECK_PENDING_KLINES * 60))) - do_pending_klines(); - #endif } } --- 1209,1212 ---- Index: channel.c =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/src/channel.c,v retrieving revision 1.23 retrieving revision 1.24 diff -C2 -d -r1.23 -r1.24 *** channel.c 9 Apr 2007 16:01:10 -0000 1.23 --- channel.c 9 Apr 2007 22:59:07 -0000 1.24 *************** *** 108,112 **** return 0; ! for (c = (unsigned char *) msg; *c; c++) { /* not a control code */ --- 108,112 ---- return 0; ! for (c = msg; *c; c++) { /* not a control code */ *************** *** 824,885 **** #endif ! int check_joinrate(aChannel *chptr, time_t ts, int local, aClient *cptr) { ! int join_num = DEFAULT_JOIN_NUM; ! int join_time = DEFAULT_JOIN_TIME; ! if(!local && (NOW - ts) > 60) ! return 1; /* attempt to compensate for lag */ ! /* This first section checks the defaults, the second ! * checks the channels +j settings */ ! /* Has the join_time period elapsed? */ ! if((NOW - chptr->default_join_start) > join_time) { ! chptr->default_join_start = NOW; ! chptr->default_join_count = 0; } ! /* update the count here for attempts, in case a lower throttle blocks */ ! chptr->default_join_count++; ! /* If it's local and we've filled the join count, complain ! * to ops so they can take the appropriate measures */ ! if(local && chptr->default_join_count > join_num) ! sendto_realops_lev(DEBUG_LEV, "Join rate warning on %s for %s!%s@%s" ! " (%d in %d)", ! chptr->chname, cptr->name, cptr->user->username, ! cptr->hostip, chptr->default_join_count, ! NOW - chptr->default_join_start); ! /* Has the channel set their own custom settings? */ ! if(chptr->mode.mode & MODE_JOINRATE) { ! if(chptr->mode.join_num == 0 || chptr->mode.join_time == 0) ! return 1; /* channel has turned this off */ ! join_time = chptr->mode.join_time; ! join_num = chptr->mode.join_num; } ! /* Has the join_time period elapsed? */ ! if((NOW - chptr->join_start) > join_time) { ! chptr->join_start = NOW; ! chptr->join_count = 0; ! return 1; } ! /* If it's local and we've filled the join count, say no */ ! if(local && chptr->join_count >= join_num) { ! sendto_realops_lev(DEBUG_LEV, "Join rate throttling on %s for %s!%s@%s" ! " (%d/%d in %d/%d)", ! chptr->chname, cptr->name, cptr->user->username, ! cptr->hostip, chptr->join_count, join_num, ! NOW - chptr->join_start, join_time); ! return 0; } - return 1; } /* * adds a user to a channel by adding another link to the channels * member chain. --- 824,994 ---- #endif ! ! /* refill join rate warning token bucket, and count a join attempt */ ! static void ! jrw_update(aChannel *chptr) { ! int adj_delta; ! int bkt_delta; ! if (chptr->jrw_bucket < DEFAULT_JOIN_SIZE && NOW > chptr->jrw_last) ! { ! adj_delta = NOW - chptr->jrw_last; ! bkt_delta = DEFAULT_JOIN_SIZE - chptr->jrw_bucket; ! ! /* avoid overflow for long timespans */ ! if (adj_delta < bkt_delta) ! adj_delta *= DEFAULT_JOIN_NUM; ! ! if (adj_delta > bkt_delta) ! adj_delta = bkt_delta; ! ! chptr->jrw_bucket += adj_delta; ! ! /* bucket has a free fill (not join) slot, reset debt counter */ ! if (chptr->jrw_bucket >= DEFAULT_JOIN_NUM) ! chptr->jrw_debt_ctr = 0; ! } ! ! if (chptr->jrw_bucket >= -(DEFAULT_JOIN_SIZE - DEFAULT_JOIN_TIME)) ! chptr->jrw_bucket -= DEFAULT_JOIN_TIME; ! ! /* warning bucket is always current, which pins it at the rate limit */ ! chptr->jrw_last = NOW; ! ! /* for statistical purposes, keep count of join attempts */ ! if (chptr->jrw_debt_ctr++ == 0) ! chptr->jrw_debt_ts = NOW; ! } ! /* refill join rate throttling token bucket */ ! static void ! jrl_update(aChannel *chptr) ! { ! int adj_delta; ! int bkt_delta; ! int jnum, jsize; ! ! jnum = chptr->mode.jr_num; ! jsize = chptr->mode.jrl_size; ! ! /* throttling disabled */ ! if (!jsize) ! return; ! ! if (chptr->jrl_bucket < jsize && NOW > chptr->jrl_last) { ! adj_delta = NOW - chptr->jrl_last; ! bkt_delta = jsize - chptr->jrl_bucket; ! ! /* avoid overflow for long timespans */ ! if (adj_delta < bkt_delta) ! adj_delta *= jnum; ! ! if (adj_delta > bkt_delta) ! adj_delta = bkt_delta; ! ! chptr->jrl_bucket += adj_delta; } ! } ! /* ! * Do pre-JOIN updates. Called for local joins only. ! */ ! static void ! joinrate_prejoin(aChannel *chptr) ! { ! jrl_update(chptr); ! jrw_update(chptr); ! } ! ! /* ! * Check if a join would be allowed, warning if appropriate. ! * Called for local joins only. ! */ ! static int ! joinrate_check(aChannel *chptr, aClient *cptr, int warn) ! { ! int jnum, jtime, jsize; ! ! jnum = chptr->mode.jr_num; ! jtime = chptr->mode.jr_time; ! jsize = chptr->mode.jrl_size; ! ! /* join throttling disabled */ ! if (!jsize) ! return 1; ! ! /* free slot in bucket */ ! if (chptr->jrl_bucket >= jtime) ! return 1; ! ! /* throttled */ ! if (warn) { ! sendto_realops_lev(DEBUG_LEV, "Join rate throttling on %s for" ! " %s!%s@%s (%d%s in %d)", chptr->chname, ! cptr->name, cptr->user->username, cptr->hostip, ! jnum, (chptr->jrl_bucket < 0) ? "+" : "", jtime); ! } ! return 0; ! } ! /* ! * Do post-JOIN updates. Called for both local and remote joins. ! */ ! static void ! joinrate_dojoin(aChannel *chptr, aClient *cptr) ! { ! int jtime, jsize; ! int local; ! ! local = MyConnect(cptr); ! jtime = chptr->mode.jr_time; ! jsize = chptr->mode.jrl_size; ! ! if (!local) ! { ! jrw_update(chptr); ! jrl_update(chptr); } ! else if (chptr->jrw_bucket <= 0 && chptr->jrw_debt_ctr) { ! sendto_realops_lev(DEBUG_LEV, "Join rate warning on %s for %s!%s@%s" ! " (%d in %d) [joined]", chptr->chname, cptr->name, ! cptr->user->username, cptr->hostip, ! chptr->jrw_debt_ctr, NOW - chptr->jrw_debt_ts); } ! /* remote joins cause negative penalty here (distributed throttling) */ ! /* WARNING: joinrate_check must have allowed a local join */ ! if (jsize) { ! if (local || chptr->jrl_bucket >= -(jsize - jtime)) ! { ! chptr->jrl_bucket -= jtime; ! chptr->jrl_last = NOW; ! } } } /* + * Send a warning notice if appropriate. Called for local failed joins. + */ + static void + joinrate_warn(aChannel *chptr, aClient *cptr) + { + /* no slots free */ + if (chptr->jrw_bucket <= 0 && chptr->jrw_debt_ctr) + { + sendto_realops_lev(DEBUG_LEV, "Join rate warning on %s for %s!%s@%s" + " (%d in %d) [failed]", chptr->chname, cptr->name, + cptr->user->username, cptr->hostip, + chptr->jrw_debt_ctr, NOW - chptr->jrw_debt_ts); + } + } + + + /* * adds a user to a channel by adding another link to the channels * member chain. *************** *** 998,1007 **** { chanMember *cm; ! if (IsServer(cptr) || IsULine(cptr)) return 0; cm = find_user_member(chptr->members, cptr); ! if(!cm) { --- 1107,1118 ---- { chanMember *cm; ! int ismine; ! if (IsServer(cptr) || IsULine(cptr)) return 0; cm = find_user_member(chptr->members, cptr); ! ismine = MyClient(cptr); ! if(!cm) { *************** *** 1012,1022 **** if ((chptr->mode.mode & MODE_MODREG) && !IsRegNick(cptr)) return (ERR_NEEDREGGEDNICK); ! if ((chptr->mode.mode & MODE_NOCTRL) && msg_has_ctrls(msg)) ! return (ERR_NOCTRLSONCHAN); ! if (MyClient(cptr) && is_banned(cptr, chptr, NULL)) ! return (MODE_BAN); /* * channel is -n and user is not there; * we need to bquiet them if we can ! */ } else --- 1123,1137 ---- if ((chptr->mode.mode & MODE_MODREG) && !IsRegNick(cptr)) return (ERR_NEEDREGGEDNICK); ! if (ismine) ! { ! if ((chptr->mode.mode & MODE_NOCTRL) && msg_has_ctrls(msg)) ! return (ERR_NOCTRLSONCHAN); ! if (is_banned(cptr, chptr, NULL)) ! return (MODE_BAN); ! ! /* * channel is -n and user is not there; * we need to bquiet them if we can ! } */ } else *************** *** 1032,1036 **** return (ERR_NEEDREGGEDNICK); } ! if ((chptr->mode.mode & MODE_NOCTRL) && msg_has_ctrls(msg)) return (ERR_NOCTRLSONCHAN); } --- 1147,1153 ---- return (ERR_NEEDREGGEDNICK); } ! /* control code blocking isn't flood-critical, so only check locally */ ! if (ismine && (chptr->mode.mode & MODE_NOCTRL) && msg_has_ctrls(msg)) ! return (ERR_NOCTRLSONCHAN); } *************** *** 1126,1130 **** } } ! if (chptr->mode.mode & MODE_JOINRATE) { *mbuf++ = 'j'; --- 1243,1247 ---- } } ! if (chptr->mode.mode & MODE_JOINRATE) { *mbuf++ = 'j'; *************** *** 1132,1144 **** if (IsMember(cptr, chptr) || IsServer(cptr) || IsULine(cptr)) { ! char tmp[128]; if(pbuf[0] != '\0') strcat(pbuf, " "); ! if(chptr->mode.join_num == 0 || chptr->mode.join_time == 0) ircsprintf(tmp, "0"); else ! ircsprintf(tmp, "%d:%d", chptr->mode.join_num, ! chptr->mode.join_time); strcat(pbuf, tmp); --- 1249,1261 ---- if (IsMember(cptr, chptr) || IsServer(cptr) || IsULine(cptr)) { ! char tmp[16]; if(pbuf[0] != '\0') strcat(pbuf, " "); ! if(chptr->mode.jr_num == 0 || chptr->mode.jr_time == 0) ircsprintf(tmp, "0"); else ! ircsprintf(tmp, "%d:%d", chptr->mode.jr_num, ! chptr->mode.jr_time); strcat(pbuf, tmp); *************** *** 1149,1152 **** --- 1266,1270 ---- } + static void send_channel_lists(aClient *cptr, aChannel *chptr) { *************** *** 1655,1659 **** if (!IsULine(sptr) && (level<2 || !IsOper(sptr))) { ! errors |= SM_ERR_NOTOPER; break; } --- 1773,1778 ---- if (!IsULine(sptr) && (level<2 || !IsOper(sptr))) { ! errors |= SM_ERR_NOPRIVS; ! break; } *************** *** 2050,2058 **** break; *mbuf++ = 'j'; ! chptr->mode.mode &= ~MODE_JOINRATE; ! chptr->mode.join_num = 0; ! chptr->mode.join_time = 0; ! chptr->join_start = 0; ! chptr->join_count = 0; nmodes++; break; --- 2169,2177 ---- break; *mbuf++ = 'j'; ! chptr->mode.jr_num = DEFAULT_JOIN_NUM; ! chptr->mode.jr_time = DEFAULT_JOIN_TIME; ! chptr->mode.jrl_size = DEFAULT_JOIN_SIZE; ! chptr->jrl_bucket = 0; ! chptr->jrl_last = NOW; /* slow start */ nmodes++; break; *************** *** 2104,2118 **** break; } /* range limit for local non-samodes */ if (MyClient(sptr) && level < 2) { ! /* static limits: time <= 60, 4 <= num <= 60 */ if (j_time > 60) j_time = 60; ! if (j_num > 60) ! j_num = 60; ! if (j_num < 4) ! j_num = 4; /* adjust number to time using min rate 1/8 */ --- 2223,2243 ---- break; } + /* safety cap */ + if (j_num > 127) + j_num = 127; + if (j_time > 127) + j_time = 127; /* range limit for local non-samodes */ if (MyClient(sptr) && level < 2) { ! /* static limits: time <= 60, 2 <= num <= 20 */ if (j_time > 60) j_time = 60; ! if (j_num > 20) ! j_num = 20; ! if (j_num < 2) ! j_num = 2; ! /* adjust number to time using min rate 1/8 */ *************** *** 2144,2151 **** chptr->mode.mode |= MODE_JOINRATE; ! chptr->mode.join_num = j_num; ! chptr->mode.join_time = j_time; ! chptr->join_start = 0; ! chptr->join_count = 0; *mbuf++ = 'j'; ADD_PARA(tmp); --- 2269,2277 ---- chptr->mode.mode |= MODE_JOINRATE; ! chptr->mode.jr_num = j_num; ! chptr->mode.jr_time = j_time; ! chptr->mode.jrl_size = j_num * j_time; ! chptr->jrl_bucket = 0; ! chptr->jrl_last = NOW; /* slow start */ *mbuf++ = 'j'; ADD_PARA(tmp); *************** *** 2468,2471 **** --- 2594,2598 ---- int invited = 0; int error = 0; + int jrl = 0; char *r = NULL; *************** *** 2479,2491 **** } ! if (invited || IsULine(sptr)) return 1; ! ! if (check_joinrate(chptr, NOW, 1, sptr) == 0) ! { ! r = "+j"; ! error = ERR_CHANNELISFULL; ! } ! else if (chptr->mode.mode & MODE_INVITEONLY) { r = "+i"; --- 2606,2614 ---- } ! if (invited) return 1; ! ! joinrate_prejoin(chptr); ! if (chptr->mode.mode & MODE_INVITEONLY) { r = "+i"; *************** *** 2506,2509 **** --- 2629,2639 ---- else if (*chptr->mode.key && (BadPtr(key) || mycmp(chptr->mode.key, key))) error = ERR_BADCHANNELKEY; + else if (!joinrate_check(chptr, sptr, 1)) + { + r = "+j"; + error = ERR_CHANNELISFULL; + jrl = 1; + } + #ifdef HAVE_SSL if (chptr->mode.mode & MODE_SSL && !IsUmodez(sptr)) *************** *** 2519,2523 **** #ifdef INVITE_LISTS ! if (error && is_invited(sptr, chptr)) error = 0; #endif --- 2649,2654 ---- #ifdef INVITE_LISTS ! if (error && !jrl && is_invited(sptr, chptr)) ! error = 0; #endif *************** *** 2532,2535 **** --- 2663,2669 ---- if (error) { + if (!jrl) + joinrate_warn(chptr, sptr); + if (error==ERR_NEEDREGGEDNICK) sendto_one(sptr, getreply(ERR_NEEDREGGEDNICK), me.name, sptr->name, *************** *** 2569,2574 **** } ! if (invited || IsULine(sptr)) return 0; if (chptr->mode.mode & MODE_INVITEONLY) --- 2703,2710 ---- } ! if (invited) return 0; + joinrate_prejoin(chptr); + if (chptr->mode.mode & MODE_INVITEONLY) *************** *** 2582,2586 **** if (chptr->mode.limit && chptr->users >= chptr->mode.limit) reasonbuf[rbufpos++] = 'l'; ! if (check_joinrate(chptr, NOW, 1, sptr) == 0) reasonbuf[rbufpos++] = 'j'; --- 2718,2722 ---- if (chptr->mode.limit && chptr->users >= chptr->mode.limit) reasonbuf[rbufpos++] = 'l'; ! if (!joinrate_check(chptr, sptr, 0)) reasonbuf[rbufpos++] = 'j'; *************** *** 3095,3099 **** else add_user_to_channel(chptr, sptr, 0); ! chptr->join_count++; /* Set timestamp if appropriate, and propagate */ if (MyClient(sptr) && flags == CHFL_CHANOP) --- 3231,3235 ---- else add_user_to_channel(chptr, sptr, 0); ! joinrate_dojoin(chptr, sptr); /* Set timestamp if appropriate, and propagate */ if (MyClient(sptr) && flags == CHFL_CHANOP) *************** *** 3509,3513 **** aClient *acptr; ! if (!(confopts & FLAGS_SERVHUB) || !(cptr->serv->uflags & ULF_NOBTOPIC)) for (chptr = channel; chptr; chptr = chptr->nextch) { --- 3645,3649 ---- aClient *acptr; ! for (chptr = channel; chptr; chptr = chptr->nextch) { *************** *** 3517,3521 **** } ! if (!(confopts & FLAGS_SERVHUB) || !(cptr->serv->uflags & ULF_NOAWAY)) for (acptr = client; acptr; acptr = acptr->next) { --- 3653,3657 ---- } ! for (acptr = client; acptr; acptr = acptr->next) { *************** *** 3749,3754 **** LOpts *lopt = cptr->user->lopt; int hashnum; ! char tempbuff[KEYLEN+8+3+1+3+6]; ! char modestuff[TOPICLEN+3+KEYLEN+8+3+1+6]; for (hashnum = lopt->starthash; hashnum < CH_MAX; hashnum++) --- 3885,3889 ---- LOpts *lopt = cptr->user->lopt; int hashnum; ! for (hashnum = lopt->starthash; hashnum < CH_MAX; hashnum++) *************** *** 3759,3763 **** chptr; chptr = chptr->hnextch) { ! if (SecretChannel(chptr) && !IsAnOper(cptr) && !IsMember(cptr, chptr)) continue; --- 3894,3898 ---- chptr; chptr = chptr->hnextch) { ! if (SecretChannel(chptr) && !IsAdmin(cptr) && !IsMember(cptr, chptr)) continue; *************** *** 3788,3804 **** * then adding an or to the inline. -- Doc. */ ! if (IsAnOper(cptr)) { ! *modebuf = *parabuf = '\0'; ! modebuf[1] = '\0'; ! channel_modes(cptr, modebuf, parabuf, chptr); ! if (SecretChannel(chptr) || HiddenChannel(chptr)) ! ircsprintf(tempbuff, "\002[%s %s]\002", modebuf, parabuf); ! else ! ircsprintf(tempbuff, "[%s %s]", modebuf, parabuf); ! ircsprintf(modestuff, "%-20s %s", tempbuff, chptr->topic); sendto_one(cptr, rpl_str(RPL_LIST), me.name, cptr->name, ! chptr->chname, chptr->users, modestuff); } else { --- 3923,3943 ---- * then adding an or to the inline. -- Doc. */ ! if (IsAdmin(cptr)) { ! char tempchname[CHANNELLEN + 2], *altchname; ! ! if (SecretChannel(chptr)) ! { ! tempchname[0] = '%'; ! strcpy(&tempchname[1], chptr->chname); ! altchname = &tempchname[0]; ! } ! else ! altchname = chptr->chname; ! sendto_one(cptr, rpl_str(RPL_LIST), me.name, cptr->name, ! altchname, chptr->users, chptr->topic); } + else { *************** *** 3823,3827 **** { next = lp->next; ! MyFree(lp->value.cp); free_link(lp); } --- 3962,3966 ---- { next = lp->next; ! MyFree(lp->value.cp); free_link(lp); } *************** *** 3829,3833 **** { next = lp->next; ! MyFree(lp->value.cp); free_link(lp); } --- 3968,3972 ---- { next = lp->next; ! MyFree(lp->value.cp); free_link(lp); } *************** *** 3937,3940 **** --- 4076,4080 ---- { next = lp->next; + MyFree(lp->value.cp); free_link(lp); } *************** *** 3942,3945 **** --- 4082,4086 ---- { next = lp->next; + MyFree(lp->value.cp); free_link(lp); } *************** *** 4622,4627 **** { add_user_to_channel(chptr, sptr, 0); ! chptr->join_count++; ! chptr->default_join_count++; sendto_channel_butserv(chptr, sptr, ":%s JOIN :%s", parv[0], parv[2]); --- 4763,4768 ---- { add_user_to_channel(chptr, sptr, 0); ! joinrate_dojoin(chptr, sptr); ! sendto_channel_butserv(chptr, sptr, ":%s JOIN :%s", parv[0], parv[2]); *************** *** 4693,4703 **** { *tmpb = '\0'; ! tmpb++; ! mode.join_time = atoi(tmpb); } else ! mode.join_time = 0; ! mode.join_num = atoi(tmpa); args++; --- 4834,4845 ---- { *tmpb = '\0'; ! tmpb++; ! mode.jr_time = atoi(tmpb); } else ! mode.jr_time = 0; ! mode.jr_num = atoi(tmpa); ! mode.jrl_size = mode.jr_num * mode.jr_time; args++; *************** *** 4785,4800 **** if (oldmode->mode & MODE_JOINRATE) { ! if ((mode.mode & MODE_JOINRATE) && !mode.join_num) /* 0 wins */ ; ! else if (oldmode->join_num && mode.join_num > oldmode->join_num) /* more joins wins */ ; ! else if (mode.join_num == oldmode->join_num && ! mode.join_time < oldmode->join_time) /* same joins in less time wins */ ; else { /* our settings win */ ! mode.join_num = oldmode->join_num; ! mode.join_time = oldmode->join_time; } } --- 4927,4944 ---- if (oldmode->mode & MODE_JOINRATE) { ! if ((mode.mode & MODE_JOINRATE) && !mode.jr_num) /* 0 wins */ ; ! else if (oldmode->jr_num && mode.jr_num > oldmode->jr_num) /* more joins wins */ ; ! else if (mode.jr_num == oldmode->jr_num && ! mode.jr_time < oldmode->jr_time) /* same joins in less time wins */ ; else { /* our settings win */ ! mode.jr_num = oldmode->jr_num; ! mode.jr_time = oldmode->jr_time; ! mode.jrl_size = oldmode->jrl_size; ! } } *************** *** 4879,4884 **** if ((mode.mode & MODE_JOINRATE) && (!(oldmode->mode & MODE_JOINRATE) || ! (oldmode->join_num != mode.join_num || ! oldmode->join_time != mode.join_time))) { char tmp[128]; --- 5023,5029 ---- if ((mode.mode & MODE_JOINRATE) && (!(oldmode->mode & MODE_JOINRATE) || ! (oldmode->jr_num != mode.jr_num || ! oldmode->jr_time != mode.jr_time))) ! { char tmp[128]; *************** *** 4887,4894 **** *mbuf++ = 'j'; ! if(mode.join_num == 0 || mode.join_time == 0) ircsprintf(tmp, "0"); else ! ircsprintf(tmp, "%d:%d", mode.join_num, mode.join_time); ADD_PARA(tmp) pargs++; --- 5032,5040 ---- *mbuf++ = 'j'; ! if(mode.jr_num == 0 || mode.jr_time == 0) ! ircsprintf(tmp, "0"); else ! ircsprintf(tmp, "%d:%d", mode.jr_num, mode.jr_time); ADD_PARA(tmp) pargs++; *************** *** 4929,4932 **** --- 5075,5081 ---- chptr->mode = mode; + chptr->jrl_bucket = 0; + chptr->jrl_last = NOW; /* slow start */ + if (!keepourmodes) /* deop and devoice everyone! */ Index: klines.c =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/src/klines.c,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** klines.c 4 Sep 2005 05:25:00 -0000 1.1 --- klines.c 9 Apr 2007 22:59:07 -0000 1.2 *************** *** 1,584 **** ! /* ! * klines.c - Kline interface and storage ! * Copyright (C) 2005 Trevor Talbot and ! * the DALnet coding team ! * ! * This program is free software; you can redistribute it and/or modify ! * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 1, or (at your option) ! * any later version. ! * [...1158 lines suppressed...] ! *s = 0; ! ! if (!ks_read(buf1)) ! break; ! } ! ! fclose(jf); ! ! /* this will reopen the journal for appending */ ! return klinestore_compact(); ! } ! ! u_long ! memcount_klines(MCklines *mc) ! { ! mc->file = __FILE__; ! ! return 0; ! } \ No newline at end of file |
From: Gabriel B. <sh...@us...> - 2007-04-09 22:59:19
|
Update of /cvsroot/solidircd/solidircd-stable/zlib In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv13985/zlib Modified Files: zconf.h Log Message: Bahamut 1.8.4 latest changes part 1, this is not complete yet. |
From: Gabriel B. <sh...@us...> - 2007-04-09 22:59:19
|
Update of /cvsroot/solidircd/solidircd-stable/doc/ssl In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv13985/doc/ssl Modified Files: ssl.rnd vgc.pem vgckey.pem Log Message: Bahamut 1.8.4 latest changes part 1, this is not complete yet. Index: vgc.pem =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/doc/ssl/vgc.pem,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** vgc.pem 26 Mar 2006 17:27:08 -0000 1.4 --- vgc.pem 9 Apr 2007 22:59:07 -0000 1.5 *************** *** 1,17 **** -----BEGIN CERTIFICATE----- ! MIICvzCCAiigAwIBAgIJAOBNo4W1zXfWMA0GCSqGSIb3DQEBBQUAMIGVMQswCQYD ! VQQGEwJVUzEQMA4GA1UECBMHQWxhYmFtYTETMBEGA1UEBxMKQmlybWluZ2hhbTEg ! MB4GA1UEChMXVmlkR2FtZUNoYXQgSVJDIE5ldHdvcmsxHzAdBgNVBAsTFlZpZEdh ! bWVDaGF0IElSQyBTZXJ2ZXIxHDAaBgNVBAMTE2lyYy52aWRnYW1lY2hhdC5uZXQw ! HhcNMDYwMzI2MTcyNDU4WhcNMDcwMzI2MTcyNDU4WjCBlTELMAkGA1UEBhMCVVMx EDAOBgNVBAgTB0FsYWJhbWExEzARBgNVBAcTCkJpcm1pbmdoYW0xIDAeBgNVBAoT F1ZpZEdhbWVDaGF0IElSQyBOZXR3b3JrMR8wHQYDVQQLExZWaWRHYW1lQ2hhdCBJ ! UkMgU2VydmVyMRwwGgYDVQQDExNpcmMudmlkZ2FtZWNoYXQubmV0MIGfMA0GCSqG ! SIb3DQEBAQUAA4GNADCBiQKBgQCsTTfD4DsIc/UiyFu2RO5/LCnKq5m5YflqyWPr ! pNNA2+jsuHkQuP6iIvka++3plOxkULvpsXD8jt9Ps6mTHrZC+z3KHQAl1bPSOgN9 ! Z8qmt4titTBha73zT3ejsnMT0D9JijFuDib3ihVd3dJ5oqU7wCH/u+1Pt3n4PwA4 ! T4VLmQIDAQABoxUwEzARBglghkgBhvhCAQEEBAMCBkAwDQYJKoZIhvcNAQEFBQAD ! gYEAKZCfjkkWtTX6BNTElFVXH7K32254P9lHCADD2oZHevIVDsSCDUhSTshYuPJV ! Ww7aAtVxk8kGCeFFqM7etM5N1hNrqjqNnjg9A1tpOMAje1o3w1nPpCrpgaz6YxdD ! 0Z3aFbDWVyo8+nQvIywoShGmRzlt7UJh2gBtQv6kYOL9SZ8= -----END CERTIFICATE----- --- 1,17 ---- -----BEGIN CERTIFICATE----- ! MIICszCCAhygAwIBAgIBADANBgkqhkiG9w0BAQQFADCBkzELMAkGA1UEBhMCVVMx EDAOBgNVBAgTB0FsYWJhbWExEzARBgNVBAcTCkJpcm1pbmdoYW0xIDAeBgNVBAoT F1ZpZEdhbWVDaGF0IElSQyBOZXR3b3JrMR8wHQYDVQQLExZWaWRHYW1lQ2hhdCBJ ! UkMgU2VydmVyMRowGAYDVQQDExFpcmMuc2hlbGxzaGVkLmNvbTAeFw0wNzA0MDkx ! NjAzMzdaFw0wODA0MDgxNjAzMzdaMIGTMQswCQYDVQQGEwJVUzEQMA4GA1UECBMH ! QWxhYmFtYTETMBEGA1UEBxMKQmlybWluZ2hhbTEgMB4GA1UEChMXVmlkR2FtZUNo ! YXQgSVJDIE5ldHdvcmsxHzAdBgNVBAsTFlZpZEdhbWVDaGF0IElSQyBTZXJ2ZXIx ! GjAYBgNVBAMTEWlyYy5zaGVsbHNoZWQuY29tMIGfMA0GCSqGSIb3DQEBAQUAA4GN ! ADCBiQKBgQDXNySyLjSGMq+s/gLOPq/QvbrTcBBLVoo3kYy/uHPHv4SlrEwCu8Mh ! J8ICf2tC10YAEFazBoVFQ3ffSabkjIEQ0kz9535UDp0Y1CPOEnJS6KiwXegQRae4 ! ctiiAOPmdO/IIvZK19EQ3Dxy0yf5UmaV5KQssDeIIxeu1youfG/oKQIDAQABoxUw ! EzARBglghkgBhvhCAQEEBAMCBkAwDQYJKoZIhvcNAQEEBQADgYEAa/97sgVVuNPz ! ECHwCuBgMHBXGvfvXhUr71FEKKJkKxNWygYV/9wAhaTPO6Ooz6tmZCw4mXzy4bgE ! zYHdaAbSYY0U3xFLNxBoOwRBm2Dmu5GQo0KwsTJmFV5GfM2rud5YhzcxWgNi0FAv ! Vs+78aQL4bookXIBmVh5HqoNaVmxMJw= -----END CERTIFICATE----- Index: ssl.rnd =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/doc/ssl/ssl.rnd,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 Binary files /tmp/cvsAwHc5U and /tmp/cvsvluSoX differ Index: vgckey.pem =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/doc/ssl/vgckey.pem,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** vgckey.pem 26 Mar 2006 17:27:08 -0000 1.4 --- vgckey.pem 9 Apr 2007 22:59:07 -0000 1.5 *************** *** 1,15 **** -----BEGIN RSA PRIVATE KEY----- ! MIICXgIBAAKBgQCsTTfD4DsIc/UiyFu2RO5/LCnKq5m5YflqyWPrpNNA2+jsuHkQ ! uP6iIvka++3plOxkULvpsXD8jt9Ps6mTHrZC+z3KHQAl1bPSOgN9Z8qmt4titTBh ! a73zT3ejsnMT0D9JijFuDib3ihVd3dJ5oqU7wCH/u+1Pt3n4PwA4T4VLmQIDAQAB ! AoGBAIVCh5HAGAg2nu5S5dO3xnmnL39nbtJZOy1jKxuydAziyGhlWIUdfxrpT56W ! IHCa1KXVZzCcIxXCbmZXPxzhEPbByFQgGkA1uup/ci0XMF214EIz32M8az0RNYdK ! 8QIwNA6WALPegwLbvn7kaxg9Bu4VlBz4uQTlxf8tJTYvaHUxAkEA3T4Y31DisRp1 ! FPzfgxAJaVoBmmiECUmxJwe2ISDiEGyTIMLCWIu/ensSSqGvzx2HtShzKjuFtkvc ! hc3n7vKlnQJBAMde0inmRZpK7UMF5ZmhFEGNJ0jdUGxV9Rf0PwqpCzt5zs0IqMYf ! VfytIsQ6GnqRYTNFx7ezSTXO1X0u7GCPOy0CQQDMErJYksB3giMLN/FncExuG/Ks ! nclk08+PY+KQjkdXxP61UlB34ne9n3YQ1zFWxzNdW7FW/E5rB3CjD3nng3RVAkBG ! tSdeOs/Wn9oz2gSLDujLMs+K9QrP0VCCdVpiYn+cUV/5saeB1J0/ZvwckerQK31I ! nOfvC8PcNIXcxuaIfGPlAkEAnJaz43ydNoYBqOlLkMFAma90Q8es0gOgJrRRTrSk ! 1wNr9XYyii1lqhewpuXEDm4E5RANl7IMdEr7BiIezz9UyQ== -----END RSA PRIVATE KEY----- --- 1,15 ---- -----BEGIN RSA PRIVATE KEY----- ! MIICXQIBAAKBgQDXNySyLjSGMq+s/gLOPq/QvbrTcBBLVoo3kYy/uHPHv4SlrEwC ! u8MhJ8ICf2tC10YAEFazBoVFQ3ffSabkjIEQ0kz9535UDp0Y1CPOEnJS6KiwXegQ ! Rae4ctiiAOPmdO/IIvZK19EQ3Dxy0yf5UmaV5KQssDeIIxeu1youfG/oKQIDAQAB ! AoGAWdLpHPkN8QjMq74ku6IMTWoyxLbcBiWrcH/uJ8K7iB4WJfOgke9+BKOMZPB7 ! ex1QWQx4syXAj+UV7frWjkNaRj+w38/0wdY4tc2pqprEsslGY8IuOchh2jLKvcP8 ! 9odJR0JL4fj5P2bg+ALVGWZJT/8DFxb5YHoq3tYmNahmFyUCQQD662Pv5HOV1ABc ! kQdiWyQN4ViG+H1cIEQPLyrZ44qyppJRMcLbc4XcqK+TmeTfINrXel3e3K22vNvF ! LIITazbTAkEA25KvcEgW5TJKtnPvcVgchTTkLJv/TcmUrBe/gp7QFygCIgofguQu ! A6nl5cgCutgh+t/x25R95zyc+9ZivSi/kwJBAOJBVTkgf5UvuC+/2q+2zTjy5Ne3 ! w5pJwfULLBGTWyKijrdGLpWhgqgpN0DZ+QW1439/aJun08A+ZdFSw+vstl8CQFdw ! 9ALgApYl0BEW3G0j7L+zj4agXSyqMVXTY0XuXupJ2Yeaxm/G1PhKia5XV5b3CZkx ! 48xRN06GGfJEry+rcZcCQQCDp0yJJbH1LX43YhLY6KSatxRGq4qI0Xim61I/PFqj ! 0Ew4KAHl3pEYWzZBbSswFBkSAImGQrNFiOW3NiKhnq4v -----END RSA PRIVATE KEY----- |
From: Gabriel B. <sh...@us...> - 2007-04-09 22:59:19
|
Update of /cvsroot/solidircd/solidircd-stable/include In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv13985/include Modified Files: config.h h.h memcount.h msg.h numeric.h struct.h userban.h Log Message: Bahamut 1.8.4 latest changes part 1, this is not complete yet. Index: memcount.h =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/include/memcount.h,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** memcount.h 9 Jul 2005 03:09:11 -0000 1.4 --- memcount.h 9 Apr 2007 22:59:07 -0000 1.5 *************** *** 183,186 **** --- 183,194 ---- } MCircd; + /* klines.c */ + typedef struct { + const char *file; + + /* MEMTRACE: allocates userban reasons */ + } MCklines; + + /* list.c */ typedef struct { *************** *** 470,473 **** --- 478,482 ---- u_long memcount_channel(MCchannel *); u_long memcount_clientlist(MCclientlist *); + u_long memcount_klines(MCklines *); u_long memcount_clones(MCclones *); #ifdef HAVE_ENCRYPTION_ON Index: h.h =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/include/h.h,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** h.h 5 Jul 2005 03:17:53 -0000 1.3 --- h.h 9 Apr 2007 22:59:07 -0000 1.4 *************** *** 312,315 **** --- 312,316 ---- extern void initstats(void); extern char *make_parv_copy(char *, int, char **); + extern int exit_banned_client(aClient *, int, char, char *, int); extern int parse(aClient *, char *, char *); Index: msg.h =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/include/msg.h,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** msg.h 25 Jun 2006 22:53:01 -0000 1.5 --- msg.h 9 Apr 2007 22:59:07 -0000 1.6 *************** *** 142,145 **** --- 142,146 ---- #define MSG_PUT "PUT" /* PUT */ #define MSG_POST "POST" /* POST */ + #define MSG_CHECK "CHECK" /* CHECK */ #define MSG_MAP "MAP" /* MAP */ #define MSG_SHUN "SHUN" /* SHUN */ *************** *** 218,221 **** --- 219,223 ---- extern int m_motd(aClient *, aClient *, int, char **); extern int m_whowas(aClient *, aClient *, int, char **); + extern int m_check(aClient *, aClient *, int, char **); extern int m_userhost(aClient *, aClient *, int, char **); extern int m_userip(aClient *, aClient *, int, char **); *************** *** 342,345 **** --- 344,348 ---- {MSG_TRACE, m_trace, MAXPARA, 0, 0}, {MSG_PASS, m_pass, MAXPARA, MF_UNREG, 0}, + {MSG_CHECK, m_check, MAXPARA, 0, 0}, {MSG_LUSERS, m_lusers, MAXPARA, 0, 0}, {MSG_TIME, m_time, MAXPARA, 0, 0}, *************** *** 379,383 **** {MSG_HELPSERV, m_aliased, 1, MF_ALIAS, AII_HS}, {MSG_BOTSERV, m_aliased, 1, MF_ALIAS, AII_BS}, ! {MSG_DENORA, m_aliased, 1, MF_ALIAS, AII_DS}, {MSG_SERVICES, m_services, 1, 0, 0}, {MSG_IDENTIFY, m_identify, 1, 0, 0}, --- 382,386 ---- {MSG_HELPSERV, m_aliased, 1, MF_ALIAS, AII_HS}, {MSG_BOTSERV, m_aliased, 1, MF_ALIAS, AII_BS}, ! {MSG_DENORA, m_aliased, 1, MF_ALIAS, AII_DS}, {MSG_SERVICES, m_services, 1, 0, 0}, {MSG_IDENTIFY, m_identify, 1, 0, 0}, *************** *** 407,422 **** {MSG_SS, m_aliased, 1, MF_ALIAS, AII_SS}, {MSG_HS, m_aliased, 1, MF_ALIAS, AII_HS}, ! {MSG_BS, m_aliased, 1, MF_ALIAS, AII_BS}, ! {MSG_DS, m_aliased, 1, MF_ALIAS, AII_DS}, {MSG_RESYNCH, m_resynch, MAXPARA, 0, 0}, {MSG_MODULE, m_module, MAXPARA, 0, 0}, {MSG_RWHO, m_rwho, MAXPARA, 0, 0}, ! {MSG_SVHOST, m_svhost, MAXPARA, 0, 0}, {MSG_SETIDENT, m_setident, MAXPARA, 0, 0}, {MSG_SVIDENT, m_svident, MAXPARA, 0, 0}, ! {MSG_MAP, m_map, MAXPARA, 0, 0}, {MSG_SHUN, m_shun, MAXPARA, 0, 0}, {MSG_UNSHUN, m_unshun, MAXPARA, 0, 0}, ! {MSG_GLINE, m_gline, MAXPARA, 0, 0}, {MSG_UNGLINE, m_ungline, MAXPARA, 0, 0}, #ifdef TOYS --- 410,425 ---- {MSG_SS, m_aliased, 1, MF_ALIAS, AII_SS}, {MSG_HS, m_aliased, 1, MF_ALIAS, AII_HS}, ! {MSG_BS, m_aliased, 1, MF_ALIAS, AII_BS}, ! {MSG_DS, m_aliased, 1, MF_ALIAS, AII_DS}, {MSG_RESYNCH, m_resynch, MAXPARA, 0, 0}, {MSG_MODULE, m_module, MAXPARA, 0, 0}, {MSG_RWHO, m_rwho, MAXPARA, 0, 0}, ! {MSG_SVHOST, m_svhost, MAXPARA, 0, 0}, {MSG_SETIDENT, m_setident, MAXPARA, 0, 0}, {MSG_SVIDENT, m_svident, MAXPARA, 0, 0}, ! {MSG_MAP, m_map, MAXPARA, 0, 0}, {MSG_SHUN, m_shun, MAXPARA, 0, 0}, {MSG_UNSHUN, m_unshun, MAXPARA, 0, 0}, ! {MSG_GLINE, m_gline, MAXPARA, 0, 0}, {MSG_UNGLINE, m_ungline, MAXPARA, 0, 0}, #ifdef TOYS *************** *** 428,432 **** {MSG_SVSCLONE, m_svsclone, MAXPARA, 0, 0}, {MSG_CHANKILL, m_chankill, MAXPARA, 0, 0}, ! {MSG_PUT, m_put, 2, MF_UNREG, 0}, {MSG_POST, m_post, 2, MF_UNREG, 0}, {MSG_LUSERSLOCK, m_luserslock, MAXPARA, 0, 0}, --- 431,435 ---- {MSG_SVSCLONE, m_svsclone, MAXPARA, 0, 0}, {MSG_CHANKILL, m_chankill, MAXPARA, 0, 0}, ! {MSG_PUT, m_put, 2, MF_UNREG, 0}, {MSG_POST, m_post, 2, MF_UNREG, 0}, {MSG_LUSERSLOCK, m_luserslock, MAXPARA, 0, 0}, Index: struct.h =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/include/struct.h,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** struct.h 9 Apr 2007 16:01:10 -0000 1.12 --- struct.h 9 Apr 2007 22:59:07 -0000 1.13 *************** *** 30,34 **** #include "config.h" ! #if !defined(CONFIG_H_LEVEL_183) #error Incorrect config.h for this revision of ircd. #endif --- 30,34 ---- #include "config.h" ! #if !defined(CONFIG_H_LEVEL_184) #error Incorrect config.h for this revision of ircd. #endif *************** *** 118,122 **** #define HOSTIPLEN 46 /* Length of ipv6 address */ ! #define IPLEN 16 --- 118,122 ---- #define HOSTIPLEN 46 /* Length of ipv6 address */ ! #define IPLEN 16 *************** *** 125,129 **** /* comply with RFC1123 */ ! #define NICKLEN 25 /* Necessary to put 9 here instead of 10 if --- 125,129 ---- /* comply with RFC1123 */ ! #define NICKLEN 30 /* Necessary to put 9 here instead of 10 if *************** *** 134,154 **** #define MAX_DATE_STRING 32 /* maximum string length for a date string */ ! #define USERLEN 10 ! #define REALLEN 50 ! #define TOPICLEN 307 ! #define KILLLEN 400 ! #define CHANNELLEN 32 #define PASSWDLEN 63 ! #define KEYLEN 23 ! #define BUFSIZE 512 /* WARNING: *DONT* CHANGE THIS!!!! */ ! #define MAXRECIPIENTS 20 ! #define MAXBANS 100 ! #define MAXINVITELIST 100 ! #define MAXEXEMPTLIST 45 #define MOTDLINELEN 90 ! #define MAXSILES 10 ! #define MAXSILELENGTH 128 #ifdef DCCALLOW --- 134,154 ---- #define MAX_DATE_STRING 32 /* maximum string length for a date string */ ! #define USERLEN 10 ! #define REALLEN 50 ! #define TOPICLEN 307 ! #define KILLLEN 400 ! #define CHANNELLEN 32 #define PASSWDLEN 63 ! #define KEYLEN 23 ! #define BUFSIZE 512 /* WARNING: *DONT* CHANGE THIS!!!! */ ! #define MAXRECIPIENTS 20 ! #define MAXBANS 200 ! #define MAXINVITELIST 100 ! #define MAXEXEMPTLIST 100 #define MOTDLINELEN 90 ! #define MAXSILES 10 ! #define MAXSILELENGTH 128 #ifdef DCCALLOW *************** *** 178,208 **** #define BOOT_CONSOLE 1 ! #define BOOT_QUICK 2 ! #define BOOT_DEBUG 4 ! #define BOOT_TTY 8 ! #define BOOT_OPER 16 ! #define BOOT_STDERR 64 ! #define STAT_LOG -6 /* logfile for -x */ ! #define STAT_MASTER -5 /* Local ircd master before identification */ #define STAT_CONNECTING -4 #define STAT_HANDSHAKE -3 ! #define STAT_ME -2 ! #define STAT_UNKNOWN -1 /* the line of truth lies here (truth == registeredness) */ ! #define STAT_SERVER 0 ! #define STAT_CLIENT 1 /* status macros. */ #define IsRegisteredUser(x) ((x)->status == STAT_CLIENT) ! #define IsRegistered(x) ((x)->status >= STAT_SERVER) ! #define IsConnecting(x) ((x)->status == STAT_CONNECTING) ! #define IsHandshake(x) ((x)->status == STAT_HANDSHAKE) ! #define IsMe(x) ((x)->status == STAT_ME) ! #define IsUnknown(x) ((x)->status == STAT_UNKNOWN || \ ! (x)->status == STAT_MASTER) ! #define IsServer(x) ((x)->status == STAT_SERVER) ! #define IsClient(x) ((x)->status == STAT_CLIENT) ! #define IsLog(x) ((x)->status == STAT_LOG) #define SetMaster(x) ((x)->status = STAT_MASTER) --- 178,208 ---- #define BOOT_CONSOLE 1 ! #define BOOT_QUICK 2 ! #define BOOT_DEBUG 4 ! #define BOOT_TTY 8 ! #define BOOT_OPER 16 ! #define BOOT_STDERR 64 ! #define STAT_LOG -6 /* logfile for -x */ ! #define STAT_MASTER -5 /* Local ircd master before identification */ #define STAT_CONNECTING -4 #define STAT_HANDSHAKE -3 ! #define STAT_ME -2 ! #define STAT_UNKNOWN -1 /* the line of truth lies here (truth == registeredness) */ ! #define STAT_SERVER 0 ! #define STAT_CLIENT 1 /* status macros. */ #define IsRegisteredUser(x) ((x)->status == STAT_CLIENT) ! #define IsRegistered(x) ((x)->status >= STAT_SERVER) ! #define IsConnecting(x) ((x)->status == STAT_CONNECTING) ! #define IsHandshake(x) ((x)->status == STAT_HANDSHAKE) ! #define IsMe(x) ((x)->status == STAT_ME) ! #define IsUnknown(x) ((x)->status == STAT_UNKNOWN || \ ! (x)->status == STAT_MASTER) ! #define IsServer(x) ((x)->status == STAT_SERVER) ! #define IsClient(x) ((x)->status == STAT_CLIENT) ! #define IsLog(x) ((x)->status == STAT_LOG) #define SetMaster(x) ((x)->status = STAT_MASTER) *************** *** 225,229 **** #define FLAGS_DOINGDNS 0x000080 /* client is waiting for a DNS response */ #define FLAGS_AUTH 0x000100 /* client is waiting on rfc931 response */ ! #define FLAGS_WRAUTH 0x000200 /* set if we havent writen to ident server */ #define FLAGS_LOCAL 0x000400 /* set for local clients */ #define FLAGS_GOTID 0x000800 /* successful ident lookup achieved */ --- 225,229 ---- #define FLAGS_DOINGDNS 0x000080 /* client is waiting for a DNS response */ #define FLAGS_AUTH 0x000100 /* client is waiting on rfc931 response */ ! #define FLAGS_WRAUTH 0x000200 /* set if we havent writen to ident server */ #define FLAGS_LOCAL 0x000400 /* set for local clients */ #define FLAGS_GOTID 0x000800 /* successful ident lookup achieved */ *************** *** 232,236 **** #define FLAGS_NORMALEX 0x004000 /* Client exited normally */ #define FLAGS_SENDQEX 0x008000 /* Sendq exceeded */ ! #define FLAGS_ULINE 0x020000 /* client is U-lined */ #define FLAGS_USERBURST 0x040000 /* server in nick/channel netburst */ #define FLAGS_TOPICBURST 0x080000 /* server in topic netburst */ --- 232,236 ---- #define FLAGS_NORMALEX 0x004000 /* Client exited normally */ #define FLAGS_SENDQEX 0x008000 /* Sendq exceeded */ ! #define FLAGS_ULINE 0x020000 /* client is U-lined */ #define FLAGS_USERBURST 0x040000 /* server in nick/channel netburst */ #define FLAGS_TOPICBURST 0x080000 /* server in topic netburst */ *************** *** 238,242 **** #define FLAGS_SOBSENT 0x100000 /* we've sent an SOB, just have to send an EOB */ #define FLAGS_EOBRECV 0x200000 /* we're waiting on an EOB */ ! #define FLAGS_BAD_DNS 0x400000 /* spoofer-guy */ #define FLAGS_SERV_NEGO 0x800000 /* This is a server that has passed connection tests, but is a stat < 0 for handshake purposes */ #define FLAGS_RC4IN 0x1000000 /* This link is rc4 encrypted. */ --- 238,242 ---- #define FLAGS_SOBSENT 0x100000 /* we've sent an SOB, just have to send an EOB */ #define FLAGS_EOBRECV 0x200000 /* we're waiting on an EOB */ ! #define FLAGS_BAD_DNS 0x400000 /* spoofer-guy */ #define FLAGS_SERV_NEGO 0x800000 /* This is a server that has passed connection tests, but is a stat < 0 for handshake purposes */ #define FLAGS_RC4IN 0x1000000 /* This link is rc4 encrypted. */ *************** *** 548,573 **** /* defined operator access levels */ #define OFLAG_REHASH 0x00000001 /* Oper can /rehash server */ ! #define OFLAG_DIE 0x00000002 /* Oper can /die the server */ #define OFLAG_RESTART 0x00000004 /* Oper can /restart the server */ #define OFLAG_HELPOP 0x00000010 /* Oper can send /HelpOps */ #define OFLAG_GLOBOP 0x00000020 /* Oper can send /GlobOps */ #define OFLAG_WALLOP 0x00000040 /* Oper can send /WallOps */ ! #define OFLAG_LOCOP 0x00000080 /* Oper can send /LocOps */ #define OFLAG_LROUTE 0x00000100 /* Oper can do local routing */ #define OFLAG_GROUTE 0x00000200 /* Oper can do global routing */ ! #define OFLAG_LKILL 0x00000400 /* Oper can do local kills */ ! #define OFLAG_GKILL 0x00000800 /* Oper can do global kills */ ! #define OFLAG_KLINE 0x00001000 /* Oper can /kline users */ #define OFLAG_UNKLINE 0x00002000 /* Oper can /unkline users */ #define OFLAG_LNOTICE 0x00004000 /* Oper can send local serv notices */ #define OFLAG_GNOTICE 0x00008000 /* Oper can send global notices */ ! #define OFLAG_ADMIN 0x00010000 /* Admin */ #define OFLAG_UMODEc 0x00020000 /* Oper can set umode +c : client connect */ #define OFLAG_UMODEf 0x00040000 /* Oper can set umode +f : flood notices */ ! #define OFLAG_SADMIN 0x00080000 /* Oper can be a services admin */ ! #define OFLAG_ZLINE 0x00100000 /* Oper can use /zline and /unzline */ ! #define OFLAG_UMODEy 0x00200000 /* Oper can set umode +y : spy */ ! #define OFLAG_UMODEd 0x00400000 /* Oper can set umode +d : debug */ ! #define OFLAG_UMODEb 0x00800000 /* Oper can set umode +b : chatops */ #define OFLAG_UMODEF 0x01000000 /* Oper can set umode +F : no flood throttling */ #define OFLAG_UMODEC 0x02000000 /* Oper can set umode +C : Global connects */ --- 548,573 ---- /* defined operator access levels */ #define OFLAG_REHASH 0x00000001 /* Oper can /rehash server */ ! #define OFLAG_DIE 0x00000002 /* Oper can /die the server */ #define OFLAG_RESTART 0x00000004 /* Oper can /restart the server */ #define OFLAG_HELPOP 0x00000010 /* Oper can send /HelpOps */ #define OFLAG_GLOBOP 0x00000020 /* Oper can send /GlobOps */ #define OFLAG_WALLOP 0x00000040 /* Oper can send /WallOps */ ! #define OFLAG_LOCOP 0x00000080 /* Oper can send /LocOps */ #define OFLAG_LROUTE 0x00000100 /* Oper can do local routing */ #define OFLAG_GROUTE 0x00000200 /* Oper can do global routing */ ! #define OFLAG_LKILL 0x00000400 /* Oper can do local kills */ ! #define OFLAG_GKILL 0x00000800 /* Oper can do global kills */ ! #define OFLAG_KLINE 0x00001000 /* Oper can /kline users */ #define OFLAG_UNKLINE 0x00002000 /* Oper can /unkline users */ #define OFLAG_LNOTICE 0x00004000 /* Oper can send local serv notices */ #define OFLAG_GNOTICE 0x00008000 /* Oper can send global notices */ ! #define OFLAG_ADMIN 0x00010000 /* Admin */ #define OFLAG_UMODEc 0x00020000 /* Oper can set umode +c : client connect */ #define OFLAG_UMODEf 0x00040000 /* Oper can set umode +f : flood notices */ ! #define OFLAG_SADMIN 0x00080000 /* Oper can be a services admin */ ! #define OFLAG_ZLINE 0x00100000 /* Oper can use /zline and /unzline */ ! #define OFLAG_UMODEy 0x00200000 /* Oper can set umode +y : spy */ ! #define OFLAG_UMODEd 0x00400000 /* Oper can set umode +d : debug */ ! #define OFLAG_UMODEb 0x00800000 /* Oper can set umode +b : chatops */ #define OFLAG_UMODEF 0x01000000 /* Oper can set umode +F : no flood throttling */ #define OFLAG_UMODEC 0x02000000 /* Oper can set umode +C : Global connects */ *************** *** 691,695 **** char username[USERLEN + 1]; char hostname[HOSTLEN + 1]; ! char realhost[HOSTLEN + 1]; /* This will display the users real host on whowas */ char *servername; char realname[REALLEN + 1]; --- 691,695 ---- char username[USERLEN + 1]; char hostname[HOSTLEN + 1]; ! char realhost[HOSTLEN + 1]; /* This will display the users real host on whowas */ char *servername; char realname[REALLEN + 1]; *************** *** 915,923 **** char username[USERLEN + 1]; char host[HOSTLEN + 1]; ! char realhost[HOSTLEN + 1]; char maskhost[HOSTLEN + 1]; char *server; /* pointer to scached server name */ ! int special; /* elmer/silly routines */ ! char special_mode; unsigned int servicetype; /* set by SVSMODE +T */ unsigned int servicestamp; /* set by SVSMODE +d */ --- 915,923 ---- char username[USERLEN + 1]; char host[HOSTLEN + 1]; ! char realhost[HOSTLEN + 1]; char maskhost[HOSTLEN + 1]; char *server; /* pointer to scached server name */ ! int special; /* elmer/silly routines */ ! char special_mode; unsigned int servicetype; /* set by SVSMODE +T */ unsigned int servicestamp; /* set by SVSMODE +d */ *************** *** 1165,1170 **** int limit; char key[KEYLEN + 1]; ! int join_num; ! int join_time; }; --- 1165,1172 ---- int limit; char key[KEYLEN + 1]; ! char jr_num; /* join rate limit: joins */ ! char jr_time; /* join rate limit: time */ ! short jrl_size; /* join rate limit: calculated token bucket size */ ! }; *************** *** 1296,1299 **** --- 1298,1302 ---- int hashv; /* raw hash value */ Mode mode; + char chname[CHANNELLEN+1]; char topic[TOPICLEN + 1]; char topic_nick[NICKLEN + 1]; *************** *** 1314,1322 **** struct fludbot *fluders; #endif ! char chname[CHANNELLEN+1]; ! int join_start; /* these two are for +j watching */ ! int join_count; ! int default_join_start; /* these two handle the default joinrate handling */ ! int default_join_count; unsigned int banserial; /* used for bquiet cache */ }; --- 1317,1326 ---- struct fludbot *fluders; #endif ! short jrl_bucket; /* join rate limit: token bucket */ ! short jrw_bucket; /* join rate warning: token bucket */ ! time_t jrl_last; /* join rate limit: last use timestamp */ ! time_t jrw_last; /* join rate warning: last use timestamp */ ! int jrw_debt_ctr; /* join rate warning: in-debt counter */ ! int jrw_debt_ts; /* join rate warning: debt begin timestamp */ unsigned int banserial; /* used for bquiet cache */ }; *************** *** 1333,1337 **** #define CHFL_HALFOP 0x0002 /* Half Channel operator */ #define CHFL_VOICE 0x0004 /* the power to speak */ ! #define CHFL_DEOPPED 0x0008 /* deopped by us, modes need to be bounced */ #define CHFL_BANNED 0x0010 /* is banned */ --- 1337,1341 ---- #define CHFL_HALFOP 0x0002 /* Half Channel operator */ #define CHFL_VOICE 0x0004 /* the power to speak */ ! #define CHFL_DEOPPED 0x0008 /* deopped by us, modes need to be bounced */ #define CHFL_BANNED 0x0010 /* is banned */ *************** *** 1539,1543 **** unsigned int channelflags; unsigned int client_type; - #ifdef AIX unsigned umode_plus:1; unsigned nick_plus:1; --- 1543,1546 ---- *************** *** 1556,1579 **** unsigned ip_show:1; unsigned client_type_plus:1; ! /* unsigned spare:0; spare space for more stuff(?) */ ! #else ! char umode_plus:1; ! char nick_plus:1; ! char user_plus:1; ! char host_plus:1; ! char gcos_plus:1; ! char ip_plus:1; ! char cidr4_plus:1; ! char chan_plus:1; ! char serv_plus:1; ! char away_plus:1; ! char check_away:1; ! char check_umode:1; ! char show_chan:1; ! char search_chan:1; ! char ip_show:1; ! char client_type_plus:1; ! /* char spare:0; spare space for more stuff(?) */ ! #endif } SOpts; --- 1559,1563 ---- unsigned ip_show:1; unsigned client_type_plus:1; ! } SOpts; Index: userban.h =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/include/userban.h,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** userban.h 12 Mar 2006 20:49:26 -0000 1.4 --- userban.h 9 Apr 2007 22:59:07 -0000 1.5 *************** *** 72,76 **** time_t timeset; time_t duration; ! time_t autocap; /* maximum adjusted duration */ void *internal_ent; /* internal -- pointer to banlist entry tag */ --- 72,76 ---- time_t timeset; time_t duration; ! void *internal_ent; /* internal -- pointer to banlist entry tag */ Index: config.h =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/include/config.h,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -d -r1.29 -r1.30 *** config.h 26 Jun 2006 14:17:03 -0000 1.29 --- config.h 9 Apr 2007 22:59:07 -0000 1.30 *************** *** 974,978 **** * tuneable at runtime. -wd */ /* part of options.h now #define THROTTLE_ENABLE */ ! #define THROTTLE_ENABLE #define THROTTLE_TRIGCOUNT 3 #define THROTTLE_TRIGTIME 15 --- 974,978 ---- * tuneable at runtime. -wd */ /* part of options.h now #define THROTTLE_ENABLE */ ! #undef THROTTLE_ENABLE #define THROTTLE_TRIGCOUNT 3 #define THROTTLE_TRIGTIME 15 *************** *** 1095,1098 **** #endif ! #define CONFIG_H_LEVEL_183 #endif /* __config_include__ */ --- 1095,1098 ---- #endif ! #define CONFIG_H_LEVEL_184 #endif /* __config_include__ */ Index: numeric.h =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/include/numeric.h,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** numeric.h 27 Jun 2005 03:02:52 -0000 1.1.1.1 --- numeric.h 9 Apr 2007 22:59:07 -0000 1.2 *************** *** 238,241 **** --- 238,242 ---- #define ERR_BADCHANNELKEY 475 #define ERR_BADCHANMASK 476 + #define ERR_OWNMODE 494 #define ERR_NEEDREGGEDNICK 477 #define ERR_BANLISTFULL 478 |
From: Gabriel B. <sh...@us...> - 2007-04-09 16:01:17
|
Update of /cvsroot/solidircd/solidircd-stable/src In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv8242/src Modified Files: channel.c Log Message: Code Cleanup Index: channel.c =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/src/channel.c,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** channel.c 1 Oct 2006 21:27:59 -0000 1.22 --- channel.c 9 Apr 2007 16:01:10 -0000 1.23 *************** *** 1091,1096 **** if (chptr->mode.mode & MODE_OPERONLY) *mbuf++ = 'O'; - if (chptr->mode.mode & MODE_ADMINONLY) - *mbuf++ = 'A'; #ifdef HAVE_SSL if (chptr->mode.mode & MODE_SSL) --- 1091,1094 ---- *************** *** 1515,1519 **** MODE_TOPICLIMIT, 't', MODE_REGONLY, 'R', MODE_INVITEONLY, 'i', MODE_NOCTRL, 'c', MODE_OPERONLY, 'O', ! MODE_MODREG, 'M', MODE_NONICK, 'N', MODE_ADMINONLY, 'A', #ifdef ENABLE_CHANNEL_MODE_D --- 1513,1517 ---- MODE_TOPICLIMIT, 't', MODE_REGONLY, 'R', MODE_INVITEONLY, 'i', MODE_NOCTRL, 'c', MODE_OPERONLY, 'O', ! MODE_MODREG, 'M', MODE_NONICK, 'N', #ifdef ENABLE_CHANNEL_MODE_D *************** *** 1627,1631 **** * +D will prevent users who have been marke as unresolved clients, from joining the channel. * This is one of my favorite modes. -Sheik June 05 2005. ! * This mode is not finished yet so don't enable it -Sheik */ --- 1625,1629 ---- * +D will prevent users who have been marke as unresolved clients, from joining the channel. * This is one of my favorite modes. -Sheik June 05 2005. ! * This mode is not finished yet so don't enable it -Sheik */ *************** *** 1653,1677 **** break; #endif - case 'A': - if (!IsULine(sptr) && (level<2 || !IsAdmin(sptr))) - { - errors |= SM_ERR_NOTOPER; - break; - } - else if (MyClient(sptr) && !IsAdmin(sptr)) - { - errors |= SM_ERR_NOTOPER; - break; - } - else - { - if (change=='+') - chptr->mode.mode|=MODE_ADMINONLY; - else - chptr->mode.mode&=~MODE_ADMINONLY; - *mbuf++ = *modes; - nmodes++; - } - break; case 'O': --- 1651,1654 ---- *************** *** 2520,2528 **** error = ERR_INVITEONLYCHAN; } - else if (chptr->mode.mode &MODE_ADMINONLY && !IsAdmin(sptr)) - { - r = "+A"; - error = ERR_INVITEONLYCHAN; - } else if (chptr->mode.limit && chptr->users >= chptr->mode.limit) { --- 2497,2500 ---- *************** *** 2606,2611 **** if (chptr->mode.mode & MODE_OPERONLY && !IsOper(sptr)) reasonbuf[rbufpos++] = 'O'; - if (chptr->mode.mode & MODE_ADMINONLY && !IsAdmin(sptr)) - reasonbuf[rbufpos++] = 'A'; if (*chptr->mode.key && (BadPtr(key) || mycmp(chptr->mode.key, key))) reasonbuf[rbufpos++] = 'k'; --- 2578,2581 ---- *************** *** 4692,4696 **** SJ_MODEADD('c', MODE_NOCTRL); SJ_MODEADD('O', MODE_OPERONLY); ! SJ_MODEADD('A', MODE_ADMINONLY); #ifdef HAVE_SSL SJ_MODEADD('S', MODE_SSL); --- 4662,4666 ---- SJ_MODEADD('c', MODE_NOCTRL); SJ_MODEADD('O', MODE_OPERONLY); ! #ifdef HAVE_SSL SJ_MODEADD('S', MODE_SSL); *************** *** 4860,4864 **** SJ_MODEPLUS('c', MODE_NOCTRL); SJ_MODEPLUS('O', MODE_OPERONLY); ! SJ_MODEPLUS('A', MODE_ADMINONLY); #ifdef HAVE_SSL SJ_MODEPLUS('S', MODE_SSL); --- 4830,4834 ---- SJ_MODEPLUS('c', MODE_NOCTRL); SJ_MODEPLUS('O', MODE_OPERONLY); ! #ifdef HAVE_SSL SJ_MODEPLUS('S', MODE_SSL); *************** *** 4885,4889 **** SJ_MODEMINUS('c', MODE_NOCTRL); SJ_MODEMINUS('O', MODE_OPERONLY); ! SJ_MODEMINUS('A', MODE_ADMINONLY); #ifdef HAVE_SSL SJ_MODEMINUS('S', MODE_SSL); --- 4855,4859 ---- SJ_MODEMINUS('c', MODE_NOCTRL); SJ_MODEMINUS('O', MODE_OPERONLY); ! #ifdef HAVE_SSL SJ_MODEMINUS('S', MODE_SSL); |
From: Gabriel B. <sh...@us...> - 2007-04-09 16:01:17
|
Update of /cvsroot/solidircd/solidircd-stable In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv8242 Modified Files: BANNER CHANGES Log Message: Code Cleanup Index: BANNER =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/BANNER,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** BANNER 12 Mar 2006 17:23:58 -0000 1.2 --- BANNER 9 Apr 2007 16:01:10 -0000 1.3 *************** *** 5,7 **** /____ >____/|____/__\____ | |__||__| \___ >____ | \/ \/ \/ \/ ! solid-ircd 3.4.7(stable) \ No newline at end of file --- 5,7 ---- /____ >____/|____/__\____ | |__||__| \___ >____ | \/ \/ \/ \/ ! solid-ircd 3.4.9(stable) \ No newline at end of file Index: CHANGES =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/CHANGES,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -d -r1.29 -r1.30 *** CHANGES 1 Oct 2006 21:45:44 -0000 1.29 --- CHANGES 9 Apr 2007 16:01:10 -0000 1.30 *************** *** 14,19 **** Changes from Sheik ------------------------- 01/10/2006 - Corrected typo in s_err.c for unregistered user warning. - 01/10/2006 - Added Channel mode +A Only Admins can get in. 01/10/2006 - Correct typo on the ssl connection description thanks to Spec-Ops for reporting it. 01/10/2006 - Change the hardcoded hiddenserv name on s_misc.c and whowas.c to use the conf instead thanks to HiroP for reporting it. --- 14,19 ---- Changes from Sheik ------------------------- + 04/9/2007 - Included a SSL fix from the old dev release that forgot to include thanks Crako for the reminder. 01/10/2006 - Corrected typo in s_err.c for unregistered user warning. 01/10/2006 - Correct typo on the ssl connection description thanks to Spec-Ops for reporting it. 01/10/2006 - Change the hardcoded hiddenserv name on s_misc.c and whowas.c to use the conf instead thanks to HiroP for reporting it. |
From: Gabriel B. <sh...@us...> - 2007-04-09 16:01:15
|
Update of /cvsroot/solidircd/solidircd-stable/include In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv8242/include Modified Files: struct.h Log Message: Code Cleanup Index: struct.h =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/include/struct.h,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** struct.h 1 Oct 2006 21:04:57 -0000 1.11 --- struct.h 9 Apr 2007 16:01:10 -0000 1.12 *************** *** 1370,1374 **** #define MODE_RSL 0x200000 #endif ! #define MODE_ADMINONLY 0x400000 /* mode flags which take another parameter (With PARAmeterS) */ --- 1370,1374 ---- #define MODE_RSL 0x200000 #endif ! /* mode flags which take another parameter (With PARAmeterS) */ |
From: Gabriel B. <sh...@us...> - 2007-04-09 15:49:30
|
Update of /cvsroot/solidircd/solidircd-stable In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv3551 Modified Files: configure Log Message: Forgot to include this change, this fixes the SSL issue with dead socket Index: configure =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/configure,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** configure 18 Mar 2006 14:52:57 -0000 1.5 --- configure 9 Apr 2007 15:49:26 -0000 1.6 *************** *** 1321,1325 **** PACKAGE=solid-ircd ! VERSION=3.4.7 --- 1321,1325 ---- PACKAGE=solid-ircd ! VERSION=3.4.9 *************** *** 5675,5679 **** cat >>confdefs.h <<_ACEOF ! #define WRITEV_IOV 16 _ACEOF --- 5675,5679 ---- cat >>confdefs.h <<_ACEOF ! #undef WRITEV_IOV 16 _ACEOF *************** *** 5682,5686 **** freebsd="yes" cat >>confdefs.h <<_ACEOF ! #define WRITEV_IOV 32 _ACEOF --- 5682,5686 ---- freebsd="yes" cat >>confdefs.h <<_ACEOF ! #undef WRITEV_IOV 32 _ACEOF *************** *** 5688,5692 **** *-netbsd*) cat >>confdefs.h <<_ACEOF ! #define WRITEV_IOV 32 _ACEOF --- 5688,5692 ---- *-netbsd*) cat >>confdefs.h <<_ACEOF ! #undef WRITEV_IOV 32 _ACEOF *************** *** 5694,5698 **** *-openbsd*) cat >>confdefs.h <<_ACEOF ! #define WRITEV_IOV 32 _ACEOF --- 5694,5698 ---- *-openbsd*) cat >>confdefs.h <<_ACEOF ! #undef WRITEV_IOV 32 _ACEOF *************** *** 5701,5705 **** linux="yes" cat >>confdefs.h <<_ACEOF ! #define WRITEV_IOV 32 _ACEOF --- 5701,5705 ---- linux="yes" cat >>confdefs.h <<_ACEOF ! #undef WRITEV_IOV 32 _ACEOF *************** *** 5715,5719 **** check_hmodules="no" cat >>confdefs.h <<_ACEOF ! #define WRITEV_IOV 32 _ACEOF --- 5715,5719 ---- check_hmodules="no" cat >>confdefs.h <<_ACEOF ! #undef WRITEV_IOV 32 _ACEOF |
From: Gabriel B. <sh...@us...> - 2006-10-01 22:05:07
|
Update of /cvsroot/solidircd/solidircd-stable/zlib In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv12808/zlib Modified Files: zconf.h Log Message: minor updates. |
From: Gabriel B. <sh...@us...> - 2006-10-01 22:05:07
|
Update of /cvsroot/solidircd/solidircd-stable/include In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv12808/include Modified Files: confparse.h Log Message: minor updates. Index: confparse.h =================================================================== RCS file: /cvsroot/solidircd/solidircd-stable/include/confparse.h,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** confparse.h 9 Jul 2005 20:18:49 -0000 1.3 --- confparse.h 1 Oct 2006 22:05:04 -0000 1.4 *************** *** 186,190 **** #define OPTF_AUP 0x500000 #define OPTT_RQUIT "rquit" ! #define OPTF_RQUIT 0x00800000 --- 186,190 ---- #define OPTF_AUP 0x500000 #define OPTT_RQUIT "rquit" ! #define OPTF_RQUIT 0x00800000 |