Commits


configure.in: inttypes.h is an optional header file


configure.in: Use AC_CONFIG_FILES macro


configure.in: Don't use AC_C_PROTOTYPES Don't use AC_C_PROTOTYPES, AM_C_PROTOTYPES is already used.


configure.in: Update checks for required and optional features Update checks for required and optional header files, data types, and functions.


configure.in: require autoconf 2.67 and automake 1.11 And use newer features such as bug reporting address and project URL.


configure.in: sort some lists (templates, output, ...)


configure.in: Use AC_CONFIG_HEADER instead of AM_CONFIG_HEADER AM_CONFIG_HEADER is marked obsolete and will be removed in Automake 1.13.


Fixed some spelling errors in documentation and code comments Thanks to Christoph Biedl!


./configure: Fix logic and quoting of poll() detection code This fixes commit 8e193df ...


Not only check for poll(), make sure poll.h exists as well This fixes building ngIRCd on Debian GNU/Linux 1.3 "Bo" :-)


Test for gai_strerror() If gai_strerror() isn't available, use a macro that simply returns a static error message (regardless of the real error code). For example, GNU libc 2.0.7 doesn't implement gai_strerror().


Add preliminary ngIRCd protocol module for Anope 1.9 See contrib/Anope/README and doc/Services.txt for more details and installation instructions!


conf: fix 'Value of "..." is not a number!' for negative values Don't use isdigit() function any more, because it only checks the first character of the variable value and because it doesn't know about the minus sign which is required e.g. for "Group = -1".


Remove support for ZeroConf/Bonjour/Rendezvous service registration


Generate ngIRCd version number from GIT tag Now the ngIRCd release/version number is deduced from the "current" annotated GIT tag; see "git describe --help" for details. This is the same scheme the Linux kernel uses and gives much more details version numbers for interim releases and inofficial source archives generated using "make dist". Please note: the version number is only updated it the autogen.sh script is run; so after pulling in and pushing out new commits, you should run ./autogen.sh!


./configure: check if C compiler can compile ISO Standard C This is required for enabling ansi2knr on systems that don't have an ANSI C compiler installed (e.g. on A/UX with Apple standard C compiler).


./configure: check support for C prototypes again


ngIRCd release 17~rc1


Bump version number to "17-dev"


Add new 'delayed' signal handlers. Allows to defer/queue signal processing for execution on the next event dispatch call, i.e. we can perform any signal action in normal, non-signal context. Example uses: - Reload everything on HUP without writing a global "SIGHUP_received" variable - Dump status of internal Lists on SIGUSR1, etc.


configure: correctly indent IPv6 yes/no summary output


