jesopo
|
9667b8a6e0
|
Move constant-time compare function to utils.security
|
2019-02-12 11:57:49 +00:00 |
|
jesopo
|
305b998a52
|
Use hmac.compare_digest to do a constant-time compare (sasl.scram)
|
2019-02-12 11:50:37 +00:00 |
|
jesopo
|
144182868c
|
Upgrade resume.py to draft/resume-0.3 and support sending last-read timestamp
|
2019-02-12 11:14:36 +00:00 |
|
jesopo
|
8c9626f0a9
|
Put an strf format for ISO8601 in utils
|
2019-02-12 11:08:24 +00:00 |
|
jesopo
|
98b82c7f2c
|
Insert label tag to lines in labeled BATCHes (line_handler.py)
|
2019-02-11 22:19:20 +00:00 |
|
jesopo
|
2f5a232c4e
|
Hold on to tags and type for BATCHes
|
2019-02-11 22:15:12 +00:00 |
|
jesopo
|
b6df18930c
|
bytes_written /bytes_read is now on IRCServer.socket (stats.py)
|
2019-02-11 18:26:16 +00:00 |
|
jesopo
|
399723db94
|
Show file add/remove/change *after* saying it's a push (github)
|
2019-02-11 11:17:07 +00:00 |
|
jesopo
|
18bb7ec4af
|
Actually return function hook from _shutdown_hook (admin.py)
|
2019-02-11 10:09:39 +00:00 |
|
jesopo
|
e644888e3e
|
Actually shutdown socket when !shutdown is called (admin.py)
|
2019-02-11 10:00:55 +00:00 |
|
jesopo
|
9b44b6cd13
|
Shift socket.socket related logic to IRCSocket.py
|
2019-02-11 10:00:41 +00:00 |
|
jesopo
|
d087143a5d
|
Iterate through bot.servers.values(), not .keys() (admin.py)
|
2019-02-10 23:54:31 +00:00 |
|
jesopo
|
fadd21c6d9
|
Add !shutdown (admin.py)
|
2019-02-10 23:53:33 +00:00 |
|
jesopo
|
bb4ec082dd
|
Let IRCLine.Line handle truncating command output
|
2019-02-10 20:49:59 +00:00 |
|
jesopo
|
abf5679b68
|
Parse sent data in IRCServer._send, not IRCServer.send
|
2019-02-10 20:49:03 +00:00 |
|
jesopo
|
9ecec75828
|
'jesopo pushed commit to master' -> 'jesopo pushed to master' (github)
|
2019-02-10 15:09:20 +00:00 |
|
jesopo
|
9235d23350
|
Show when pushes are forced (github)
|
2019-02-10 15:06:26 +00:00 |
|
jesopo
|
af3057dee0
|
Don't send empty JOIN when we have no saved channels (channel_save.py)
|
2019-02-10 14:55:46 +00:00 |
|
jesopo
|
cf64e8832b
|
Make use of "when line sent" logic to disconnect after QUIT (signals.py)
|
2019-02-10 14:32:04 +00:00 |
|
jesopo
|
709365ecf8
|
Utilise new line-tracking logic to reconnect when QUIT sends (admin.py)
|
2019-02-10 14:26:24 +00:00 |
|
jesopo
|
d5bb3c5405
|
Have to refer to timer.kwargs to get kwargs (in.py)
|
2019-02-10 13:27:49 +00:00 |
|
jesopo
|
25096c651a
|
Don't require client cert validation (rest_api.py)
|
2019-02-10 13:26:35 +00:00 |
|
jesopo
|
985f4d60a4
|
Only add a waiting clause for resume CAP if the server actually ACKs it
(resume.py)
|
2019-02-10 13:22:53 +00:00 |
|
jesopo
|
c7d21e2d9e
|
Typo, 'wrap_scket' -> 'ssl_wrap' (rest_api.py)
|
2019-02-10 13:20:22 +00:00 |
|
jesopo
|
93dd75ff31
|
Added !inlist, to list !in reminders (in.py)
|
2019-02-10 13:18:25 +00:00 |
|
jesopo
|
1d206fe78f
|
Use newly abstracted away ssl_wrap (rest_api.py)
|
2019-02-10 12:38:53 +00:00 |
|
jesopo
|
05ae25d3d7
|
ERROR log ERROR s from servers (line_handler.py)
|
2019-02-10 12:22:01 +00:00 |
|
jesopo
|
71eac9d3c0
|
Treat a QUIT from hostmask :* as referring to our connection (line_handler.py)
|
2019-02-10 00:29:22 +00:00 |
|
jesopo
|
ffdf49efc9
|
CAP END for RESUME TOKEN and RESUME ERR , don't for RESUME SUCCESS (resume.py)
|
2019-02-10 00:12:45 +00:00 |
|
jesopo
|
20d75e9716
|
Send request to RESUME a session AFTER we have a new token (resume.py)
|
2019-02-10 00:03:14 +00:00 |
|
jesopo
|
e2b019a9b8
|
log calls need a params arg (resume.py)
|
2019-02-10 00:02:24 +00:00 |
|
jesopo
|
84a3bf6135
|
Also capture channel setting-related modes (e.g. +f for flood settings)
|
2019-02-09 18:48:18 +00:00 |
|
jesopo
|
90618e883b
|
Move REGEX_CUTOFF to outs.py (commands)
|
2019-02-09 17:52:51 +00:00 |
|
jesopo
|
1ff2a00c48
|
Move StdOut/StdErr specific consts to outs.py (commands)
|
2019-02-09 17:50:40 +00:00 |
|
jesopo
|
6b042d9460
|
Split command StdOut/StdErr in to their own file (commands)
|
2019-02-09 17:49:01 +00:00 |
|
jesopo
|
b9e71ec833
|
title is already a parsed string from _get_title() (title.py)
|
2019-02-09 13:38:09 +00:00 |
|
jesopo
|
8bbfd1d1c3
|
Add empty params arg to log call (title.py)
|
2019-02-09 13:37:21 +00:00 |
|
jesopo
|
730a4e6b87
|
Don't use the event system to get results from other modules - use exports
|
2019-02-09 13:14:45 +00:00 |
|
jesopo
|
4bc43f686e
|
'username' -> 'nickname', update RESUME nickname when our nickname changes (resume.py)
|
2019-02-09 12:33:26 +00:00 |
|
jesopo
|
d3f5ff78a6
|
Another 'new-token' -> 'new-resume-token' (resume.py)
|
2019-02-09 12:27:37 +00:00 |
|
jesopo
|
a23e46ddbf
|
'def on_cap_new' -> 'def on_cap_ls' (resume.py)
|
2019-02-09 12:27:13 +00:00 |
|
jesopo
|
1e6e030d6f
|
Actually do 'resume' -> 'resume-token' (resume.py)
|
2019-02-09 12:26:47 +00:00 |
|
jesopo
|
feffb2325b
|
"resume" -> "resume-token", "new-token" -> "new-resume-token", typo that was
causing resume token to be deleted as soon as it was set (resume.py)
|
2019-02-09 12:23:37 +00:00 |
|
jesopo
|
3fae5c52cd
|
Forgot to import EventManager (title.py, youtube.py)
|
2019-02-09 10:57:32 +00:00 |
|
jesopo
|
31367b2b5d
|
Eat youtube URLs on LOW priority, switch auto-title to MONITOR priority
|
2019-02-09 10:56:06 +00:00 |
|
jesopo
|
9f6aa93082
|
Actually return title text, not html Tag object (title.py)
|
2019-02-09 10:38:44 +00:00 |
|
jesopo
|
2ac5a53131
|
Add a setting to get the title from URLs automatically (title.py)
|
2019-02-09 10:35:37 +00:00 |
|
jesopo
|
6018cc098d
|
We still need to 'CAP REQ :sasl' when we get 'CAP NEW :sasl' (sasl)
|
2019-02-09 02:58:25 +00:00 |
|
jesopo
|
697ce2ba30
|
Do a SASL reauthentication when we get CAP NEW for SASL (sasl)
|
2019-02-08 23:12:14 +00:00 |
|
jesopo
|
42e2596c9b
|
Return semi-helpful information to github webhooks (github)
|
2019-02-08 23:01:45 +00:00 |
|
jesopo
|
d772eaf36e
|
need to .items() a dict to tuple-iterate it (rest_api.py)
|
2019-02-08 22:53:33 +00:00 |
|
jesopo
|
678e6606ed
|
Abstract away sending response to REST API request (rest_api.py)
|
2019-02-08 22:04:39 +00:00 |
|
jesopo
|
4a68baa0a6
|
Return path from _path_data() (rest_api.py)
|
2019-02-08 21:56:58 +00:00 |
|
jesopo
|
e84f91977c
|
Typo, 'utils.parse' -> 'urllib.parse' (rest_api.py)
|
2019-02-08 21:55:42 +00:00 |
|
jesopo
|
12591d2357
|
Remove now not used params on _request() (rest_api.py)
|
2019-02-08 21:54:33 +00:00 |
|
jesopo
|
c7843a9338
|
Simplify/refactor REST API request parsing code (rest_api.py)
|
2019-02-08 21:52:24 +00:00 |
|
jesopo
|
dc0a021231
|
Show capabilities in API server stats (stats.py)
|
2019-02-08 17:56:13 +00:00 |
|
jesopo
|
9a0b8f3d00
|
server_capabilities is a dict, capabilities is a set (line_handler.py)
|
2019-02-08 17:48:41 +00:00 |
|
jesopo
|
91f78e834e
|
Still REQ CAPs caught from cap.ls command if line_handler.py doesn't request any
|
2019-02-08 17:32:43 +00:00 |
|
jesopo
|
518f32c4ec
|
Fix 2 misspellings of "capabilities" and fix having not changed a variable name
|
2019-02-08 17:32:00 +00:00 |
|
jesopo
|
15ab772442
|
Request CAPs we support when we see them advertised with CAP NEW
(line_handler.py)
|
2019-02-08 17:30:07 +00:00 |
|
jesopo
|
d3f23eafb8
|
make !sp and alias of !spotify (spotify.py)
|
2019-02-08 15:34:04 +00:00 |
|
jesopo
|
d61bb387f7
|
Show when a check_run is queued (github)
|
2019-02-07 23:05:29 +00:00 |
|
jesopo
|
a1496e5415
|
Check that a check_run actually started before it finished (github)
|
2019-02-07 22:59:50 +00:00 |
|
jesopo
|
03a1f62297
|
Script travis module in favour of github webhook check_run events
|
2019-02-07 22:34:54 +00:00 |
|
jesopo
|
fb125081ad
|
Turn seconds in to seconds/minutes/hours/etc (github)
|
2019-02-07 22:32:48 +00:00 |
|
jesopo
|
ede385aca8
|
Use check_run event instead of status for CI (github)
|
2019-02-07 22:30:50 +00:00 |
|
Evelyn
|
ce78bd850a
|
quit: add quote
|
2019-02-07 18:21:35 +00:00 |
|
jesopo
|
53a819512f
|
Make commit hash LIGHTBLUE in status event (github)
|
2019-02-07 15:56:30 +00:00 |
|
jesopo
|
58cd6338fd
|
Color/bold status state (github)
|
2019-02-07 15:49:36 +00:00 |
|
jesopo
|
c401c45a02
|
typo, "_short_id" -> "_short_hash" (github)
|
2019-02-07 15:46:07 +00:00 |
|
jesopo
|
f6079d92c8
|
Remove hanging "or" that i forgot to remove (line_handler.py)
|
2019-02-07 14:26:36 +00:00 |
|
jesopo
|
172acfd0d5
|
Tidy up logic to figure out of a NOTICE is a AUTH notice (line_handler.py)
|
2019-02-07 14:25:56 +00:00 |
|
jesopo
|
f5f5a55e21
|
Add command to list, add and remove travis webhooks (travis)
|
2019-02-07 14:05:12 +00:00 |
|
jesopo
|
0bdac094ea
|
Actually accept !ghwebhook list as a command (github)
|
2019-02-07 14:01:24 +00:00 |
|
jesopo
|
7d25ce44ad
|
Use HTML entity for less-than symbol (sasl README.md)
|
2019-02-07 13:53:46 +00:00 |
|
jesopo
|
35ad1c7c7b
|
Add SASL README.md
|
2019-02-07 13:51:08 +00:00 |
|
jesopo
|
a3ca29dabe
|
Show server name when we log a SASL failure (sasl)
|
2019-02-07 12:23:11 +00:00 |
|
jesopo
|
1485947fcc
|
First commit of travis webhook module
|
2019-02-07 11:49:42 +00:00 |
|
jesopo
|
90591ec5b4
|
Change isgd.py to use Exports to offer url shortening, not events
|
2019-02-07 10:07:11 +00:00 |
|
jesopo
|
d013703705
|
commit_comment events have commit_id in comment , not in the root data (github)
|
2019-02-07 07:42:05 +00:00 |
|
jesopo
|
7dd1eca7ae
|
Don't use string concat when we're already using %s formatting (sasl.scram)
|
2019-02-06 23:04:26 +00:00 |
|
jesopo
|
65766a093a
|
Add more comments, re-seperate out self._ variables and seperate some compound
function calls on to different lines for readability (sasl.scram)
|
2019-02-06 22:58:16 +00:00 |
|
jesopo
|
c77d8aaac8
|
Default error to "" , _client_first /_salted_password /_auth_message to b""
(sasl.scram)
|
2019-02-06 22:36:25 +00:00 |
|
jesopo
|
1bac2f67de
|
Add type hints to SCRAM ctor (sasl.scram)
|
2019-02-06 22:33:30 +00:00 |
|
jesopo
|
50a8de2792
|
Restrict scram algorithms to IANA Hash Function Textual Names (sasl.scram)
|
2019-02-06 22:28:50 +00:00 |
|
jesopo
|
4e3e782519
|
Remove pointless local auth_message variable (sasl.scram)
|
2019-02-06 22:00:23 +00:00 |
|
jesopo
|
efbbe4c3db
|
Move parsing username, password and algorithm to the only place that uses it and
add comments (sasl.scram)
|
2019-02-06 21:49:44 +00:00 |
|
jesopo
|
bffd43648d
|
uuid.uuid4() is not random enough for a nonce (sasl.scram)
|
2019-02-06 21:49:24 +00:00 |
|
jesopo
|
67252833c4
|
Remove pointless local salted_password variable (sasl.scram)
|
2019-02-06 21:19:25 +00:00 |
|
jesopo
|
cbdd8d6fc9
|
Remove pointless local assign of self._password (sasl.scram)
|
2019-02-06 21:16:55 +00:00 |
|
jesopo
|
90b540d5dc
|
Add type annotations to scram util functions (sasl)
|
2019-02-06 21:05:20 +00:00 |
|
jesopo
|
bf3986a1be
|
Log a WARN when we get a 904 (failed sasl)
|
2019-02-06 16:25:43 +00:00 |
|
jesopo
|
16ea48cb54
|
Assume we'll receive a 904 when SCRAM fails with an e= param (sasl)
|
2019-02-06 15:50:42 +00:00 |
|
jesopo
|
c006435fa1
|
Set SCRAM state to just Failure if there's a server-final-message error (sasl)
|
2019-02-06 15:41:31 +00:00 |
|
jesopo
|
09eb3d3314
|
Only panic about a scram failure if it's a server-final-message failure (sasl)
|
2019-02-06 15:38:59 +00:00 |
|
jesopo
|
0e63700761
|
Only send auth_text if it's not None (sasl)
|
2019-02-06 15:37:34 +00:00 |
|
jesopo
|
be95514174
|
auth_text would not be present in a failure scenario
|
2019-02-06 15:36:59 +00:00 |
|
jesopo
|
cfa590eef7
|
Handle error on server-final-message (sasl.scram)
|
2019-02-06 15:28:17 +00:00 |
|
jesopo
|
403466dee3
|
Remove particularly improper quit quotes, add Hillel the Elder quote (quit.py)
|
2019-02-06 14:22:27 +00:00 |
|