ngircd-alex.git
5 years agongIRCd Release 22~rc1 rel-22-rc1
Alexander Barton [Mon, 29 Sep 2014 15:09:51 +0000 (17:09 +0200)]
ngIRCd Release 22~rc1

5 years agoUpdate NEWS and ChangeLog for ngIRCd 22 once more ...
Alexander Barton [Mon, 22 Sep 2014 00:37:37 +0000 (02:37 +0200)]
Update NEWS and ChangeLog for ngIRCd 22 once more ...

5 years agoSync "except lists" between servers SyncExceptLists
Alexander Barton [Wed, 17 Sep 2014 23:08:55 +0000 (01:08 +0200)]
Sync "except lists" between servers

Up to now, ban, invite, and G-Line lists have been synced between servers
while linking -- but obviously nobody noticed that except list have been
missing ever since. Until now.

Thanks to "j4jackj", who reported this issue in #ngircd.

5 years agoAllow longer usernames for authentication AuthUsername
Alexander Barton [Wed, 3 Sep 2014 14:03:28 +0000 (16:03 +0200)]
Allow longer usernames for authentication

5 years agoCorrectly check that a server has a valid hostname and port
Alexander Barton [Wed, 10 Sep 2014 11:03:30 +0000 (13:03 +0200)]
Correctly check that a server has a valid hostname and port

David Binderman <dcb314@hotmail.com> reported the following compiler warning,
which is a real bug in ngIRCd, thanks!

conn.c:2077:55: warning: logical not is only applied to the left hand
                         side of comparison [-Wlogical-not-parentheses]

5 years agoFix spelling and whitespaces in INSTALL
Alexander Barton [Thu, 4 Sep 2014 16:28:33 +0000 (18:28 +0200)]
Fix spelling and whitespaces in INSTALL

5 years agoUpdate NEWS and ChangeLog for ngIRCd 22
Alexander Barton [Thu, 4 Sep 2014 16:28:17 +0000 (18:28 +0200)]
Update NEWS and ChangeLog for ngIRCd 22

5 years agoLists_MakeMask: Don't destroy source buffer
Alexander Barton [Fri, 8 Aug 2014 11:50:48 +0000 (13:50 +0200)]
Lists_MakeMask: Don't destroy source buffer

5 years agoInitialize Conf_ScrubCTCP even when SYSLOG isn't #define'd
Alexander Barton [Tue, 29 Jul 2014 21:05:17 +0000 (23:05 +0200)]
Initialize Conf_ScrubCTCP even when SYSLOG isn't #define'd

The "SYSLOG" #define isn't related to "Conf_ScrubCTCP" at all, so
initialize the latter even when "SYSLOG" isn't #define'd.

Pointed out by wowaname on #ngircd, thanks!

5 years agoPlatforms.txt: Add and update systems
Alexander Barton [Sat, 26 Jul 2014 13:22:35 +0000 (15:22 +0200)]
Platforms.txt: Add and update systems

- Add armv7l/unk./linux-gnueabihf
- Add x86_64/apple/darwin14.0.0

Thanks to Götz Hoffart <goetz@hoffart.de>!

5 years agoIncrease MAX_SERVERS from 16 to 64
Alexander Barton [Sun, 20 Jul 2014 11:19:36 +0000 (13:19 +0200)]
Increase MAX_SERVERS from 16 to 64

There are installations out there that would like to configure more
than 16 links per server, so increase this limit. Best would be to
get rid of MAX_SERVERS altogether and make if fully dynamic, but
start with this quick and dirty hack ...

5 years agoNew "Debian release" 21.1-0ab2
Alexander Barton [Mon, 14 Jul 2014 10:01:46 +0000 (12:01 +0200)]
New "Debian release" 21.1-0ab2

(cherry picked from commit 48fcb97fa4a2762a873d9d693c7a126588a1811d)

5 years agoDebian: Don't adjust path names that are correct by default
Alexander Barton [Mon, 14 Jul 2014 09:40:38 +0000 (11:40 +0200)]
Debian: Don't adjust path names that are correct by default

