Module: ngircd.git
Branch: master
Commit: 18ecc2fd811d3419c597fc31663f3f4a0e14824b
URL: http://ngircd.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git&a=commit;h=18ecc2fd…
Author: Alexander Barton <alex(a)barton.de>
Date: Sun Feb 3 18:59:44 2013 +0100
Commands.txt: Add description for the "CAP" command
---
doc/Commands.txt | 36 +++++++++++++++++++++++++++++++++++-
1 file changed, 35 insertions(+), 1 deletion(-)
diff --git a/doc/Commands.txt b/doc/Commands.txt
index c6e0637..ac77c65 100644
--- a/doc/Commands.txt
+++ b/doc/Commands.txt
@@ -46,7 +46,41 @@ Connection Handling Commands
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- CAP
- See doc/Capabilities.txt
+ CAP LS
+ CAP LIST
+ CAP REQ <capabilities>
+ CAP ACK <capabilities>
+ CAP NAK <capabilities>
+ CAP CLEAR
+ CAP END
+ .
+ List, request, and clear "IRC Capabilities".
+ .
+ Using this command, an IRC client can request additional "IRC
+ capabilities" during login or later on, which influences the
+ communication between server and client. Normally, these commands
+ aren't directly used by humans, but automatically by their client
+ software. And please note that issuing such commands manually can
+ irritate the client software used, because of the "non-standard"
+ behavior of the server!
+ .
+ - CAP LS: list all available capabilities.
+ - CAP LIST: list active capabilities of this connection.
+ - CAP REQ: Request particular capabilities.
+ - CAP ACK: Acknowledge a set of capabilities to be enabled/disabled.
+ - CAP NAK: Reject a set of capabilities.
+ - CAP CLEAR: Clear all set capabilities.
+ - CAP END: Indicate end of capability negotiation during login,
+ ignored in an fully registered session.
+
+ Please note that the <capabilities> must be given in a single
+ parameter but whitespace separated, therefore a command could look
+ like this: "CAP REQ :capability1 capability2 capability3" for example.
+
+ References:
+ - <http://ircv3.atheme.org/specification/capability-negotiation-3.1>
+ - <http://ngircd.barton.de/doc/Capabilities.txt>
+ - doc/Capabilities.txt
- CHARCONV
See doc/Protocol.txt
Module: ngircd.git
Branch: master
Commit: 1e8b775a7a6d0c390e037bd73332072e7c510525
URL: http://ngircd.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git&a=commit;h=1e8b775a…
Author: Alexander Barton <alex(a)barton.de>
Date: Fri Feb 8 17:18:43 2013 +0100
"WHO <hostmask>": use displayed hostname for matching
Use the currently "displayed hostname" (which can be cloaked!) for
hostname matching, not the real one. In other words: don't display
all the cloaked users on a specific real hostname!
Thanks to DNS <dns(a)rbose.org> for reporting this issue.
---
src/ngircd/irc-info.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/ngircd/irc-info.c b/src/ngircd/irc-info.c
index e9c1ff5..f9c9b0d 100644
--- a/src/ngircd/irc-info.c
+++ b/src/ngircd/irc-info.c
@@ -951,7 +951,7 @@ IRC_WHO_Mask(CLIENT *Client, char *Mask, bool OnlyOps)
if (Mask) {
/* Match pattern against user host/server/name/nick */
client_match = MatchCaseInsensitive(Mask,
- Client_Hostname(c));
+ Client_HostnameDisplayed(c));
if (!client_match)
client_match = MatchCaseInsensitive(Mask,
Client_ID(Client_Introducer(c)));
Module: ngircd.git
Branch: master
Commit: 419ff38a07cb0b1637b444c96cd6868a7a9e5524
URL: http://ngircd.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git&a=commit;h=419ff38a…
Author: Alexander Barton <alex(a)barton.de>
Date: Sun Jan 27 12:25:58 2013 +0100
autogen.sh: Don't use "egrep -o", use "sed"
"egrep -o" isn't portable and not available on OpenBSD, for example. So
let's use sed instead to get the automake version. The expression used
now is less specific but should work as well ...
---
autogen.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/autogen.sh b/autogen.sh
index b1fa883..08cd4c2 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -153,7 +153,7 @@ echo "Searching for required tools ..."
[ -z "$AUTOMAKE" ] && Notfound automake
[ -z "$AUTOCONF" ] && Notfound autoconf
-AM_VERSION=`$AUTOMAKE --version|head -n 1|egrep -o "([1-9]\.[0-9]+(\.[0-9]+)*)"`
+AM_VERSION=`$AUTOMAKE --version | head -n 1 | sed -e 's/.* //g'`
ifs=$IFS; IFS="."; set $AM_VERSION; IFS=$ifs
AM_MAJOR="$1"; AM_MINOR="$2"; AM_PATCHLEVEL="$3"
echo "Detected automake $AM_VERSION ..."
Module: ngircd.git
Branch: master
Commit: d38d153f51738da31d40036c7c48b32d82234018
URL: http://ngircd.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git&a=commit;h=d38d153f…
Author: Alexander Barton <alex(a)barton.de>
Date: Sat Jan 26 16:52:41 2013 +0100
Streamline punctuation of log messages
Make sure that all log messages end with a correct punctuation mark.
The rules for formatting log messages are:
1. Add punctuation marks to all messages passed to the actual logging
functions like Log() and LogDebug().
2. Don't add any punctuation marks to messages that are stored in
variables for later use or are passed over the network.
3. IP addresses, DNS host names and IRC server names should be quoted.
4. Messages originating in the network should be quoted (at least if
they are "untrusted" or variable).
Most probably this patch doesn't fix all mistakes, but it should be a
good starting point ...
---
src/ngircd/channel.c | 4 ++--
src/ngircd/client.c | 41 ++++++++++++++++++++++++++---------------
src/ngircd/conn.c | 29 +++++++++++++----------------
src/ngircd/io.c | 2 +-
src/ngircd/irc-login.c | 11 ++++++-----
src/ngircd/irc-server.c | 4 ++--
src/ngircd/irc.c | 2 +-
src/ngircd/ngircd.c | 22 ++++++++++++----------
8 files changed, 63 insertions(+), 52 deletions(-)
Diff: http://ngircd.barton.de/cgi-bin/gitweb.cgi?p=ngircd.git&a=commitdiff;h=d38d…