cerberus 0.7.6 → 0.7.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|