Commit Graph

3296 Commits

Author SHA1 Message Date
Alexander Barton 86d27eaf89 Update AUTHORS and .mailmap file
And add a note to doc/HowToRelease.txt to not forget to update the list
of authors in the future ...
2015-09-06 16:51:56 +02:00
Alexander Barton 4acf95ab61 Update ChangeLog file 2015-09-03 17:05:58 +02:00
Alexander Barton 57cd41d289 Add ".clang_complete" file
This file is used of the "linter-clang" package of the Atom editor,
for example.
2015-09-03 16:46:48 +02:00
Alexander Barton eb9929e82c Make server-to-server protocol more robust
Now ngIRCd catches more errors on the server-to-server (S2S) protocol
that could crash the daemon before. This hasn't been a real problem
because the IRC S2S protocol is "trusted" by design, but the behavior
is much better now.

Thanks to wowaname on #ngircd for pointing this out!
2015-09-03 16:22:36 +02:00
Alexander Barton c2e4c304e3 platformtest.sh: Fix quoting 2015-08-27 00:12:50 +02:00
Alexander Barton c56138c280 autogen.sh: Fix parameter quoting 2015-08-27 00:10:41 +02:00
Alexander Barton a1ce3fc779 ngircd.init: Fix non-POSIX "==" test operator 2015-08-27 00:10:18 +02:00
Christoph Biedl ccc899c7f4 Reproducible builds
At the moment ngircd fails the tests for reproducible builds in Debian
since it uses the __DATE__ and __TIME__ macros for the INFO command.

Instead of patching this out I decided to implement an optional
constant BIRTHTIME that allows you to set a time stamp for the "Birth
Date" information, in seconds since the epoch, like in

    export CFLAGS += -DBIRTHTIME=$(shell date +%s --date="2015/08/15 23:42:22")

In the future, Debian will provide a SOURCE_DATE_EPOCH environment
variable, dealing with the situation until then will be my job.

The time format was taken from the NGIRCd_StartStr formatting in
ngircd.c so the "Birth Date" and "On-line since" lines in the INFO
output look similar:

    :irc.example.net 371 nick :ngIRCd 22.1-IDENT+IPv6+IRCPLUS+PAM+SSL+SYSLOG+ZLIB-x86_64/pc/linux-gnu
    :irc.example.net 371 nick :Birth Date: Tue Aug 25 2015 at 18:11:11 (CEST)
    :irc.example.net 371 nick :On-line since Tue Aug 25 2015 at 18:11:33 (CEST)
    :irc.example.net 374 nick :End of INFO list

The format of the time stamped is changed, but as far as I can tell, there's no
rule that is violated by that.

