James Lu
75b0ae6054
example-conf: detail explicitly how "spawn_services: false" affects a plugin's behavior
2018-07-02 00:35:55 -07:00
James Lu
0c55569c1f
utils: clarify ServiceBot.(join|part) docstrings
2018-07-02 00:35:40 -07:00
James Lu
0ccaac595b
services-api: refresh + expand for 2.0 and the persistent channel rework
...
Closes #603 .
Other changes:
- Move the "Removing services" section to earlier in the doc - it is important!
- Consistently use 'strings' instead of "strings" in example code
- Mention briefly how "spawn_service:" false affects plugins
- Mention the "dynamic" channel handling added in 2.0-alpha3
2018-07-02 00:35:31 -07:00
James Lu
348dc7348c
services-api: use snake case function names for (un)register_service()
...
[skip ci]
2018-07-01 23:36:14 -07:00
James Lu
d015e1e41a
PyLink 2.0-beta1
2018-06-27 11:18:43 -07:00
James Lu
8362e5f234
RELNOTES: fix typo, elaborate a bit more on ipshare pools
...
[skip ci]
2018-06-26 23:37:22 -07:00
James Lu
f90ec284a4
pmodule-spec: document protocol capabilities
...
Closes #436 .
2018-06-26 22:47:39 -07:00
James Lu
bdd568f75b
pmodule-spec: consistently refer to protocol module attrs as self.<whatever>
instead of irc.<whatever>
...
[skip ci]
2018-06-26 22:23:35 -07:00
James Lu
a548ae0714
pmodule-spec: reflow, mention self.connected in Special variables
...
[skip ci]
2018-06-26 22:20:28 -07:00
James Lu
763ffcf903
pmodule-spec: various wording tweaks
...
[skip ci]
2018-06-26 22:14:38 -07:00
James Lu
c48846727e
pmodule-spec: fix link to protocol-modules.svg
...
[skip ci]
2018-06-26 22:02:09 -07:00
James Lu
420f523dfd
writing-plugins: briefly mention log, world, irc.connected, and useful builtin modules
...
Closes #522 .
2018-06-26 21:58:17 -07:00
James Lu
e340f6e9a2
writing-plugins.md: rewrite for clarity for conciseness
...
Also document the introduction of hook handler return values and irc.error()
[skip ci]
2018-06-26 21:36:17 -07:00
James Lu
e037b927f8
adv-relay-conf: fix reference to wrong relay version
...
$mode_prefix in particular was only added in 2.x.
[skip ci]
2018-06-26 14:44:56 -07:00
James Lu
086a5f4496
example-conf, relay, utils: replace 2.0-alpha4 references with 2.0-beta1
2018-06-26 14:44:07 -07:00
James Lu
bbf1b34b12
RELNOTES: more proofreading and reordering
...
[skip ci]
2018-06-20 16:29:07 -07:00
James Lu
a543de9d73
RELNOTES: refine for flow and add some more issue links
...
[skip ci]
2018-06-20 16:26:17 -07:00
James Lu
5d11774442
RELNOTES: initial draft of a 2.0-beta1 changelog
...
[skip ci]
2018-06-20 16:17:57 -07:00
James Lu
c8b8762c12
utils: add parse_duration(), which takes in a duration string and returns the equiv. amt of seconds ( #504 )
2018-06-15 19:40:05 -07:00
James Lu
5e1cb232b0
IRCNetwork: also detect address types from supplied bindhosts
2018-06-15 18:43:00 -07:00
James Lu
26361c4cc9
IRCNetwork: warn when using plaintext links to non-local addresses
2018-06-15 18:30:21 -07:00
James Lu
e5f817fc95
IRCNetwork: suppress "You can enhance...security...[with] ssl_fingerprint" notices when TLS cert validation is enabled
2018-06-15 15:57:45 -07:00
James Lu
ab9df93898
IRCNetwork: more consistent log format when remote certfp is verified
2018-06-15 15:52:04 -07:00
James Lu
b26d75a6a8
IRCNetwork: handle the case when certificate fingerprint checking is on but the remote provides no cert
2018-06-15 15:50:32 -07:00
James Lu
fefd5a1f6b
IRCNetwork: raise ssl.CertificateError instead of an in house exception if certfp is mismatched
...
Also, fix the expected and real fingerprints being logged in the wrong order.
2018-06-15 15:48:09 -07:00
James Lu
68837aa927
example-conf: enable TLS/SSL by default in all the example server blocks
2018-06-15 15:43:20 -07:00
James Lu
17cd7af22d
example-conf: reorder sample server options
...
Move TLS/SSL options higher up; shift pingfreq and autoconnect options further down
2018-06-15 15:41:20 -07:00
James Lu
17f0b09eb2
example-conf: suggest turning on TLS/SSL in the hostname-as-IP example
2018-06-15 15:36:59 -07:00
James Lu
8fa53f60cb
example-conf: copy some more autoconnect examples to the clientbot block
2018-06-15 15:32:35 -07:00
James Lu
76c0db15c4
core: merge TLS validation code into IRCNetwork ( #592 )
...
Certificate verification is now enabled for all Clientbot networks, but not yet for S2S links (self-signed certs are common here and direct IP links even more so)
2018-06-15 15:29:15 -07:00
James Lu
e38cd0ada2
get_hostname_type: return 0 for hostnames instead of False for consistency
2018-06-15 14:02:30 -07:00
James Lu
4524aebbac
clientbot: initial pass of TLS cert validation ( #592 )
...
This works OK, but we should make the validation options built-in instead of clientbot-specific.
2018-06-15 02:47:12 -07:00
James Lu
d3125d9a8f
core: automatically detect between IPv4 / IPv6 addresses on connect
...
Closes #212 .
2018-06-15 02:43:33 -07:00
James Lu
5ea33baa8e
utils: add get_hostname_type() to autodetect address types ( #212 )
2018-06-15 02:39:20 -07:00
James Lu
040b009fcb
clientbot: ignore RPL_ENDOFBANLIST (368) responses for removed channels
2018-06-15 02:19:56 -07:00
James Lu
c3bb0f7aca
relay: rework kill->kick forwarding to send from the sender network's subservers
...
This makes the kick message a lot neater.
Before:
* net1.relay has kicked GL/net1 from #test ((net2.relay) KILL FWD from GL/net2: test)
After:
* net2.relay has kicked GL/net1 from #test (KILL FWD from GL/net2: test)
2018-06-14 14:48:54 -07:00
James Lu
a98dd36810
example-conf: mention kill -> kick forwarding briefly
...
[skip ci]
2018-06-14 14:44:03 -07:00
James Lu
56c035a1f5
IRCNetwork: fix broken ping timeout handling
...
Check for ping outs in the ping scheduler instead of the listener... If the connection is dead, the listener won't ever be called.
2018-06-14 01:18:33 -07:00
James Lu
b2421f5e15
IRCNetwork: simplify connection error handling
2018-06-14 01:18:33 -07:00
James Lu
579b5ce93f
IRCNetwork: split SSL connection setup into separate functions
...
* _make_ssl_context(): returns the SSLContext to use on he network (with options set)
* _setup_ssl(): sets up TLS by loading certfile / keyfile and calling wrap_socket()
* _verify_ssl(): implements certificate fingerprint verification, raising TLSVerificationError (a new subclass of ConnectionError) if this fails
This is a prerequisite for #592 .
2018-06-14 01:17:39 -07:00
James Lu
8386edc6d5
conf: rename ConfigValidationError -> ConfigurationError & inherit from RuntimeError
2018-06-13 22:46:58 -07:00
James Lu
76b58c4432
relay: log chandesc changes to INFO
2018-06-12 02:36:37 -07:00
James Lu
77fd9475b6
relay: show channel descriptions before "created by" info
2018-06-12 02:33:29 -07:00
James Lu
8c42825612
relay: allow disabling free link access for all opers
2018-06-12 00:26:24 -07:00
James Lu
5617224780
example-conf: roughly sort "relay:" block options by usefulness
...
[skip ci]
2018-06-12 00:13:54 -07:00
James Lu
deff6d077d
match_host: remove deprecation notice for non-host globs
...
This is too flaky with commands taking arbitrary user inputs (e.g. opercmds/checkban)
2018-06-12 00:02:18 -07:00
James Lu
1b68bfadc6
coremods, plugins, protocols: drop now redundant allowAuthed=False in is_oper() calls
2018-06-11 23:56:44 -07:00
James Lu
2ca9de2ea8
PyLinkNCWUtils: make the allowAuthed, allowOper options to is_oper no-ops
2018-06-11 23:55:19 -07:00
James Lu
18f108c328
PyLinkNCWUtils: remove check_authenticated() ( #422 )
2018-06-11 23:54:48 -07:00
James Lu
ed5d46e28a
utils: remove deprecated is* functions
2018-06-11 23:48:12 -07:00