5 years agoDebian: Correctly set and use "docdir"
Alexander Barton [Mon, 14 Jul 2014 08:55:57 +0000 (10:55 +0200)]
Debian: Correctly set and use "docdir"

5 years agoUpdate config.guess and config.sub to recent versions
Alexander Barton [Mon, 14 Jul 2014 08:53:37 +0000 (10:53 +0200)]
Update config.guess and config.sub to recent versions

- config.guess: 2014-03-23
- config.sub: 2014-05-01

5 years agoAdd "tests-skipped.lst" to src/testsuite/.gitignore
Alexander Barton [Wed, 4 Jun 2014 10:20:31 +0000 (12:20 +0200)]
Add "tests-skipped.lst" to src/testsuite/.gitignore

5 years agoTest suite/platformtest.sh: Detect when tests have been skipped
Alexander Barton [Wed, 4 Jun 2014 10:15:23 +0000 (12:15 +0200)]
Test suite/platformtest.sh: Detect when tests have been skipped

Detect if some tests have been skipped, for example when telnet(1) or expect(1)
is missing: ./contrib/platformtest.sh will echo a warning message now.

5 years agoPlatforms.txt: Add and update systems
Alexander Barton [Mon, 5 May 2014 20:44:04 +0000 (22:44 +0200)]
Platforms.txt: Add and update systems

- Add sparc/unknown/openbsd5.5
- Update powerpc/apple/darwin7.9.0
- Update x86_64/unknown/linux-gnu, Open64
- Update x86_64/unknown/linux-gnu, Sun C 5.12/Solaris Studio 12.3
- Update x86_64/unknown/linux-gnu, tcc 0.9.25

Thanks to Götz Hoffart <goetz@hoffart.de>!

5 years agoAdd "cov-int" directory (Coverity test tool) to .gitignore file
Alexander Barton [Thu, 1 May 2014 13:07:47 +0000 (15:07 +0200)]
Add "cov-int" directory (Coverity test tool) to .gitignore file

5 years agoTest suite: Update file headers and comments
Alexander Barton [Thu, 17 Apr 2014 21:55:49 +0000 (23:55 +0200)]
Test suite: Update file headers and comments

5 years agoUpdate links to "Arthur" to use the HTTP protocol
Alexander Barton [Tue, 25 Mar 2014 19:27:17 +0000 (20:27 +0100)]
Update links to "Arthur" to use the HTTP protocol

5 years agongIRCd Release 21.1
Alexander Barton [Tue, 25 Mar 2014 13:46:28 +0000 (14:46 +0100)]
ngIRCd Release 21.1

(cherry picked from commit ee28e76df2a73f3bb4bcf69c644eae9a10298a58)

5 years agoPlatforms.txt: Update i686/unknown/gnu0.5
Alexander Barton [Sat, 22 Feb 2014 19:11:04 +0000 (20:11 +0100)]
Platforms.txt: Update i686/unknown/gnu0.5

5 years agoPlatforms.txt: Update powerpc/apple/darwin7.9.0
Alexander Barton [Mon, 13 Jan 2014 15:51:41 +0000 (16:51 +0100)]
Platforms.txt: Update powerpc/apple/darwin7.9.0

- Update powerpc/apple/darwin7.9.0, gcc 3.3

Thanks to Götz Hoffart <goetz@hoffart.de>!

5 years agoPlatforms.txt: Update x86_64/unkn./linux-gnu, clang 3.x
Alexander Barton [Tue, 7 Jan 2014 20:18:13 +0000 (21:18 +0100)]
Platforms.txt: Update x86_64/unkn./linux-gnu, clang 3.x

- Update x86_64/unknown/linux-gnu, clang 3.2 => clang 3.3

5 years agoPlatforms.txt: Add and update more systems
Alexander Barton [Tue, 7 Jan 2014 09:09:54 +0000 (10:09 +0100)]
Platforms.txt: Add and update more systems

- update i686/pc/linux-gnu, gcc 2.7.2
- update powerpc/apple/darwin6.8, gcc 3.1
- add powerpc/apple/darwin9.8.0, gcc 4.0.1

