]> arthur.barton.de Git - ngircd-web.git/commitdiff
Update doc/ for ngIRCd 19~rc1
authorAlexander Barton <alex@barton.de>
Sun, 12 Feb 2012 17:25:59 +0000 (18:25 +0100)
committerAlexander Barton <alex@barton.de>
Sun, 12 Feb 2012 17:25:59 +0000 (18:25 +0100)
doc/AUTHORS
doc/COPYING
doc/ChangeLog
doc/GIT.txt
doc/INSTALL
doc/Modes.txt [new file with mode: 0644]
doc/NEWS
doc/Platforms.txt
doc/README

index 03a19dd342f638d0326372af7247a5e4a00b7107..986beefc45ac3b271172d0ed83eeedd11286f94a 100644 (file)
@@ -2,7 +2,7 @@
                      ngIRCd - Next Generation IRC Server
                            http://ngircd.barton.de/
 
-               (c)2001-2011 Alexander Barton and Contributors.
+               (c)2001-2012 Alexander Barton and Contributors.
                ngIRCd is free software and published under the
                    terms of the GNU General Public License.
 
 
 
 Note: If you have critics, patches or something else, please feel free to
-post a mail to the ngIRCd mailing list: <ngircd-ml@arthur.ath.cx> (please see
-<http://ngircd.barton.de/#ml> for details). Don't mail the contributors
-directly, if possible!
+post a mail to the ngIRCd mailing list: <ngircd-ml@arthur.barton.de> (please
+see <http://ngircd.barton.de/#ml> for details).
+
+Don't mail the people listed here directly, if possible!
 
 
 Main Authors
index 14db8fc79dbaf6b7a94395c9d0464396d2fb983d..d159169d1050894d3ea3b98e1c965c4058208fe1 100644 (file)
@@ -1,12 +1,12 @@
-                   GNU GENERAL PUBLIC LICENSE
-                      Version 2, June 1991
+                    GNU GENERAL PUBLIC LICENSE
+                       Version 2, June 1991
 
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  Everyone is permitted to copy and distribute verbatim copies
  of this license document, but changing it is not allowed.
 
-                           Preamble
+                            Preamble
 
   The licenses for most software are designed to take away your
 freedom to share and change it.  By contrast, the GNU General Public
@@ -15,7 +15,7 @@ software--to make sure the software is free for all its users.  This
 General Public License applies to most of the Free Software
 Foundation's software and to any other program whose authors commit to
 using it.  (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.)  You can apply it to
+the GNU Lesser General Public License instead.)  You can apply it to
 your programs, too.
 
   When we speak of free software, we are referring to freedom, not
@@ -55,8 +55,8 @@ patent must be licensed for everyone's free use or not licensed at all.
 
   The precise terms and conditions for copying, distribution and
 modification follow.
-\f
-                   GNU GENERAL PUBLIC LICENSE
+
+                    GNU GENERAL PUBLIC LICENSE
    TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
 
   0. This License applies to any program or other work which contains
@@ -110,7 +110,7 @@ above, provided that you also meet all of these conditions:
     License.  (Exception: if the Program itself is interactive but
     does not normally print such an announcement, your work based on
     the Program is not required to print an announcement.)
-\f
+
 These requirements apply to the modified work as a whole.  If
 identifiable sections of that work are not derived from the Program,
 and can be reasonably considered independent and separate works in
@@ -168,7 +168,7 @@ access to copy from a designated place, then offering equivalent
 access to copy the source code from the same place counts as
 distribution of the source code, even though third parties are not
 compelled to copy the source along with the object code.
-\f
+
   4. You may not copy, modify, sublicense, or distribute the Program
 except as expressly provided under this License.  Any attempt
 otherwise to copy, modify, sublicense or distribute the Program is
@@ -225,7 +225,7 @@ impose that choice.
 
 This section is intended to make thoroughly clear what is believed to
 be a consequence of the rest of this License.
-\f
+
   8. If the distribution and/or use of the Program is restricted in
 certain countries either by patents or by copyrighted interfaces, the
 original copyright holder who places the Program under this License
@@ -255,7 +255,7 @@ make exceptions for this.  Our decision will be guided by the two goals
 of preserving the free status of all derivatives of our free software and
 of promoting the sharing and reuse of software generally.
 
-                           NO WARRANTY
+                            NO WARRANTY
 
   11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
 FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
@@ -277,9 +277,9 @@ YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
 PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
 POSSIBILITY OF SUCH DAMAGES.
 
-                    END OF TERMS AND CONDITIONS
-\f
-           How to Apply These Terms to Your New Programs
+                     END OF TERMS AND CONDITIONS
+
+            How to Apply These Terms to Your New Programs
 
   If you develop a new program, and you want it to be of the greatest
 possible use to the public, the best way to achieve this is to make it
@@ -303,10 +303,9 @@ the "copyright" line and a pointer to where the full notice is found.
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     GNU General Public License for more details.
 
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-
+    You should have received a copy of the GNU General Public License along
+    with this program; if not, write to the Free Software Foundation, Inc.,
+    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 
 Also add information on how to contact you by electronic and paper mail.
 
@@ -336,5 +335,5 @@ necessary.  Here is a sample; alter the names:
 This General Public License does not permit incorporating your program into
 proprietary programs.  If your program is a subroutine library, you may
 consider it more useful to permit linking proprietary applications with the
-library.  If this is what you want to do, use the GNU Library General
+library.  If this is what you want to do, use the GNU Lesser General
 Public License instead of this License.
index ec4fc19bc7b8b61ce1f204aeff7bb857cafb9879..056ee4881ae433f465d040f9504431844b45f955 100644 (file)
                      ngIRCd - Next Generation IRC Server
                            http://ngircd.barton.de/
 
-               (c)2001-2011 Alexander Barton and Contributors.
+               (c)2001-2012 Alexander Barton and Contributors.
                ngIRCd is free software and published under the
                    terms of the GNU General Public License.
 
                                -- ChangeLog --
 
 
+ngIRCd Release 19
+
+  ngIRCd 19~rc1 (2012-02-12)
+  - Enhance command limits for server links: the limit now is dependent
+    on the number of users connected in the network and higher while
+    servers are joining the network to make the login of servers faster.
+  - Log more information about server synchronization.
+  - Update preliminary ngIRCd protocol module for Anope 1.9.6, which now
+    is the only supported version.
+  - New numeric RPL_WHOISHOST_MSG(378), which returns the DNS hostname
+    (if available) and the IP address of a client in the WHOIS reply.
+    Only the user itself and local IRC operators get this numeric.
+  - Implement channel exception list (mode 'e'). This allows a channel
+    operator to define exception masks that allow users to join the
+    channel even when a "ban" would match and prevent them from joining:
+    the exception list (e) overrides the ban list (b).
+  - PRIVMSG and NOTICE: Handle nick!user@host masks case-insensitive.
+  - Implement user mode 'C': If the target user of a PRIVMSG or NOTICE
+    command has the user mode 'C' set, it is required that both sender
+    and receiver are on the same channel. This prevents private flooding
+    by completely unknown clients.
+  - New RPL_WHOISREGNICK_MSG(307) numeric in WHOIS command replies: it
+    indicates if a nick name is registered (if user mode 'R' set).
+  - Limit channel invite, ban, and exception lists to 50 entries and fix
+    duplicate check and error messages when adding already listed entries
+    or deleting no (longer) existing ones.
+  - Fix both ERR_SUMMONDISABLED(445) and ERR_USERSDISABLED(446) replies.
+  - MODE command: correctly return ERR_UNKNOWNMODE(472) numeric for
+    unknown channel modes, instead of ERR_UMODEUNKNOWNFLAG(501).
+  - ISUPPORT(005) numeric: add "O", "R", and "z" modes to "CHANMODES",
+    add "EXCEPTS=e" and "INVEX=I", add "MAXLIST=beI:50".
+  - Limit the number of list items in the reply of LIST (100), WHO (25),
+    WHOIS (10), and WHOWAS (25) commands.
+  - LIST command: compare pattern case insensitive.
+  - Limit the MODE command to handle a maximum number of 5 channel modes
+    that require an argument (+Ibkl) per call and report this number
+    in the ISUPPORT(005) numeric: "MODES=5".
+  - Fix handling of channel mode sequence with/without arguments.
+    For example, don't generate wrong error messages when handling
+    "MODE #chan +IIIIItn *!aa@b *!bb@c *!cc@d *!dd@e *!ee@f".
+  - When sending data on a connection, only try to get the type of
+    the client if there still is one assigned. This could trigger an
+    assertion and end the daemon in some error paths.
+  - Don't try to close already closed/invalid sockets to forked child
+    processes. This could potentially crash the daemon in some cases
+    with IDENT lookups enabled.
+  - WHOIS command: make sure that the reply ends with RPL_ENDOFWHOIS,
+    don't answer queries for IRC servers, make sure mask matching is
+    case-insensitive, and that RPL_ENDOFWHOIS numeric is sent with the
+    unmodified mask (like it has been received from the client).
+  - LINKS command: support <mask> parameter to limit the reply.
+  - Add 1 second penalty for every further target on PRIVMSG/NOTICE
+    commands: this reduces the possibility of flooding channels with
+    commands like "PRIVMSG/NOTICE #a,#n,#c,... :message" a little bit.
+    Problem noticed by Cahata, thanks!
+  - Display correct error message when "Server{UID|GID}" variabe in the
+    configuration file is invalid (not a number and no existing user).
+  - Update Copyright notices for 2012 :-)
+  - JOIN command: don't stop handling of channel lists when a single
+    channel cannot be joined (because of bad name, wrong key or channel
+    limit reached), but report an error and continue. And don't check
+    the channel limit and don't report with "too many channels" when
+    trying to join a channel that the client already is a member of.
+  - ISON command: reply with the correct upper-/lowercase nick names.
+  - New configuration option "PAMIsOptional": when set, clients not
+    sending a password are still allowed to connect: they won't become
+    "identified" and keep the "~" character prepended to their supplied
+    user name. See "man 5 ngircd.conf" for details.
+  - Fixed handling of WHO commands. This fixes two bugs: "WHO <nick>"
+    returned nothing at all if the user was "+i" (reported by Cahata,
+    thanks) and "WHO <nick|nickmask>" returned channel names instead
+    of "*" when the user was member of a (visible) channel.
+  - Fixed some spelling errors in documentation and code comments
+    (Thanks to Christoph Biedl).
+  - contrib/Debian/control: Update and complete "Build-Depends" and
+    update our Debian package descriptions with "official" ones.
+  - Fixed typo in two error messages.
+  - LUSERS reply: only count channels that are visible to the requesting
+    client, so the existence of secret channels is no longer revealed by
+    using LUSERS. Reported by Cahata, thanks!
+  - Unknown user and channel modes no longer stop the mode parser, but
+    are simply ignored. Therefore modes after the unknown one are now
+    handled. This is how ircd2.10/ircd2.11/ircd-seven behave, at least.
+    Reported by Cahata, thanks!
+  - README: Update list of implemented commands.
+  - Log better error messages when rejecting clients.
+  - Implement IRC commands "GLINE" and "KLINE" to ban users. G-Lines are
+    synchronized between server on peering, K-Lines are local only.
+    If you use "*!<user>@<host>" or "*!*@<host>" masks, these connections
+    are blocked even before the user is fully logged in (before PASS,
+    NICK, and USER commands have been processed) and before the child
+    processes for authentication are forked, so resource usage is smaller.
+  - Xcode: update project file for Xcode 4.2 and define HAVE_GAI_STRERROR
+    for Mac OS X Xcode builds.
+  - ./configure: Fix logic and quoting of poll() detection code: only use
+    poll() when poll.h exists as well.
+  - Suppress 'Can't create pre-defined channel: invalid name: ""' message.
+  - whois-test: handle local hostname = "localhost.localdomain" using the
+    pattern "localhost*" for valid local hostnames.
+  - sample-ngircd.conf: show correct default for "PAM" variable: The
+    default of "PAM" is "yes" when ngIRCd has been configured to use it,
+    so show the correct default value in the sample configuration file.
+    (Closes #119)
+  - Update GPL 2 license text to current version.
+  - Only close "unrelated" sockets in forked child processes: This fixes
+    the problem that ngIRCd can't do any IDENT lookups because of the
+    socket has already been closed in the child process.
+    The bug has been introduced starting with ngIRCd 17 ... :-(
+    (commit ID 6ebb31ab35e)
+  - Added doc/Modes.txt: document modes supported by ngIRCd.
+  - Implement user mode "R": indicates that the nick name of this user
+    is "registered". This mode isn't handled by ngIRCd itself, but must
+    be set and unset by IRC services like Anope.
+  - Implement channel mode "R": only registered users (having the user
+    mode "R" set) are allowed to join this channel.
+  - Test suite: bind to loopback (127.0.0.1) interface only.
+  - New 2nd message "Nickname too long" for error code 432.
+  - Xcode: Mac OS X config.h: support 10.5 as well as 10.6/10.7 SDK.
+  - Xcode: exclude more Xcode 4 specific directories in ".gitignore".
+  - Disconnect directly linked servers sending QUIT. Without this,
+    the server becomes removed from the network and the client list,
+    but the connection isn't shut down at all ...
+  - contrib/ngindent: detect "gindent" as GNU indent.
+  - Handle unknown user and channel modes: these modes are saved and
+    forwarded to other servers, but ignored otherwise.
+  - Handle channel user modes 'a', 'h', and 'q' from remote servers.
+    These channel user modes aren't used for anything at the moment,
+    but ngIRCd knows that these three modes are "channel user modes"
+    and not "channel modes", that is that these modes take an "nick name"
+    argument. Like unknown user and channel modes, these modes are saved
+    and forwarded to other servers, but ignored otherwise.
+  - Correctly inform clients when other servers change their user modes.
+    This is required for some services to work correctly.
+  - Test suite: make getpid.sh work even when run as root.
+  - Spoofed prefixes: close connection on non-server links only.
+    On server-links, spoofed prefixes can happen because of the
+    asynchronous nature of the IRC protocol. So don't break server-
+    links, only log a message and ignore the command. (Closes #113)
+
 ngIRCd Release 18 (2011-07-10)
 
   - Update timestamp of ngircd(8) manual page.
@@ -797,7 +936,7 @@ ngIRCd 0.6.0, 2002-12-24
     werden (beide Server versuchen sich dann gegenseitig zu connectieren).
   - Test-Suite und Dokumentation an A/UX angepasst.
   - unter HP-UX definiert das configure-Script nun _XOPEN_SOURCE_EXTENDED.
-  - Server identifizieren sich nun mit asyncronen Passwoertern, d.h. das
+  - Server identifizieren sich nun mit asynchronen Passwoertern, d.h. das
     Passwort, welches A an B schickt, kann ein anderes sein als das, welches
     B als Antwort an A sendet. In der Konfig.-Datei, Abschnitt "Server",
     wurde "Password" dazu durch "MyPassword" und "PeerPassword" ersetzt.
@@ -927,7 +1066,7 @@ ngIRCd 0.5.0, 20.09.2002
   - Protokoll- und Server-ID bei PASS-Befehlen auf neues Format umgestellt;
     bei empfangenen PASS-Befehlen werden diese zudem nun auch ausgewertet.
     Die unterstuetzten Flags sind in doc/Protocol.txt beschrieben.
-  - mit dem neuen Befehl CHANINFO syncronisieren Server, die das IRC+-
+  - mit dem neuen Befehl CHANINFO synchronisieren Server, die das IRC+-
     Protokoll unterstuetzen, Channel-Modes und Topics.
   - neue Option "--disable-ircplus" fuer das configure-Script, um das
     IRC+-Protokoll abzuschalten (per Default ist es aktiviert).
@@ -1032,7 +1171,7 @@ ngIRCd 0.3.0, 02.03.2002
   - PRIVMSG beachtet nun die Channel-Modes "n" und "m".
   - AWAY implementiert. PRIVMSG, MODE, USERHOST und WHOIS angepasst.
   - der ngIRCd unterstuetzt nun Channel-Topics (TOPIC-Befehl).
-  - ausgehende Server-Verbindungen werden nun asyncron connectiert und
+  - ausgehende Server-Verbindungen werden nun asynchron connectiert und
     blockieren nicht mehr den ganzen Server, wenn die Gegenseite nicht
     erreicht werden kann (bis zum Timeout konnten Minuten vergehen!).
   - Wert der Konfigurations-Variable "ConnectRetry" wird besser beachtet.
@@ -1111,7 +1250,7 @@ ngIRCd 0.0.2, 06.01.2002
   - NICK kann nun die Gross- und Kleinschreibung eines Nicks aendern.
   - ein Server-Passwort ist nun konfigurierbar.
   - neue Befehle: ERROR, SERVER, NJOIN (nur als "Fake"), SQUIT.
-  - Asyncroner Resolver Hostname->IP implementiert.
+  - Asynchroner Resolver Hostname->IP implementiert.
   - Server-Links teilweise implementiert: bisher kann der ngIRCd jedoch
     nur "leafed server" sein, d.h. keine "Client-Server" haben. Einige
     Befehle sind auch noch nicht (optimal) angepasst: PRIVMSG funktioniert
index 43751848f3dd7ff03b4d41a1f2ef190f3c5f81e3..f3b2e63cc6f147bb2de98ff8cd53f7555be9f82a 100644 (file)
@@ -9,13 +9,23 @@
                                  -- GIT.txt --
 
 
-The source code of ngIRCd is maintained using git, the stupid content
-tracker.
+The source code of ngIRCd is maintained using GIT, an distributed version
+control system. Homepage including documentation: <http://git-scm.com/>.
 
 
-I. Getting the source code
-~~~~~~~~~~~~~~~~~~~~~~~~~~
-To access the source tree anonymously, run:
+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.:
+
+ <http://arthur.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git>
+
+
+II. Getting the source code
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+To access (copy, clone) the source tree repository anonymously, run:
 
  $ git clone git://ngircd.barton.de/ngircd.git
 
@@ -23,23 +33,23 @@ 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.
+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
+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 git tree:
+To update the local GIT repository:
 
  $ git pull
 
 This retrieves all changes and merges them into the current branch.
 
 
-II. Contributing
-~~~~~~~~~~~~~~~~
+III. Contributing
+~~~~~~~~~~~~~~~~~
 
 Patches should be sent to the ngircd mailing list. List homepage:
 http://arthur.barton.de/mailman/listinfo/ngircd-ml
@@ -48,7 +58,8 @@ If you do not want to send them to the list, you can also mail them
 to Alex Barton, <alex@barton.de>.
 
 
-III. Write Access
-~~~~~~~~~~~~~~~~~
-If you want to contribute a couple of patches and write access to the git
+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, <alex@barton.de>.
index 99fe33d4efdd24ba097df242dea20c6b391e18df..45ebe993edef3ca2e9b3ad9c917c9cc99980ca82 100644 (file)
@@ -2,7 +2,7 @@
                      ngIRCd - Next Generation IRC Server
                            http://ngircd.barton.de/
 
-               (c)2001-2011 Alexander Barton and Contributors.
+               (c)2001-2012 Alexander Barton and Contributors.
                ngIRCd is free software and published under the
                    terms of the GNU General Public License.
 
diff --git a/doc/Modes.txt b/doc/Modes.txt
new file mode 100644 (file)
index 0000000..0b0e488
--- /dev/null
@@ -0,0 +1,76 @@
+
+                     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.
+
+                               -- Modes.txt --
+
+
+This document lists the different user modes, channel modes, and channel
+user modes that ngIRCd supports.
+
+
+I. User Modes
+~~~~~~~~~~~~~
+
+User modes are attributes a user has in the network, regardless of the
+channels he is using at the moment.
+
+  mode since   description
+
+  a    0.3.0   User is away.
+  c    17      IRC operator wants to receive connect/disconnect NOTICEs.
+  C    19      Only users that share a channel are allowed to send messages.
+  i    0.0.1   User is "invisible".
+  o    0.0.1   User is IRC operator.
+  r    0.0.1   User is restricted.
+  R (1)        19      User is registered (e.g. by NickServ).
+  s    0.4.0   User wants to receive server notices.
+  w    0.11.0  User wants to receive WALLOPS messages.
+  x    17      Hostname of this user is "cloaked".
+
+II. Channel Modes
+~~~~~~~~~~~~~~~~~
+
+Channel modes are attributes of specific channels which are valid for all
+users joined (or trying to join) to this channel. Some modes add and remove
+users to lists (e.g. "invite list", "ban list"), others have parameters
+(like "channel key"), most are simple flags (like "moderated").
+
+  mode since   description
+
+  b    0.5.0   Add/remove a host mask to the ban list.
+  i    0.5.0   Channel is "invite only".
+  I    0.5.0   Add/remove a host mask to the invite list.
+  k    0.6.0   Channel has a "key" (a password).
+  l    0.6.0   Channel has a user limit.
+  m    0.3.0   Channel is moderated, only "voiced" users can send messages.
+  n    0.3.0   Channel doesn't allow messages of users not being members.
+  O    18      Only IRC operators are allowed to join this channel.
+  P    0.5.0   Channel is "persistent".
+  r (1)        19      Channel is "registered" (e.g. by ChanServ).
+  R    19      Only registered users are allowed to join this channel.
+  s    0.9.0   Channel is "secret".
+  t    0.3.0   Only ChanOps are allowed to modify the channel topic.
+  z    16      Only users connected via SSL are allowed to join the channel.
+
+III. Channel User Modes
+~~~~~~~~~~~~~~~~~~~~~~~
+
+Channel user modes are attributes that a particular user has in a specific
+channel of which he is a member.
+
+  mode since   description
+
+  o    0.2.0   User is channel operator and can op/kick/... other members.
+  v    0.2.0   User is "voiced" and can speak even if channel is moderated.
+
+
+Notes
+~~~~~
+
+(1) This mode is not set by ngIRCd itself but by services. ngIRCd handles
+    the mode transparently and possibly adjusts its behaviour.
index 3602a4d00558a1db6b38799c0e7fb3a2306f873a..fcb7788c0d34e7f8d50ebaf661c65ecb103919f7 100644 (file)
--- a/doc/NEWS
+++ b/doc/NEWS
@@ -2,12 +2,80 @@
                      ngIRCd - Next Generation IRC Server
                            http://ngircd.barton.de/
 
-               (c)2001-2011 Alexander Barton and Contributors.
+               (c)2001-2012 Alexander Barton and Contributors.
                ngIRCd is free software and published under the
                    terms of the GNU General Public License.
 
                                   -- NEWS --
 
+ngIRCd Release 19
+
+  ngIRCd 19~rc1 (2012-02-12)
+  - Update preliminary ngIRCd protocol module for Anope 1.9.6, which now
+    is the only supported version.
+  - New numeric RPL_WHOISHOST_MSG(378), which returns the DNS hostname
+    (if available) and the IP address of a client in the WHOIS reply.
+    Only the user itself and local IRC operators get this numeric.
+  - Implement channel exception list (mode 'e'). This allows a channel
+    operator to define exception masks that allow users to join the
+    channel even when a "ban" would match and prevent them from joining:
+    the exception list (e) overrides the ban list (b).
+  - Implement user mode 'C': If the target user of a PRIVMSG or NOTICE
+    command has the user mode 'C' set, it is required that both sender
+    and receiver are on the same channel. This prevents private flooding
+    by completely unknown clients.
+  - New RPL_WHOISREGNICK_MSG(307) numeric in WHOIS command replies: it
+    indicates if a nick name is registered (if user mode 'R' set).
+  - Limit channel invite, ban, and exception lists to 50 entries and fix
+    duplicate check and error messages when adding already listed entries
+    or deleting no (longer) existing ones.
+  - Limit the number of list items in the reply of LIST (100), WHO (25),
+    WHOIS (10), and WHOWAS (25) commands.
+  - Limit the MODE command to handle a maximum number of 5 channel modes
+    that require an argument (+Ibkl) per call and report this number
+    in the ISUPPORT(005) numeric: "MODES=5".
+  - LINKS command: support <mask> parameter to limit the reply.
+  - Add 1 second penalty for every further target on PRIVMSG/NOTICE
+    commands: this reduces the possibility of flooding channels with
+    commands like "PRIVMSG/NOTICE #a,#n,#c,... :message" a little bit.
+    Problem noticed by Cahata, thanks!
+  - New configuration option "PAMIsOptional": when set, clients not
+    sending a password are still allowed to connect: they won't become
+    "identified" and keep the "~" character prepended to their supplied
+    user name. See "man 5 ngircd.conf" for details.
+  - Fixed handling of WHO commands. This fixes two bugs: "WHO <nick>"
+    returned nothing at all if the user was "+i" (reported by Cahata,
+    thanks) and "WHO <nick|nickmask>" returned channel names instead
+    of "*" when the user was member of a (visible) channel.
+  - LUSERS reply: only count channels that are visible to the requesting
+    client, so the existence of secret channels is no longer revealed by
+    using LUSERS. Reported by Cahata, thanks!
+  - Unknown user and channel modes no longer stop the mode parser, but
+    are simply ignored. Therefore modes after the unknown one are now
+    handled. This is how ircd2.10/ircd2.11/ircd-seven behave, at least.
+    Reported by Cahata, thanks!
+  - Implement IRC commands "GLINE" and "KLINE" to ban users. G-Lines are
+    synchronized between server on peering, K-Lines are local only.
+    If you use "*!<user>@<host>" or "*!*@<host>" masks, these connections
+    are blocked even before the user is fully logged in (before PASS,
+    NICK, and USER commands have been processed) and before the child
+    processes for authentication are forked, so resource usage is smaller.
+  - Added doc/Modes.txt: document modes supported by ngIRCd.
+  - Implement user mode "R": indicates that the nick name of this user
+    is "registered". This mode isn't handled by ngIRCd itself, but must
+    be set and unset by IRC services like Anope.
+  - Implement channel mode "R": only registered users (having the user
+    mode "R" set) are allowed to join this channel.
+  - Test suite: bind to loopback (127.0.0.1) interface only.
+  - Handle unknown user and channel modes: these modes are saved and
+    forwarded to other servers, but ignored otherwise.
+  - Handle channel user modes 'a', 'h', and 'q' from remote servers.
+    These channel user modes aren't used for anything at the moment,
+    but ngIRCd knows that these three modes are "channel user modes"
+    and not "channel modes", that is that these modes take an "nick name"
+    argument. Like unknown user and channel modes, these modes are saved
+    and forwarded to other servers, but ignored otherwise.
+
 ngIRCd Release 18 (2011-07-10)
 
   - Add preliminary ngIRCd protocol module for Anope 1.9 to contrib/Anope/.
@@ -351,7 +419,7 @@ ngIRCd 0.6.0, 2002-12-24
     ausgehende Verbindung zu diesem auufzubauen. Dadurch kann nun auf beiden
     Servern in der Konfiguration ein Port fuer den Connect konfiguriert
     werden (beide Server versuchen sich dann gegenseitig zu connectieren).
-  - Server identifizieren sich nun mit asyncronen Passwoertern, d.h. das
+  - Server identifizieren sich nun mit asynchronen Passwoertern, d.h. das
     Passwort, welches A an B schickt, kann ein anderes sein als das, welches
     B als Antwort an A sendet. In der Konfig.-Datei, Abschnitt "Server",
     wurde "Password" dazu durch "MyPassword" und "PeerPassword" ersetzt.
@@ -377,7 +445,7 @@ ngIRCd 0.5.0, 20.09.2002
     Konfiguration "sample-ngircd.conf") und bleiben auch dann bestehen,
     wenn kein User mehr im Channel ist.
   - neue IRC-Befehle: KICK, INVITE, ADMIN, CHANINFO; LIST wurde erweitert.
-    Mit dem neuen Befehl CHANINFO syncronisieren Server, die das IRC+-
+    Mit dem neuen Befehl CHANINFO synchronisieren Server, die das IRC+-
     Protokoll unterstuetzen, Channel-Modes und Topics. Fuer den ADMIN-Befehl
     gibt es neue Konfigurationsoptionen (Sektion "Global"): "AdminInfo1",
     "AdminInfo2" und "AdminEMail".
@@ -463,7 +531,3 @@ ngIRCd 0.0.2, 06.01.2002
 ngIRCd 0.0.1, 31.12.2001
 
   - erste oeffentliche Version von ngIRCd als "public preview" :-)
-
-
--- 
-$Id: NEWS,v 1.88 2008/02/26 22:05:42 fw Exp $
index 0346ac680048a2ea63e999045780afbe058a57d3..58913c32179e186db639f8d159377cefffff54dc 100644 (file)
@@ -35,6 +35,7 @@ i386/apple/darwin10.7.0     gcc 4.2.1    18         11-07-05 alex   Y Y Y Y (3)
 i386/apple/darwin11.0.0     gcc 4.2.1    18         11-07-02 alex   Y Y Y Y (3)
 i386/pc/solaris2.9          gcc 3.2.2    CVSHEAD    04-02-24 alex   Y Y Y Y
 i386/pc/solaris2.11         gcc 3.4.3    18         11-07-10 alex   Y Y N Y (4)
+i386/pc/solaris2.11         gcc 4.2.3    18         11-08-17 goetz  Y Y Y Y (4)
 i386/unknown/freebsd5.2.1   gcc 3.3.3    0.8.0      04-05-30 alex   Y Y Y Y
 i386/unknown/freebsd6.2     gcc 3.4.6    18         11-07-10 alex   Y Y Y Y (3)
 i386/unknown/freebsd7.3     gcc 4.2.1    18         11-07-10 alex   Y Y Y Y (3)
index 3c39cad1a19f18bffd1a6bae0496c781bc570337..2e19d831deac91663730963afba874b0f52dd736 100644 (file)
@@ -2,7 +2,7 @@
                      ngIRCd - Next Generation IRC Server
                            http://ngircd.barton.de/
 
-               (c)2001-2011 Alexander Barton and Contributors.
+               (c)2001-2012 Alexander Barton and Contributors.
                ngIRCd is free software and published under the
                    terms of the GNU General Public License.
 
@@ -14,9 +14,10 @@ I. Introduction
 
 ngIRCd is an Open Source server for the Internet Relay Chat (IRC), which
 is developed and published under the terms of the GNU General Public
-Licence (URL: http://www.gnu.org/licenses/gpl.html). ngIRCd means "next
-generation IRC daemon", it's written from scratch and not deduced from the
-"grandfather of IRC daemons", the daemon of the IRCNet.
+Licence, see the file COPYING for details. ngIRCd means "next generation
+IRC daemon" (which is a little bit exaggerated, "lightweight Internet Relay
+Chat server" would be better), it's written from scratch and not deduced
+from the "grandfather of IRC daemons", the daemon of the IRCNet.
 
 Please see the INSTALL document for installation and upgrade information!
 
@@ -33,22 +34,24 @@ used in real IRC networks.
 
 Implemented IRC-commands are:
 
-ADMIN, AWAY, CHANINFO, CONNECT, DIE, DISCONNECT, ERROR, HELP, INFO, INVITE,
-ISON, JOIN, KICK, KILL, LINKS, LIST, LUSERS, MODE, MOTD, NAMES, NICK, NJOIN,
-NOTICE, OPER, PART, PASS, PING, PONG, PRIVMSG, QUIT, REHASH, RESTART, SERVER,
-SERVICE, SERVLIST, SQUERY, SQUIT,  STATS, SUMMON, TIME, TOPIC, TRACE, USER,
-USERHOST, USERS, VERSION, WALLOPS, WEBIRC, WHO, WHOIS, WHOWAS.
-
+ADMIN, AWAY, CHANINFO, CONNECT, DIE, DISCONNECT, ERROR, GLINE, HELP, INFO,
+INVITE, ISON, JOIN, KICK, KILL, KLINE, LINKS, LIST, LUSERS, MODE, MOTD,
+NAMES, NICK, NJOIN, NOTICE, OPER, PART, PASS, PING, PONG, PRIVMSG, QUIT,
+REHASH, RESTART, SERVER, SERVICE, SERVLIST, SQUERY, SQUIT, STATS, SUMMON,
+TIME, TOPIC, TRACE, USER, USERHOST, USERS, VERSION, WALLOPS, WEBIRC, WHO,
+WHOIS, WHOWAS.
 
 III. Features (or: why use ngIRCd?)
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
-- no problems with servers which have dynamic IP addresses
-- simple, easy understandable configuration file,
-- freely published open-source C source code,
-- ngIRCd will be developed on in the future.
+- well arranged (lean) configuration file
+- simple to build/install, configure and maintain
+- supports IPv6 and SSL
+- no problems with servers that have dynamic IP addresses
+- freely available, modern, portable and tidy C-source
 - wide field of supported platforms, including AIX, A/UX, FreeBSD, HP-UX,
   IRIX, Linux, Mac OS X, NetBSD, OpenBSD, Solaris, and Windows with Cygwin.
+- ngIRCd is being actively developed since 2001.
 
 
 IV. Documentation
@@ -68,7 +71,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.or.cz/).
+system used by ngIRCd (homepage: http://git-scm.com/).
 
 
 VI. Bugs
@@ -82,5 +85,6 @@ 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: <ngircd-ml@arthur.ath.cx> (please see
-<http://ngircd.barton.de/support.php#ml> for details).
+mail to the ngIRCd mailing list: <ngircd-ml@arthur.barton.de> (please see
+<http://ngircd.barton.de/support.php#ml> for details) or join the ngIRCd
+IRC channel: <irc://irc.barton.de/ngircd>.