Bonus level: Reformat the messages so the time stamps are aligned.
2015-08-26 10:05:36 +02:00
Alexander Barton 2a52befa56 Update systemd service file 2015-08-14 19:55:32 +02:00
Alexander Barton 2c18e9a7f8 Update NEWS and ChangeLog files 2015-08-07 17:20:47 +02:00
Alexander Barton 9811223fb8 Whitespace fixes (no functional changes) 2015-08-01 15:15:30 +02:00
Alexander Barton 0083fe177f Fix debug message "Client ... is closing connection"
It should be "host:port"!
2015-08-01 15:14:23 +02:00
Alexander Barton 34578b8b30 INSTALL: Add deprecation notice for "PredefChannelsOnly"
Obviously I forgot to list this for ngIRCd 21 ... oops!
2015-08-01 14:52:11 +02:00
Alexander Barton 85dc4d8777 "NoticeAuth" configuration variable is deprecated now! 2015-08-01 14:52:07 +02:00
Alexander Barton 64c265cf33 Merge pull request #217 from SaberUK/master+notice-auth
Use "NOTICE *" before registration instead of "NOTICE AUTH".
2015-08-01 14:51:04 +02:00
Alexander Barton b72a7a4b96 Channel mode "N" is targeted for ngIRCd 23. 2015-08-01 14:26:16 +02:00
Alexander Barton b8482fd3cf First check if channel has mode "N", then check membership
This should be more efficient.
2015-08-01 14:26:11 +02:00
Alexander Barton 90ea23ab4f Merge pull request #214 from Flupsy/channel-mode-N
Channel mode N (users on this channel can't change their nick)
2015-08-01 14:24:20 +02:00
Alexander Barton 6e7e744cc6 Add "build+*" to .gitignore file 2015-07-20 09:34:39 +02:00
Alexander Barton 24cec978ee Remote GIT.txt from Makefile[.am], too! 2015-07-20 09:34:14 +02:00
Alexander Barton a02524465e READNE, AUTHORS: Update mailing list and issue tracker URLs 2015-07-19 03:21:37 +02:00
Alexander Barton 813ea874f8 doc/Contributing.txt: Add note about using GitHub 2015-07-19 03:20:48 +02:00
Alexander Barton 813897023e Remove doc/GIT.txt: it is outdated
ngIRCd uses GitHub, and Git itself is quite common today. So don't
include an own Git "mini HowTo" any longer.
2015-07-19 03:19:41 +02:00
Alexander Barton a5ca8be658 Streamline ".gitignore" files 2015-07-19 03:03:06 +02:00
Alexander Barton c364d67f80 Update NEWS and ChangeLog files 2015-07-19 02:41:03 +02:00
Peter Powell 5545e1bebf Rename NoticeAuth to NoticeBeforeRegistration.
The old name is still supported for compatibility reasons.
2015-07-14 14:43:19 +01:00
Peter Powell d118cd74b6 Use "NOTICE *" before registration instead of "NOTICE AUTH".
AUTH is a valid nickname so sending notices to it is probably not
a good idea. Use * as the target instead as done with numerics
when the nick is not available.

This mimics the behaviour in Charybdis, IRCD-Hybrid, InspIRCd 2.2,
Plexus 4, etc.
2015-07-14 14:37:42 +01:00
Ian Chard 599626d570 Only enforce channel mode N on users (not servers or services) 2015-06-26 10:36:57 +01:00
Alexander Barton 571b1a8b83 Merge pull request #215 from tejr/master
Specify session context for OpenSSL clients.

Closes #182.
2015-06-26 07:41:19 +02:00
Tom Ryder b71a0ddbd5 Specify session context for OpenSSL clients
Reconnecting to ngIRCd 22.1 built with OpenSSL with some OpenSSL
clients, including Pidgin and stunnel 5.06, attempts to reuse a session
and fails due to the absence of this line.

The error message in syslog from ngIRCd is:

> SSL protocol error: SSL_accept (error:140D9115:SSL
> routines:SSL_GET_PREV_SESSION:session id context uninitialized)

This patch appears to fix the problem for both Pidgin and stunnel; it
may work for other OpenSSL clients that attempt to re-use sessions.

*   <https://github.com/ngircd/ngircd/issues/182>
*   <https://developer.pidgin.im/ticket/11568>
*   <https://www.openssl.org/docs/ssl/SSL_CTX_set_session_id_context.html>
2015-06-26 16:21:54 +12:00
Ian Chard 7ff16e8116 Don't bother looking for +N channels for an op 2015-06-24 20:28:27 +01:00
Unit 193 f6b7764eb5 Fix several broken URLs. 2015-06-24 21:15:44 +02:00
Ian Chard adfe5affed Don't use a standard message number 2015-06-24 15:51:37 +01:00
Ian Chard 27934afd7e Add documentation for channel mode N 2015-06-24 15:41:31 +01:00
Ian Chard f64cb901ef Add channel mode N (normal user can't change nick while on channel) 2015-06-24 15:37:56 +01:00
Alexander Barton d28d838cb9 Merge remote-tracking branch 'LucentW/master'
* LucentW/master:
  Fix with oneshot invites
  Fixed building issues\
  Implement timestamp tracking of invites
  Keep track of who placed bans/invites/excepts
  IRC operators w/OperCanMode can kick anyone [already cherry-picked]

Closes #203, Closes #205.
2015-06-07 21:13:45 +02:00
Alexander Barton 2fc61ce8a6 Make setgroups(3) function optional
For example, Interix is missing this function, which prevented
ngIRCd to build on this platform. When setgroups(3) isn't available,
a warning message is issued when ngIRCd starts up.
2015-06-06 22:19:47 +02:00
LucentW 5c48d7e9c7 IRC operators w/OperCanMode can kick anyone
Closes #202.

(cherry picked from commit 10c7ba99e7)
2015-05-16 20:48:37 +02:00
LucentW 0f490b5cae Implement numeric RPL_LISTSTART(321)
lightIRC and other clients expecting RPL_LISTSTART should now behave correctly.

Closes #207.

(cherry picked from commit 0680ce5fd99bc643651d1433bcdaf271aeb73c46)
2015-05-16 20:29:10 +02:00
Alexander Barton a43d79aeff Update ngircd.conf.5: "CloadUserToNick" hides user and real name
Closes #208.
2015-05-15 23:15:09 +02:00
LucentW 93a872a36b Fix with oneshot invites
This should finally implement correctly oneshot invites sent via /INVITE
2015-05-15 14:02:37 +02:00
Alexander Barton c4245220de Fix MatchCaseInsensitive[List]](): lowercase string _and_ pattern
Up to now, only the the string ("haystack") became lowercased and was
the compared to the pattern ("needle") -- which failed, when the pattern
itself wasn't all lowercase ...
2015-05-13 23:47:53 +02:00
Alexander Barton f8f7f83f5a Streamline effect of "MorePrivacy" option (WHOIS, LIST)
- Update documentation in ngircd.conf(5)
- LIST: Don't hide channels for IRC Ops when "MorePrivacy" is in effect
- WHOIS: Don't hide IP addresses/hostnames when "MorePrivacy" is in effect

Closes #198
2015-05-13 22:42:51 +02:00
LucentW 03c8997af3 Fixed building issues\
Now builds cleanly. Pass all tests from make check.
2015-05-13 20:08:26 +00:00
LucentW 4396936f38 Implement timestamp tracking of invites
Now lists nodes also have the "onlyonce" field, since the valid_until is
used to keep the timestamp of placing. Found no references to onlyonce
or about valid_until being == 1, though, so it might be unused, but
still available for other enhancements.
2015-05-11 22:15:01 +02:00
LucentW 4da04640e6 Keep track of who placed bans/invites/excepts
Implements #203.
WARNING: it does not track the time of placement of invites, since the
time_t is already used as a flag for single use invites!
2015-05-11 22:15:00 +02:00
LucentW 10c7ba99e7 IRC operators w/OperCanMode can kick anyone 2015-05-11 22:12:30 +02:00
Alexander Barton 1136b97690 doc/Modes.txt: Fix indentation 2015-04-30 09:29:41 +02:00
Alexander Barton d9a97f2857 Merge pull request #197 from LucentW/master
Implement user mode "I": Hide channels on WHOIS

User mode +I prevents ngIRCd from showing channels on WHOIS.
IRC Operators can always see those.

Closes #197.
2015-04-30 09:28:15 +02:00
LucentW a4af9024fd Fixed indents 2 2015-04-29 20:29:00 +02:00