Commit Graph

166 Commits

Author SHA1 Message Date
Alexander Barton 8288878122 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!
2010-10-24 21:51:38 +02:00
Alexander Barton 5700329f8c ./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).
2010-10-24 14:14:30 +02:00
Alexander Barton 3b74280879 ./configure: check support for C prototypes again 2010-10-24 13:50:22 +02:00
Alexander Barton d00a0f1e7c ngIRCd release 17~rc1 2010-10-11 23:25:48 +02:00
Alexander Barton fe5c7cb22d Bump version number to "17-dev" 2010-09-14 00:05:31 +02:00
Florian Westphal 1fe17e246c 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.
2010-09-11 11:36:12 +02:00
Alexander Barton b52d5e2a78 configure: correctly indent IPv6 yes/no summary output 2010-08-25 00:02:06 +02:00
Alexander Barton f72e22d361 Make configure switch "--docdir" work (closes: #108) 2010-08-17 15:59:54 +02:00
Alexander Barton 761b2284b9 Detect PAM libraries 2010-07-11 17:01:45 +02:00
Alexander Barton e2930f3f5e 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!
2010-06-09 12:03:08 +02:00
Florian Westphal 059e707249 Revert "configure: make implicit declarations fatal"
This reverts commit b3a6c33da0b12ba74dc395979b677813d4bc2c0f.

apparently not all gcc versions support this 8-(
2010-06-09 12:03:00 +02:00
Florian Westphal b849e63fbf 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.
2010-06-09 11:49:57 +02:00
Alexander Barton defd7e09af ngIRCd release 16 2010-05-02 15:25:35 +02:00
Alexander Barton bdec5ac1f3 ngIRCd release 16~rc2 2010-04-25 13:13:11 +02:00
Alexander Barton 6b0bb665c3 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?
2010-04-23 10:55:50 +02:00
Alexander Barton 50e8a62c5c ngIRCd release 16~rc1 2010-03-25 15:57:11 +01:00
Florian Westphal 20276f7cc9 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 2b14234abc
(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.
2010-02-17 22:25:30 +01:00
Alexander Barton 1ddc74f13e Really test for netinet/ip.h and set HAVE_NETINET_IP_H 2009-12-31 00:38:47 +01:00
Alexander Barton c414d0bd3a ngIRCd release 15 2009-11-07 13:57:15 +01:00
Alexander Barton bc1ac7fbc5 ngIRCd release 15~rc1 2009-10-15 10:04:34 +02:00
Alexander Barton 5b1efaee67 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().
2009-09-14 01:23:19 +02:00
Alexander Barton d5f80b2a8d 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.
2009-09-14 01:07:39 +02:00
Alexander Barton 933da741c6 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.
2009-09-02 14:28:09 +02:00
Alexander Barton 5debe20509 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.
2009-08-16 16:08:21 +02:00
Alexander Barton 822c1e9265 ngIRCd release 14.1 2009-05-05 12:58:51 +02:00
Alexander Barton 68835a1d1a ngIRCd release 14 2009-04-20 11:36:27 +02:00
Alexander Barton 1f6a5744f6 ngIRCd release 14~rc1 2009-03-29 17:16:02 +02:00
Alexander Barton 4b83a23d9d ngIRCd release 13 2008-12-25 23:18:29 +01:00
Alexander Barton 7cf9d93aee ngIRCd release 13~rc1 2008-11-21 22:08:23 +01:00
Florian Westphal ef3327d372 TLS/SSL support: code changes.
This adds the required code to enable ssl/tls support
during compile and run time, respectively.
2008-09-13 15:10:32 +02:00
Alexander Barton c769cbecb6 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)
2008-08-13 16:00:57 +02:00
Alexander Barton 707cc42dec 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.
2008-08-12 17:30:38 +02:00
Alexander Barton 4467d127c2 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 2b14234abc.
2008-07-09 18:36:40 +02:00
Florian Westphal 2b14234abc 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.
2008-07-09 18:33:48 +02:00
Scott Perry b90f71ca2a 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.
2008-05-26 21:20:03 +02:00
Florian Westphal 73f7201ab3 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''.
2008-05-25 20:16:25 +02:00
Alexander Barton 9486bc7465 Update master development branch
- use "dev" instead of "HEAD" as "version number",
- update ChangeLog and NEWS to reflect the 0.12.0 release.
2008-05-13 16:12:15 +02:00
Alexander Barton 8c425945a2 --enable-ipv6: fix indentation in ./configure --help output. 2008-04-29 15:26:20 +02:00
Alexander Barton 7df90846e1 Synchronized branch-0-12-x (ngIRCd 0.12.0-pre1) with master.
(cherry picked from commit 4ea29329674ff8ec6d772991a57c146b5d78d2ad)
2008-04-20 16:20:53 +02:00
Alexander Barton 307f8abd74 Include Mac OS X Xcode project in distribution archives.
Oops, it has not been included since ... ages??
2008-04-09 19:09:23 +02:00
Florian Westphal feb31e4200 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.
2008-02-26 23:50:35 +01:00
Alexander Barton 5c78230283 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.
2006-12-26 16:00:45 +00:00
Florian Westphal fb0c7ad252 add test for strcspn. 2006-10-02 21:57:13 +00:00
Florian Westphal 639eb40035 Added support for the /dev/poll i/o interface. 2006-09-17 10:41:06 +00:00
Florian Westphal 147de9dfa9 add support for the poll() interface 2006-09-16 15:00:09 +00:00
Florian Westphal 035f7fb2fe 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.
2006-09-09 17:07:39 +00:00
Florian Westphal 4d7d1d23be fix gcc 4.1 -fstack-protector detection. 2006-08-13 18:11:18 +00:00
Florian Westphal 7378860aea check if compiler supports inline keyword. 2006-08-05 08:58:16 +00:00
Alexander Barton 581f5479a2 Detect the Avahi "howl-compatibility" as well as Howl itself. 2006-05-17 16:44:14 +00:00
Alexander Barton a293088027 Make clear that "IO backend: select" is not a request but a C API function. 2005-12-06 22:37:50 +00:00