3
0
mirror of https://github.com/jlu5/PyLink.git synced 2024-12-26 12:43:09 +01:00
Commit Graph

3548 Commits

Author SHA1 Message Date
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
James Lu
8386edc6d5 conf: rename ConfigValidationError -> ConfigurationError & inherit from RuntimeError 2018-06-13 22:46:58 -07:00