James Lu
8170e777e8
protocols: move setting irc.connected to endburst
2017-08-30 19:39:57 -07:00
James Lu
9a84dbde71
protocols: consistently track ENDBURST on sub-servers too
2017-08-30 19:18:39 -07:00
James Lu
8c0f19422f
core: Add irc argument to User and Server classes
...
Also, add a __deepcopy__ override to channel because we cannot clone IRCNetwork objects (locks cannot be pickled).
2017-08-25 13:53:45 -07:00
James Lu
96a202acce
core: make User.channels use IRCCaseInsensitiveSet
...
Closes #515 . This is an API breaking change!
2017-08-25 13:26:34 -07:00
James Lu
1cdb5fc025
hybrid, ratbox: remove extban definitions
2017-08-25 12:24:09 -07:00
James Lu
80766e051e
core: define two (joined) versions of the channels index
...
Closes #509 .
PyLinkNetworkCore.channels is split into the following:
- irc._channels which implicitly creates channels on access (mostly used in protocol modules)
- irc.channels which does not (recommended for use by plugins)
2017-08-25 02:12:08 -07:00
James Lu
30dc4a2b27
hybrid: drop EX and IE from required capabilities
...
This fixes compatibility with hybrid trunk, commit ircd-hybrid/ircd-hybrid@981c61e36c
2017-08-11 15:09:53 -07:00
James Lu
c107f0062f
hybrid, ts6, ratbox: fix +p mode definitions properly
...
+p is noknock and rfc1459-style private on all 3 IRCds, though the latter bit is undocumented in /help cmodes (maybe it's assumed?)
+p is also "paranoia" on hybrid, which adds more restrictions to halfops and /invite
2017-08-11 13:45:40 -07:00
James Lu
046fe0c385
protocols: add headers to modules where missing
2017-08-11 12:27:58 -07:00
James Lu
9702030bf5
protocols: continue removing to_lower() calls on channels ( #372 )
2017-08-07 21:54:33 -07:00
James Lu
b1d5ca36fb
hybrid: add KLINE support ( #139 )
2017-07-17 08:37:43 -07:00
James Lu
3a42c8e835
protocols: add _check_oper_status_change abstraction
...
This condenses a large chunk of the code checking for oper ups, and adds support for the servprotect/admin umodes in an IRCd-independent manner. Closes #451 .
2017-07-07 20:04:21 -07:00
James Lu
5d5c861a93
protocols: rename check_nick_collision to _check_nick_collision
2017-07-07 03:18:40 -07:00
James Lu
a204d2b2db
core: convert IrcUser calls to User
2017-06-30 21:44:31 -07:00
James Lu
927fa9aac9
protocols: updateClient -> update_client
2017-06-30 21:29:38 -07:00
James Lu
f38b9c9a2c
protocols: topicBurst -> topic_burst
2017-06-30 21:29:11 -07:00
James Lu
f60dc8fa37
protocols: spawnClient -> spawn_client
2017-06-30 21:25:58 -07:00
James Lu
a4e321522b
protocols: migrate away from camel case
2017-06-29 22:56:14 -07:00
James Lu
7814914a05
classes, protocols: convert self.irc usage to self
2017-06-25 02:09:52 -07:00
James Lu
d0209f720a
Rewrite network intitialization bits
...
- Move protocols.connect -> protocols.post_connect to fix namespace conflict
- Starting an IRC connection is now explicit (via irc.connect instead of __init__)
2017-06-25 01:12:58 -07:00
James Lu
8acf39cad6
protocols: rename _send to _send_with_prefix to avoid clashing with process_queue
2017-06-24 23:47:30 -07:00
James Lu
08c0082430
protocols: rename checkCollision -> check_nick_collision() ( #454 )
2017-05-09 20:44:48 -07:00
James Lu
9e0e47064a
hybrid, ratbox: re-disable slash-in-hosts
2017-03-24 00:24:06 -07:00
James Lu
d318fbac77
protocols: migrate away from irc.botdata ( #273 )
2017-03-05 00:09:01 -08:00
James Lu
5f6337a734
Merge branch 'master' into devel
...
Conflicts:
plugins/networks.py
2016-12-18 00:15:24 -08:00
James Lu
194a62fcea
protocols: implement basic nick collision detection in UID handlers
...
Closes #285 . Closes #375 .
2016-12-18 00:13:42 -08:00
James Lu
c57fabc9ef
core, protocols: add server argument to IrcUser ( #355 )
2016-11-09 18:40:16 -08:00
James Lu
36e18929de
docs, hybrid, ratbox: Mode definition updates
2016-10-01 13:41:11 -07:00
James Lu
4dd0709f66
protocols, core: remove unused imports
2016-10-01 12:43:12 -07:00
James Lu
f60e17907a
hybrid, unreal: switch to irc.toLower() for channels
2016-08-01 18:06:38 -07:00
James Lu
481d70eff8
New import paths for properly installed pylinkirc
2016-06-20 18:18:54 -07:00
James Lu
5d5d4acd55
hybrid: rename debug umode (+g) to sno_debug
2016-05-31 20:57:17 -07:00
James Lu
2864c41d7a
hybrid: only call endburst once per connection
...
Since this is based off TS6, both initial PING and EOB are handled as endburst. However, ENDBURST should only be called once per session, or things are respawned automatically and nick collisions happen.
2016-05-14 14:06:14 -07:00
James Lu
064cb9b6aa
core: move reverseModes, joinModes into Irc
2016-04-30 16:33:46 -07:00
James Lu
bd0874a484
Merge branch 'wip/split-utils' into devel
2016-04-29 23:32:52 -07:00
James Lu
b61ac21e86
hybrid, ts6: adjust umode definitions again
...
- Prefix non-standard snomask umodes with sno_ to avoid confusion
- Remove _hybrid suffixes and chary_ prefixes, they serve little use
- Re-map some hybrid modes to match existing definitions: showadmin->admin, smessages->snomask, hideops->hideoper, softcallerid->deaf_commonchan
2016-04-29 22:39:37 -07:00
James Lu
1bd2bd760c
hybrid, nefarious: add missing BURST/SJOIN->JOIN hook mapping
...
Reported by Rascle on IRC.
2016-04-27 16:42:38 -07:00
James Lu
a8fc9428cf
protocols: migrate to irc.parseModes/applyModes ( #199 )
2016-04-24 21:44:31 -07:00
James Lu
40a86de040
protocols: reword spawnClient description text
2016-04-24 21:17:56 -07:00
James Lu
f8c2ee3ed3
protocols: use KeyedDefaultdict to enumerate UID generators
2016-04-24 21:16:41 -07:00
James Lu
2c60aa6395
Separate UID/SID generators into various protocol modules ( #199 )
2016-04-24 21:08:07 -07:00
James Lu
c59997827f
hybrid, ts6: update mode definitions
...
- +p is actually just noknock on hybrid & charybdis
- Fill in *A-*D lists (they were incomplete)
2016-04-18 11:22:54 -07:00
James Lu
248c0cbb78
hybrid: virtual umodes +d/+x don't take arguments
2016-04-08 22:20:23 -07:00
James Lu
32038e666a
hybrid: track vHost changes ( #198 )
2016-04-08 22:02:08 -07:00
James Lu
d0655b701a
hybrid: implement services account tracking ( #198 )
2016-04-08 21:38:41 -07:00
James Lu
3ec3d4cebb
hybrid: Fix typo in 0be83449fb
( #198 )
2016-04-08 20:57:03 -07:00
James Lu
e4cd028e86
hybrid: prettier logging, fix wrong argument being passed to IrcUser
2016-04-08 20:46:03 -07:00
James Lu
b3447b74c2
hybrid: make a note of how hybrid UID differs from standard TS6
...
These are two mutually incompatible implementations, which is why this module exists separately from ts6!
2016-04-08 20:41:27 -07:00
James Lu
5a6a6ca40e
hybrid: require caps EX IE SVS EOB HOPS QS TBURST SVS
2016-04-08 20:40:54 -07:00
James Lu
3dbae3b744
hybrid: fix EOB handler name
2016-04-08 20:36:14 -07:00