Commit Graph

146 Commits

Author SHA1 Message Date
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
Florian Westphal a7197f579c check if gcc supports -fstack-protector 2005-08-30 20:59:30 +00:00
Alexander Barton 3237d28bfb New subdirectory "doc/src" for the source code documentation. 2005-07-22 21:02:22 +00:00
Alexander Barton 02b0a51517 Renamed "Rendezvous" to "Zeroconf". 2005-07-08 16:18:38 +00:00
Alexander Barton 1eca0aea4f Whitespace fixes. 2005-07-08 12:39:38 +00:00
Florian Westphal 6093af49d5 test for epoll and kqueue support 2005-07-07 18:49:58 +00:00
Alexander Barton 0c33f46fc2 Fixed wrong order of #includes in test for "socklen_t" (caused problems on OpenBSD). 2005-06-26 13:42:11 +00:00
Alexander Barton 44fdde7610 Added version information to summary text. 2005-05-21 21:34:47 +00:00
Florian Westphal 873edc6311 check for strdup() 2005-04-16 07:26:44 +00:00
Alexander Barton 9dfcc6504e Fixed ./configure test for TCP Wrappers: now it runs on Mac OS X as well. 2005-03-21 22:15:15 +00:00
Alexander Barton a822153309 Enhanced configure script: now you can pass an (optional) search path
to all --with-XXX parameters, e. g. "--with-ident=/opt/ident".
2005-03-20 17:23:36 +00:00
Florian Westphal 8adff59223 Remove INT, LONG, BOOLEAN, STATIC, CONST, CHAR datatypes.
use stdbool.h / inttypes.h if available.
2005-03-19 18:43:48 +00:00
Alexander Barton 795802f2b0 Removed indentation of preprocessor statements in test for socklen_t. 2005-03-19 14:09:32 +00:00
Alexander Barton 292879aca4 Added support for the Howl (http://www.porchdogsoft.com/products/howl/)
Rendezvous API, in addition to the API of Apple (Mac OS X).
2004-12-26 00:14:33 +00:00
Alexander Barton 42e8063a32 Enhanced ./configure checks for required C header files. 2004-05-15 12:24:30 +00:00
Alexander Barton 558fe6b453 Special handling for HP/UX: define _XOPEN_SOURCE_EXTENDED ... 2004-04-11 13:20:24 +00:00
Alexander Barton 507a9e9cb3 Reworked configure system: it should be more compatible to most systems
now, and it should even be more flexible and faster :-)
2004-03-11 22:21:20 +00:00
Alexander Barton 1e9a958324 Added XCode project files (for Mac OS X) to "contrib" directory. 2004-02-29 17:19:43 +00:00
Alexander Barton 5a9c04619f Changes for new source code layout: contrib/Debian/. 2003-12-31 17:31:03 +00:00
Alexander Barton b79b315dd4 Added optional support for IDENT lookups (configure switch "--with-ident"). 2003-12-27 13:01:12 +00:00
Alexander Barton c40592d2ce Removed "USE_" prefixes of configuration #defines. 2003-12-26 15:55:07 +00:00