Commits


Fix building ngIRCd with OpenSSL 1.1 At the moment, ngIRCd fails to build against OpenSSL 1.1 since the configure check probes for the SSL_library_init symbol which was removed, but probing for a different function availabe in both versions solves that problem: SSL_new(). And as SSL_library_init is no longer needed, the patch boils down to probing SSL_new to assert libssl is available, and disabling the SSL_library_init invokation from OpenSSL 1.1 on, see also another application[1] (NSCA-ng) that did pretty much the same. Patch was compile-tested on both Debian jessie (OpenSSL 1.0.2) and stretch (OpenSSL 1.1). [1] <https://www.nsca-ng.org/cgi-bin/repository/nsca-ng/commit/?id=8afc22031ff174f02caad4afc83fa5dff2c29f8a> (Patch by Christoph, commit message cherry-picked from the email thread on the mailing list by Alex. Thanks!)


Make setgroups(3) function optional For example, Interix is missing this function, which prevented ngIRCd to build on this platform. When setgroups(3) isn't available, a warning message is issued when ngIRCd starts up.


configure[.ng]: <sys/types.h> is a required header file ngIRCd already includes <sys/types.h> in a lot of places without checking for its existence (for example in "ngircd.c", "io.c", ...), therefore make it a required header file.


configure: Only link "contrib/Debian" if it exists This isn't the case on "VPATH builds", for example.


Use $(MKDIR_P) instead of $(mkinstalldirs) in Makefile's And test for "mkdir -p" using AC_PROG_MKDIR_P in "configure".


Fix configure script and "make check" for TCP Wrappers Add missing #include's and static variables. Problem spotted on OpenBSD.


Add libwrap at the end of the configure run If libwrap becomes added earlier, other tests may fail because of not all external variables required by libwrap are available when linking: for example allow_severity and deny_severity. This patch adds generic support for the LDFLAGS_END and LIBS_END variables (CFLAGS_END has been implemented already). Problem spotted on OpenBSD.


Partially revert bc098794: don't require autoconf 2.67 GNU autoconf 2.61 is still sufficient to generate the configure script, even after updating configure.{ng|in}, so don't require a newer version.


Update configure.ng for autoconf 2.67 We already require GNU autoconf 2.67 for generating our build system (at least this is what the INSTALL document states), so update the build system accordingly and implement all changes that autoupdate(1) suggests: - Update AC_PREREQ and AC_INIT - Use AC_LINK_IFELSE, AC_RUN_IFELSE, and AC_COMPILE_IFELSE - Remove AC_TYPE_SIGNAL (we don't use RETSIGTYPE)


Check for working getaddrinfo() function At least AIX 4.3.3 and 5.1 have a broken implementation of getaddrinfo() which doesn't handle "0" as numeric service correctly. This patch adds a configure check for this case and changes all calling functions to only use getaddrinfo() if it "works". See <http://www.stacken.kth.se/lists/heimdal-discuss/2004-05/msg00059.html>


configure: clean up function definitions


Only use unsetenv() when it is available AIX 4.3 dosn't support it, for example.


Check and call arc4random_stir() if present FreeBSD prior to 10.0 does not automatically stir on fork(). Same with current NetBSD. If arc4random_stir() is present assume is needed and call it instead of srand().


Add support for arc4random If arc4random is present it will be used over the srand/rand interface. This fixes some warnings in OpenBSD-current.


private strndup() implementation in case libc does not provide it


configure: Don't quote IO backend type(s) It's not needed and inconsistent compared to the other settings. Reported by "allerbest" (Götz Hoffart) on #ngircd, thanks!


Make configure[.ng] compatible with autoconf 1.10 again The incompatibility has been introduced by commit d0c9f4a6, "configure: search for iconv_open as well as libiconv_open".


Merge branch 'bug151-iconv' into master * bug151-iconv: configure: search for iconv_open as well as libiconv_open


configure: search for iconv_open as well as libiconv_open On some installations iconv_open() is actually libiconv_open(). iconv_open() is the glibc version while libiconv_open() is the libiconv version. This patch enables ngIRCd to detect both cases. Tested on OpenBSD 5.1. Closes bug #151.


configure: conversation -> conversion


configure: "netinet/in_systm.h" is optional The header file "netinet/in_systm.h" already is optional in ngIRCd, so don't require it in the configure script. Now ngIRCd can be built on Minix 3 again :-)


configure: use AS_HELP_STRING for --with-iconv


autogen.sh: Enforce serial test harness on automake >=1.13


Merge branch 'bug145-ProvideHelp' * bug145-ProvideHelp: Use "${docdir}/Commands.txt" as help text file Add a note that "help file" is updated on startup and REHASH only Add doc/Commands.txt which should document all commands Implement Help() function parsing and returning the help text Document "HelpFile" in sample-ngircd.conf and ngircd.conf.5 Implement new configuration option "HelpFile" IRC_HELP(): Code cleanup Refactor Read_Motd() into Read_TextFile()


Use "${docdir}/Commands.txt" as help text file