cerberus 0.7.6 → 0.7.7
Sign up to get free protection for your applications and to get access to all the features.
- data/Changelog.txt +21 -1
- data/Rakefile +2 -2
- data/lib/cerberus/cli.rb +1 -1
- data/lib/cerberus/constants.rb +1 -1
- data/lib/cerberus/manager.rb +5 -5
- data/lib/cerberus/publisher/base.rb +1 -1
- data/lib/cerberus/publisher/irc.rb +8 -13
- data/lib/cerberus/publisher/mail.rb +1 -0
- data/lib/cerberus/scm/git.rb +1 -1
- data/lib/vendor/addressable/CHANGELOG +88 -0
- data/lib/vendor/addressable/LICENSE +20 -0
- data/lib/vendor/addressable/README +50 -0
- data/lib/vendor/addressable/Rakefile +74 -0
- data/lib/vendor/addressable/addressable.gemspec +30 -0
- data/lib/vendor/addressable/lib/addressable/idna.rb +4871 -0
- data/lib/vendor/addressable/lib/addressable/template.rb +1049 -0
- data/lib/vendor/addressable/lib/addressable/uri.rb +2078 -0
- data/lib/vendor/addressable/lib/addressable/version.rb +36 -0
- data/lib/vendor/addressable/spec/addressable/idna_spec.rb +194 -0
- data/lib/vendor/addressable/spec/addressable/template_spec.rb +2152 -0
- data/lib/vendor/addressable/spec/addressable/uri_spec.rb +3914 -0
- data/lib/vendor/addressable/spec/data/rfc3986.txt +3419 -0
- data/lib/vendor/addressable/tasks/clobber.rake +2 -0
- data/lib/vendor/addressable/tasks/gem.rake +68 -0
- data/lib/vendor/addressable/tasks/git.rake +40 -0
- data/lib/vendor/addressable/tasks/metrics.rake +22 -0
- data/lib/vendor/addressable/tasks/rdoc.rake +29 -0
- data/lib/vendor/addressable/tasks/rubyforge.rake +89 -0
- data/lib/vendor/addressable/tasks/spec.rake +47 -0
- data/lib/vendor/addressable/website/index.html +110 -0
- data/lib/vendor/shout-bot/TODO +2 -0
- data/lib/vendor/shout-bot/lib/shout-bot.rb +76 -0
- data/lib/vendor/shout-bot/shout-bot.gemspec +13 -0
- data/lib/vendor/tinder/CHANGELOG.txt +39 -0
- data/lib/vendor/tinder/Manifest.txt +10 -0
- data/lib/vendor/tinder/README.txt +48 -0
- data/lib/vendor/tinder/Rakefile +45 -0
- data/lib/vendor/tinder/VERSION +1 -0
- data/lib/vendor/tinder/init.rb +1 -0
- data/lib/vendor/tinder/lib/tinder.rb +12 -0
- data/lib/vendor/tinder/lib/tinder/campfire.rb +75 -0
- data/lib/vendor/tinder/lib/tinder/connection.rb +74 -0
- data/lib/vendor/tinder/lib/tinder/multipart.rb +63 -0
- data/lib/vendor/tinder/lib/tinder/room.rb +225 -0
- data/lib/vendor/tinder/site/index.html +101 -0
- data/lib/vendor/tinder/site/stylesheets/style.css +77 -0
- data/lib/vendor/tinder/spec/fixtures/rooms.json +18 -0
- data/lib/vendor/tinder/spec/fixtures/rooms/room80749.json +21 -0
- data/lib/vendor/tinder/spec/fixtures/rooms/room80751.json +21 -0
- data/lib/vendor/tinder/spec/fixtures/rooms/show.json +21 -0
- data/lib/vendor/tinder/spec/fixtures/users/me.json +11 -0
- data/lib/vendor/tinder/spec/spec.opts +2 -0
- data/lib/vendor/tinder/spec/spec_helper.rb +12 -0
- data/lib/vendor/tinder/spec/tinder/campfire_spec.rb +53 -0
- data/lib/vendor/tinder/spec/tinder/connection_spec.rb +29 -0
- data/lib/vendor/tinder/spec/tinder/room_spec.rb +98 -0
- data/lib/vendor/tinder/tinder.gemspec +79 -0
- data/test/functional_test.rb +19 -4
- data/test/integration_test.rb +1 -1
- data/test/irc_publisher_test.rb +4 -4
- data/test/mock/manager.rb +1 -1
- metadata +58 -20
- data/lib/vendor/irc/README +0 -23
- data/lib/vendor/irc/lib/IRC.rb +0 -164
- data/lib/vendor/irc/lib/IRCChannel.rb +0 -33
- data/lib/vendor/irc/lib/IRCConnection.rb +0 -134
- data/lib/vendor/irc/lib/IRCEvent.rb +0 -91
- data/lib/vendor/irc/lib/IRCUser.rb +0 -23
- data/lib/vendor/irc/lib/IRCUtil.rb +0 -49
- data/lib/vendor/irc/lib/eventmap.yml +0 -247
@@ -1,33 +0,0 @@
|
|
1
|
-
require "IRCUser"
|
2
|
-
|
3
|
-
# Represents an IRC Channel
|
4
|
-
class IRCChannel
|
5
|
-
def initialize(name)
|
6
|
-
@name = name
|
7
|
-
@users = Array.new(0)
|
8
|
-
end
|
9
|
-
attr_reader :name
|
10
|
-
|
11
|
-
# set the topic on this channel
|
12
|
-
def topic=(topic)
|
13
|
-
@topic = topic
|
14
|
-
end
|
15
|
-
|
16
|
-
# get the topic on this channel
|
17
|
-
def topic
|
18
|
-
if @topic
|
19
|
-
return @topic
|
20
|
-
end
|
21
|
-
return "No Topic set"
|
22
|
-
end
|
23
|
-
|
24
|
-
# add a user to this channel's userlist
|
25
|
-
def add_user(username)
|
26
|
-
@users.push(IRCUser.create_user(username))
|
27
|
-
end
|
28
|
-
|
29
|
-
# returns the current user list for this channel
|
30
|
-
def users
|
31
|
-
@users
|
32
|
-
end
|
33
|
-
end
|
@@ -1,134 +0,0 @@
|
|
1
|
-
|
2
|
-
# Handles connection to IRC Server
|
3
|
-
class IRCConnection
|
4
|
-
@@quit = 0
|
5
|
-
@@readsockets = Array.new(0)
|
6
|
-
@@output_buffer = Array.new(0)
|
7
|
-
@@events = Hash.new()
|
8
|
-
@@last_send = Time.now.to_f
|
9
|
-
@@message_delay = 0.2 # Default delay to 1 fifth of a second.
|
10
|
-
# Creates a socket connection and then yields.
|
11
|
-
def IRCConnection.handle_connection(server, port, nick='ChangeMe', realname='MeToo', options = nil)
|
12
|
-
@server = server;
|
13
|
-
@port = port
|
14
|
-
@nick = nick
|
15
|
-
@realname = realname
|
16
|
-
@@options = options
|
17
|
-
if options.nil?
|
18
|
-
@@options = Array.new(0)
|
19
|
-
end
|
20
|
-
socket = create_tcp_socket(server, port)
|
21
|
-
add_IO_socket(socket) {|sock|
|
22
|
-
begin
|
23
|
-
IRCEvent.new(sock.readline.chomp)
|
24
|
-
rescue Errno::ECONNRESET
|
25
|
-
# Catches connection reset by peer, attempts to reconnect
|
26
|
-
# after sleeping for 10 second.
|
27
|
-
remove_IO_socket(sock)
|
28
|
-
sleep 10
|
29
|
-
handle_connection(@server, @port, @nick, @realname, @@options)
|
30
|
-
end
|
31
|
-
}
|
32
|
-
send_to_server "NICK #{nick}"
|
33
|
-
send_to_server "USER #{nick} 8 * :#{realname}"
|
34
|
-
if block_given?
|
35
|
-
yield
|
36
|
-
@@socket.close
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
|
-
def IRCConnection.create_tcp_socket(server, port)
|
41
|
-
# Now with SSL Support. Thanks to dominiek@digigen.nl for the idea on this.
|
42
|
-
tcpsocket = TCPsocket.open(server, port)
|
43
|
-
if @@options[:use_ssl]
|
44
|
-
ssl_context = OpenSSL::SSL::SSLContext.new()
|
45
|
-
ssl_context.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
46
|
-
@@socket = OpenSSL::SSL::SSLSocket.new(tcpsocket, ssl_context)
|
47
|
-
@@socket.sync = true
|
48
|
-
@@socket.connect
|
49
|
-
else
|
50
|
-
@@socket = tcpsocket
|
51
|
-
end
|
52
|
-
|
53
|
-
if block_given?
|
54
|
-
yield
|
55
|
-
@@socket.close
|
56
|
-
return
|
57
|
-
end
|
58
|
-
return @@socket
|
59
|
-
end
|
60
|
-
|
61
|
-
# Sends a line of text to the server
|
62
|
-
def IRCConnection.send_to_server(line)
|
63
|
-
@@socket.write(line + "\n")
|
64
|
-
end
|
65
|
-
|
66
|
-
# Adds data an output buffer. This let's us keep a handle on how
|
67
|
-
# fast we send things. Yay.
|
68
|
-
def IRCConnection.output_push(line)
|
69
|
-
@@output_buffer.push(line)
|
70
|
-
end
|
71
|
-
|
72
|
-
# This loop monitors all IO_Sockets IRCConnection controls
|
73
|
-
# (including the IRC socket) and yields events to the IO_Sockets
|
74
|
-
# event handler.
|
75
|
-
def IRCConnection.main
|
76
|
-
while(@@quit == 0)
|
77
|
-
do_one_loop { |event|
|
78
|
-
yield event
|
79
|
-
}
|
80
|
-
end
|
81
|
-
end
|
82
|
-
|
83
|
-
# Makes one single loop pass, checking all sockets for data to read,
|
84
|
-
# and yields the data to the sockets event handler.
|
85
|
-
def IRCConnection.do_one_loop
|
86
|
-
read_sockets = select(@@readsockets, nil, nil, 0.1);
|
87
|
-
if !read_sockets.nil?
|
88
|
-
read_sockets[0].each {|sock|
|
89
|
-
if sock.eof? && sock == @@socket
|
90
|
-
remove_IO_socket(sock)
|
91
|
-
sleep 10
|
92
|
-
handle_connection(@server, @port, @nick, @realname)
|
93
|
-
else
|
94
|
-
yield @@events[sock.object_id.to_i].call(sock)
|
95
|
-
end
|
96
|
-
}
|
97
|
-
end
|
98
|
-
if @@output_buffer.length > 0
|
99
|
-
timer = Time.now.to_f
|
100
|
-
if (timer > @@last_send + @@message_delay)
|
101
|
-
message = @@output_buffer.shift();
|
102
|
-
if !message.nil?
|
103
|
-
IRCConnection.send_to_server(message);
|
104
|
-
@@last_send = timer
|
105
|
-
end
|
106
|
-
end
|
107
|
-
end
|
108
|
-
end
|
109
|
-
|
110
|
-
# Ends connection to the irc server
|
111
|
-
def IRCConnection.quit
|
112
|
-
@@quit = 1
|
113
|
-
end
|
114
|
-
def IRCConnection.delay=(delay)
|
115
|
-
@@message_delay = delay.to_f
|
116
|
-
end
|
117
|
-
# Retrieves user info from the server
|
118
|
-
def IRCConnection.get_user_info(user)
|
119
|
-
IRCConnection.send_to_server("WHOIS #{user}")
|
120
|
-
end
|
121
|
-
|
122
|
-
# Adds a new socket to the list of sockets to monitor for new data.
|
123
|
-
def IRCConnection.add_IO_socket(socket, &event_generator)
|
124
|
-
@@readsockets.push(socket)
|
125
|
-
@@events[socket.object_id.to_i] = event_generator
|
126
|
-
end
|
127
|
-
|
128
|
-
def IRCConnection.remove_IO_socket(sock)
|
129
|
-
sock.close
|
130
|
-
@@readsockets.delete_if {|item| item == sock }
|
131
|
-
end
|
132
|
-
end
|
133
|
-
|
134
|
-
|
@@ -1,91 +0,0 @@
|
|
1
|
-
require 'yaml'
|
2
|
-
|
3
|
-
# This is a lookup class for IRC event name mapping
|
4
|
-
class EventLookup
|
5
|
-
@@lookup = YAML.load_file("#{File.dirname(__FILE__)}/eventmap.yml")
|
6
|
-
|
7
|
-
# returns the event name, given a number
|
8
|
-
def EventLookup::find_by_number(num)
|
9
|
-
return @@lookup[num.to_i]
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
|
-
|
14
|
-
# Handles an IRC generated event.
|
15
|
-
# Handlers are for the IRC framework to use
|
16
|
-
# Callbacks are for users to add.
|
17
|
-
# Both handlers and callbacks can be called for the same event.
|
18
|
-
class IRCEvent
|
19
|
-
@@handlers = { 'ping' => lambda {|event| IRCConnection.send_to_server("PONG #{event.message}") } }
|
20
|
-
@@callbacks = Hash.new()
|
21
|
-
attr_reader :hostmask, :message, :event_type, :from, :channel, :target, :mode, :stats
|
22
|
-
def initialize (line)
|
23
|
-
line.sub!(/^:/, '')
|
24
|
-
mess_parts = line.split(':', 2);
|
25
|
-
# mess_parts[0] is server info
|
26
|
-
# mess_parts[1] is the message that was sent
|
27
|
-
@message = mess_parts[1]
|
28
|
-
@stats = mess_parts[0].scan(/[-`\^\{\}\[\]\w.\#\@\+]+/)
|
29
|
-
if @stats[0].match(/^PING/)
|
30
|
-
@event_type = 'ping'
|
31
|
-
elsif @stats[1] && @stats[1].match(/^\d+/)
|
32
|
-
@event_type = EventLookup::find_by_number(@stats[1]);
|
33
|
-
@channel = @stats[3]
|
34
|
-
else
|
35
|
-
@event_type = @stats[2].downcase if @stats[2]
|
36
|
-
end
|
37
|
-
|
38
|
-
if @event_type != 'ping'
|
39
|
-
@from = @stats[0]
|
40
|
-
@user = IRCUser.create_user(@from)
|
41
|
-
end
|
42
|
-
# FIXME: this list would probably be more accurate to exclude commands than to include them
|
43
|
-
@hostmask = @stats[1] if %W(topic privmsg join).include? @event_type
|
44
|
-
@channel = @stats[3] if @stats[3] && !@channel
|
45
|
-
@target = @stats[5] if @stats[5]
|
46
|
-
@mode = @stats[4] if @stats[4]
|
47
|
-
if @mode.nil? && @event_type == 'mode'
|
48
|
-
# Server modes (like +i) are sent in the 'message' part, and not
|
49
|
-
# the 'stat' part of the message.
|
50
|
-
@mode = @message
|
51
|
-
end
|
52
|
-
|
53
|
-
# Unfortunatly, not all messages are created equal. This is our
|
54
|
-
# special exceptions section
|
55
|
-
if @event_type == 'join'
|
56
|
-
@channel = @message
|
57
|
-
end
|
58
|
-
|
59
|
-
end
|
60
|
-
|
61
|
-
# Adds a callback for the specified irc message.
|
62
|
-
def IRCEvent.add_callback(message_id, &callback)
|
63
|
-
@@callbacks[message_id] = callback
|
64
|
-
end
|
65
|
-
|
66
|
-
# Adds a handler to the handler function hash.
|
67
|
-
def IRCEvent.add_handler(message_id, proc=nil, &handler)
|
68
|
-
if block_given?
|
69
|
-
@@handlers[message_id] = handler
|
70
|
-
elsif proc
|
71
|
-
@@handlers[message_id] = proc
|
72
|
-
end
|
73
|
-
end
|
74
|
-
|
75
|
-
# Process this event, preforming which ever handler and callback is specified
|
76
|
-
# for this event.
|
77
|
-
def process
|
78
|
-
handled = nil
|
79
|
-
if @@handlers[@event_type]
|
80
|
-
@@handlers[@event_type].call(self)
|
81
|
-
handled = 1
|
82
|
-
end
|
83
|
-
if @@callbacks[@event_type]
|
84
|
-
@@callbacks[@event_type].call(self)
|
85
|
-
handled = 1
|
86
|
-
end
|
87
|
-
if !handled
|
88
|
-
end
|
89
|
-
end
|
90
|
-
end
|
91
|
-
|
@@ -1,23 +0,0 @@
|
|
1
|
-
# Represents IRC Users
|
2
|
-
class IRCUser
|
3
|
-
@@users = Hash.new()
|
4
|
-
@modes = Hash.new()
|
5
|
-
|
6
|
-
def IRCUser.create_user(username)
|
7
|
-
username.sub!(/^[\@\%]/,'')
|
8
|
-
|
9
|
-
if @@users[username]
|
10
|
-
return @@users[username]
|
11
|
-
end
|
12
|
-
@@users[username] = self.new(username)
|
13
|
-
@@users[username]
|
14
|
-
end
|
15
|
-
|
16
|
-
attr_reader :username, :mask
|
17
|
-
attr_writer :mask
|
18
|
-
|
19
|
-
private
|
20
|
-
def initialize (username)
|
21
|
-
@username = username
|
22
|
-
end
|
23
|
-
end
|
@@ -1,49 +0,0 @@
|
|
1
|
-
#
|
2
|
-
# IRCUtil is a module that contains utility functions for use with the
|
3
|
-
# rest of Ruby-IRC. There is nothing required of the user to know or
|
4
|
-
# even use these functions, but they are useful for certain tasks
|
5
|
-
# regarding IRC connections.
|
6
|
-
#
|
7
|
-
|
8
|
-
module IRCUtil
|
9
|
-
#
|
10
|
-
# Matches hostmasks against hosts. Returns t/f on success/fail.
|
11
|
-
#
|
12
|
-
# A hostmask consists of a simple wildcard that describes a
|
13
|
-
# host or class of hosts.
|
14
|
-
#
|
15
|
-
# f.e., where the host is 'bar.example.com', a host mask
|
16
|
-
# of '*.example.com' would assert.
|
17
|
-
#
|
18
|
-
|
19
|
-
def assert_hostmask(host, hostmask)
|
20
|
-
return !!host.match(quote_regexp_for_mask(hostmask))
|
21
|
-
end
|
22
|
-
|
23
|
-
module_function :assert_hostmask
|
24
|
-
|
25
|
-
#
|
26
|
-
# A utility function used by assert_hostmask() to turn hostmasks
|
27
|
-
# into regular expressions.
|
28
|
-
#
|
29
|
-
# Rarely, if ever, should be used by outside code. It's public
|
30
|
-
# exposure is merely for those who are interested in it's
|
31
|
-
# functionality.
|
32
|
-
#
|
33
|
-
|
34
|
-
def quote_regexp_for_mask(hostmask)
|
35
|
-
# Big thanks to Jesse Williamson for his consultation while writing this.
|
36
|
-
#
|
37
|
-
# escape all other regexp specials except for . and *.
|
38
|
-
# properly escape . and place an unescaped . before *.
|
39
|
-
# confine the regexp to scan the whole line.
|
40
|
-
# return the edited hostmask as a string.
|
41
|
-
hostmask.gsub(/([\[\]\(\)\?\^\$])\\/, '\\1').
|
42
|
-
gsub(/\./, '\.').
|
43
|
-
gsub(/\*/, '.*').
|
44
|
-
sub(/^/, '^').
|
45
|
-
sub(/$/, '$')
|
46
|
-
end
|
47
|
-
|
48
|
-
module_function :quote_regexp_for_mask
|
49
|
-
end
|
@@ -1,247 +0,0 @@
|
|
1
|
-
# 001 ne 1 for the purpose of hash keying apparently.
|
2
|
-
001 : welcome
|
3
|
-
002 : yourhost
|
4
|
-
003 : created
|
5
|
-
004 : myinfo
|
6
|
-
005 : map # Undernet Extension, Kajetan@Hinner.com, 17/11/98
|
7
|
-
006 : mapmore # Undernet Extension, Kajetan@Hinner.com, 17/11/98
|
8
|
-
007 : mapend # Undernet Extension, Kajetan@Hinner.com, 17/11/98
|
9
|
-
008 : snomask # Undernet Extension, Kajetan@Hinner.com, 17/11/98
|
10
|
-
009 : statmemtot # Undernet Extension, Kajetan@Hinner.com, 17/11/98
|
11
|
-
010 : statmem # Undernet Extension, Kajetan@Hinner.com, 17/11/98
|
12
|
-
200 : tracelink
|
13
|
-
201 : traceconnecting
|
14
|
-
202 : tracehandshake
|
15
|
-
203 : traceunknown
|
16
|
-
204 : traceoperator
|
17
|
-
205 : traceuser
|
18
|
-
206 : traceserver
|
19
|
-
208 : tracenewtype
|
20
|
-
209 : traceclass
|
21
|
-
211 : statslinkinfo
|
22
|
-
212 : statscommands
|
23
|
-
213 : statscline
|
24
|
-
214 : statsnline
|
25
|
-
215 : statsiline
|
26
|
-
216 : statskline
|
27
|
-
217 : statsqline
|
28
|
-
218 : statsyline
|
29
|
-
219 : endofstats
|
30
|
-
220 : statsbline # UnrealIrcd, Hendrik Frenzel
|
31
|
-
221 : umodeis
|
32
|
-
222 : sqline_nick # UnrealIrcd, Hendrik Frenzel
|
33
|
-
223 : statsgline # UnrealIrcd, Hendrik Frenzel
|
34
|
-
224 : statstline # UnrealIrcd, Hendrik Frenzel
|
35
|
-
225 : statseline # UnrealIrcd, Hendrik Frenzel
|
36
|
-
226 : statsnline # UnrealIrcd, Hendrik Frenzel
|
37
|
-
227 : statsvline # UnrealIrcd, Hendrik Frenzel
|
38
|
-
231 : serviceinfo
|
39
|
-
232 : endofservices
|
40
|
-
233 : service
|
41
|
-
234 : servlist
|
42
|
-
235 : servlistend
|
43
|
-
241 : statslline
|
44
|
-
242 : statsuptime
|
45
|
-
243 : statsoline
|
46
|
-
244 : statshline
|
47
|
-
245 : statssline # Reserved, Kajetan@Hinner.com, 17/10/98
|
48
|
-
246 : statstline # Undernet Extension, Kajetan@Hinner.com, 17/10/98
|
49
|
-
247 : statsgline # Undernet Extension, Kajetan@Hinner.com, 17/10/98
|
50
|
-
### TODO: need numerics to be able to map to multiple strings
|
51
|
-
### 247 : statsxline # UnrealIrcd, Hendrik Frenzel
|
52
|
-
248 : statsuline # Undernet Extension, Kajetan@Hinner.com, 17/10/98
|
53
|
-
249 : statsdebug # Unspecific Extension, Kajetan@Hinner.com, 17/10/98
|
54
|
-
250 : luserconns # 1998-03-15 -- tkil
|
55
|
-
251 : luserclient
|
56
|
-
252 : luserop
|
57
|
-
253 : luserunknown
|
58
|
-
254 : luserchannels
|
59
|
-
255 : luserme
|
60
|
-
256 : adminme
|
61
|
-
257 : adminloc1
|
62
|
-
258 : adminloc2
|
63
|
-
259 : adminemail
|
64
|
-
261 : tracelog
|
65
|
-
262 : endoftrace # 1997-11-24 -- archon
|
66
|
-
265 : n_local # 1997-10-16 -- tkil
|
67
|
-
266 : n_global # 1997-10-16 -- tkil
|
68
|
-
271 : silelist # Undernet Extension, Kajetan@Hinner.com, 17/10/98
|
69
|
-
272 : endofsilelist # Undernet Extension, Kajetan@Hinner.com, 17/10/98
|
70
|
-
275 : statsdline # Undernet Extension, Kajetan@Hinner.com, 17/10/98
|
71
|
-
280 : glist # Undernet Extension, Kajetan@Hinner.com, 17/10/98
|
72
|
-
281 : endofglist # Undernet Extension, Kajetan@Hinner.com, 17/10/98
|
73
|
-
290 : helphdr # UnrealIrcd, Hendrik Frenzel
|
74
|
-
291 : helpop # UnrealIrcd, Hendrik Frenzel
|
75
|
-
292 : helptlr # UnrealIrcd, Hendrik Frenzel
|
76
|
-
293 : helphlp # UnrealIrcd, Hendrik Frenzel
|
77
|
-
294 : helpfwd # UnrealIrcd, Hendrik Frenzel
|
78
|
-
295 : helpign # UnrealIrcd, Hendrik Frenzel
|
79
|
-
300 : none
|
80
|
-
301 : away
|
81
|
-
302 : userhost
|
82
|
-
303 : ison
|
83
|
-
304 : rpl_text # Bahamut IRCD
|
84
|
-
305 : unaway
|
85
|
-
306 : nowaway
|
86
|
-
307 : userip # Undernet Extension, Kajetan@Hinner.com, 17/10/98
|
87
|
-
308 : rulesstart # UnrealIrcd, Hendrik Frenzel
|
88
|
-
309 : endofrules # UnrealIrcd, Hendrik Frenzel
|
89
|
-
310 : whoishelp # (July01-01)Austnet Extension, found by Andypoo <andypoo@secret.com.au>
|
90
|
-
311 : whoisuser
|
91
|
-
312 : whoisserver
|
92
|
-
313 : whoisoperator
|
93
|
-
314 : whowasuser
|
94
|
-
315 : endofwho
|
95
|
-
316 : whoischanop
|
96
|
-
317 : whoisidle
|
97
|
-
318 : endofwhois
|
98
|
-
319 : whoischannels
|
99
|
-
320 : whoisvworld # (July01-01)Austnet Extension, found by Andypoo <andypoo@secret.com.au>
|
100
|
-
321 : liststart
|
101
|
-
322 : list
|
102
|
-
323 : listend
|
103
|
-
324 : channelmodeis
|
104
|
-
329 : channelcreate # 1997-11-24 -- archon
|
105
|
-
331 : notopic
|
106
|
-
332 : topic
|
107
|
-
333 : topicinfo # 1997-11-24 -- archon
|
108
|
-
334 : listusage # Undernet Extension, Kajetan@Hinner.com, 17/10/98
|
109
|
-
335 : whoisbot # UnrealIrcd, Hendrik Frenzel
|
110
|
-
341 : inviting
|
111
|
-
342 : summoning
|
112
|
-
346 : invitelist # UnrealIrcd, Hendrik Frenzel
|
113
|
-
347 : endofinvitelist # UnrealIrcd, Hendrik Frenzel
|
114
|
-
348 : exlist # UnrealIrcd, Hendrik Frenzel
|
115
|
-
349 : endofexlist # UnrealIrcd, Hendrik Frenzel
|
116
|
-
351 : version
|
117
|
-
352 : whoreply
|
118
|
-
353 : namreply
|
119
|
-
354 : whospcrpl # Undernet Extension, Kajetan@Hinner.com, 17/10/98
|
120
|
-
361 : killdone
|
121
|
-
362 : closing
|
122
|
-
363 : closeend
|
123
|
-
364 : links
|
124
|
-
365 : endoflinks
|
125
|
-
366 : endofnames
|
126
|
-
367 : banlist
|
127
|
-
368 : endofbanlist
|
128
|
-
369 : endofwhowas
|
129
|
-
371 : info
|
130
|
-
372 : motd
|
131
|
-
373 : infostart
|
132
|
-
374 : endofinfo
|
133
|
-
375 : motdstart
|
134
|
-
376 : endofmotd
|
135
|
-
377 : motd2 # 1997-10-16 -- tkil
|
136
|
-
378 : austmotd # (July01-01)Austnet Extension, found by Andypoo <andypoo@secret.com.au>
|
137
|
-
379 : whoismodes # UnrealIrcd, Hendrik Frenzel
|
138
|
-
381 : youreoper
|
139
|
-
382 : rehashing
|
140
|
-
383 : youreservice # UnrealIrcd, Hendrik Frenzel
|
141
|
-
384 : myportis
|
142
|
-
385 : notoperanymore # Unspecific Extension, Kajetan@Hinner.com, 17/10/98
|
143
|
-
386 : qlist # UnrealIrcd, Hendrik Frenzel
|
144
|
-
387 : endofqlist # UnrealIrcd, Hendrik Frenzel
|
145
|
-
388 : alist # UnrealIrcd, Hendrik Frenzel
|
146
|
-
389 : endofalist # UnrealIrcd, Hendrik Frenzel
|
147
|
-
391 : time
|
148
|
-
392 : usersstart
|
149
|
-
393 : users
|
150
|
-
394 : endofusers
|
151
|
-
395 : nousers
|
152
|
-
401 : nosuchnick
|
153
|
-
402 : nosuchserver
|
154
|
-
403 : nosuchchannel
|
155
|
-
404 : cannotsendtochan
|
156
|
-
405 : toomanychannels
|
157
|
-
406 : wasnosuchnick
|
158
|
-
407 : toomanytargets
|
159
|
-
408 : nosuchservice # UnrealIrcd, Hendrik Frenzel
|
160
|
-
409 : noorigin
|
161
|
-
411 : norecipient
|
162
|
-
412 : notexttosend
|
163
|
-
413 : notoplevel
|
164
|
-
414 : wildtoplevel
|
165
|
-
416 : querytoolong # Undernet Extension, Kajetan@Hinner.com, 17/10/98
|
166
|
-
421 : unknowncommand
|
167
|
-
422 : nomotd
|
168
|
-
423 : noadmininfo
|
169
|
-
424 : fileerror
|
170
|
-
425 : noopermotd # UnrealIrcd, Hendrik Frenzel
|
171
|
-
431 : nonicknamegiven
|
172
|
-
432 : erroneusnickname # This iz how its speld in thee RFC.
|
173
|
-
433 : nicknameinuse
|
174
|
-
434 : norules # UnrealIrcd, Hendrik Frenzel
|
175
|
-
435 : serviceconfused # UnrealIrcd, Hendrik Frenzel
|
176
|
-
436 : nickcollision
|
177
|
-
437 : bannickchange # Undernet Extension, Kajetan@Hinner.com, 17/10/98
|
178
|
-
438 : nicktoofast # Undernet Extension, Kajetan@Hinner.com, 17/10/98
|
179
|
-
439 : targettoofast # Undernet Extension, Kajetan@Hinner.com, 17/10/98
|
180
|
-
440 : servicesdown # Bahamut IRCD
|
181
|
-
441 : usernotinchannel
|
182
|
-
442 : notonchannel
|
183
|
-
443 : useronchannel
|
184
|
-
444 : nologin
|
185
|
-
445 : summondisabled
|
186
|
-
446 : usersdisabled
|
187
|
-
447 : nonickchange # UnrealIrcd, Hendrik Frenzel
|
188
|
-
451 : notregistered
|
189
|
-
455 : hostilename # UnrealIrcd, Hendrik Frenzel
|
190
|
-
459 : nohiding # UnrealIrcd, Hendrik Frenzel
|
191
|
-
460 : notforhalfops # UnrealIrcd, Hendrik Frenzel
|
192
|
-
461 : needmoreparams
|
193
|
-
462 : alreadyregistered
|
194
|
-
463 : nopermforhost
|
195
|
-
464 : passwdmismatch
|
196
|
-
465 : yourebannedcreep # I love this one...
|
197
|
-
466 : youwillbebanned
|
198
|
-
467 : keyset
|
199
|
-
468 : invalidusername # Undernet Extension, Kajetan@Hinner.com, 17/10/98
|
200
|
-
469 : linkset # UnrealIrcd, Hendrik Frenzel
|
201
|
-
470 : linkchannel # UnrealIrcd, Hendrik Frenzel
|
202
|
-
471 : channelisfull
|
203
|
-
472 : unknownmode
|
204
|
-
473 : inviteonlychan
|
205
|
-
474 : bannedfromchan
|
206
|
-
475 : badchannelkey
|
207
|
-
476 : badchanmask
|
208
|
-
477 : needreggednick # Bahamut IRCD
|
209
|
-
478 : banlistfull # Undernet Extension, Kajetan@Hinner.com, 17/10/98
|
210
|
-
479 : secureonlychannel # pircd
|
211
|
-
### TODO: see above todo
|
212
|
-
### 479 : linkfail # UnrealIrcd, Hendrik Frenzel
|
213
|
-
480 : cannotknock # UnrealIrcd, Hendrik Frenzel
|
214
|
-
481 : noprivileges
|
215
|
-
482 : chanoprivsneeded
|
216
|
-
483 : cantkillserver
|
217
|
-
484 : ischanservice # Undernet Extension, Kajetan@Hinner.com, 17/10/98
|
218
|
-
485 : killdeny # UnrealIrcd, Hendrik Frenzel
|
219
|
-
486 : htmdisabled # UnrealIrcd, Hendrik Frenzel
|
220
|
-
489 : secureonlychan # UnrealIrcd, Hendrik Frenzel
|
221
|
-
491 : nooperhost
|
222
|
-
492 : noservicehost
|
223
|
-
501 : umodeunknownflag
|
224
|
-
502 : usersdontmatch
|
225
|
-
511 : silelistfull # Undernet Extension, Kajetan@Hinner.com, 17/10/98
|
226
|
-
513 : nosuchgline # Undernet Extension, Kajetan@Hinner.com, 17/10/98
|
227
|
-
513 : badping # Undernet Extension, Kajetan@Hinner.com, 17/10/98
|
228
|
-
518 : noinvite # UnrealIrcd, Hendrik Frenzel
|
229
|
-
519 : admonly # UnrealIrcd, Hendrik Frenzel
|
230
|
-
520 : operonly # UnrealIrcd, Hendrik Frenzel
|
231
|
-
521 : listsyntax # UnrealIrcd, Hendrik Frenzel
|
232
|
-
524 : operspverify # UnrealIrcd, Hendrik Frenzel
|
233
|
-
|
234
|
-
600 : rpl_logon # Bahamut IRCD
|
235
|
-
601 : rpl_logoff # Bahamut IRCD
|
236
|
-
602 : rpl_watchoff # UnrealIrcd, Hendrik Frenzel
|
237
|
-
603 : rpl_watchstat # UnrealIrcd, Hendrik Frenzel
|
238
|
-
604 : rpl_nowon # Bahamut IRCD
|
239
|
-
605 : rpl_nowoff # Bahamut IRCD
|
240
|
-
606 : rpl_watchlist # UnrealIrcd, Hendrik Frenzel
|
241
|
-
607 : rpl_endofwatchlist # UnrealIrcd, Hendrik Frenzel
|
242
|
-
610 : mapmore # UnrealIrcd, Hendrik Frenzel
|
243
|
-
640 : rpl_dumping # UnrealIrcd, Hendrik Frenzel
|
244
|
-
641 : rpl_dumprpl # UnrealIrcd, Hendrik Frenzel
|
245
|
-
642 : rpl_eodump # UnrealIrcd, Hendrik Frenzel
|
246
|
-
|
247
|
-
999 : numericerror # Bahamut IRCD
|