Thanks to Götz Hoffart <goetz@hoffart.de>!

5 years agodoc/Bopm.txt: Update file header
Alexander Barton [Tue, 18 Mar 2014 23:59:01 +0000 (00:59 +0100)]
doc/Bopm.txt: Update file header

5 years agodoc/Bopm.txt: Update "connregex" and "kline" for current ngIRCd
Alexander Barton [Tue, 18 Mar 2014 23:54:23 +0000 (00:54 +0100)]
doc/Bopm.txt: Update "connregex" and "kline" for current ngIRCd

Thanks to "kerin" on IRC for pointing this out!

5 years agoAllow "DefaultUserModes" to set all possible modes
Alexander Barton [Tue, 18 Mar 2014 15:43:21 +0000 (16:43 +0100)]
Allow "DefaultUserModes" to set all possible modes

Let IRC_MODE() detect that the "fake" MODE command originated on the local
sever, which enables all modes to be settable using "DefaultUserModes"
that can be set by regular MODE commands, including modes only settable by
IRC Operators.

5 years agoSpoofed prefixes: Really kill connection on non-server links
Alexander Barton [Tue, 18 Mar 2014 15:27:03 +0000 (16:27 +0100)]
Spoofed prefixes: Really kill connection on non-server links

This fixes commit 6cbe1308 which only killed the connection when the
spoofed prefix itself belonged to a non-server client.

5 years agoImplement user mode "F": "relaxed flood protection"
Alexander Barton [Tue, 18 Mar 2014 13:55:38 +0000 (14:55 +0100)]
Implement user mode "F": "relaxed flood protection"

ngIRCd relaxes its flood protection for users having the user mode "F" set
and allows them to rapidly send data to the daemon. This mode is only
settable by IRC Operators and can cause problems in the network -- so be
careful and only set it on "trusted" clients!

User mode "F" is used by Bahamut for this purpose, for example, see
<http://docs.dal.net/docs/modes.html#4.9>.

5 years agoHandle "throttling" in a single function
Alexander Barton [Tue, 18 Mar 2014 13:48:52 +0000 (14:48 +0100)]
Handle "throttling" in a single function

ngIRCd uses "command throttling" and "bps throttling" (bytes per second).
The states are detected in different functions, Conn_Handler() and
Read_Request(), but handle the actual "throttling" in a common function:
this enables us to guarantee consistent behavior and to disable throttling
for special connections in only one place, eventually.

5 years agoUpdated config.{guess|sub} to version 2014-03-13
Alexander Barton [Tue, 18 Mar 2014 13:42:11 +0000 (14:42 +0100)]
Updated config.{guess|sub} to version 2014-03-13

5 years agoStreamline DEBUG_ARRAY, DEBUG_BUFFER, DEBUG_IO, DEBUG_ZIP
Alexander Barton [Mon, 17 Mar 2014 22:52:08 +0000 (23:52 +0100)]
Streamline DEBUG_ARRAY, DEBUG_BUFFER, DEBUG_IO, DEBUG_ZIP

Change all #define's to follow the form
#define DEBUG_xxx {0|1}
to disable (0, default) or enable (1) additional debug messages.

And somewhat enhance some DEBUG_BUFFER messages.

5 years agoconn.c: Code cleanup
Alexander Barton [Mon, 17 Mar 2014 21:59:58 +0000 (22:59 +0100)]
conn.c: Code cleanup

Reformat and restructure some code, move all SSL related code into
one single #ifdef block, for example.

5 years agoXcode: remove imp.h and exp.h from project file
Alexander Barton [Mon, 17 Mar 2014 17:07:51 +0000 (18:07 +0100)]
Xcode: remove imp.h and exp.h from project file

These files have been removed from ngIRCd in commit 259c314d,
"Remove imp.h and exp.h header files".

5 years agoRe-add #include's for header files of the C file itself
Alexander Barton [Mon, 17 Mar 2014 17:02:57 +0000 (18:02 +0100)]
Re-add #include's for header files of the C file itself

