James Lu
f618b96b34
inspircd: add VERSION handling
...
InspIRCd is different from the rest in that it stores and caches version data for other servers during BURST, instead of whenever it is requested by a client.
2016-03-26 11:35:29 -07:00
James Lu
23056e97e3
protocols & coreplugin: add handlers for VERSION requests
2016-03-26 11:27:07 -07:00
James Lu
e183078645
protocols: Remove "secret" testing channel name
2016-03-20 17:34:13 -07:00
James Lu
6962f3b73e
ts6: unset has_eob correctly on reconnects
2016-03-19 18:19:41 -07:00
James Lu
15b35f1853
ts6: support charybdis +T mode ( closes #173 )
2016-03-07 21:38:57 -08:00
James Lu
d531201850
Merge branch 'master' into devel
2016-02-27 17:47:55 -08:00
James Lu
a7a98c9a52
inspircd: format kill reasons like "Killed (sourcenick (reason))"
...
InspIRCd will show the raw kill message sent from servers as the quit message.
So, make kills look actually like a kill instead of someone quitting with an arbitrary message.
2016-02-26 07:16:39 -08:00
James Lu
decdf141fd
unreal: don't use updateClient to update hostname of clients internally
2016-02-20 18:19:15 -08:00
James Lu
2ebdb4bad6
unreal: support services account tracking ( #25 ), fix handle_SVSMODE applying modes on the wrong target
2016-02-20 18:16:21 -08:00
James Lu
cabdb11f86
inspircd: implement services account tracking ( #25 )
2016-02-20 17:54:46 -08:00
James Lu
0fff91edfd
ts6: implement services account tracking ( #25 )
...
This adds a new protocol hook: [user_logging_in, 'CLIENT_SERVICES_LOGIN', {'text': account_name}], sent whenever someone logs in to services. Actual state tracking is done in coreplugin.py
2016-02-07 18:38:22 -08:00
James Lu
5877031203
Merge branch 'master' into devel
2016-01-30 23:39:08 -08:00
James Lu
341c208513
inspircd, ts6: don't crash when receiving an unrecognized UID
2016-01-27 18:41:25 -08:00
James Lu
fdad7c9c16
ts6: record null IPs as 0.0.0.0 instead of 0
2016-01-23 13:52:37 -08:00
James Lu
3c3ae104ba
unreal: remove bad check for users connecting via IPv4
...
This fixes a crash when... anyone using IPv4 connects.
2016-01-23 13:52:37 -08:00
James Lu
4b939ea641
ts6: rewrite end-of-burst code (EOB is literally just a PING in ts6)
2016-01-23 13:52:37 -08:00
James Lu
06d22722dc
protocols: parse modes on the TARGET, not the sender
...
This fixes crashes on AssertionError when the sender of a MODE is a server.
2016-01-19 21:23:07 -08:00
James Lu
bb9d87bdca
inspircd: split protocol negotiation handlers into separate functions ( #156 )
...
Use the generic handle_events in ts6_common, which passes everything to event handlers appropriately.
2016-01-17 21:03:10 -08:00
James Lu
814ebc9fe0
ts6: use new-style module design ( #156 )
2016-01-16 18:14:46 -08:00
James Lu
a220659eaf
Move unreal's handle_events block to ts6_common
...
Precursor to part 2 of #156 .
2016-01-16 17:48:22 -08:00
James Lu
812a866a4e
protocols: rename pingServer -> ping
2016-01-16 17:11:23 -08:00
James Lu
3d0bf18001
protocols: rename topicClient -> topic; topicServer -> topicBurst
...
This is one of the few commands that I won't consolidate at this time, because there is actually a difference in how most IRCds handle topic bursts and normal topic changes
2016-01-16 17:09:52 -08:00
James Lu
5ccf204c75
protocols: consolidate modeClient and modeServer into mode()
2016-01-16 17:08:17 -08:00
James Lu
eef97ac035
protocols: consolidate killServer / killClient into kill()
2016-01-16 17:03:22 -08:00
James Lu
975ace3e04
ts6_common: consolidate kickClient and kickServer into kick
2016-01-16 16:56:40 -08:00
James Lu
ee65ac60e1
protocols: rename sjoinServer(...) -> sjoin(...)
2016-01-16 16:53:46 -08:00
James Lu
9a61e64dfc
protocols: squitServer(...) -> squit(...)
2016-01-16 16:53:06 -08:00
James Lu
5324475d18
protocols: quitClient(...) -> quit(...), partClient(...) -> part(...)
2016-01-16 16:51:54 -08:00
James Lu
7e5284969d
protocols: rename nickClient(...) -> nick(...)
2016-01-16 16:51:04 -08:00
James Lu
196282db86
protocols: numericServer(...) -> numeric(...)
2016-01-16 16:47:35 -08:00
James Lu
3a53005d8c
protocols: messageClient -> message, noticeClient -> notice
2016-01-16 16:44:23 -08:00
James Lu
108be5e25e
protocols: rename knockClient -> knock
2016-01-16 16:41:17 -08:00
James Lu
20cb65e668
protocols: rename awayClient -> away
2016-01-16 16:40:36 -08:00
James Lu
b4e5c57a35
protocols: rename inviteClient(...) -> invite(...)
2016-01-16 16:38:27 -08:00
James Lu
acdd7dbb78
protocols: rename joinClient(...) -> join(...)
2016-01-16 16:36:45 -08:00
James Lu
ff6841c551
protocols: record the right sender in TOPIC handlers (first part of #127 )
2016-01-09 20:50:55 -08:00
James Lu
8db8f6b6c4
note to self: never use case-insensitive find/replace again
2016-01-09 18:34:41 -08:00
James Lu
48203ff321
protocols: reword error text
2016-01-09 17:44:18 -08:00
James Lu
9a43a620f9
unreal: implicitly set +xt when SETHOST or CHGHOST is received ( #136 )
2016-01-03 11:28:35 -08:00
James Lu
adcb61da67
unreal: update users' hosts properly on setting +x/-x
...
Closes #136 .
2016-01-03 11:28:26 -08:00
James Lu
eac934c237
classes: sort code, move nickToUid, clientToServer, isInternalClient, isInternalServer into the Irc class
...
The following BREAKING changes are made:
utils.nickToUid(irc, nick) -> irc.nickToUid(nick)
utils.isInternalClient(irc, uid) -> irc.isInternalClient(uid)
utils.isInternalServer(irc, uid) -> irc.isInternalServer(uid)
utils.clientToServer(irc, uid) -> utils.getServer(uid)
2015-12-31 17:28:47 -08:00
James Lu
8b8895988d
ts6: map EUID hook to UID
2015-12-30 16:53:35 -08:00
James Lu
741fed9acd
protocols: allow changing remote users' hosts in updateClient
...
Closes #142 .
2015-12-30 15:54:09 -08:00
James Lu
f3d8c35219
ts6: fix sending wrong UID in handle_chghost hook payload
2015-12-30 15:53:31 -08:00
James Lu
bf7522697a
Rename PYLINK_CLIENT_OPERED hook -> CLIENT_OPERED
...
To be consistent, any PYLINK_* hooks should internal hooks sent out by PyLink itself. CLIENT_OPERED, on the other hand, requires protocol modules to send it and thus, shouldn't be labeled as a PYLINK_* hook.
2015-12-26 15:41:22 -08:00
James Lu
11adee9d78
Yet another documentation refresh ( #113 )
2015-12-26 14:45:28 -08:00
James Lu
3c51231ce8
inspircd: re-add RSQUIT handler ( closes #150 )
2015-12-24 19:52:52 -08:00
James Lu
3f45450969
unreal: move setting irc.connected to AFTER protocol negotiation, and add missing EOS (ENDBURST) handler
...
The lack of the latter caused relay to *fail* to spawn users whenever an Unreal server reconnects, which should be fixed now.
2015-12-24 18:13:53 -08:00
James Lu
349cff36e1
protocols: in TOPIC hooks, send the topic as keyword "text" instead of keyword "topic"
...
This is just to be more consistent, as other hooks usually use "text" for text fields.
2015-12-18 22:05:10 -08:00
James Lu
d60a48bb11
protocols: actually update away status in awayClient
...
"Oops, I forgot to do this."
2015-12-17 21:50:50 -08:00