Commits
- Commit:
ec0b405d9d75045e521136ff28e42d7212f14834
- From:
- Alexander Barton <alex@barton.de>
- Date:
Respect RFC 1459 compatibility mode when announcing channels (no NJOIN).
- Commit:
d93030ad27af9cd6a807de8f672ae73ec0e1dff8
- From:
- Alexander Barton <alex@barton.de>
- Date:
Make real use of the CLIENT_SERVICE client type.
This patch enables ngIRCd to handle IRC services as real services, and not
as "fake users":
- Set correct client type CLIENT_SERVICE for services,
- Change log messages to include correct client type,
- PRIVMSG: allow users to send messages to services,
- Send services nick names to other servers (as users).
Please note that this patch doesn't announce services as services in the
network, but as regular users (as before). Only the local server knows
of services as services (see LUSERS command, for example). It is up to
one of the next patches to fix this and to introduce the SERVICE command
in server to server communication.
The propagation of services as regular users between servers doesn't limit
the functionality of the IRC services and will be the fallback for servers
that don't support "real" services propagation in the future.
- Commit:
258143897ca1a4cbc8b97c9691a0cf83b963705a
- From:
- Alexander Barton <alex@barton.de>
- Date:
Return 461 (syntax error) on "JOIN :" and "PART :"
Up to this patch ngIRCd did not return any result (GIT master) or a badly
formated 403 (":irc.server 403 test :No such channel" [note the two
spaces!], branch-0-12-x) on the above commands, this patch changes the
behaviour to reflect ircd 2.11 which returns 461 in both cases.
- Commit:
258e39e89f494600cf142ba1fd768f2faa285dbf
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fix GCC warnings for possibly uninitialized variables in IRC_JOIN
This patch fixes the following two warnings of GCC 4.2.4:
irc-channel.c: In function "IRC_JOIN":
irc-channel.c:185:
warning: "lastkey" may be used uninitialized in this function
irc-channel.c:185:
warning: "lastchan" may be used uninitialized in this function
- Commit:
b90f71ca2ab1b2eea7ca992b1e51a4b39afe0728
- From:
- Scott Perry <scperry@ucsd.edu>
- Via:
- Florian Westphal <fw@strlen.de>
- Date:
Use strtok_r instead of strchr in IRC_JOIN.
This patch does significant cleanup on the join code by using strtok_r
instead of mangling strchr to parse channel names and keys in parallel when
a JOIN command contains a list of channels and keys.
Also adds an strtok_r implementation to libportab.
- Commit:
956bbe2c2856259756557bbffb41b0bd4c8d347c
- From:
- Alexander Barton <alex@barton.de>
- Date:
Reset client idle time on NICK, JOIN, and PART
- Commit:
83bfdddf995bd0a3b23ce7e7da3719e4b73c782e
- From:
- Rolf Eike Beer <eike@sf-mail.de>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
Allow IRC ops to ignore channel limits when joining
Allow IRC ops to ignore any channel limit (bans, invite only etc.) when they
want to join a channel.
- Commit:
f7c2e8223f95fd984e7b96308905eef505c01680
- From:
- Florian Westphal <fw@strlen.de>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
Always enable modeless channels.
Modeless channels (+channels) are described in RFC 2811;
so my modifications to
530112b114ffa7d5352c0733790ddf90253f41f9
('Add support for modeless channels')
to disable +channels for --strict-rfc configurations
were wrong. This reverts those changes.
- Commit:
530112b114ffa7d5352c0733790ddf90253f41f9
- From:
- Ali Shemiran <ashemira@ucsd.edu>
- Via:
- Alexander Barton <alex@barton.de>
- Date:
Add support for modeless channels
Add support for modeless channels (+channels).
[fw@strlen.de:
- integrate test cases
- don't support +channels when compiled with --strict-rfc
- do not set +o mode for channel creator
- force +nt mode when channel is created ]
- Commit:
25f48a2a342caf962920ee316b258812526f7a9d
- From:
- Alexander Barton <alex@barton.de>
- Date:
IRC_PART(): code and comment cleanup.
- Commit:
44cdf1b1cac5eba318b388312efd9f00206632f8
- From:
- Rolf Eike Beer <eike@sf-mail.de>
- Via:
- Florian Westphal <fw@strlen.de>
- Date:
Fix sending of JOINs between servers.
This does hit only operators that join a channel with at least 2 servers active in the net
the server the oper connects to sends "channel^Go" to the other servers
the other server first searches for the channel and then strips the modes from the channel name
he has to do the other way round: first strip and then check the channel name.
- Commit:
634ef8c13164321abeee37e9516cbfb71e0d0f2e
- From:
- Florian Westphal <fw@strlen.de>
- Date:
IRC_JOIN cleanups.
- put sending of mode and forwarding of JOIN to other clients
into seperate function.
- put sending of topic/channel names into seperate function.
- put access check into seperate function.
- translate/remove remaining german comments.
- stop if JOIN to a channel in a list (JOIN #a,#,b,#c...) fails
(This doesn't change the behaviour: skip-to-next-channel-on-error
did never work as intended)
- Commit:
c634303765c20083c8f554f4d4084526d3e58fef
- From:
- Dana Dahlstrom <dana+70@cs.ucsd.edu>
- Via:
- Florian Westphal <fw@strlen.de>
- Date:
Remove duplicate Channel_FirstChannelOf().
noticed there's a way to make the loop
slightly more elegant.
[fw@strlen.de: Extra () to silence gcc.]
- Commit:
6bd35bf090694a77b4a6c13c8fe5bb52e5905ec1
- From:
- Dana Dahlstrom <dana@cs.ucsd.edu>
- Via:
- Florian Westphal <fw@strlen.de>
- Date:
Implement RFC 2812 handling of "0" argument to JOIN
The students in my software-engineering class are writing IRC clients in
Java, and I'm running ngIRCd as a sandbox for them to play in. We
noticed ngIRCd doesn't obey the "JOIN 0" command specified in RFC 2812:
JOIN 0 ; Leave all currently joined
channels.
http://tools.ietf.org/html/rfc2812#section-3.2.1
I believe the following patch addresses this. Cheers!
[fw@strlen.de: put it into a seperate function]
- Commit:
463c5cb7c5ea272035ea05524001dddbe43156cf
- From:
- Florian Westphal <fw@strlen.de>
- Date:
IRC_PART could reference invalid memory.
- Commit:
69081851aca7191dfa56860ddf02b97aed4b72ba
- From:
- Alexander Barton <alex@barton.de>
- Date:
SECURITY: Fixed a severe bug in handling JOIN commands, which could
cause the server to crash. Thanks to Sebastian Vesper, <net@veoson.net>.
- Commit:
fa7bb2790a1588e49d05cf3404220c3a63669514
- From:
- Florian Westphal <fw@strlen.de>
- Date:
moved invite/ban lists to channel structure
- Commit:
058d3085a955ae9385a27b6b33ee173b5d95fdfa
- From:
- Florian Westphal <fw@strlen.de>
- Date:
New configuration option "PredefChannelsOnly": if set, make
all JOINs to-non existants channel return ERR_BANNEDFROMCHAN_MSG,
restricting users to those channels defined in the config file.
- Commit:
6e105bf87ee5008f32b7557eea2977deb8d10a71
- From:
- Florian Westphal <fw@strlen.de>
- Date:
channel maxusers now unsigned long
- Commit:
4108e16be628aa1a2c0c6aa5e5acba9d2b8d865e
- From:
- Florian Westphal <fw@strlen.de>
- Date:
Channel_Join was severely broken.
- Commit:
4000e01b285bdd2fe40056ae49211e0048639a74
- From:
- Florian Westphal <fw@strlen.de>
- Date:
corrected return value
- Commit:
68d3d36dd6b8c286aa79768ce69ddebb9bf6e7f6
- From:
- Florian Westphal <fw@strlen.de>
- Date:
removed silly if (foo) { if (foo){ }} statement
- Commit:
ab3ac4e466aad50300e1283713dff9dd0178a92b
- From:
- Alexander Barton <alex@barton.de>
- Date:
Removed obsolete debug message.
- Commit:
e708790566cd2874c8332cde7779ff6eef5f9c3c
- From:
- Alexander Barton <alex@barton.de>
- Date:
JOIN now supports more than one channel key at a time.
- Commit:
ca32c1b311379445d1c8bee5705a9371cf2fa1a7
- From:
- Alexander Barton <alex@barton.de>
- Date:
Implementec numeric "333": Time and user name who set a channel topic.
- Commit:
94dd7fa7d6239dabaab243e334399e351c4fdc1f
- From:
- Alexander Barton <alex@barton.de>
- Date:
IRC_LIST(): Added missing calls of Client_ID() and cleand up the code.
- Commit:
8adff5922376676c2eeb49de1cbab86cc345b887
- From:
- Florian Westphal <fw@strlen.de>
- Date:
Remove INT, LONG, BOOLEAN, STATIC, CONST, CHAR datatypes.
use stdbool.h / inttypes.h if available.
- Commit:
4ef172d60331611ddb4d96ba33266998eb7ae505
- From:
- Alexander Barton <alex@barton.de>
- Date:
Implemented support for "secret channels" (channel mode "s").
- Commit:
233210b9063b0c2d49d59cb0f172e119b322e647
- From:
- Alexander Barton <alex@barton.de>
- Date:
Servers other than the destination server didn't clean up the invite
list of an "invite-only" channel properly when an INVITE'd user joined.
- Commit:
cb76d96efb78ca7bdb884ce3327680614ed31940
- From:
- Alexander Barton <alex@barton.de>
- Date:
Fixed some warnings of non-gcc-compilers (e. g. original Apple compiler on
A/UX): "warning: illegal pointer combination, op =".
- Commit:
43d9a62473338cd9e711b395e79c943f6e9857f2
- From:
- Alexander Barton <alex@barton.de>
- Date:
- Enhanced (and fixed) CHANINFO command (channel keys, user limits).
- Commit:
bb94d18115c564c9ee4c3518f808649878cbfb67
- From:
- Alexander Barton <alex@barton.de>
- Date:
- fixed up propagation of modes with arguments between servers.
- Commit:
ae6a7e7c0be06a19d8a46bc4a90b076879db814d
- From:
- Alexander Barton <alex@barton.de>
- Date:
- Fixed up command forwarding: only to servers!
- Commit:
695631b2984111a825346396dc56635a2fe3a7c4
- From:
- Alexander Barton <alex@barton.de>
- Date:
- replaced a lot of strcpy() calls with strlcpy() which is more secure.
- Commit:
69ad0e386e064bf95fc77d179f88d3ae04405d30
- From:
- Alexander Barton <alex@barton.de>
- Date:
- Implemented channel modes k (key) and l (user limit).
- Commit:
00e75ccd7d3c43b1142c65ed2a26408efd1b9c5b
- From:
- Alexander Barton <alex@barton.de>
- Date:
- fixed up Conf_MaxJoins test on JOIN.
- Commit:
5b8b3b83843d121b09b076876612e343d02c9d36
- From:
- Alexander Barton <alex@barton.de>
- Date:
- maximum channels per user limit implemented.
- Commit:
490f28ffd1b42ee2076ce89c62d0e672ee7e541e
- From:
- Alexander Barton <alex@barton.de>
- Date:
- new file header format (in english);
- new file ident semantics.
- Commit:
0c471b84f7985a1f882be9ed2a1af700390f8c9c
- From:
- Alexander Barton <alex@barton.de>
- Date:
- neues Source-Modul "irc-info"; neuer Befehl STATS.
- Commit:
1e59617d2c70ebc4e5008a4233cc759fee715c8f
- From:
- Alexander Barton <alex@barton.de>
- Date:
- Parser auf Befehlstabelle umgestellt.
- Commit:
005391ca5bf5f8a989cf4934fe53eb3bb18a1dd1
- From:
- Alexander Barton <alex@barton.de>
- Date:
- LIST kann nun auch an andere Server geforwarded werden.
- Commit:
a1ded68a4938f55e9a44ba5f048aebc786e463ef
- From:
- Alexander Barton <alex@barton.de>
- Date:
- ein "banned client" darf in einen Channel, wenn er "invited" ist.
- Commit:
1f9ba7b326d05a681129f67f3f65853bb4969e76
- From:
- Alexander Barton <alex@barton.de>
- Date:
- neuen Befehl CHANINFO implementiert: IRC_CHANINFO().
- Commit:
f673fb960a4cf099d5ad95d135dc8686da9b45f3
- From:
- Alexander Barton <alex@barton.de>
- Date:
- an Clients wurden Modes mit fuehrendem ":" geliefert. Das ist zwar RFC-
konform (IMO), macht aber leider grosse(!!) Probleme :-/
- Commit:
d645ce86e9440a891b80bfd2907617e16aa799e8
- From:
- Alexander Barton <alex@barton.de>
- Date:
- Bei einem JOIN in einen persistenten Channel werden nun evtl. zu setzende
User-Modes korrekt in den Channel gemeldet.
- Commit:
39b9f65d0d9ca819b054533b66533afbe7dd973c
- From:
- Alexander Barton <alex@barton.de>
- Date:
- IRC_LIST ruft nun Match() auf und beherrscht somit nun Patterns.
- Commit:
e876e210da36e07c6f81265844bea0727eb9184d
- From:
- Alexander Barton <alex@barton.de>
- Date:
- Code-Stelle in IRC_JOIN "klarer" gemacht :-)
- Commit:
f7567db01f1a9b1e0f0dbef0ee28438c8ece7892
- From:
- Alexander Barton <alex@barton.de>
- Date:
- JOIN: Invite- und Ban-Lists werden nun beachtet.
- Commit:
a2119a660a4fada1a9f4da9fe0cdba8ee58c3318
- From:
- Alexander Barton <alex@barton.de>
- Date:
- fehlerhaften Fehlercode in IRC_TOPIC() gefixed.
- Commit:
c2f60abe55b5a8d320a27df0ce41790fa1141081
- From:
- Alexander Barton <alex@barton.de>
- Date:
- Anpassungen an pre-ANSI-Compiler,
- Includes aufgeraumt: Header includieren keine anderen mehr.
- Commit:
040f5422f2c8262ab19832f1e9d0e269afad8ec1
- From:
- Alexander Barton <alex@barton.de>
- Date:
- persistente und vordefinierte Channels implementiert.
- Commit:
3c0c3c3c5f052a25494234862e21e5ecd686f3a6
- From:
- Alexander Barton <alex@barton.de>
- Date:
- Neue Funktion IRC_LIST() begonnen zu implementieren.
- Commit:
bc4ed22635b00f4906ec1f8dcce44bc86bf00444
- From:
- Alexander Barton <alex@barton.de>
- Date:
- alle Client_GetFromID() durch Client_Search() ersetzt.
- Commit:
ca33cbda05902b0009058d369f88c0a7a43b1bbe
- From:
- Alexander Barton <alex@barton.de>
- Date:
- externe portab-Header werden nicht mehr benoetigt/benutzt, dadurch
einige Aenderungen an diversen Source-Dateien und Headern.
- Dateien enthalten keine CVS-History mehr.
- Commit:
2ee05c9a6856d78f996dfbc991452e4cc1c58c37
- From:
- Alexander Barton <alex@barton.de>
- Date:
- Source in weitere Module fuer IRC-Befehle aufgesplitted.