about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)Author
2013-08-25Silence warningFederico G. Schwindt
Cast the result of the operation to long, not the time(NULL) call. On systems where sizeof(time_t) is other than long this will produce a warning.
2013-08-25Plug memory leakFederico G. Schwindt
2013-08-25Implement account login supportFederico G. Schwindt
This is done via the `accountname' METADATA command and used to automatically identify users after netsplits or across service restarts.
2013-08-24Fix spellingFederico G. Schwindt
2013-08-23Correctly handle return code of Handle_Write()Alexander Barton
There have been code paths that ignored the return code of Handle_Write() when sending "notice auth" messages to new clients connecting to the server. But because Handle_Write() would have closed the client connection again if an error occurred, this would have resulted in new errors and assert()'s later on that could have crashed the server (denial of service). Only setups having the configuration option "NoticeAuth" enabled are affected, which is not the default. CVE-2013-5580.
2013-08-21Enhance log messages on "recursive" connection errorsAlexander Barton
2013-08-21Add some assert() calls to ng_ipaddr libraryAlexander Barton
2013-08-17Merge branch 'ssl-log-messages'Alexander Barton
* ssl-log-messages: Make SSL-related log messages more readable ConnSSL_HandleError: Code cleanup, more documentation
2013-08-14Make SSL-related log messages more readableAlexander Barton
- Don't use internal function names but describe the error. - Streamline wording, use "SSL" for SSL and TLS. - Streamline punctuation.
2013-08-14Use _IRC_ARGC_BETWEEN_OR_RETURN_ when possibleFederico G. Schwindt
2013-08-13ConnSSL_HandleError: Code cleanup, more documentationAlexander Barton
2013-08-12Change log level of "SSL connection shutting down"Alexander Barton
2013-08-11Fix 2 bugs introduced in 74514b8c23Federico G. Schwindt
Channel_Modes() and Channel_Topic() return static memory that is zeroed at creation time. Fix checking for empty modes and topic so they're propagated correctly.
2013-08-07IRC_SERVER(): Code cleanupAlexander Barton
2013-08-07Introduce new function IRC_WriteErrClient()Alexander Barton
This function is used to send "error messages", including numerics, back to clients and to automatically enforce a 2 second penalty. With this patch, all error results enforces a delay for the client. All callers of IRC_WriteStrClient(ERR_xxx) have been converted. Please note that this patch prolongs the time "make check" needs to complete its tests, because of lots of new enforced penalties ...
2013-08-06irc-macros.h: Update copyright, don't forget contributors!Alexander Barton
2013-08-06irc-write.c: Clean up code and add more documentation commentsAlexander Barton
2013-08-06Fix return code of some IRC_WriteXXX() functionsAlexander Barton
These functions usually write to more than one target, and therefore can't return value indicating success or failure in a sane way. And, even more omportant, these functions should send to as much as possible clients and not stop at the first client which isn't reachable any more!
2013-08-06Streamline punctuation of log messagesAlexander Barton
See commit d38d153f for details.
2013-08-05Inline who_flags_statusFederico G. Schwindt
2013-08-04Convert more code to use Channel_HasModeFederico G. Schwindt
2013-08-04Simplify mode checking on channels and users within a channelFederico G. Schwindt
Add Channel_HasMode() and Channel_UserHasMode() and use it where possible.
2013-08-04Use Client_HasMode and Client_HasFlag where appropriateFederico G. Schwindt
2013-08-04Merge branch 'bug152-AllowedChannelTypes'Alexander Barton
* bug152-AllowedChannelTypes: Implement new configuration option "AllowedChannelTypes" Introduce "CHANTYPES" #define
2013-08-04Implement new configuration option "AllowedChannelTypes"Alexander Barton
The new configuration variable "AllowedChannelTypes" lists all allowed channel types (channel prefixes) for newly created channels on the local server. By default, all supported channel types are allowed. If set to the empty string, local clients can't create new channels at all, which equals the old "PredefChannelsOnly = yes" setting. This patch deprecates the "PredefChannelsOnly" variable, too, but it is still supported and translated to the apropriate "AllowedChannelTypes" setting. When "PredefChannelsOnly" is processed, a warning message is logged. Closes bug #152.
2013-08-04More spelling fixesFederico G. Schwindt
Remove superflous comments, mostly in German. Fix spelling and use american variants for consistency.
2013-08-04Change cloaked hostname to be malloc'd on demandFederico G. Schwindt
This shaves a few bytes when cloaked hostnames are not used and restricts the cloakhost announcement iif there is something to send.
2013-08-04Add Client_HasFlag() to check if a client has certain flagFederico G. Schwindt
2013-08-04Fix spellingFederico G. Schwindt
2013-08-04Rename XXX_Fingerprint to XXX_CertFpFederico G. Schwindt
2013-08-04Improved client announcementFederico G. Schwindt
Move Announce_User() to client.c and rename it to Client_Announce(). Use this in cb_introduceClient() instead of duplicating the code. This fix the certificate fingerprint announcement for new clients. Also ensure the certificate fingerprint is only announced if the client supports it (`M' flag).
2013-08-04Introduce "CHANTYPES" #defineAlexander Barton
This #define lists all the prefix characters of all supported channel types, this is "#&+" at the moment.
2013-08-03Merge remote-tracking branch 'fgsch/certfp'Alexander Barton
* fgsch/certfp: Simplify MOTD handling Add certificate fingerprint support
2013-08-02Simplify MOTD handlingFederico G. Schwindt
Merge Show_MOTD_Start, Show_MOTD_Sendline and Show_MOTD_End into IRC_Show_MOTD.
2013-08-02Add certificate fingerprint supportFederico G. Schwindt
2013-08-03Update irc-server.c to use irc-macros.hAlexander Barton
And add some comments :-)
2013-08-02Update irc-oper.c to use irc-macros.hAlexander Barton
2013-08-02Update irc-mode.c to use irc-macros.hAlexander Barton
This includes code cleanups and more comments, too.
2013-08-02Update irc-channel.c to use irc-macros.hAlexander Barton
This includes code cleanups, too :-)
2013-08-01Show IRC Operator name when logging a successful OPER commandAlexander Barton
2013-07-30Add penalty times in error paths of generic IRC helper macrosAlexander Barton
Add a 2 second penalty time when the number of parameters is invalid.
2013-07-30Add more penalty times in error pathsAlexander Barton
This patch changes the handlers of the "PASS", "NICK", "USER", and "SERVICE" commands to enforce a 2 second penalty when an error like "need more/other parameters" occurs. More functions should follow, I think ...
2013-07-30Update irc-login.c to use irc-macros.hAlexander Barton
This includes code cleanups, too :-)
2013-07-18Update irc.c to use irc-macros.hAlexander Barton
This includes code cleanups and better documentation for some functions, too.
2013-07-18Handle services in IRC_WHOIS_SendReply()Federico G. Schwindt
If the target is a service, advertise it as such and ignore operator mode.
2013-07-18Fix spellingFederico G. Schwindt
2013-05-30Merge pull request #3 from Cofyc/masterAlexander Barton
irc-info.c: some commands use LINE_LEN as command buffer len
2013-05-30LINE_LEN -> COMMAND_LENYecheng Fu
LINE_LEN is configuration file line length
2013-05-25IncludeDir: default to "$SYSCONFDIR/ngircd.conf.d"Alexander Barton
Now "IncludeDir" defaults to "$SYSCONFDIR/ngircd.conf.d" instead of no directory, but a missing directory is only reported as an error if it has explicitely configured in the main configuration file and simply ignored otherwise. Therefore it is now possible not to touch the default (sample) configuration file at all, and set all distribution and/or system specific configuration options in "*.conf" files stored in "$SYSCONFDIF/ngircd.conf.d/". Thanks to "Elmasloco" for the idea!
2013-05-24"IncludeDir" can't be overwritten by included filesAlexander Barton