| 1 |
|
/* |
| 2 |
< |
* doc/resv.txt - Overview of the resv system |
| 2 |
> |
* doc/resv.txt - Overview of the resv system |
| 3 |
|
* Lee Hardy <lee@leeh.co.uk> |
| 4 |
|
* |
| 5 |
< |
* Copyright (C) 2001 Hybrid Development Team |
| 5 |
> |
* Copyright (c) 2001-2015 ircd-hybrid development team |
| 6 |
|
* |
| 7 |
|
* $Id$ |
| 8 |
|
*/ |
| 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 |
| 20 |
> |
It was coded to replace the method in ircd-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 |
| 23 |
> |
The ircd-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? |
| 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) |
| 35 |
> |
#services, the nick 'services' and any nick ending in 'serv' (i.e.: chanserv) |
| 36 |
|
|
| 37 |
|
resv { |
| 38 |
< |
reason = "There are no services on this network"; |
| 38 |
> |
reason = "There are no services on this network"; |
| 39 |
|
channel = "#services"; |
| 40 |
|
nick = "services"; |
| 41 |
|
nick = "*serv"; |
| 55 |
|
To resv clone*: |
| 56 |
|
/quote resv clone* :clones |
| 57 |
|
|
| 58 |
< |
If a non admin does this, he will see: |
| 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? |
| 64 |
|
then a /rehash, should do the trick. |
| 65 |
|
|
| 66 |
|
If the resv was made using /RESV, then use the unresv command: |
| 67 |
< |
|
| 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, |
| 72 |
> |
No. In ircd-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 |
|
|
| 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). |
| 86 |
> |
first letter is a 'Q' then the resv is hard-coded (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 |
| 93 |
> |
the channel cannot be joined, as such it is recognized 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 |
| 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 |
< |
|
| 105 |
> |
|
| 106 |
|
- Do you support wildcard channel resv's? |
| 107 |
|
|
| 108 |
< |
No. This is mainly for speed reasons. When we are searching nicks, we |
| 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 |
| 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 ;) |