]> jfr.im git - irc/quakenet/snircd-patchqueue.git/blob - snircd.patch
Remove topic_reveal.patch. This has been fixed in IRCU and ircu patch is correct...
[irc/quakenet/snircd-patchqueue.git] / snircd.patch
1 # HG changeset patch
2 # Parent 4ebe7df0737dea7332344504aa2acf9fb8462374
3
4 diff -r 4ebe7df0737d doc/quakenet.conf
5 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
6 +++ b/doc/quakenet.conf Fri Jul 26 19:46:43 2013 +0100
7 @@ -0,0 +1,357 @@
8 +#
9 +# Q U A K E N E T I R C S E R V E R
10 +# S E R V E R C O N F I G F I L E
11 +#
12 +# -----------------------------------------------------------------------------
13 +# v.12 config file, last edited 08.12.2007/paul
14 +# -----------------------------------------------------------------------------
15 +
16 +General {
17 + name = "@@@.@@@.quakenet.org";
18 + description = "@@@";
19 + numeric = @@@;
20 + vhost = "@@@";
21 + dns vhost = "@@@";
22 + dns server = "@@@";
23 + dns server = "@@@";
24 +};
25 +
26 +Admin {
27 + Location = "@@@";
28 + Location = "QuakeNet IRC server";
29 + Contact = "@@@";
30 +};
31 +
32 +# -----------------------------------------------------------------------------
33 +# Classes (aka Ylines)
34 +# -----------------------------------------------------------------------------
35 +# name = "<class>"; pingfreq = time; connectfreq = time;
36 +# maxlinks = number 0 or 1; sendq = size; usermode = "+i";
37 +#
38 +# Uplinks
39 +Class {
40 + name = "Server";
41 + pingfreq = 3 minutes;
42 + connectfreq = 5 minutes;
43 + maxlinks = 1;
44 + sendq = 40000000;
45 +};
46 +
47 +# All the leaf servers you hub for.
48 +Class {
49 + name = "LeafServer";
50 + pingfreq = 3 minutes;
51 + connectfreq = 5 minutes;
52 + maxlinks = 0;
53 + sendq = 40000000;
54 +};
55 +
56 +# Client class (i.e. everyone)
57 +Class {
58 + name = "Users";
59 + pingfreq = 3 minutes;
60 + sendq = 300000;
61 + maxlinks = 30000;
62 + usermode = "+i";
63 +};
64 +
65 +# VIP user class (aka locals, opers etc..)
66 +Class {
67 + name = "Local";
68 + pingfreq = 3 minutes;
69 + sendq = 600000;
70 + maxlinks = 100;
71 + usermode = "+iw";
72 +};
73 +
74 +# Oper class (global)
75 +Class {
76 + name = "Opers";
77 + pingfreq = 3 minutes;
78 + sendq = 10240000;
79 + maxlinks = 10;
80 + local = no;
81 + # privs
82 + die = no;
83 + restart = no;
84 + rehash = no;
85 + jupe = no;
86 + local_jupe = no;
87 + freeform = yes; # change this if you want to disable freeform sethost for your opers
88 +};
89 +
90 +# Oper class (global)
91 +Class {
92 + name = "Admin";
93 + pingfreq = 3 minutes;
94 + sendq = 10240000;
95 + maxlinks = 10;
96 + local = no;
97 +};
98 +
99 +# -----------------------------------------------------------------------------
100 +# Client lines (aka Ilines)
101 +# -----------------------------------------------------------------------------
102 +# username = "ident"; host = "host"; ip = "127.0.0.0/8";
103 +# password = "password"; class = "classname"; maxlinks = 3;
104 +
105 +# Fall back entries (we let everyone in)
106 +Client { class = "Users"; ip = "*@*"; };
107 +Client { class = "Users"; host = "*@*"; };
108 +
109 +# Providers that we've decided to restrict due to abuse mainly.
110 +Client { class = "Users"; maxlinks = 2; host = "*@*.t-dialin.net"; };
111 +Client { class = "Users"; maxlinks = 1; host = "*@*.proxad.net"; };
112 +Client { class = "Users"; maxlinks = 1; host = "*@*.bezeqint.net"; };
113 +Client { class = "Users"; maxlinks = 1; host = "*@*.ono.com"; };
114 +Client { class = "Users"; maxlinks = 1; host = "*@*.wanadoo.nl"; };
115 +Client { class = "Users"; maxlinks = 2; host = "*@*.wanadoo.fr"; };
116 +Client { class = "Users"; maxlinks = 1; host = "*@*.rima-tde.net"; };
117 +
118 +# -----------------------------------------------------------------------------
119 +# UWorld/Jupe (aka ulines)
120 +# -----------------------------------------------------------------------------
121 +
122 +# [UWorld]
123 +UWorld {
124 + name = "CServe.quakenet.org";
125 + name = "operserv.quakenet.org";
126 + name = "operserv2.quakenet.org";
127 + name = "proxyscan.quakenet.org";
128 + name = "services4.uk.quakenet.org";
129 + name = "services.no.quakenet.org";
130 + name = "services.de.quakenet.org";
131 + name = "services.se.quakenet.org";
132 + name = "services.uk.quakenet.org";
133 +};
134 +
135 +Jupe {
136 + nick = "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,{,|,},~,-,_,`";
137 + nick = "UWorld,NickServ,ChanServ,telnet,backdoor,qauth,auth,admin,support,operserv";
138 + nick = "O2";
139 + nick = "NO,noperserv";
140 + nick = "N2,N3,N4,N5,N6,N7,N8,N9";
141 +};
142 +
143 +# -----------------------------------------------------------------------------
144 +# Kill (aka klines)
145 +# -----------------------------------------------------------------------------
146 +# host = "user@host"; reason = "The reason the user will see";
147 +# realname = "realnametoban"; file = "path/to/file/with/reason/to/show";
148 +
149 +Kill {
150 + username = "*root";
151 + reason = "Do not IRC as root";
152 +};
153 +
154 +# -----------------------------------------------------------------------------
155 +# Connect (aka clines)
156 +# -----------------------------------------------------------------------------
157 +# name = "servername"; host = "hostnameORip"; vhost = "localIP";
158 +# password = "passwd"; port = portno; class = "classname";
159 +# maxhops = 2; hub = "*.eu.undernet.org";
160 +# autoconnect = no; (default = yes!)
161 +
162 +# Our primary uplink.
163 +#
164 +#
165 +
166 +Connect {
167 + name = "hub.@@@.quakenet.org";
168 + host = "@@@.@@@.@@@.@@@";
169 + password = "@@@";
170 + port = 4400;
171 + class = "Server";
172 + hub;
173 + autoconnect = yes;
174 +};
175 +
176 +# Our secondary uplink.
177 +#
178 +Connect {
179 + name = "hub.@@@.quakenet.org";
180 + host = "@@@.@@@.@@@.@@@";
181 + password = "@@@";
182 + port = 4400;
183 + class = "Server";
184 + hub;
185 + autoconnect = yes;
186 +};
187 +
188 +# Our tertiary uplink.
189 +#
190 +#
191 +Connect {
192 + name = "hub.@@@.quakenet.org";
193 + host = "@@@.@@@.@@@.@@@";
194 + password = "@@@";
195 + port = 4400;
196 + class = "Server";
197 + hub;
198 + autoconnect = yes;
199 +};
200 +
201 +
202 +
203 +# -----------------------------------------------------------------------------
204 +# CRule (aka dlines)
205 +# -----------------------------------------------------------------------------
206 +# server = "servermask"; rule = "connectrule";
207 +# Setting all to yes makes the rule always apply. Otherwise it only
208 +# applies to autoconnects.
209 +# all = yes;
210 +# The following block is recommended for leaf servers:
211 +CRULE { server = "*"; rule = "directcon(*)"; };
212 +
213 +# -----------------------------------------------------------------------------
214 +# spoofhosts (aka slines)
215 +# -----------------------------------------------------------------------------
216 +# username = "ident" host = "host" password = "passwd"
217 +
218 +# slines (with pw)
219 +#Spoofhost "testsline.quakenet.org" { password = "secret"; };
220 +# slines (without pw) thats how to define them when having freeform turned off.
221 +#Spoofhost "testsline2.quakenet.org" { username = "x"; host = "nohost"; };
222 +
223 +# -----------------------------------------------------------------------------
224 +# Operator (aka Olines)
225 +# -----------------------------------------------------------------------------
226 +
227 +#Server Admin
228 +Operator {
229 + host = "@@@";
230 + host = "@@@";
231 + password = "@@@";
232 + name = "@@@";
233 + class = "Admin";
234 +};
235 +
236 +#Server Operators
237 +Operator {
238 + host = "@@@";
239 + host = "@@@";
240 + password = "@@@";
241 + name = "@@@";
242 + class = "Opers";
243 +};
244 +
245 +# -----------------------------------------------------------------------------
246 +# Quarantine (aka qlines)
247 +# -----------------------------------------------------------------------------
248 +#Quarantine {
249 +# "#shells" = "Thou shalt not support the h4><0rz";
250 +# "&kiddies" = "They can take care of themselves";
251 +#};
252 +
253 +# -----------------------------------------------------------------------------
254 +# Pseudos
255 +# -----------------------------------------------------------------------------
256 +# name = "X"; nick = "X@channels.bla" ; prepend = "LOGIN ";
257 +#Pseudo "CHANSERV" {
258 +# name = "X";
259 +# nick = "X@channels.undernet.org";
260 +#};
261 +Pseudo "AUTH" {
262 + name = "Q";
263 + prepend = "AUTH ";
264 + nick = "q@cserve.quakenet.org";
265 +};
266 +
267 +# -----------------------------------------------------------------------------
268 +# Port (aka plines)
269 +# -----------------------------------------------------------------------------
270 +# port = number; mask = "ipmask" vhost = "virtualhostinterfaceip"
271 +# server = yes; hidden = yes
272 +# mask only contains IP addresses or '*'
273 +# hidden, hides a port from stats
274 +
275 +Port {
276 + port = 4400;
277 + server = yes;
278 + hidden = yes;
279 + vhost = "@@@";
280 +};
281 +
282 +Port {
283 + vhost = "@@@" 6660;
284 + vhost = "@@@" 6661;
285 + vhost = "@@@" 6662;
286 + vhost = "@@@" 6663;
287 + vhost = "@@@" 6664;
288 + vhost = "@@@" 6665;
289 + vhost = "@@@" 6666;
290 + vhost = "@@@" 6667;
291 + vhost = "@@@" 6668;
292 + vhost = "@@@" 6669;
293 +};
294 +
295 +# -----------------------------------------------------------------------------
296 +# Feature (aka F:lines)
297 +# -----------------------------------------------------------------------------
298 +# We better doublecheck what we set here!
299 +
300 +features {
301 + "LOG" = "SYSTEM" "FILE" "ircd.log";
302 + "LOG" = "CONFIG" "FILE" "conf.log";
303 + "LOG" = "SYSTEM" "LEVEL" "CRIT";
304 + "DOMAINNAME"="quakenet.org";
305 + "RELIABLE_CLOCK"="FALSE";
306 + "BUFFERPOOL"="96000000";
307 +# "HAS_FERGUSON_FLUSHER"="FALSE";
308 +# "CLIENT_FLOOD"="1024";
309 +# "SERVER_PORT"="4400";
310 + "NODEFAULTMOTD"="FALSE";
311 +# "MOTD_BANNER"="TRUE";
312 +# "KILL_IPMISMATCH"="FALSE";
313 +# "IDLE_FROM_MSG"="TRUE";
314 + "HUB"="FALSE";
315 +# "WALLOPS_OPER_ONLY"="FALSE";
316 +# "NODNS"="FALSE";
317 + "RANDOM_SEED"="@@@@@@@@@@@@@@@@";
318 +# "DEFAULT_LIST_PARAM"="TRUE";
319 +# "NICKNAMEHISTORYLENGTH"="800";
320 + "NETWORK"="QuakeNet";
321 + "HOST_HIDING"="TRUE";
322 + "SETHOST" = "TRUE";
323 + "SETHOST_USER" = "TRUE";
324 + "SETHOST_AUTO" = "TRUE";
325 + "HIDDEN_HOST"="users.quakenet.org";
326 + "HIDDEN_IP"="127.0.0.1";
327 + "URLREG"="http://www.quakenet.org/getauthed";
328 +# "KILLCHASETIMELIMIT"="30";
329 + "MAXCHANNELSPERUSER"="20";
330 + "NICKLEN" = "15";
331 +# "AVBANLEN"="40";
332 +# "MAXBANS"="45";
333 +# "MAXSILES"="15";
334 +# "HANGONGOODLINK"="300";
335 +# "HANGONRETRYDELAY" = "10";
336 +# "CONNECTTIMEOUT" = "90";
337 +# "MAXIMUM_LINKS" = "1";
338 +# "PINGFREQUENCY" = "120";
339 +# "CONNECTFREQUENCY" = "600";
340 +# "DEFAULTMAXSENDQLENGTH" = "40000";
341 +# "GLINEMAXUSERCOUNT" = "20";
342 +# "MPATH" = "ircd.motd";
343 +# "RPATH" = "remote.motd";
344 +# "PPATH" = "ircd.pid";
345 +# "TOS_SERVER" = "0x08";
346 +# "TOS_CLIENT" = "0x08";
347 +# "POLLS_PER_LOOP" = "200";
348 +# "IRCD_RES_TIMEOUT" = "4";
349 +# "IRCD_RES_RETRIES" = "2";
350 +# "AUTH_TIMEOUT" = "9";
351 +# "IPCHECK_CLONE_LIMIT" = "4";
352 +# "IPCHECK_CLONE_PERIOD" = "40";
353 +# "IPCHECK_CLONE_DELAY" = "600";
354 +# "CHANNELLEN" = "200";
355 + "CONFIG_OPERCMDS" = "TRUE";
356 + "OPLEVELS" = "FALSE";
357 + "ZANNELS" = "FALSE";
358 +# "LOCAL_CHANNELS" = "TRUE";
359 +# "ANNOUNCE_INVITES" = "FALSE";
360 + "HIS_SERVERNAME" = "*.quakenet.org";
361 + "HIS_SERVERINFO" = "QuakeNet IRC Server";
362 + "HIS_URLSERVERS" = "http://www.quakenet.org/serverlist.php";
363 +};
364 +
365 diff -r 4ebe7df0737d doc/readme.snircd
366 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
367 +++ b/doc/readme.snircd Fri Jul 26 19:46:43 2013 +0100
368 @@ -0,0 +1,313 @@
369 +- SNIRCD ----------------------------------------------------------------------
370 +
371 +Snircd is a collection of modifications to the Undernet IRC server known as
372 +ircu. This version is based on version 2.10.12 released by Undernet's
373 +Coder Committee. The original code can be obtained from their webpage,
374 +http://coder-com.undernet.org and the latest release of Snircd can be obtained
375 +from QuakeNet's Development Team webpage, https://www.quakenet.org/development/
376 +
377 +- version history ------------------------------------------------------------
378 +
379 +v1.4.0, HG,
380 +v1.3.4a, HG, Fix CVE-2008-1501
381 +v1.3.4, HG, Fix burst bug, add s,I flags to check, fix sethost bug
382 +v1.3.3, HG, Fix bug in ban handling, spoofhost handling and names
383 +v1.3.2, HG, not released
384 +v1.3.1, HG, not released, upstream patches to u2.10.12.10, warn user if input line is too long,
385 + add additional PRIVS
386 +v1.3.0, SVN, upstream patches/migration to u2.10.12.10
387 + Port of 'asuka' extensions for ircu 2.10.11 to 2.10.12
388 + Development moved to SVN from CVS
389 + chanmode +M, chanmode +T, ACcount token changes, Oper ID,
390 + /check updated, other fixes/updates
391 +v1.2.3, SVN, bug fixes, not released
392 +v1.2.2, SVN, not released
393 +v1.2.1, CVS, bug fixes
394 + WWW, 20/02/2005
395 +v1.2, CVS, upstream patches for u2.10.11.07, bug fixes, added CIDR support
396 + for O:lines, I:lines and bans, added AUTOCHANMODES, added ability
397 + to disable /USERIP, added timestamped invites, added new /CHECK
398 + flags, improved behaviour of chanmodes +c/+N and usermode +R,
399 + enhanced /check server output, added more friendly error messages
400 + when trying to join channels
401 + WWW, 09/02/2005
402 +v1.1, CVS, upstream patches for u2.10.11.06, bug fixes, added HIS_USERGLINE,
403 + added AUTOINVISIBLE, added ability to restart resolver (never released)
404 +v1.0.6, CVS, bug fixes, chanmode +N, added USER_HIDECHANS
405 + WWW, 18/09/2003
406 +v1.0.5, CVS, bug fixes
407 + WWW, 03/09/2003
408 +v1.0.4, CVS, bug fixes
409 + WWW, 28/06/2003
410 +v1.0.3, CVS, bug fixes
411 + WWW, 31/05/2003
412 +v1.0.2, CVS, bug fixes, dropped dlmalloc
413 + WWW, 22/04/2003
414 +v1.0.1, CVS, minor conf/code fixes
415 + WWW, 11/04/2003
416 +v1.0, CVS, 1.0 release, misc. fixes
417 + WWW, 09/04/2003
418 +v0.7.0, CVS, sethost, chanmode +u, misc. fixes
419 + WWW, 15/02/2003
420 +v0.5.1.4, CVS, upstream patches for u2.10.11.04, +R fix
421 +v0.5.1.3, CVS, gline_find fix
422 +v0.5.1.2, CVS, upstream patches
423 +v0.5.1.1, CVS, upstream patches
424 +v0.5.1.0, CVS, added user mode +R
425 +v0.5.0.1, CVS, upstream patches
426 +v0.5.0.0, CVS, updated patches for u2.10.11.03.(dev).5ish, added showing of
427 + full details of /stats C|H to opers
428 +v0.4.7.1, CVS, revert default NETWORK to 'UnderNet'
429 +v0.4.7.0, CVS, removing netrideprot diff, updated patches for u2.10.11.02
430 + WWW, 18/10/2002
431 +v0.4.6.0, CVS, badchans now allow wildcards, 'auditorium' mode added
432 +v0.4.5.6, CVS, bugfixes in kX, add +I
433 +v0.4.5.5, CVS, cC support and crunch warnings in check
434 +v0.4.5.4, CVS, small bugfix in kX
435 +v0.4.5.3, CVS, nick glines check on /nick
436 +v0.4.5.2, CVS, updated patches for u2.10.11.01
437 +v0.4.5.1, CVS, added beta NICK Glines
438 +v0.4.5.0, CVS
439 +
440 +- contributors ---------------------------------------------------------------
441 +
442 +Current Development Team:
443 + Gunnar Beutner <shroud@quakenet.org>
444 + Chris Porter <slug@quakenet.org>
445 + Paul Richards <paul@quakenet.org>
446 + Wiebe <wiebe@quakenet.org>
447 +Developers/Contributors:
448 + Joe Cise <pilsner@quakenet.org>
449 + Rasmus Have <bigfoot@quakenet.org>
450 + Gregory Bristol <qoreq@quakenet.org>
451 + Darren Smith <data@quakenet.org>
452 + David Mansell <splidge@quakenet.org>
453 + Fredrik Söderblom <froo@quakenet.org>
454 + Iain Sheppard <magpie@quakenet.org>
455 + Mike Cartwright <mike@quakenet.org>
456 + Cruicky <cruicky@quakenet.org
457 +Thanks To: Reed Loden <reed@reedloden.com>
458 + Alex Badea <vampire@p16.pub.ro>
459 + Perry Lorier <isomer@coders.net>
460 + Kevin L. Mitchell <klmitch@mit.edu>
461 +Special Thanks To: Tero Nybacka <sivis@sivis.org>
462 + Darren Coleman <durzel@quakenet.org>
463 + For their contributions to Lain (http://dev-com.b2irc.net) and therefore
464 + the basis for most of the ideas in Asuka. Thanks Guys.
465 +
466 +- features ------------------------------------------------------------------
467 +
468 + * Oper mode +X
469 + Allows opers to:
470 + - Join invite only (+i) channels
471 + - Join keyed (+k) channels
472 + - Join channels if banned
473 + - Join full channels
474 + - Override user mode +k
475 +
476 + * Oper mode +k
477 + Allows opers to set user mode +k, network service, which prohibits
478 + kicks, deops and kills.
479 +
480 + * Oper mode +n
481 + Allows opers to hide the channels they are in.
482 +
483 + * Oper mode +I
484 + Allows opers to hide their idle time.
485 +
486 + * User mode +R
487 + Allows users to only accept privmsg/notice/invite from authed users.
488 +
489 + * Channel mode +c
490 + Prohibits mIRC & ANSI colour codes as well as other control codes from
491 + being sent to a channel.
492 +
493 + * Channel mode +C
494 + Prohibits CTCPs from being sent to a channel.
495 +
496 + * Channel mode +N
497 + Prohibits channel notices from being sent to a channel.
498 +
499 + * Channel mode +D and +d
500 + 'Delayed join' mode, when set on a channel joins and parts for that
501 + channel are squelched. A user will be 'invisible' in the channel
502 + from other users until they speak, are opped/voiced or change the
503 + topic. When the +D mode is cleared, 'invisible' users will not be
504 + revealed, instead the +d mode will automatically be set by the ircd
505 + if invisible users remain in the channel. +d will be automatically
506 + removed when the last 'invisible' user either becomes visible or
507 + leaves the channel. It is possible to see the 'invisible' users
508 + on a channel by doing /NAMES -d.
509 +
510 + * Channel mode +u
511 + Hides your quit and part messages from channels with +u set. If a user
512 + is in any +u channel, then their quit message is removed.
513 +
514 + * Channel mode +M
515 + Disallows unauthed users to speak or change nick in a channel when they
516 + are not voiced or opped in a channel
517 +
518 + * Channel mode +T
519 + Blocks multi-target messages to a channel
520 +
521 + * Command /check
522 + Allows opers to see information about a channel, user or server.
523 + Syntax: Check Channel: /check <#channel> [-i|-o|-u]
524 + Check Server: /check <server>
525 + Check User: /check <nick|hostmask|CIDR> [-c]
526 +
527 + Performing a /check on a server returns its status:
528 + * bursting
529 + ! awaiting burst acknowledgement
530 + = network service
531 + + network hub
532 +
533 + * Sethost allows opers (and users w/ passwords) to set their hostname,
534 + also known as spoofing. Sethost is configured from the config file via
535 + S: lines and several F: lines. Sethost is done through the /sethost
536 + command or by setting user mode +h. Available Sethosts are visible by
537 + using the /stats s command.
538 + Syntax: Oper Sethost: /sethost <new ident> <new hostname>
539 + /mode <nick> +h <new ident>@<new hostname>
540 + User Sethost: /sethost <new hostname> <password>
541 + /mode <nick> +h <new hostname> <password>
542 +
543 + * Single letter nicks are protected for use by network services only.
544 +
545 + * Protection from net rider's joining +i/+k channels after a net.join.
546 +
547 + * Topics can by sent during bursts to keep them synced throughout a network.
548 +
549 + * Ability to Gline a nick, new format now nick!ident@host.
550 +
551 + * /stats C & H show full details for Opers.
552 +
553 + * Ability to restart the resolver via /rehash and /DNS r.
554 +
555 + * Ability for services to send BURST outside of net.burst.
556 +
557 +- configuration file options ------------------------------------------------
558 +
559 +S: Sethost Lines
560 + Syntax: S:<spoof host>:<password>:<*.host.cc|a.b.c.*|CIDR>:<ident>
561 + Example: S:moo.fish.moo:elitepassword:host.example.com:user
562 +
563 + This adds the sethost 'moo.fish.moo' that can be activated by a user by using
564 + the password 'elitepassword' and will automatically be applied to anyone
565 + connecting from 'host.example.com' with the ident 'user'.
566 +
567 + More Examples:
568 + Oper sethost for 'moo.fish.moo'
569 + S:moo.fish.moo:::
570 + User & Oper sethost for 'moo.fish.moo'
571 + S:moo.fish.moo:elitepassword::
572 + Oper sethost for 'moo.fish.moo' with auto on 'ident@*.example.com"
573 + S:moo.fish.moo::*.example.com:ident
574 +
575 +F:SETHOST
576 + * Type: boolean
577 + * Default: FALSE
578 +
579 + This enables the /sethost command and user mode +h for opers activating Sethosts.
580 +
581 +F:SETHOST_USER
582 + * Type: boolean
583 + * Default: FALSE
584 +
585 + This enabled the /sethost command and user mode +h for users activating Sethosts
586 + with passwords.
587 +
588 +F:SETHOST_AUTO
589 + * Type: boolean
590 + * Default: FALSE
591 +
592 + This enables the automatic application of Sethosts on matching idents and hosts.
593 +
594 +F:SETHOST_FREEFORM
595 + * Type: boolean
596 + * Default: FALSE
597 +
598 + This enables opers to set new hostnames that do not have a corresponding S: line
599 + in the configuration file, as long as the hostname supplied is reasonably valid.
600 + The usage if this is logged via SNOTICE.
601 +
602 +F:HIS_STATS_s
603 + * Type: boolean
604 + * Default: TRUE
605 +
606 + As per QuakeNet Security, this removes the /stats s from users.
607 +
608 +F:TOPIC_BURST
609 + * Type: boolean
610 + * Default: FALSE
611 +
612 + This selects whether topics are *sent* to other servers during a burst.
613 + Note that receiving topics from servers is always enabled.
614 +
615 +F:HIS_GLINE
616 + * Type: boolean
617 + * Default: TRUE
618 +
619 + As per QuakeNet Security, this removes the reason for GLINE from quit messages.
620 +
621 +F:SOCKSENDBUF
622 + * Type: integer
623 + * Default: 61440
624 +
625 + Sets the socket buffer for sending. Advanced feature, do not change unless you
626 + known what you are doing.
627 +
628 +F:SOCKRECVBUF
629 + * Type: integer
630 + * Default: 61440
631 +
632 + Sets the socket buffer for recieving. Advanced feature, do not change unless you
633 + known what you are doing.
634 +
635 +F:USER_HIDECHANS
636 + * Type: boolean
637 + * Default: FALSE
638 +
639 + This allows normal users to set the +n usermode (hide channels from whois/who),
640 + this is only recommended in special circumstances.
641 +
642 +F:HIS_USERGLINE
643 + * Type: boolean
644 + * Default: TRUE
645 +
646 + This enables / disables the ability for users to use the /GLINE command for
647 + listing active glines. It's turned on by default, which is the opposite
648 + behaviour of vanilla ircu.
649 +
650 +F:AUTOINVISIBLE
651 + * Type: boolean
652 + * Default: TRUE
653 +
654 + As per QuakeNet Security, this option sets user mode +i on all connecting clients
655 + automatically.
656 +
657 +F:HIS_USERIP
658 + * Type: boolean
659 + * Default: TRUE
660 +
661 + As per QuakeNet Security, add the ability to disable the /USERIP command for users.
662 +
663 +F:AUTOCHANMODES
664 + * Type: boolean
665 + * Default: TRUE
666 +
667 + Enable or disable auto (default) channel modes for new channels.
668 +
669 +F:AUTOCHANMODES_LIST
670 + * Type: string
671 + * Default: "ntCN"
672 +
673 + AUTOCHANMODES_LIST should contain the default channelmodes (e.g. "ntCN") which will
674 + be set by default on new channels.
675 +
676 +- disclaimer ----------------------------------------------------------------
677 +
678 +This software is provided "as is" with absolutely no warranties, either express
679 +or implied. It's use is done so totally at the user's own risk.
680 +
681 +-----------------------------------------------------------------------------
682 diff -r 4ebe7df0737d include/ircd_features.h
683 --- a/include/ircd_features.h Thu Jul 25 22:43:12 2013 +0100
684 +++ b/include/ircd_features.h Fri Jul 26 19:46:43 2013 +0100
685 @@ -166,6 +166,7 @@
686 FEAT_HIS_URLSERVERS,
687 FEAT_HIS_USERGLINE,
688 FEAT_HIS_LUSERS_ME,
689 + FEAT_HIS_USERIP,
690
691 /* Misc. random stuff */
692 FEAT_NETWORK,
693 diff -r 4ebe7df0737d include/patchlevel.h
694 --- a/include/patchlevel.h Thu Jul 25 22:43:12 2013 +0100
695 +++ b/include/patchlevel.h Fri Jul 26 19:46:43 2013 +0100
696 @@ -18,7 +18,7 @@
697 * $Id$
698 *
699 */
700 -#define PATCHLEVEL "14"
701 +#define PATCHLEVEL "14+snircd(1.4.0)"
702
703 #define RELEASE ".12."
704
705 diff -r 4ebe7df0737d ircd/Makefile.in
706 --- a/ircd/Makefile.in Thu Jul 25 22:43:12 2013 +0100
707 +++ b/ircd/Makefile.in Fri Jul 26 19:46:43 2013 +0100
708 @@ -294,7 +294,7 @@
709 @${RM} /tmp/ircd.tag
710 ${INSTALL} -s -m 700 -o ${IRCDOWN} -g ${IRCDGRP} umkpasswd ${BINDIR}
711 ${INSTALL} -s -m 700 -o ${IRCDOWN} -g ${IRCDGRP} convert-conf ${BINDIR}
712 - ${INSTALL} -m 600 -o ${IRCDOWN} -g ${IRCDGRP} ${top_srcdir}/doc/example.conf ${DPATH}
713 + ${INSTALL} -m 600 -o ${IRCDOWN} -g ${IRCDGRP} ${top_srcdir}/doc/quakenet.conf ${DPATH}
714
715 install-no-symlink: build mkbindir
716 @if [ ! -d ${DPATH} -a ! -f ${DPATH} ]; then \
717 @@ -308,7 +308,7 @@
718 ${INSTALL} -m ${IRCDMODE} -o ${IRCDOWN} -g ${IRCDGRP} ircd ${BINDIR}/ircd
719 ${INSTALL} -s -m 700 -o ${IRCDOWN} -g ${IRCDGRP} umkpasswd ${BINDIR}
720 ${INSTALL} -s -m 700 -o ${IRCDOWN} -g ${IRCDGRP} convert-conf ${BINDIR}
721 - ${INSTALL} -m 600 -o ${IRCDOWN} -g ${IRCDGRP} ${top_srcdir}/doc/example.conf ${DPATH}
722 + ${INSTALL} -m 600 -o ${IRCDOWN} -g ${IRCDGRP} ${top_srcdir}/doc/quakenet.conf ${DPATH}
723
724 uninstall:
725 @if [ "${BINDIR}" != "${DPATH}" ]; then \
726 diff -r 4ebe7df0737d ircd/ircd_features.c
727 --- a/ircd/ircd_features.c Thu Jul 25 22:43:12 2013 +0100
728 +++ b/ircd/ircd_features.c Fri Jul 26 19:46:43 2013 +0100
729 @@ -431,6 +431,7 @@
730 F_S(HIS_URLSERVERS, 0, "http://www.undernet.org/servers.php", 0),
731 F_B(HIS_USERGLINE, 0, 1, 0),
732 F_B(HIS_LUSERS_ME, 0, 0, 0),
733 + F_B(HIS_USERIP, 0, 1, 0),
734
735 /* Misc. random stuff */
736 F_S(NETWORK, 0, "UnderNet", 0),
737 diff -r 4ebe7df0737d ircd/ircd_relay.c
738 --- a/ircd/ircd_relay.c Thu Jul 25 22:43:12 2013 +0100
739 +++ b/ircd/ircd_relay.c Fri Jul 26 19:46:43 2013 +0100
740 @@ -389,7 +389,7 @@
741 */
742
743 if (IsAccountOnly(acptr) && !IsAccount(sptr) && !IsOper(sptr)) {
744 - send_reply(sptr, ERR_ACCOUNTONLY, cli_name(acptr));
745 + send_reply(sptr, ERR_ACCOUNTONLY, cli_name(acptr), feature_str(FEAT_URLREG));
746 return;
747 }
748
749 diff -r 4ebe7df0737d ircd/m_invite.c
750 --- a/ircd/m_invite.c Thu Jul 25 22:43:12 2013 +0100
751 +++ b/ircd/m_invite.c Fri Jul 26 19:46:43 2013 +0100
752 @@ -167,7 +167,7 @@
753 /* If we get here, it was a VALID and meaningful INVITE */
754
755 if (IsAccountOnly(acptr) && !IsAccount(sptr) && !IsOper(sptr)) {
756 - send_reply(sptr, ERR_ACCOUNTONLY, cli_name(acptr));
757 + send_reply(sptr, ERR_ACCOUNTONLY, cli_name(acptr), feature_str(FEAT_URLREG));
758 return 0;
759 }
760
761 diff -r 4ebe7df0737d ircd/s_err.c
762 --- a/ircd/s_err.c Thu Jul 25 22:43:12 2013 +0100
763 +++ b/ircd/s_err.c Fri Jul 26 19:46:43 2013 +0100
764 @@ -1004,7 +1004,7 @@
765 /* 485 */
766 { ERR_ISREALSERVICE, "%s %s :Cannot kill, kick or deop a network service", "485" },
767 /* 486 */
768 - { ERR_ACCOUNTONLY, "%s :You must be authed in order to message this user", "486" },
769 + { ERR_ACCOUNTONLY, "%s :You must be authed in order to message this user -- For details of how to obtain an account visit %s", "486" },
770 /* 487 */
771 { 0 },
772 /* 488 */