Commit Briefs

GitHub

Merge pull request #269 from hillu/gnutls-reload-cert

Add support for GnuTLS certificate reload. Thanks a lot, Hilko Bengen!


Johann Hartwig Hauschild

updating testsuite to support ssl-tests


Alexander Barton

Convert INSTALL and README files to Markdown

This requires some changes to the build system, for example to comply with the expectations of the GNU autoconf/automake tools ...



Alexander Barton

Make sure HAVE_LIBSSL is defined, even when using pkg-config

Without this, the configure script assumes and states that OpenSSL will be used, but the code won't include support for it because there we use the "HAVE_LIBSSL" define to test for it ("#ifdef HAVE_LIBSSL"). So define the latter when pkg-config(1) is used, too. This fixes #257, a regression introduced by commit ad86a41ee :-/


Alexander Barton

configure.ng: use pkg-config to find PpenSSL dependencies

OpenSSL can depends on lz or latomic so use pkg-config to find those dependencies and fallback to existing mechanism. Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> Closes #256.



Alexander Barton

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!)


Alexander Barton

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.


Alexander Barton

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.


Alexander Barton

configure: Only link "contrib/Debian" if it exists

This isn't the case on "VPATH builds", for example.


Alexander Barton

Use $(MKDIR_P) instead of $(mkinstalldirs) in Makefile's

And test for "mkdir -p" using AC_PROG_MKDIR_P in "configure".


Alexander Barton

Fix configure script and "make check" for TCP Wrappers

Add missing #include's and static variables. Problem spotted on OpenBSD.


Alexander Barton

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.


Alexander Barton

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.


Alexander Barton

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)


Alexander Barton

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>


Alexander Barton

configure: clean up function definitions


Alexander Barton

Only use unsetenv() when it is available

AIX 4.3 dosn't support it, for example.


Federico G. Schwindt

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().


Federico G. Schwindt

Add support for arc4random

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



Alexander Barton

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!


Alexander Barton

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".


Alexander Barton

Merge branch 'bug151-iconv' into master

* bug151-iconv: configure: search for iconv_open as well as libiconv_open


Alexander Barton

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.


Alexander Barton

configure: conversation -> conversion


Alexander Barton

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 :-)




Alexander Barton

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()



Alexander Barton

Remove Anope "ngircd" protocol module patches

Starting with Anope 1.9.8, the ngIRCd protocol module is included in the Anope distribution, so there's no longer any need to support our own (but now heavily outdated!) patches. Therefore remove them.


Alexander Barton

Search gethostbyname() in libbind and libnetwork

This is required for Haiku (BeOS clone) at least.


Alexander Barton

Merge branch 'bug109-CHARCONV'

This closes bug #109. * bug109-CHARCONV: Debian: require "telnet" or "telnet-ssl" for building Debian ngircd-full[-dbg]: enable CHARCONV Add "CHARCONV" to "feature string" when enabled Implement new IRC+ "CHARCONV" command Added new configure option "--with-iconv" Conflicts: src/ngircd/messages.h


Alexander Barton

configure: only use AM_PROG_AR when available

This fixes commit 78d189fb on systems with older automake ...


Alexander Barton

configure.ng: use AM_PROG_AR to check ar(1) command

This fixes automake-1.12/am/library.am: warning: 'libngipaddr.a': linking libraries using a non-POSIX .../automake-1.12/am/library.am: archiver requires 'AM_PROG_AR' in 'configure.in' src/ipaddr/Makefile.am:12: while processing library 'libngipaddr.a' and similar warnings of automake.


Alexander Barton

Merge branch 'automake-am11-am12'

* automake-am11-am12: autogen.sh: detect automake version format a.b.c and a.b configure.ng: don't require GIT tree to detect version string Include .mailmap file in distribution archives Include all build-system files into distribution archives Change build system to support new and old GNU automake



Alexander Barton

Change build system to support new and old GNU automake

Starting with GNU automake 1.12, the "de-ANSI-fication support" has been removed, which ngIRCd used to enable building itself on very old systems. Now the problem is, that using automake >= 1.12 isn't working because of the now unsupported M4 macros. Therefore the solution that this patch implements is to dynamically generate the automake input files with our own ./autogen.sh script: configure.ng => configure.in Makefile.ng => Makefile.am This is quite an ugly approach, but it works and enables us to: 1. use current automake >= 1.12 for development and "private builds", 2. still build distribution archives using automake 1.11.x that have "de-ANSI-fication support" enabled in the generated Makefile's. And if you are using Makefile's generated with a automake version newer than 1.11.x (without "de-ANSI-fication support"), the ./configure script warns you not to use this generated build system to generate distribution archives. Drawback of this patch: you MUST use our autogen.sh script, you can't call the autoconf/automake commands directly any more; but autoreconf should still work ...