Module: ngircd.git
Branch: master
Commit: 20ccc1bba7773c0f73afe2bbcc0ffecc7b11269b
URL: http://ngircd.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git&a=commit;h=20ccc1bb…
Author: Alexander Barton <alex(a)barton.de>
Date: Sun Nov 6 21:51:48 2011 +0100
Update GPL 2 license text to current version
See <http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt>.
---
COPYING | 39 +++++++++++++++++++--------------------
1 files changed, 19 insertions(+), 20 deletions(-)
diff --git a/COPYING b/COPYING
index 14db8fc..d159169 100644
--- a/COPYING
+++ b/COPYING
@@ -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.
-
- 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.)
-
+
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.
-
+
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.
-
+
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
-
- 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.
Module: ngircd.git
Branch: master
Commit: 07dbb73c929aa3f478abc51575c2dcafe6a62111
URL: http://ngircd.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git&a=commit;h=07dbb73c…
Author: Alexander Barton <alex(a)barton.de>
Date: Wed Sep 7 15:39:41 2011 +0200
Update doc/GIT.txt
---
doc/GIT.txt | 37 ++++++++++++++++++++++++-------------
1 files changed, 24 insertions(+), 13 deletions(-)
diff --git a/doc/GIT.txt b/doc/GIT.txt
index 4375184..f3b2e63 100644
--- a/doc/GIT.txt
+++ b/doc/GIT.txt
@@ -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(a)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(a)barton.de>.
Module: ngircd.git
Branch: master
Commit: 30796698a9fca0037ea48f70ceafac1e783d06fb
URL: http://ngircd.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git&a=commit;h=30796698…
Author: Alexander Barton <alex(a)barton.de>
Date: Wed Sep 7 14:51:16 2011 +0200
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)
---
src/ngircd/conn.c | 7 ++++---
src/ngircd/conn.h | 4 ++--
src/ngircd/irc-login.c | 3 ++-
src/ngircd/proc.c | 1 -
src/ngircd/resolve.c | 6 ++++--
5 files changed, 12 insertions(+), 9 deletions(-)
diff --git a/src/ngircd/conn.c b/src/ngircd/conn.c
index 407da1a..aa754eb 100644
--- a/src/ngircd/conn.c
+++ b/src/ngircd/conn.c
@@ -1,6 +1,6 @@
/*
* ngIRCd -- The Next Generation IRC Daemon
- * Copyright (c)2001-2010 Alexander Barton <alex(a)barton.de>
+ * Copyright (c)2001-2011 Alexander Barton (alex(a)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
@@ -435,12 +435,13 @@ Conn_Exit( void )
* they don't hold connections open that the main process wants to close.
*/
GLOBAL void
-Conn_CloseAllSockets(void)
+Conn_CloseAllSockets(int ExceptOf)
{
CONN_ID idx;
for(idx = 0; idx < Pool_Size; idx++) {
- if(My_Connections[idx].sock > NONE)
+ if(My_Connections[idx].sock > NONE &&
+ My_Connections[idx].sock != ExceptOf)
close(My_Connections[idx].sock);
}
}
diff --git a/src/ngircd/conn.h b/src/ngircd/conn.h
index c813729..251da2a 100644
--- a/src/ngircd/conn.h
+++ b/src/ngircd/conn.h
@@ -1,6 +1,6 @@
/*
* ngIRCd -- The Next Generation IRC Daemon
- * Copyright (c)2001-2010 Alexander Barton <alex(a)barton.de>
+ * Copyright (c)2001-2011 Alexander Barton (alex(a)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
@@ -106,7 +106,7 @@ GLOBAL long WCounter;
GLOBAL void Conn_Init PARAMS((void ));
GLOBAL void Conn_Exit PARAMS(( void ));
-GLOBAL void Conn_CloseAllSockets PARAMS((void));
+GLOBAL void Conn_CloseAllSockets PARAMS((int ExceptOf));
GLOBAL unsigned int Conn_InitListeners PARAMS(( void ));
GLOBAL void Conn_ExitListeners PARAMS(( void ));
diff --git a/src/ngircd/irc-login.c b/src/ngircd/irc-login.c
index 0577cd9..884a06b 100644
--- a/src/ngircd/irc-login.c
+++ b/src/ngircd/irc-login.c
@@ -1,6 +1,6 @@
/*
* ngIRCd -- The Next Generation IRC Daemon
- * Copyright (c)2001-2010 Alexander Barton (alex(a)barton.de)
+ * Copyright (c)2001-2011 Alexander Barton (alex(a)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
@@ -959,6 +959,7 @@ Hello_User(CLIENT * Client)
} else {
/* Sub process */
Log_Init_Subprocess("Auth");
+ Conn_CloseAllSockets(NONE);
result = PAM_Authenticate(Client);
if (write(pipefd[1], &result, sizeof(result)) != sizeof(result))
Log_Subprocess(LOG_ERR,
diff --git a/src/ngircd/proc.c b/src/ngircd/proc.c
index fd2df1d..7addb47 100644
--- a/src/ngircd/proc.c
+++ b/src/ngircd/proc.c
@@ -79,7 +79,6 @@ Proc_Fork(PROC_STAT *proc, int *pipefds, void (*cbfunc)(int, short), int timeout
signal(SIGALRM, Proc_GenericSignalHandler);
close(pipefds[0]);
alarm(timeout);
- Conn_CloseAllSockets();
return 0;
}
diff --git a/src/ngircd/resolve.c b/src/ngircd/resolve.c
index 9b17af9..c7e6003 100644
--- a/src/ngircd/resolve.c
+++ b/src/ngircd/resolve.c
@@ -1,6 +1,6 @@
/*
* ngIRCd -- The Next Generation IRC Daemon
- * Copyright (c)2001-2009 by Alexander Barton (alex(a)barton.de)
+ * Copyright (c)2001-2011 Alexander Barton (alex(a)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
@@ -75,7 +75,8 @@ Resolve_Addr(PROC_STAT * s, const ng_ipaddr_t *Addr, int identsock,
} else if( pid == 0 ) {
/* Sub process */
Log_Init_Subprocess("Resolver");
- Do_ResolveAddr( Addr, identsock, pipefd[1]);
+ Conn_CloseAllSockets(identsock);
+ Do_ResolveAddr(Addr, identsock, pipefd[1]);
Log_Exit_Subprocess("Resolver");
exit(0);
}
@@ -104,6 +105,7 @@ Resolve_Name( PROC_STAT *s, const char *Host, void (*cbfunc)(int, short))
} else if( pid == 0 ) {
/* Sub process */
Log_Init_Subprocess("Resolver");
+ Conn_CloseAllSockets(NONE);
Do_ResolveName(Host, pipefd[1]);
Log_Exit_Subprocess("Resolver");
exit(0);
Module: ngircd.git
Branch: master
Commit: f173a974bee5181d8131519ed07b3b5261bf6366
URL: http://ngircd.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git&a=commit;h=f173a974…
Author: Alexander Barton <alex(a)barton.de>
Date: Fri Aug 26 16:16:53 2011 +0200
Added doc/Modes.txt: document modes supported by ngIRCd
---
doc/Makefile.am | 19 +++++++--------
doc/Modes.txt | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 76 insertions(+), 10 deletions(-)
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 92e5f8f..c153fec 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -1,13 +1,12 @@
#
# ngIRCd -- The Next Generation IRC Daemon
-# Copyright (c)2001-2010 Alexander Barton (alex(a)barton.de)
+# Copyright (c)2001-2011 Alexander Barton (alex(a)barton.de) and Contributors
#
-# Dieses Programm ist freie Software. Sie koennen es unter den Bedingungen
-# der GNU General Public License (GPL), wie von der Free Software Foundation
-# herausgegeben, weitergeben und/oder modifizieren, entweder unter Version 2
-# der Lizenz oder (wenn Sie es wuenschen) jeder spaeteren Version.
-# Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
-# der an ngIRCd beteiligten Autoren finden Sie in der Datei AUTHORS.
+# 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
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+# Please read the file COPYING, README and AUTHORS for more information.
#
.tmpl:
@@ -17,9 +16,9 @@
SUFFIXES = .tmpl
-static_docs = Bopm.txt FAQ.txt GIT.txt HowToRelease.txt PAM.txt Platforms.txt \
- Protocol.txt README-AUX.txt README-BeOS.txt README-Interix.txt RFC.txt \
- SSL.txt Services.txt
+static_docs = Bopm.txt FAQ.txt GIT.txt HowToRelease.txt Modes.txt PAM.txt \
+ Platforms.txt Protocol.txt README-AUX.txt README-BeOS.txt \
+ README-Interix.txt RFC.txt SSL.txt Services.txt
doc_templates = sample-ngircd.conf.tmpl
diff --git a/doc/Modes.txt b/doc/Modes.txt
new file mode 100644
index 0000000..d644a48
--- /dev/null
+++ b/doc/Modes.txt
@@ -0,0 +1,67 @@
+
+ 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.
+ i 0.0.1 User is "invisible".
+ o 0.0.1 User is IRC operator.
+ r 0.0.1 User is restricted.
+ R 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 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.