about summary refs log tree commit diff
AgeCommit message (Collapse)Author
2014-03-18Implement user mode "F": "relaxed flood protection"Alexander Barton
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>.
2014-03-18Handle "throttling" in a single functionAlexander Barton
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.
2014-03-18Updated config.{guess|sub} to version 2014-03-13Alexander Barton
2014-03-17Streamline DEBUG_ARRAY, DEBUG_BUFFER, DEBUG_IO, DEBUG_ZIPAlexander Barton
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.
2014-03-17conn.c: Code cleanupAlexander Barton
Reformat and restructure some code, move all SSL related code into one single #ifdef block, for example.
2014-03-17Xcode: remove imp.h and exp.h from project fileAlexander Barton
These files have been removed from ngIRCd in commit 259c314d, "Remove imp.h and exp.h header files".
2014-03-17Re-add #include's for header files of the C file itselfAlexander Barton
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'"
2014-03-17Update copyright notices of recently changed filesAlexander Barton
2014-03-17Update #include's: remove unused and add missing onesAlexander Barton
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
2014-03-17portab.h: Restructure and clean up codeAlexander Barton
- 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.
2014-03-17configure[.ng]: <sys/types.h> is a required header fileAlexander Barton
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.
2014-03-17io.c: <sys/time.h> is only needed when using select()Alexander Barton
Only include the <sys/time.h> header when using the select() IO API, it isn't required otherwise.
2014-03-17Remove imp.h and exp.h header filesAlexander Barton
These include files don't have a function any more, remove them.
2014-03-16strdup.c: Code cleanupAlexander Barton
2014-03-16Don't define SSL_Want{Read|Write}() when SSL is disabledAlexander Barton
Not even call the "dummy" functions.
2014-03-16Code cleanup, remove blank linesAlexander Barton
2014-03-16Fix two K&R C portability issuesAlexander Barton
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.
2014-02-28Merge pull request #6 from norrs/pam_server_password_fixAlexander Barton
Validate server password when PAM is disabled.
2014-02-28Use server password when PAM is compiled in but disabledRoy Sindre Norangshol
2014-02-23CHARCONV: Fix handling conversion errorsAlexander Barton
Don't overwrite already converted text!
2014-02-09Streamline punctuation of log messagesAlexander Barton
See commit d38d153f for details.
2014-02-02Services.txt: Update information for Anope 2.xAlexander Barton
2014-02-02IRC_INVITE(): Code cleanupAlexander Barton
2014-02-02Streamline punctuation of log messagesAlexander Barton
See commit d38d153f for details.
2014-01-27Correctly use cloaked IRC masks on "INVITE nickname"Alexander Barton
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!
2014-01-27Use correct sender as target for ISUPPORT replies on "VERSION"Alexander Barton
This fixes commit 2e168c78 ("Return ISUPPORT(005) numerics on 'VERSION'") and make sure, that the 005 numerics are correctly routed back to the sender.
2014-01-26Return ISUPPORT(005) numerics on "VERSION"Alexander Barton
This is how ircd-seven, Charybdis, Hybrid, and InspIRCd behave, for example.
2014-01-26configure: Only link "contrib/Debian" if it existsAlexander Barton
This isn't the case on "VPATH builds", for example.
2014-01-21Merge pull request #5 from grawity/accountname-whoisAlexander Barton
Show account name in WHOIS
2014-01-20Show account name in WHOISMantas Mikulėnas
This uses the same numeric as Charybdis and ircu families.
2014-01-19ngircd.conf.5: Update manual pageAlexander Barton
2014-01-17Merge branch 'no-range-matching' of git://arthur.barton.de/ngircd-alexAlexander Barton
* 'no-range-matching' of git://arthur.barton.de/ngircd-alex: Remove "range matching" functionality
2014-01-17Use $(MKDIR_P) instead of $(mkinstalldirs) in Makefile'sAlexander Barton
And test for "mkdir -p" using AC_PROG_MKDIR_P in "configure".
2014-01-17Fix configure script and "make check" for TCP WrappersAlexander Barton
Add missing #include's and static variables. Problem spotted on OpenBSD.
2014-01-17Add libwrap at the end of the configure runAlexander Barton
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.
2014-01-15Remove "range matching" functionalityAlexander Barton
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!
2014-01-11platformtest.sh: Allow using separate source and build treesAlexander Barton
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.
2014-01-11platformtest.sh: Show only up to 10 bytes of version informationAlexander Barton
2014-01-11platformtest.sh: New option "-x", don't renegerate build systemAlexander Barton
2014-01-10Client_SetHostname(): Don't use strlen() to test for valueAlexander Barton
2014-01-10Test suite: explicitely enable glibc memory checkingAlexander Barton
2014-01-08Send "fake '*' key" in "MODE -k" repliesAlexander Barton
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.
2014-01-06Add "config.cache" to .gitignore fileAlexander Barton
2014-01-05platformtest.sh: don't use "test -e", it isn't portableAlexander Barton
2014-01-05Makefile.am: don't use "test -e", it isn't portableAlexander Barton
2014-01-04Support non-standard vsnprintf() return codeAlexander Barton
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 ...
2014-01-04Partially revert bc098794: don't require autoconf 2.67Alexander Barton
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.
2014-01-02doc/Platforms.txt: Update some systems to ngIRCd 21Alexander Barton
- 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
2014-01-02Update configure.ng for autoconf 2.67Alexander Barton
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)
2014-01-02Update Copyright notices for 2014Alexander Barton