ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/trunk/doc/resv.txt
Revision: 1029
Committed: Sun Nov 8 13:10:50 2009 UTC (16 years, 8 months ago) by michael
Content type: text/plain
Original Path: ircd-hybrid-7.3/doc/resv.txt
File size: 3774 byte(s)
Log Message:
- branch off trunk to create 7.3 branch

File Contents

# User Rev Content
1 adx 30 /*
2     * doc/resv.txt - Overview of the resv system
3     * Lee Hardy <lee@leeh.co.uk>
4     *
5     * Copyright (C) 2001 Hybrid Development Team
6     *
7 knight 31 * $Id$
8 adx 30 */
9    
10     RESV
11     -======-
12    
13     - What is resv, and why was it coded?
14    
15     Resv is a method of 'juping' or 'reserving' nicks and channels, to prevent
16     local clients using them. It is commonly used to block channels which
17     are home to abusers, and which attract DoS. It can also be used to stop
18     people pretending to be services, on a network that doesn't support them.
19    
20     It was coded to replace the method in hybrid-6 of blocking channels and
21     nicks, and was implemented in a much cleaner way to make it faster.
22    
23     The hybrid-6 method used to have to physically create channels, and
24     suffered flaws, resv does not.
25    
26     - How can I create a resv?
27    
28     There are two types of resv. 'permanent' and 'temporary'. Temporary
29     resv's will be erased when a server restarts (they will stay through a
30     rehash). Permanent resv's will stay through a restart.
31    
32     You may add permanent resv's into ircd.conf, but they are deprecated.
33     They should have the reason for the resv, followed by the nicks and
34     channels being resv'd. The following would block the channel
35     #services, the nick 'services' and any nick ending in 'serv' (ie: chanserv)
36    
37     resv {
38     reason = "There are no services on this network";
39     channel = "#services";
40     nick = "services";
41     nick = "*serv";
42     };
43    
44     All resv's created by RESV are stored in cresv.conf or nresv.conf depending
45     on the nature of the RESV.
46    
47     Syntax: /quote resv <#channel|nick> :<reason>
48    
49     So to resv #warez:
50     /quote resv #warez :No warez on this network.
51    
52     To resv kiddie01:
53     /quote resv kiddie01 :Abuse
54    
55     To resv clone*:
56     /quote resv clone* :clones
57    
58     If a non admin does this, he will see:
59     -irc.leeh.co.uk- You must be an admin to perform a wildcard RESV
60    
61     - How do I remove a resv?
62    
63     If the resv is stored in ircd.conf, then the resv must be removed from there,
64     then a /rehash, should do the trick.
65    
66     If the resv was made using /RESV, then use the unresv command:
67    
68     Syntax: /quote unresv <#channel|nick>
69    
70     - Can I make a resv on all servers?
71    
72     No. In Hybrid resv's are local only. If a channel is full of abusers,
73     the solution is not to just block the channel, the abusers themselves
74     should be removed through /kline and /dline.
75    
76     - How do I list resv's?
77    
78     To list all current resv's:
79     /stats q
80    
81     Which will give a reply like:
82     q #warez No warez *@*
83     Q hax No hackers allowed here
84    
85     If the first letter is a 'q', then the resv is in [cn]resv.conf, if the
86     first letter is a 'Q' then the resv is hardcoded (in ircd.conf).
87    
88     - What does a client see if they try using a channel/nick that is resv'd?
89    
90     They see the numeric 437 (ERR_UNAVAILRESOURCE)
91    
92     Other networks (namely IRCNet) use this numeric on a split, to indicate
93     the channel cannot be joined, as such it is recognised by a lot of
94     clients.
95    
96     - Can an oper see when someone tries to use a resv'd nick/channel?
97    
98     No. When there is a valid reason for this, then possibly, but I honestly
99     don't see why anyone needs it.
100    
101     - Can I resv a local channel?
102    
103     Yes. It takes the same format as creating a resv on a normal channel:
104     /resv &clones :no clonebots!
105    
106     - Do you support wildcard channel resv's?
107    
108     No. This is mainly for speed reasons. When we are searching nicks, we
109     cannot just check if the nick, and the item in the list of resv'd nicks
110     are string equal, we have to check if they match, so we have to search a
111     full list. With channels however, we can search a hash table to see if an
112     entry exists, if it doesn't, then the channel isn't resv'd. We don't have
113     to search through all the channels.
114    
115     Besides.. it's legal for a channel to be called #*warez* anyway ;)

Properties

Name Value
svn:eol-style native
svn:keywords Id Revision