From: Alexander Barton Date: Sat, 1 Aug 2015 12:24:20 +0000 (+0200) Subject: Merge pull request #214 from Flupsy/channel-mode-N X-Git-Tag: rel-23-rc1~18 X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?p=ngircd-alex.git;a=commitdiff_plain;h=90ea23ab4fe3032824e22eb59bee305f35c4aae7;hp=599626d570f5bd5284a7a30fb8c3ca8dc3636371 Merge pull request #214 from Flupsy/channel-mode-N Channel mode N (users on this channel can't change their nick) --- diff --git a/.gitignore b/.gitignore index 183dca29..e8b9f315 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ Makefile +Makefile.am Makefile.in aclocal.m4 ansi2knr.1 @@ -7,6 +8,7 @@ ansi2knr.h ar-lib autom4te.cache build-stamp-ngircd* +build+* compile config.cache config.log @@ -24,3 +26,41 @@ ngircd.dest .deps *.a *.o +doc/sample-ngircd.conf +doc/src/html +man/ngircd.8 +man/ngircd.conf.5 +src/config.h +src/config.h.in +src/config.h.in~ +src/stamp-h1 +src/ngircd/check-help +src/ngircd/check-version +src/ngircd/ngircd +src/ngircd/ngircd.exe +src/portab/portabtest +src/portab/portabtest.exe +src/testsuite/*.e_ +src/testsuite/channel-test +src/testsuite/connect-test +src/testsuite/invite-test +src/testsuite/join-test +src/testsuite/kick-test +src/testsuite/logs +src/testsuite/message-test +src/testsuite/misc-test +src/testsuite/mode-test +src/testsuite/ngircd-test1.log +src/testsuite/ngircd-test1.motd +src/testsuite/ngircd-test2.log +src/testsuite/ngircd-test2.motd +src/testsuite/opless-channel-test +src/testsuite/server-link-test +src/testsuite/T-ngircd1 +src/testsuite/T-ngircd1.exe +src/testsuite/T-ngircd2 +src/testsuite/T-ngircd2.exe +src/testsuite/tests +src/testsuite/tests-skipped.lst +src/testsuite/who-test +src/testsuite/whois-test diff --git a/AUTHORS b/AUTHORS index ce6d1131..d12e6518 100644 --- a/AUTHORS +++ b/AUTHORS @@ -9,9 +9,11 @@ -- AUTHORS and CONTRIBUTORS -- -Note: If you have critics, patches or something else, please feel free to -post a mail to the ngIRCd mailing list: (please -see for details). +Note: +If you have comments, patches or something else, please feel free to post +a mail to the ngIRCd mailing list: (please see + for details) or join the ngIRCd IRC +channel: . Don't mail the people listed here directly, if possible! diff --git a/ChangeLog b/ChangeLog index bd653664..477bba4d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -9,6 +9,49 @@ -- ChangeLog -- +ngIRCd 23 + + - Specify session context for OpenSSL clients. This enables some OpenSSL + clients, including Pidgin and stunnel 5.06, to reuse a session. + Patch by Tom Ryder , thanks! Closes #182. + - Keep track of who placed bans, invites, and excepts. + Idee and implementation by LucentW, Thanks! Closes #203. + - 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 on startup. + - Implement numeric RPL_LISTSTART(321). lightIRC and other clients + expecting RPL_LISTSTART should now behave correctly. + Idee and implementation by LucentW, Thanks! Closes #207. + - Update ngircd.conf.5: "CloadUserToNick" hides user _and_ real name. + This closes #208. + - Fix case insensitive pattern matching: Up to now, only the the input + string became lowercased and was then compared to the pattern -- which + failed when the pattern itself wasn't all lowercase! + - Streamline the effect of "MorePrivacy" option: Update documentation + in ngircd.conf(5); don't hide channels for IRC Ops on LIST and don't + hide IP addresses/hostnames on WHOIS when "MorePrivacy" is in effect. + This closes #198. + - IRC operators now can kick anyone when "OperCanMode" is set. + Idee and implementation by LucentW, Thanks! Closes #202. + - Implement user mode "I": Hide channels on WHOIS: this mode prevents + ngIRCd from showing channels on WHOIS (IRC Operators can always see + the channel list). + Idee and implementation by LucentW, Thanks! Closes #197. + - INVITE command: Implement ERR_USERNOTONSERV(504) numeric and make sure + that the target user is on the same server when inviting other users + to local ("&") channels. + Idea by Cahata, thanks! Closes #183. + - INVITE command: Enforce 1 second penalty time, which prevents flooding + of the target client. + This closes #186. Reported by Cahata, thanks! + - MODE command: Always report channel creation time. Up to now when + receiving a MODE command, ngIRCd only reported the channel creation + time to clients that were members of the channel. This patch reports + the channel creation time to all clients, regardless if they are joined + to that channel or not. At least ircd-seven behaves like this. + This closes #188. Reported by Cahata, thanks! + - Update Xcode project for latest Xcode version (6.3). + ngIRCd 22.1 (2015-04-06) - Update doc/Platforms.txt and doc/FAQ.txt. diff --git a/NEWS b/NEWS index 578b9f07..86958770 100644 --- a/NEWS +++ b/NEWS @@ -9,6 +9,34 @@ -- NEWS -- +ngIRCd 23 + + - Keep track of who placed bans, invites, and excepts. + Idee and implementation by LucentW, Thanks! Closes #203. + - Implement numeric RPL_LISTSTART(321). lightIRC and other clients + expecting RPL_LISTSTART should now behave correctly. + Idee and implementation by LucentW, Thanks! Closes #207. + - Streamline the effect of "MorePrivacy" option: Update documentation + in ngircd.conf(5); don't hide channels for IRC Ops on LIST and don't + hide IP addresses/hostnames on WHOIS when "MorePrivacy" is in effect. + This closes #198. + - IRC operators now can kick anyone when "OperCanMode" is set. + Idee and implementation by LucentW, Thanks! Closes #202. + - Implement user mode "I": Hide channels on WHOIS: this mode prevents + ngIRCd from showing channels on WHOIS (IRC Operators can always see + the channel list). + Idee and implementation by LucentW, Thanks! Closes #197. + - INVITE command: Implement ERR_USERNOTONSERV(504) numeric and make sure + that the target user is on the same server when inviting other users + to local ("&") channels. + Idea by Cahata, thanks! Closes #183. + - MODE command: Always report channel creation time. Up to now when + receiving a MODE command, ngIRCd only reported the channel creation + time to clients that were members of the channel. This patch reports + the channel creation time to all clients, regardless if they are joined + to that channel or not. At least ircd-seven behaves like this. + This closes #188. Reported by Cahata, thanks! + ngIRCd 22.1 (2015-04-06) - Update "CipherList" to not enable SSLv3 by default. Idea, initial patch, diff --git a/README b/README index ef71c273..05644ec7 100644 --- a/README +++ b/README @@ -74,7 +74,7 @@ releases there. If you are interested in the latest development versions (which are not always stable), then please read the section about "GIT" on the homepage and the file "doc/GIT.txt" which describes the use of GIT, the version control -system used by ngIRCd (homepage: http://git-scm.com/). +system used by ngIRCd (homepage: ). VI. Bugs @@ -83,11 +83,11 @@ VI. Bugs If you find bugs in the ngIRCd (which might be there :-), please report them at the following URL: - + There you can read about known bugs and limitations, too. -If you have critics, patches or something else, please feel free to post a -mail to the ngIRCd mailing list: (please see - for details) or join the ngIRCd -IRC channel: . +If you have comments, patches or something else, please feel free to post +a mail to the ngIRCd mailing list: (please see + for details) or join the ngIRCd IRC +channel: . diff --git a/doc/.gitignore b/doc/.gitignore deleted file mode 100644 index 0035855c..00000000 --- a/doc/.gitignore +++ /dev/null @@ -1 +0,0 @@ -sample-ngircd.conf diff --git a/doc/Capabilities.txt b/doc/Capabilities.txt index d26b8403..0f160edd 100644 --- a/doc/Capabilities.txt +++ b/doc/Capabilities.txt @@ -13,7 +13,7 @@ This document lists and describes the "IRC capabilities" that ngIRCd supports and can be requested by a IRC/IRCv3 client that supports the "CAP" command. ngIRCd implements the "IRC Client Capabilities Extension" as described here: - + I. Supported Capabilities @@ -25,4 +25,4 @@ I. Supported Capabilities server to send all possible prefixes which apply to a user in NAMES and WHO output. - See . + See . diff --git a/doc/Commands.txt b/doc/Commands.txt index e4f00904..50a52d58 100644 --- a/doc/Commands.txt +++ b/doc/Commands.txt @@ -78,7 +78,7 @@ Connection Handling Commands like this: "CAP REQ :capability1 capability2 capability3" for example. References: - - + - - - doc/Capabilities.txt diff --git a/doc/Contributing.txt b/doc/Contributing.txt index 089afd4c..677a1b80 100644 --- a/doc/Contributing.txt +++ b/doc/Contributing.txt @@ -2,7 +2,7 @@ ngIRCd - Next Generation IRC Server http://ngircd.barton.de/ - (c)2001-2011 Alexander Barton and Contributors. + (c)2001-2015 Alexander Barton and Contributors. ngIRCd is free software and published under the terms of the GNU General Public License. @@ -52,3 +52,9 @@ get an idea of how to do it the best :-) And this is open source, your work must not be 100% finished and perfect, work in progress is interesting, too: "release early, release often"! + +- Use GitHub to create "Pull Requests" + + ngIRCd is hosted on GitHub (), so please use the + tools available there and open issues (comment!) and create pull requests! + See for details. diff --git a/doc/FAQ.txt b/doc/FAQ.txt index 79ca2d72..ea260218 100644 --- a/doc/FAQ.txt +++ b/doc/FAQ.txt @@ -99,11 +99,11 @@ IV. Bugs!? ~~~~~~~~~~ Q: Is there a list of known bugs and desired feature enhancements? -A: Yes. Have a look at the bug tracking system (Bugzilla) for ngIRCd located - at . There you can file bug +A: Yes. Have a look at the bug tracking system (Github issues) for ngIRCd located + at . There you can file bug reports and feature requests as well as search the bug database. Q: What should I do if I found a bug? -A: Please file a bug report at ! - The author of the particular component will be notified automagically :-) +A: Please file a bug report at ! + The author will be notified automagically :-) diff --git a/doc/GIT.txt b/doc/GIT.txt deleted file mode 100644 index f3b2e63c..00000000 --- a/doc/GIT.txt +++ /dev/null @@ -1,65 +0,0 @@ - - ngIRCd - Next Generation IRC Server - http://ngircd.barton.de/ - - (c)2001-2011 Alexander Barton and Contributors. - ngIRCd is free software and published under the - terms of the GNU General Public License. - - -- GIT.txt -- - - -The source code of ngIRCd is maintained using GIT, an distributed version -control system. Homepage including documentation: . - - -I. Viewing the source code online -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The ngIRCd "GITweb" interface allows you to browse the GIT repository and -to see all individual files, tags, branches, commits etc.: - - - - -II. Getting the source code -~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -To access (copy, clone) the source tree repository anonymously, run: - - $ git clone git://ngircd.barton.de/ngircd.git - -Thereby a new folder "ngircd" will be created containing all the individual -source files. - -The newly created directory ("ngircd") is the "working directory", all -GIT commands will be executed from within this directory in the future. - -Please note: When checking out a fresh copy of ngIRCd using GIT, the -configure script doesn't exist; you have to run the autogen.sh shell script -(which is included in the source tree) to generate it. This requires you to -have GNU automake and GNU autoconf installed on your system. Please see the -file INSTALL for details! - -To update the local GIT repository: - - $ git pull - -This retrieves all changes and merges them into the current branch. - - -III. Contributing -~~~~~~~~~~~~~~~~~ - -Patches should be sent to the ngircd mailing list. List homepage: -http://arthur.barton.de/mailman/listinfo/ngircd-ml - -If you do not want to send them to the list, you can also mail them -to Alex Barton, . - - -IV. Write Access -~~~~~~~~~~~~~~~~ - -If you want to contribute a couple of patches and write access to the GIT -repository would be handy, please contact Alex Barton, . diff --git a/doc/Makefile.am b/doc/Makefile.am index 27942dd3..5913c94e 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -1,6 +1,6 @@ # # ngIRCd -- The Next Generation IRC Daemon -# Copyright (c)2001-2013 Alexander Barton (alex@barton.de) and Contributors +# Copyright (c)2001-2015 Alexander Barton (alex@barton.de) and Contributors # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -23,7 +23,6 @@ static_docs = \ Commands.txt \ Contributing.txt \ FAQ.txt \ - GIT.txt \ HowToRelease.txt \ Modes.txt \ PAM.txt \ diff --git a/doc/src/.gitignore b/doc/src/.gitignore deleted file mode 100644 index 1936cc1d..00000000 --- a/doc/src/.gitignore +++ /dev/null @@ -1 +0,0 @@ -html diff --git a/man/.gitignore b/man/.gitignore deleted file mode 100644 index af7d6f1d..00000000 --- a/man/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -ngircd.8 -ngircd.conf.5 diff --git a/src/.gitignore b/src/.gitignore deleted file mode 100644 index 5f069df5..00000000 --- a/src/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -config.h -config.h.in -config.h.in~ -stamp-h1 diff --git a/src/ipaddr/.gitignore b/src/ipaddr/.gitignore deleted file mode 100644 index 08a6d725..00000000 --- a/src/ipaddr/.gitignore +++ /dev/null @@ -1 +0,0 @@ -Makefile.am diff --git a/src/ngircd/.gitignore b/src/ngircd/.gitignore deleted file mode 100644 index 39a55e78..00000000 --- a/src/ngircd/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -Makefile.am -check-help -check-version -ngircd -ngircd.exe diff --git a/src/ngircd/conn-ssl.c b/src/ngircd/conn-ssl.c index c9bbdd24..be6ee0a8 100644 --- a/src/ngircd/conn-ssl.c +++ b/src/ngircd/conn-ssl.c @@ -317,6 +317,7 @@ ConnSSL_InitLibrary( void ) goto out; } + SSL_CTX_set_session_id_context(newctx, (unsigned char *)"ngircd", 6); SSL_CTX_set_options(newctx, SSL_OP_SINGLE_DH_USE|SSL_OP_NO_SSLv2); SSL_CTX_set_mode(newctx, SSL_MODE_ENABLE_PARTIAL_WRITE); SSL_CTX_set_verify(newctx, SSL_VERIFY_PEER|SSL_VERIFY_CLIENT_ONCE, diff --git a/src/portab/.gitignore b/src/portab/.gitignore deleted file mode 100644 index 9b94606b..00000000 --- a/src/portab/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -Makefile.am -portabtest -portabtest.exe diff --git a/src/testsuite/.gitignore b/src/testsuite/.gitignore deleted file mode 100644 index d6715ae4..00000000 --- a/src/testsuite/.gitignore +++ /dev/null @@ -1,24 +0,0 @@ -Makefile.am -T-ngircd1 -T-ngircd1.exe -T-ngircd2 -T-ngircd2.exe -channel-test -connect-test -invite-test -join-test -kick-test -message-test -misc-test -mode-test -opless-channel-test -server-link-test -who-test -whois-test -ngircd-test1.log -ngircd-test2.log -ngircd-test1.motd -ngircd-test2.motd -logs -tests -tests-skipped.lst diff --git a/src/tool/.gitignore b/src/tool/.gitignore deleted file mode 100644 index 08a6d725..00000000 --- a/src/tool/.gitignore +++ /dev/null @@ -1 +0,0 @@ -Makefile.am