James Lu
71a24b8b9f
relay: remove noctcp, regdeaf, stripcolor from whitelisted umodes
...
Filter-type umodes don't work properly with relay yet.
2018-07-10 18:09:24 -07:00
James Lu
5ffc629bce
plugins/example: update word wrap note
...
As of PyLink 2.0, long paragraphs are automatically word-wrapped by irc.reply().
2018-07-10 18:04:25 -07:00
James Lu
bba235bba2
Update GitHub repository address
2018-07-08 12:54:10 -07:00
James Lu
c1f37c2236
relay: don't allow servers to forward KILLs
...
Closes #621 .
2018-07-08 12:49:30 -07:00
James Lu
86b93ea969
docs: rewrite the Relay Quick Start Guide ( #619 )
...
- Rename pylink-opers.md -> relay-quickstart.md to better reflect its contents.
- Add a section regarding services compatibility and which features _not_ to use with Relay
- Document LINKACL whitelists, CHANDESC, CLAIM/LINKACL options introduced in 2.0
- Document reworked KILL handling in 2.0 and why K/G/ZLINE support hasn't been implemented
- Explain Relay concepts in more depth for people not familiar with Janus
2018-07-08 12:30:57 -07:00
James Lu
5a9b870e00
services-api: less awkward wording
...
[skip ci]
2018-07-02 00:59:29 -07:00
James Lu
a520496f81
writing-plugins: fix markdown syntax errors
...
[ci skip]
2018-07-02 00:57:41 -07:00
James Lu
86bfda7281
services-api: various wording and typo fixes
...
[ci skip]
2018-07-02 00:57:36 -07:00
James Lu
a74fe9bf08
writing-plugins: refer to the services API guide for utils.add_cmd features
2018-07-02 00:47:30 -07:00
James Lu
b2e85fa385
services-api: mention command alias support in 2.0-alpha1+
2018-07-02 00:45:11 -07:00
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