Make configure switch "--docdir" work (closes: #108)


Detect PAM libraries


Include correct header files when testing for arpa/inet.h (Closes: #105) Tested on OpenBSD 4.7, OpenBSD 4.1, FreeBSD 8, Linux and Mac OS X. Thanks to rck <dev.rck@gmail.com> for reporting and testing!


Revert "configure: make implicit declarations fatal" This reverts commit b3a6c33da0b12ba74dc395979b677813d4bc2c0f. apparently not all gcc versions support this 8-(


configure: make implicit declarations fatal from bugzilla #105: "ngircd-16 works great under openbsd4.7/i386, but it segfaults on openbsd4.7/amd64." Caused by missing function prototypes and the resulting truncation of pointer to int. Lets try to catch these bugs during compilation instead of SIGSEGV.


ngIRCd release 16


ngIRCd release 16~rc2


Include netinet/{in.h, in_systm.h} when checking for netinet/ip.h This solves warning messages of autoconf on e.g. FreeBSD 8: configure: WARNING: netinet/ip.h: present but cannot be compiled configure: WARNING: netinet/ip.h: check for missing prerequisite headers?


ngIRCd release 16~rc1


configure.in: only add -lnsl when needed dpkg-shlibdeps: warning: dependency on libnsl.so.1 [..] (they use none of its symbols). As shown via commit 2b14234abc252383679bae2d23861b773dc9713e (dpkg-shlibdeps: warning: dependency on libnsl.so.1) and the following revert of that commit, we cannot simply drop the AC_CHECK_LIB(nsl). Although -lnsl is indeed unneeded when glibc is used, some platforms (e.g. Solaris) need it. Use AC_SEARCH_LIBS instead to only link when the library exports a particular symbol.


Really test for netinet/ip.h and set HAVE_NETINET_IP_H


ngIRCd release 15


ngIRCd release 15~rc1


Check for sockaddr_in.sin_len and initialize it Test for sockaddr_in.sin_len and initialize it to the correct value which some systems (notably Mac OS X) require. Note: this code path is only relevant when not using getaddrinfo().


Always use get{addr|name}info() when available Both getaddrinfo() and getnameinfo() are now used always when available, and not only when compiling ngIRCd with support for IPv6. This not only enables ngIRCd to handle multiple addresses per hostname when compiled without support for IPv6, but fixes binding ngIRCd to IP addresses on Mac OS X (and probably other BSD-based systems) as well: these systems require that sockaddr_in is zeroed out and sockaddr_in.sin_len is set to sizeof(sockaddr_in) like that: src/ipaddr/ng_ipaddr.c, line 54: assert(ip_str); + memset(addr, 0, sizeof *addr); + addr->sin4.sin_len = sizeof(addr->sin4); addr->sin4.sin_family = AF_INET; But this would break all the systems not using sockaddr_in.sin_len, for example Linux -- so we assume that all these systems provide getaddrinfo() and use that for now.


Fix --with-{openssl|gnutls} to accept path names This patch fixes --with-openssl and --with-gnutls and enables both to accept path names, so that you can use "./configure --with-XXX=/path". All the other --with-XXX parameters support this already.


Use AM_SILENT_RULES([yes]), if available Starting with GNU automake 1.11 "AM_SILENT_RULES([yes])" is available to make the build process less verbose ("Linux 2.6 style") which helps to spot warning and error messages. So we use it if it is available.


ngIRCd release 14.1


ngIRCd release 14


ngIRCd release 14~rc1


ngIRCd release 13


ngIRCd release 13~rc1


TLS/SSL support: code changes. This adds the required code to enable ssl/tls support during compile and run time, respectively.


Enable GNU libc "memory tracing" when compiled with debug code. This patch lets ngIRCd activate "memory tracing" of the GNU libc when compiled with debug code (configure: --enable-debug) and the functionality is available on the system. (http://www.gnu.org/software/libc/manual/html_node/Allocation-Debugging.html)


New make target: "osxpkg" to create an Mac OS X installer package. This patch adds a new make target, "osxpkg", to the main Makefile which gereates a Apple Mac OS X installer package of ngIRCd. The packagemaker(1) project bundle is stored in contrib/MacOSX/ngIRCd.pmdoc.


Revert "dpkg-shlibdeps: warning: dependency on libnsl.so.1 [..]" - Solaris needs both -lsocket _and_ -lnsl - A/UX needs -lUTIL "... which totally sucks because we'd link libnsl on Linux, too (where its not needed at all). So, we have to figure out how to tell autocrap to NOT put -lnsl there unless it exports a symbol we need. This also means that [...] has to be reverted (or done properly)." -- Florian Westphal @ #ngircd This reverts commit 2b14234abc252383679bae2d23861b773dc9713e.


dpkg-shlibdeps: warning: dependency on libnsl.so.1 [..] (they use none of its symbols). So, rip out that AC_CHECK_LIB cruft, pointed out by Christoph Biedl. If there are platforms that really need that we should only link when we actually use these libraries.


Use strtok_r instead of strchr in IRC_JOIN. This patch does significant cleanup on the join code by using strtok_r instead of mangling strchr to parse channel names and keys in parallel when a JOIN command contains a list of channels and keys. Also adds an strtok_r implementation to libportab.


configure.in: don't check for "obvious" standard functions. Drop checks for the following C standard functions: malloc, memmove, memset, realloc, strchr, strcspn, strerror, strstr. Rationale: These are standard K&R/C89 functions, no point in ''making sure they exist''.


Update master development branch - use "dev" instead of "HEAD" as "version number", - update ChangeLog and NEWS to reflect the 0.12.0 release.


--enable-ipv6: fix indentation in ./configure --help output.


Synchronized branch-0-12-x (ngIRCd 0.12.0-pre1) with master. (cherry picked from commit 4ea29329674ff8ec6d772991a57c146b5d78d2ad)


Include Mac OS X Xcode project in distribution archives. Oops, it has not been included since ... ages??


IPv6 support. all references to struct sockaddr/in_addr have been removed from src/ngircd. libngipaddr (in src/ipaddr/) hides all the gory details. See src/ipaddr/ng_ipaddr.h for API description.


New configure option "--without-select"; when usin epoll() IO API include support for select() as well by default and fall back on runtime when needed.


add test for strcspn.


Added support for the /dev/poll i/o interface.


add support for the poll() interface


only test for stack smashing protector if we are using gcc; use -fstack-protector-all for the test to make sure the guard variable is added.


fix gcc 4.1 -fstack-protector detection.


check if compiler supports inline keyword.


Detect the Avahi "howl-compatibility" as well as Howl itself.


Make clear that "IO backend: select" is not a request but a C API function.


check if gcc supports -fstack-protector


New subdirectory "doc/src" for the source code documentation.


Renamed "Rendezvous" to "Zeroconf".


Whitespace fixes.


test for epoll and kqueue support


Fixed wrong order of #includes in test for "socklen_t" (caused problems on OpenBSD).


Added version information to summary text.


check for strdup()


Fixed ./configure test for TCP Wrappers: now it runs on Mac OS X as well.


Enhanced configure script: now you can pass an (optional) search path to all --with-XXX parameters, e. g. "--with-ident=/opt/ident".


Remove INT, LONG, BOOLEAN, STATIC, CONST, CHAR datatypes. use stdbool.h / inttypes.h if available.


Removed indentation of preprocessor statements in test for socklen_t.


Added support for the Howl (http://www.porchdogsoft.com/products/howl/) Rendezvous API, in addition to the API of Apple (Mac OS X).


Enhanced ./configure checks for required C header files.


Special handling for HP/UX: define _XOPEN_SOURCE_EXTENDED ...


Reworked configure system: it should be more compatible to most systems now, and it should even be more flexible and faster :-)


Added XCode project files (for Mac OS X) to "contrib" directory.


Changes for new source code layout: contrib/Debian/.


Added optional support for IDENT lookups (configure switch "--with-ident").


Removed "USE_" prefixes of configuration #defines.


Fixed build problems under Mac OS X 10.3 "Panther".


Use "-pipe" when compiling with gcc, speeds things up a little :-)


Included debian/-subdirectory into build system.


Added support for GNU/Hurd.


Disabling "-ansi" on Cygwin: system headers are incompatible.


Detecting broken gcc used by Mac OS X and disabling "-pedantic" in this case.


Added defines for SunOS (5.6).


Added some defines for Linux/glibc, reverted unused test for poll(), and enhanced summary output.


Using $(prefix)/share/doc/ngircd as documentation directory again.


Corrected path for documentation files in summary output.


Added documentation path to summary output.


Require at least GNU automake 1.6 to generate build scripts and Makefiles.


Fixed a "checking for ..." text string.


- Updated documentation.


Added support for TCP Wrappers; redesigned configuration result output; Changed some "--enable"/"--disable" switches to "--with"/"--without".


- better compatibility


- New switch "--enable-rendezvous" to enable support for Rendezvous.


- Added AC_PREREQ(2.50) to configure.in for better autoconf compatibility.


- new library "libngtool", reorganized code and directory structure therefore.


- Restructured documentation: now the main language is english.


- Updated configure.in to use newer semantics of AC_INIT und AM_INIT_AUTOMAKE.


- Fixed up some brackets ("[" and "]") ...


- Optimized tests for <sys/select.h> and <sys/poll.h>.


- Enhanced check for select() and poll().


- Added tests for <sys/poll.h> and poll().


- added tests for strlcpy() and strlcat().


- GCC: add "-Wtraditional -Wpointer-arith -Wstrict-prototypes" to CFLAGS.


- Tests auf ctype.h und isdigit() hinzugefuegt.


- Test auf zlib sowie neue Option "--disable-zlib".


- unter HP-UX wird nun _XOPEN_SOURCE_EXTENDED definiert. Fuer den gcc unter 11.11 ist dies erforderlich.


- GCC-Option "-ansi" hat sich leider nicht bewaehrt ... wieder entfernt.


- beim GCC wird nun die "-ansi"-Option gesetzt.


- Verbindungsstatistik ein wenig klarer formuliert.


- in der Uebersicht werden die Pfad-Defines nicht mehr in CFLAGS angezeigt.


- bei CVS-Versionen wird nun das Datum der letzten CVS-Aenderung angezeigt, Versionsnummer entsprechend angepasst.


- neues Verzeichnis "contrib" angelegt.


- Versionsnummer fuer CVS-HEAD wieder auf "CurrentCVS" gesetzt.


- Versionsnummer auf 0.5.0-pre2 angehoben.


- es wird nun auch auf "sys/select.h" geprueft. U.a. fuer AIX notwendig. - Versionsnummer auf 0.5.0-pre1 angehoben.


- ngIRCd "Test-Suite" in Build-System aufgenommen.


- Konfigurations-Uebersicht am Ende des configure-Lauf. - neue Option "--disable-ircplus".


- nun wird autoconf 2.50 als Minimum vorausgesetzt.


- Tests auf regex.h und regcomp() entfernt: werde nun doch nicht benoetigt.


- fehlerhafter Test auf "regex.h" korrigiert.


- Tests auf regex.h,varargs.h und regcomp geaendert.


- Test auf malloc.h geaendert: der Header ist nun optional.


- Test auf stdint.h korrigiert: der Header ist optional.


- einige Tests ergaenzt bzw. aktualisiert.


- Test, ob Compiler Funktions-Prototypen versteht, hinzugefuegt.


- POSIX Regular Expressions werden nun vorausgesetzt, - Test auf snprintf und vsnprintf geaendert.


- Test auf ctype.h ergaenzt, Test auf vsnprintf() geaendert.


- Makefile.am in doc/en wird nun auch erzeugt :-)


- Test auf POSIX Regular-Expression-Funktionen eingebaut.


- nroff/groff werden doch nicht benoetigt, Test wieder entfernt.


- nun wird groff oder nroff verwendet. Pfade angepasst.


- Manual-Pages begonnen und in Source-Tree eingebunden.


- die Versionsnummer des HEAD-Branch im CVS ist nun einfach nur noch "CVS".


- unter A/UX wird nun _POSIX_SOURCE definiert.


- LOCALSTATEDIR wird nicht mehr benoetigt.


- der System-Typ wird nun wieder korrekt ermittelt und verwendet.


- externe portab-Header werden nicht mehr benoetigt/benutzt, dadurch einige Aenderungen an diversen Source-Dateien und Headern. - Dateien enthalten keine CVS-History mehr.


- es werden nun die Konstanten SYSCONFDIR und LOCALSTATEDIR definiert.


- Anpassungen an neues GNU automake/autoconf: acconfig.h entfaellt nun.


- Versionsnummer auf 0.3.0-CVS angehoben.


- Version 0.3.0


- es wird auf sigaction() geprueft (u.a. fuer A/UX, welches das nicht kennt).


- es werden ein paar Funktionen mehr getestet: u.a. vsnprintf() und setsockopt(). - libUTIL wird eingebunden, so vorhanden (unter A/UX notwendig!)


- auf die "libbe" wird nur noch getestet, wenn syslog ueberhaupt verwendet wird.


- Versionsnummer im CVS auf 0.2.2-pre angehoben ...


- Version 0.2.1.


- Tests auf netdb.h, stdlib.h, sys/wait.h, gethostbyaddr, gethostbyname, strftime und die "libbe" unter BeOS (fuer syslog) ergaenzt.


- Version auf 0.2.1-pre im CVS angehoben ...


- Version 0.2.0


- Version auf 0.1.1-pre im CVS angehoben.


- Version 0.0.1


- Version auf 0.0.4-pre im CVS angehoben.


- Version 0.0.3


- CVS-Version auf "0.0.3-pre" angehoben.


- Version 0.0.2


- Test auf Header "arpa/inet.h" und Funktion inet_aton() hinzugefuegt (BeOS).


- CFLAGS wird nur noch gesetzt, wenn der GCC verwendet wird.


- Copyright-Texte angepasst ;-)


- CVS-Version auf "0.0.2-pre" angehoben.


- Version 0.0.1


- "doc"-Unterverzeichnis aufgenommen.


- neue configure-Option "--enable-strict-rfc".


- neue configure-Option "--with-portab=DIR".


- da fehlte an zwei Stellen ein AC_MSG_ERROR ... ups!


- die Verwendung von syslog kann nun abgeschaltet werden.


- Erkennung der "portab header" geaendert, CFLAGS werden nun anders gesetzt.


- neue configure-Option "--enable-sniffer".


- zusaetzliche Debug-Ausgaben koennen eingeschaltet werden.


- Projektdatei fuer den Mac OS X Project Builder erstellt.


- Test auf socklen_t verbessert.


- Test auf stdint.h (HAVE_STDINT_H) hinzugefuegt.


Initial revision