Valentin Lorentz
ac07b440dc
Rewrite ecdsa-nist256p-challenge using python-cryptography instead of python-ecdsa.
...
Which is more secure. Closes GH-1389.
It also fixes the protocol/format to use the same one as Atheme.
See also: 8a81224ba8
2020-01-01 12:07:59 +01:00
James Lu
a6392c8582
test: choose a random free port for tests using the HTTP server
...
Closes #1392 .
2019-12-15 20:20:37 +01:00
Valentin Lorentz
a86df1fc35
Remove dead code from Group that belongs in Value.
2019-12-09 21:27:09 +01:00
Valentin Lorentz
83114e5fbd
src/callbacks.py: use network-specific values.
...
Closes GH-1393
2019-12-05 21:51:25 +01:00
Valentin Lorentz
1ed47f802f
Request msgid capability.
2019-12-05 21:11:35 +01:00
Valentin Lorentz
a1ee580d08
Make getLocaleFromRegistryCache reload existing locales.
...
The core locale is loaded before this function is called, so it needs to
reload it for non-en locales to be loaded.
2019-11-24 12:59:38 +01:00
Valentin Lorentz
63b0d7e653
Update core fr translation.
2019-11-24 12:47:03 +01:00
Valentin Lorentz
0828b207be
Add fallback if getting supybot.language from registry cache failed.
2019-11-24 12:46:10 +01:00
Valentin Lorentz
423a38770b
Get locale name on startup from registry cache instead of parsing config file.
...
Parsing the config file needlessly requires an extra read of it,
and is brittle (extra spaces, etc.)
It was especially broken as there was a newline character
at the end of currentLocale, which made everything fail
shamefully.
2019-11-24 12:04:21 +01:00
Valentin Lorentz
a8b6698849
Add config supybot.reply.format.list.maximumItems to limit the size of format('%L', ...).
2019-11-23 18:48:58 +01:00
James Lu
9291fbd4a0
All plugins: set Limnoria contributors as maintainer
2019-11-16 11:41:13 -08:00
James Lu
a4701b258c
Plugin: accept author name in 'contributors' command
2019-11-16 11:41:13 -08:00
James Lu
7854db7135
Better formatting in supybot.Author if some fields are missing
2019-11-16 11:41:13 -08:00
Valentin Lorentz
2dddfefa98
Fix log on SASL failure.
...
Broken by 04b55805b8
.
2019-11-09 18:38:40 +01:00
Valentin Lorentz
6a9462be00
Fix reset of capabilities_ls.
...
Broken by 0014b206ad
.
2019-11-09 18:27:07 +01:00
Valentin Lorentz
5e2343f717
Update doc of capabilities.default to mention 'channel capability setdefault'.
2019-11-08 20:53:04 +01:00
Valentin Lorentz
04b55805b8
Log SASL mechanism on failure. Closes GH-1014.
2019-11-02 20:52:58 +01:00
Valentin Lorentz
10ccfbbf3c
Remove early return in upkeep() in case sys.stdout is replaced.
...
We don't want flushing to be entirely skipped just because
of that.
2019-11-01 22:18:32 +01:00
Valentin Lorentz
9268356e97
Split 'CAP REQ' commands to not exceed 512 bytes.
2019-10-25 23:07:31 +02:00
Valentin Lorentz
0014b206ad
Reset capability set state on reconnection.
2019-10-25 22:40:51 +02:00
Valentin Lorentz
cfbbed3da9
Truncate incoming lines to 512-2, not 500.
2019-10-25 22:31:09 +02:00
Valentin Lorentz
71cc414ff3
Fix conditional on CTCP in urlSnarfer.
...
Broken in 8bb31a54e7
.
( 8bb31a54e7
\#diff-44309956f4d4fbbe0b8499c3d849080fL209-R212 )
2019-10-22 17:57:46 +02:00
James Lu
35a64eca38
Plugin: update tests
...
I'm taking the liberty of adding myself to supybot.authors here.
2019-10-19 11:34:24 -07:00
James Lu
930da6a6ba
Use a real invalid email in supybot.authors.unknown
2019-10-19 10:20:38 -07:00
James Lu
e7f033539b
Don't repeat nick in supybot.Author if nick and name are the same
...
This is the case e.g. for quantumlemur's plugins.
2019-10-19 10:20:38 -07:00
James Lu
18f9a342b3
Throw out mungeEmail for supybot.Author
...
This has limited value these days, because 1) the email info for authors is most often in a public VCS already 2) it makes using the actual contact info harder.
2019-10-19 10:20:35 -07:00
James Lu
b54d8f8073
regexp_wrapper: return None instead of False when search times out ( #1379 )
...
This allows plugins to detect whether a search timed out or did not match, which are two distinct outcomes.
2019-10-17 12:30:07 -07:00
Johannes Löthberg
27e7d6a9ac
Aka: Add web UI ( #1373 )
...
* utils.web: Import html escaping functions
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
* Aka: Add web interface for browsing Akas
Fixes #1226 .
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
* httpserver: Actually handle KeyError in unhook
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
* test: FakeHTTPConnection: Don't decode data in send
BaseHTTPRequestHandler expects to get bytes, so we can't decode the sent
data.
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
* test: HTTPPluginTestCase: Use BytesIO instead of StringIO
BaseHTTPRequestHandler expects bytes, not strings.
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
* test: HTTPPluginTestCase: Rewind wfile to 0 before reading the response
Otherwise the read pointer is at the end of the file.
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
* Aka: Add basic web UI tests
Signed-off-by: Johannes Löthberg <johannes@kyriasis.com>
2019-10-10 17:27:34 +02:00
Valentin Lorentz
8b2cbbc583
Use a monotonic time for registry cache.
...
So an old cache does not take precedence over a newly set value.
I noticed this bug because of the time going backward in tests
because of the time.time mock introduced in
dcf55cf6de
, but this may happen
in production systems too.
Also adds another deprecation warning for python < 3.3.
2019-10-05 22:29:11 +02:00
Valentin Lorentz
a4665803fa
News + RSS: Mock time.time() instead of using time.sleep() in tests.
...
Saves 40s over the ~5min test suite.
2019-10-05 12:22:30 +02:00
Valentin Lorentz
3c42ce0861
Only clear users db if the filename is set.
2019-09-28 10:33:54 +02:00
Valentin Lorentz
bcbaa979d5
Revert "Deduplicate (de)serialization code shared by UsersDictionary and ChannelsDictionary."
...
This reverts commit a4f8e3f647
.
2019-09-28 10:33:10 +02:00
Valentin Lorentz
5bfee2e72b
Fix typo in doc.
2019-09-26 23:00:01 +02:00
Valentin Lorentz
a4f8e3f647
Deduplicate (de)serialization code shared by UsersDictionary and ChannelsDictionary.
2019-09-26 22:48:05 +02:00
Valentin Lorentz
7d218ec8ce
Document unpreserve.Reader (expected format + method hooks).
2019-09-26 22:47:04 +02:00
Valentin Lorentz
84c1f1572d
Don't temporarily set msg.channel to invalid values.
...
This causes issue when multiple command threads deal with the same message.
2019-09-20 21:25:32 +02:00
jesopo
6c5072cfe0
only raise in commands.process() when a raise was wrapped ( #1370 )
2019-09-18 20:27:02 +02:00
Valentin Lorentz
40837dbda0
Don't mutate server list while iterating on it.
...
It causes hanging at bot/test stops.
2019-09-15 08:02:10 +02:00
Valentin Lorentz
573921c00f
Merge branch 'netconf-and-ircmsgs-channel' into testing
2019-09-14 12:10:47 +02:00
Valentin Lorentz
67c2bacd69
Set msg.channel in ReplyIrcProxy and NestedCommandsIrcProxy.
...
Needed when plugins use a self.Proxy with a crafted message;
else the called commands will assume the message was sent in
private.
2019-09-08 21:35:35 +02:00
Valentin Lorentz
f143e977d6
Interpret empty server tag values as missing tag values.
...
As required by https://ircv3.net/specs/extensions/message-tags
2019-09-08 14:47:05 +02:00
Valentin Lorentz
88524beada
ChannelLogger + Karka + all DB plugins: Sanitize channel names when used in filenames.
2019-09-06 20:42:13 +02:00
Valentin Lorentz
b65d78518c
Services: Add support for network-specific password.
2019-08-25 14:08:11 +02:00
Valentin Lorentz
0b5bd625eb
Add test for simple registry value inheritance.
2019-08-25 00:07:29 +02:00
Valentin Lorentz
7e1a1a23a9
Fix fallback of Group.__getattr__ on protected attributes.
2019-08-25 00:06:35 +02:00
Valentin Lorentz
e9bf05bbab
Don't unregister subtree if only the child is unset.
...
Because now, grandchildren may have set values.
2019-08-24 23:37:23 +02:00
Valentin Lorentz
c1ae3f5c81
all plugins: Use msg.channel instead of msg.args[0] + give network name to self.registryValue.
2019-08-24 23:35:01 +02:00
Valentin Lorentz
9326331c60
Merge branch 'ircmsg-channel' into netconf-and-ircmsgs-channel
2019-08-24 15:39:17 +02:00
Valentin Lorentz
8bb31a54e7
Strip statusmsg chars in core to determine the actual channel.
...
Use msg.channel if relevant, otherwise strip them locally.
2019-08-24 14:52:59 +02:00
Valentin Lorentz
5b40b5136d
Limit statusmsg prefix stripping to PRIVMSG and NOTICE.
2019-08-18 10:09:11 +02:00