James Lu
19bd3ec0b2
Merge branch 'wip/rework-endburst' into devel
2017-08-31 13:27:54 -07:00
James Lu
9e7af9ac3d
ServiceBot: migrate to irc.is_channel
2017-08-31 13:19:34 -07:00
James Lu
ac89f45683
ngircd: rework NJOIN code
...
- Fix "Internal NJOIN error"s caused by joining users already in the channel again
- Fix NJOIN being sent from the wrong internal server
- Condense two iterations over the user list into one
2017-08-31 13:17:28 -07:00
James Lu
450718cce6
relay: don't block on client spawning
...
Just fail instantly if the remote isn't ready.
2017-08-31 12:27:52 -07:00
James Lu
e02393c22b
Merge branch 'devel' into wip/rework-endburst
2017-08-31 12:20:58 -07:00
James Lu
85a7dd3dff
example, relay_cb: migrate to irc.is_channel
2017-08-30 21:22:19 -07:00
James Lu
36d6581bba
automode, bots: migrate to irc.is_channel
2017-08-30 21:20:19 -07:00
James Lu
979d5a48f1
relay: migrate away from deprecated utils.isHostmask
2017-08-30 21:09:19 -07:00
James Lu
9380336948
relay: fall back to the current time on TS-less servers if the remote channel doesn't exist
2017-08-30 21:08:54 -07:00
James Lu
136e5fbee7
conf: fix getDatabaseName calling the wrong variable name
...
(cherry picked from commit 21b8b51cba
)
2017-08-30 20:13:51 -07:00
James Lu
94e05a6233
services_support: fix clientbot service spawning when irc.pseudoclient exists but isn't in the user index
2017-08-30 19:50:25 -07:00
James Lu
bc48709595
PyLinkNetworkCore: fix extraneous warnings in get_service_bot
2017-08-30 19:48:46 -07:00
James Lu
8170e777e8
protocols: move setting irc.connected to endburst
2017-08-30 19:39:57 -07:00
James Lu
cad55097f1
core: reuse existing service client UIDs for all service bots
...
This prevents nick collision wars caused by spawn_service when an ENDBURST hook for the uplink is received multiple times.
2017-08-30 19:29:46 -07:00
James Lu
21b8b51cba
conf: fix getDatabaseName calling the wrong variable name
2017-08-30 19:21:43 -07:00
James Lu
9a84dbde71
protocols: consistently track ENDBURST on sub-servers too
2017-08-30 19:18:39 -07:00
James Lu
87639ddeb2
classes: add a has_eob attribute to each server object
2017-08-30 19:16:54 -07:00
James Lu
5084cc2c69
pmodule-spec: rewording, fix headings
2017-08-30 01:29:09 -07:00
James Lu
46e9975bd5
Continue rewriting the protocol module spec ( #478 )
2017-08-30 01:26:35 -07:00
James Lu
4a363aee50
Move _expandPUID into PyLinkNetworkCoreWithUtils
2017-08-30 00:56:18 -07:00
James Lu
5b941daf4d
Begin rewriting the protocol spec for PyLink 2.0 ( #478 )
2017-08-30 00:34:42 -07:00
James Lu
3922d44173
utils: rename remaining functions to snake case ( #476 )
2017-08-28 20:28:10 -07:00
James Lu
43b6566aa8
Move getDatabaseName from utils to conf ( #476 )
2017-08-28 20:27:39 -07:00
James Lu
ff8587736f
fantasy, relay: migrate to irc.is_*
2017-08-28 20:14:14 -07:00
James Lu
d79f1766b6
classes, coremods: migrate to irc.is_*
2017-08-28 20:13:25 -07:00
James Lu
c4a3baca7d
protocols: switch to self.is*
2017-08-28 20:07:36 -07:00
James Lu
e39b4e9c69
Move utils.is* methods into PyLinkNetworkCoreWithUtils ( #476 )
2017-08-28 20:07:31 -07:00
James Lu
2a7594e56e
Move PUIDGenerator->classes, IncrementalUIDGenerator->ircs2s_common ( #476 )
2017-08-28 19:42:24 -07:00
James Lu
b1159400f1
Move DeprecatedAttributesObject, CamelCaseToSnakeCase to structures ( #476 )
2017-08-28 19:36:55 -07:00
James Lu
0907f05296
Condense (deep)copy definitions into structures.CopyWrapper
2017-08-25 17:05:53 -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
2700e42ebf
structures: rework classes & implement (IRC)CaseInsensitiveSet
2017-08-25 13:21:02 -07:00
James Lu
1cdb5fc025
hybrid, ratbox: remove extban definitions
2017-08-25 12:24:09 -07:00
James Lu
ba649fb8b4
utils, exttargets: add checks for channel presence
2017-08-25 02:31:26 -07:00
James Lu
1031aaa320
relay: add checks for channel presence
2017-08-25 02:29:10 -07:00
James Lu
cdb575236e
inspircd: remove a useless and misformatted debug line
2017-08-25 02:13:15 -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
f34198647e
structures: support a 'data' keyword argument in (IRC)CaseInsensitiveDict
2017-08-25 02:07:54 -07:00
James Lu
a02fa45d96
clientbot: use existing fallback hostname abstraction instead of hardcoding it separately
2017-08-24 01:12:45 -07:00
James Lu
7230aaa7df
Add extbans docs ( #498 )
2017-08-24 01:07:50 -07:00
James Lu
b214a8f4c0
unreal: fix wrong case in opertype extban
2017-08-24 00:55:55 -07:00
James Lu
1408622694
ts6: add definitions for inverted extbans as well
2017-08-23 23:23:28 -07:00
James Lu
579bfecdb4
relay: improve logging related to extban handling
2017-08-23 23:23:02 -07:00
James Lu
11d63e19cd
relay: allow adding back multiple extban prefixes ( #498 )
...
This fixes inbound relaying of modes such as +q $a:test, which are eventually converted into double extbans on InspIRCd and UnrealIRCd.
2017-08-23 22:29:14 -07:00
James Lu
c6ca89b48a
Fill in the rest of the extbans list for inspircd & unreal ( #498 )
2017-08-23 21:47:43 -07:00
James Lu
de1a6379df
Add (experimental) support for matching extbans ( #498 )
2017-08-23 21:18:57 -07:00
James Lu
903f86a342
clientbot: add extended-join support ( #290 )
2017-08-23 19:28:10 -07:00
James Lu
abdc67e0c1
clientbot: track numeric 900 (RPL_LOGGEDIN) and set our own account name
...
This is mostly for completeness.
2017-08-23 19:19:53 -07:00
James Lu
c9f10796ee
clientbot: move services account setting bits into a shared function
2017-08-23 19:16:20 -07:00