This partially reverts commit b130b35f4, "Update #include's: remove
unused and add missing ones", but fixes the following compiler and
analyzer warnings of Apple Xcode 5:

 "Semantic issue: No previous prototype for function 'yyy'"

5 years agoUpdate copyright notices of recently changed files
Alexander Barton [Mon, 17 Mar 2014 01:13:15 +0000 (02:13 +0100)]
Update copyright notices of recently changed files

5 years agoUpdate #include's: remove unused and add missing ones
Alexander Barton [Mon, 17 Mar 2014 01:28:39 +0000 (02:28 +0100)]
Update #include's: remove unused and add missing ones

The "deheader" tool (<http://www.catb.org/~esr/deheader/>) has been
used to find unused #include directives as well as missing ones.

Tested on:

- A/UX 3.1.1
- ArchLinux (2014-03-17)
- Debian GNU/Hurd
- Debian GNU/Linux 6.0.9
- Debian GNU/Linux 7.4
- Fedora 20
- FreeBSD 9.2
- OpenBSD 4.8
- OpenBSD 5.1
- OS X 10.9
- Solaris 11

5 years agoportab.h: Restructure and clean up code
Alexander Barton [Mon, 17 Mar 2014 00:17:30 +0000 (01:17 +0100)]
portab.h: Restructure and clean up code

- Don't use HAVE_SYS_TYPES_H, <sys/types.h> is a required header now.
- Streamline check for boolean data types.
- Better indent #ifdef constructs.

5 years agoconfigure[.ng]: <sys/types.h> is a required header file
Alexander Barton [Sun, 16 Mar 2014 23:47:45 +0000 (00:47 +0100)]
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.

5 years agoio.c: <sys/time.h> is only needed when using select()
Alexander Barton [Sun, 16 Mar 2014 23:45:07 +0000 (00:45 +0100)]
io.c: <sys/time.h> is only needed when using select()

Only include the <sys/time.h> header when using the select() IO API,
it isn't required otherwise.

5 years agoRemove imp.h and exp.h header files
Alexander Barton [Sun, 16 Mar 2014 23:17:02 +0000 (00:17 +0100)]
Remove imp.h and exp.h header files

These include files don't have a function any more, remove them.

5 years agostrdup.c: Code cleanup
Alexander Barton [Sun, 16 Mar 2014 21:59:03 +0000 (22:59 +0100)]
strdup.c: Code cleanup

5 years agoDon't define SSL_Want{Read|Write}() when SSL is disabled
Alexander Barton [Sun, 16 Mar 2014 21:28:37 +0000 (22:28 +0100)]
Don't define SSL_Want{Read|Write}() when SSL is disabled

Not even call the "dummy" functions.

5 years agoCode cleanup, remove blank lines
Alexander Barton [Sun, 16 Mar 2014 21:11:26 +0000 (22:11 +0100)]
Code cleanup, remove blank lines

5 years agoFix two K&R C portability issues
Alexander Barton [Sun, 16 Mar 2014 19:07:08 +0000 (20:07 +0100)]
Fix two K&R C portability issues

Fix the following two errors emitted by the Apple K&R C compiler
on Apple A/UX:

"./class.c", line 47: no automatic aggregate initialization
"./class.c", line 47: illegal lhs of assignment operator

"./conf.c", line 1052: syntax error

Tested on A/UX 3.1.1.

5 years agoMerge pull request #6 from norrs/pam_server_password_fix
Alexander Barton [Fri, 28 Feb 2014 21:26:41 +0000 (22:26 +0100)]
Merge pull request #6 from norrs/pam_server_password_fix

Validate server password when PAM is disabled.

5 years agoUse server password when PAM is compiled in but disabled
Roy Sindre Norangshol [Wed, 26 Feb 2014 23:21:18 +0000 (00:21 +0100)]
Use server password when PAM is compiled in but disabled

5 years agoCHARCONV: Fix handling conversion errors
Alexander Barton [Sun, 23 Feb 2014 17:20:47 +0000 (18:20 +0100)]
CHARCONV: Fix handling conversion errors

Don't overwrite already converted text!

5 years agoStreamline punctuation of log messages
Alexander Barton [Sun, 9 Feb 2014 15:01:13 +0000 (16:01 +0100)]
Streamline punctuation of log messages

See commit d38d153f for details.

5 years agoServices.txt: Update information for Anope 2.x
Alexander Barton [Sun, 2 Feb 2014 19:28:21 +0000 (20:28 +0100)]
Services.txt: Update information for Anope 2.x

5 years agoIRC_INVITE(): Code cleanup
Alexander Barton [Sat, 1 Feb 2014 23:27:24 +0000 (00:27 +0100)]
IRC_INVITE(): Code cleanup

5 years agoStreamline punctuation of log messages
Alexander Barton [Sat, 1 Feb 2014 23:27:03 +0000 (00:27 +0100)]
Streamline punctuation of log messages

See commit d38d153f for details.

5 years agoCorrectly use cloaked IRC masks on "INVITE nickname"
Alexander Barton [Mon, 27 Jan 2014 21:59:54 +0000 (22:59 +0100)]
Correctly use cloaked IRC masks on "INVITE nickname"

The cloaked IRC mask of a user is his visible mask, so the daemon has
to use it for generating the "one time" entries for the invite list of
the given channel.

Without this patch, ngIRCd records the real IRC mask which will never
match while the target client is "+x", and even worse, will disclose
the real mask on "MODE #channel +I" commands :-/

Bug reported by Cahata on #ngircd, thanks!

5 years agoUse correct sender as target for ISUPPORT replies on "VERSION"
Alexander Barton [Mon, 27 Jan 2014 21:23:47 +0000 (22:23 +0100)]
Use correct sender as target for ISUPPORT replies on "VERSION"

This fixes commit 2e168c78 ("Return ISUPPORT(005) numerics on
'VERSION'") and make sure, that the 005 numerics are correctly
routed back to the sender.

5 years agoReturn ISUPPORT(005) numerics on "VERSION"
Alexander Barton [Sun, 26 Jan 2014 22:41:59 +0000 (23:41 +0100)]
Return ISUPPORT(005) numerics on "VERSION"

This is how ircd-seven, Charybdis, Hybrid, and InspIRCd behave,
for example.

5 years agoconfigure: Only link "contrib/Debian" if it exists
Alexander Barton [Sun, 26 Jan 2014 22:40:58 +0000 (23:40 +0100)]
configure: Only link "contrib/Debian" if it exists

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

5 years agoMerge pull request #5 from grawity/accountname-whois
Alexander Barton [Tue, 21 Jan 2014 22:04:59 +0000 (14:04 -0800)]
Merge pull request #5 from grawity/accountname-whois

Show account name in WHOIS

5 years agoShow account name in WHOIS
Mantas Mikulėnas [Mon, 20 Jan 2014 12:25:11 +0000 (14:25 +0200)]
Show account name in WHOIS

This uses the same numeric as Charybdis and ircu families.

5 years agongircd.conf.5: Update manual page
Alexander Barton [Sun, 19 Jan 2014 14:32:20 +0000 (15:32 +0100)]
ngircd.conf.5: Update manual page

5 years agoMerge branch 'no-range-matching' of git://arthur.barton.de/ngircd-alex
Alexander Barton [Fri, 17 Jan 2014 22:11:37 +0000 (23:11 +0100)]
Merge branch 'no-range-matching' of git://arthur.barton.de/ngircd-alex

* 'no-range-matching' of git://arthur.barton.de/ngircd-alex:
  Remove "range matching" functionality

5 years agoUse $(MKDIR_P) instead of $(mkinstalldirs) in Makefile's
Alexander Barton [Fri, 17 Jan 2014 20:04:10 +0000 (21:04 +0100)]
Use $(MKDIR_P) instead of $(mkinstalldirs) in Makefile's

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

5 years agoFix configure script and "make check" for TCP Wrappers
Alexander Barton [Fri, 17 Jan 2014 15:18:55 +0000 (16:18 +0100)]
Fix configure script and "make check" for TCP Wrappers

Add missing #include's and static variables.

Problem spotted on OpenBSD.

5 years agoAdd libwrap at the end of the configure run
Alexander Barton [Fri, 17 Jan 2014 15:10:34 +0000 (16:10 +0100)]
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.

5 years agoRemove "range matching" functionality no-range-matching
Alexander Barton [Wed, 15 Jan 2014 13:58:57 +0000 (14:58 +0100)]
Remove "range matching" functionality

Don't support "range marching" in our pattern matching code using
the "[...]" syntax, because [ and ] are valid characters in nick
names and one has to quote them currently using the "\" character,
which is quite unexpected. For example:

  Nick "te[st" => "MODE #channel +b te\[st"

And remove quoting altogether, too, because "*" and "?" don't need
to be quoted because these characters are not allowed in IRC masks,
nicks, and hostnames.

Reported by "hifi" (Toni Spets) on IRC, thanks!

5 years agoplatformtest.sh: Allow using separate source and build trees
Alexander Barton [Sat, 11 Jan 2014 00:33:24 +0000 (01:33 +0100)]
platformtest.sh: Allow using separate source and build trees

Now you can call platformtest.sh using its complete path name from an
other directory which is then used for building.

See <http://www.gnu.org/software/automake/manual/html_node/VPATH-Builds.html>

Please not that the build system itself is still (re-)genrated in the
original source tree. This can be avoided by passing the "-x" switch to
the platformtest.sh script.

5 years agoplatformtest.sh: Show only up to 10 bytes of version information
Alexander Barton [Sat, 11 Jan 2014 00:32:12 +0000 (01:32 +0100)]
platformtest.sh: Show only up to 10 bytes of version information

5 years agoplatformtest.sh: New option "-x", don't renegerate build system
Alexander Barton [Sat, 11 Jan 2014 00:27:12 +0000 (01:27 +0100)]
platformtest.sh: New option "-x", don't renegerate build system

5 years agoClient_SetHostname(): Don't use strlen() to test for value
Alexander Barton [Fri, 10 Jan 2014 18:57:03 +0000 (19:57 +0100)]
Client_SetHostname(): Don't use strlen() to test for value

5 years agoTest suite: explicitely enable glibc memory checking
Alexander Barton [Fri, 10 Jan 2014 18:56:08 +0000 (19:56 +0100)]
Test suite: explicitely enable glibc memory checking

5 years agoSend "fake '*' key" in "MODE -k" replies
Alexander Barton [Wed, 8 Jan 2014 13:18:09 +0000 (14:18 +0100)]
Send "fake '*' key" in "MODE -k" replies

According to RFC 2812 3.2.3 "Channel mode message" and the examples
there, it looks like clients should use "MODE -k <key>" to unset channel
keys; and that's how other servers and services behave and do expect it.

(But please note that this is NOT the case for "MODE -l"!)

In the end, it doesn't make sense to specify a key when UNsetting it at
all, and different services behave diffrently when clients do not send
the currently set key to unset it - some ignore such calls, for example!

But this implementation is quite relaxed, it accepts any key when
unsetting channel mode "k" and even accepts no key at all. But the reply
will always include an "*" character for every "-k" parameter.

5 years agoAdd "config.cache" to .gitignore file
Alexander Barton [Mon, 6 Jan 2014 16:20:54 +0000 (17:20 +0100)]
Add "config.cache" to .gitignore file

5 years agoplatformtest.sh: don't use "test -e", it isn't portable
Alexander Barton [Sat, 4 Jan 2014 23:48:31 +0000 (00:48 +0100)]
platformtest.sh: don't use "test -e", it isn't portable

5 years agoMakefile.am: don't use "test -e", it isn't portable
Alexander Barton [Sat, 4 Jan 2014 23:12:00 +0000 (00:12 +0100)]
Makefile.am: don't use "test -e", it isn't portable

5 years agoSupport non-standard vsnprintf() return code
Alexander Barton [Sat, 4 Jan 2014 22:57:05 +0000 (23:57 +0100)]
Support non-standard vsnprintf() return code

C99 states that vsnprintf() "returns the number of characters that
would have been printed if the n were unlimited"; but according to the
Linux manual page "glibc until 2.0.6 would return -1 when the output
was truncated" -- so we have to handle both cases ...

5 years agoPartially revert bc098794: don't require autoconf 2.67
Alexander Barton [Sat, 4 Jan 2014 22:12:56 +0000 (23:12 +0100)]
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.

5 years agodoc/Platforms.txt: Update some systems to ngIRCd 21
Alexander Barton [Thu, 2 Jan 2014 17:36:18 +0000 (18:36 +0100)]
doc/Platforms.txt: Update some systems to ngIRCd 21

- update i686/pc/cygwin, gcc 4.8.2
- update x86_64/apple/darwin13.0.0, Apple clang 5.0
- update x86_64/unknown/freebsd8.4, gcc 4.2.1
- update x86_64/unknown/freebsd9.1, gcc 4.2.1
- update x86_64/unknown/linux-gnu, gcc 4.8.2
- update x86_64/unknown/linux-gnu, Open64
- update x86_64/unknown/openbsd4.8, gcc 4.2.1
- update x86_64/unknown/openbsd5.1, gcc 4.2.1

5 years agoUpdate configure.ng for autoconf 2.67
Alexander Barton [Thu, 2 Jan 2014 14:33:39 +0000 (15:33 +0100)]
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)

5 years agoUpdate Copyright notices for 2014
Alexander Barton [Thu, 2 Jan 2014 14:27:07 +0000 (15:27 +0100)]
Update Copyright notices for 2014

5 years agoMerge branch 'bug167-WebircIPAnoDNS' of git://arthur.barton.de/ngircd-alex
Alexander Barton [Wed, 1 Jan 2014 23:45:05 +0000 (00:45 +0100)]
Merge branch 'bug167-WebircIPAnoDNS' of git://arthur.barton.de/ngircd-alex

* 'bug167-WebircIPAnoDNS' of git://arthur.barton.de/ngircd-alex:
  WEBIRC: Don't respect hostname when DNS is disabled

5 years agoMerge branch 'bug165-005-NETWORK' of git://arthur.barton.de/ngircd-alex
Alexander Barton [Wed, 1 Jan 2014 23:44:42 +0000 (00:44 +0100)]
Merge branch 'bug165-005-NETWORK' of git://arthur.barton.de/ngircd-alex

* 'bug165-005-NETWORK' of git://arthur.barton.de/ngircd-alex:
  Implement new configuration option "Network"

5 years agoportabtest: Add checks for strdup(), strndup(), and strtok_r() enhance-portabtest
Alexander Barton [Wed, 1 Jan 2014 15:38:36 +0000 (16:38 +0100)]
portabtest: Add checks for strdup(), strndup(), and strtok_r()

5 years agoportabtest: Actually test functions
Alexander Barton [Wed, 1 Jan 2014 14:57:34 +0000 (15:57 +0100)]
portabtest: Actually test functions

Test functions snprintf(), strlcpy(), strlcat(), vsnprintf() for
correctness, not only existance (which was quite useless, because
if they weren't available, the program could not have been linked
at all ...).

5 years agoportabtest: Only use one exit code to indicate errors
Alexander Barton [Sun, 29 Dec 2013 16:48:25 +0000 (17:48 +0100)]
portabtest: Only use one exit code to indicate errors

5 years agoportabtest: Code cleanup
Alexander Barton [Sun, 29 Dec 2013 16:46:54 +0000 (17:46 +0100)]
portabtest: Code cleanup

5 years agoFix permanent k/gline
Federico G. Schwindt [Sun, 8 Dec 2013 01:43:55 +0000 (01:43 +0000)]
Fix permanent k/gline

Reported by Toni Spets (hifi - at - jnz - dot - fi).

5 years agoImplement new configuration option "Network" bug165-005-NETWORK
Alexander Barton [Fri, 27 Dec 2013 22:16:11 +0000 (23:16 +0100)]
Implement new configuration option "Network"

The new configuration variable "Network" is used to set the (completely
optional) "network name", to which this instance of the daemon belongs.
When set, this name is used in the ISUPPORT(005) numeric which is sent to
all clients connecting to the server after logging in.

Closes bug #165.

5 years agoWEBIRC: Don't respect hostname when DNS is disabled bug167-WebircIPAnoDNS
Alexander Barton [Fri, 27 Dec 2013 21:34:47 +0000 (22:34 +0100)]
WEBIRC: Don't respect hostname when DNS is disabled

When DNS lookups are disabled, don't set the hostname received by the
WEBIRC command, but use the IP address instead.

Reported by Toni Spets <toni.spets@iki.fi>, thanks!

Closes bug #167.

5 years agoOS X has a working getaddrinfo() implementation
Alexander Barton [Fri, 27 Dec 2013 20:35:53 +0000 (21:35 +0100)]
OS X has a working getaddrinfo() implementation

5 years agoCheck for working getaddrinfo() function
Alexander Barton [Mon, 11 Nov 2013 23:28:50 +0000 (00:28 +0100)]
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>

6 years agoFix spelling
Federico G. Schwindt [Tue, 26 Nov 2013 00:19:01 +0000 (00:19 +0000)]
Fix spelling

6 years agodoc/Platforms.txt: Add and update more systems
Alexander Barton [Tue, 3 Dec 2013 11:16:23 +0000 (12:16 +0100)]
doc/Platforms.txt: Add and update more systems

- add i386/unknown/netbsdelf1.5.2, egcs-1.1.2
- update i386/unknown/openbsd5.3, gcc 4.2.1
- add i386/unknown/openbsd5.4, gcc 4.2.1
- add x86_64/unknown/linux-gnu, nwcc 0.8.2
- update x86_64/unknown/linux-gnu, tcc 0.9.25

Thanks to Götz Hoffart <goetz@hoffart.de>!

6 years agodoc/Platforms.txt: Add and update more systems
Alexander Barton [Sun, 24 Nov 2013 17:32:59 +0000 (18:32 +0100)]
doc/Platforms.txt: Add and update more systems

- add i386/unknown/openbsd3.5, gcc 2.95.3
- add x86_64/unknown/linux-gnu, Sun C 5.12
- update mipsel/unknown/linux-gnu, gcc 4.4.5

Thanks to Götz Hoffart <goetz@hoffart.de>!

6 years agodoc/Platforms.txt: add DragonflyBSD 3.4 on x86_64
Alexander Barton [Wed, 13 Nov 2013 10:44:31 +0000 (11:44 +0100)]
doc/Platforms.txt: add DragonflyBSD 3.4 on x86_64

Thanks to Götz Hoffart <goetz@hoffart.de>!

6 years agodoc/Platforms.txt: add OpenBSD 5.4 on HPPA
Alexander Barton [Mon, 11 Nov 2013 23:33:30 +0000 (00:33 +0100)]
doc/Platforms.txt: add OpenBSD 5.4 on HPPA

6 years agoconfigure: clean up function definitions
Alexander Barton [Mon, 11 Nov 2013 23:25:28 +0000 (00:25 +0100)]
configure: clean up function definitions

6 years agoOnly use unsetenv() when it is available
Alexander Barton [Sun, 10 Nov 2013 16:08:41 +0000 (17:08 +0100)]
Only use unsetenv() when it is available

AIX 4.3 dosn't support it, for example.

6 years agoconf-ssl.h: make code compatible with pre-ANSI C compilers
Alexander Barton [Sat, 9 Nov 2013 22:42:56 +0000 (23:42 +0100)]
conf-ssl.h: make code compatible with pre-ANSI C compilers

6 years agovsnprintf.c: make code compatible with ansi2knr tool
Alexander Barton [Sat, 9 Nov 2013 22:41:20 +0000 (23:41 +0100)]
vsnprintf.c: make code compatible with ansi2knr tool