Commit Graph

3668 Commits

Author SHA1 Message Date
Valentin Lorentz
7f38076e59 Use HTMLParser.unescape instead of chr to decode HTML entities.
This adds support for entities encoded in hexadecimal notation.
2016-03-08 22:00:44 +01:00
Valentin Lorentz
bf02f79847 Merge pull request #1220 from GLolol/drivers/logging
Socket: lower SSL related log level, and reword text to flow better
2016-02-24 19:31:13 +01:00
Valentin Lorentz
2c1de2328b Merge pull request #1219 from GLolol/patch-1
conf: fix help for verifyCertificates
2016-02-24 17:27:22 +01:00
Valentin Lorentz
f1390b1aec Improve SSL-related version warnings. 2016-02-24 17:25:51 +01:00
James Lu
afc8d828b2 Merge remote-tracking branch 'origin/patch-1' into drivers/logging
Conflicts:
	src/drivers/Socket.py
2016-02-24 07:07:29 -08:00
James Lu
7c9b92bee5 conf: fix help for verifyCertificates
Closes #1216.
2016-02-24 07:02:10 -08:00
Valentin Lorentz
e1a86665ae Remove unsupported option verify_mode to ssl.wrap_socket. 2016-02-24 07:43:21 +01:00
Valentin Lorentz
90c565c0c5 Fix name.
I thought I fixed that d922af1043, but I
messed up with Git so hard I had to re-do that commit multiple times,
forgetting a new thing each time; and apparently that one passed through.
2016-02-23 21:56:52 +01:00
Valentin Lorentz
d163d1a1a3 Add support for authority certificates. 2016-02-23 20:52:36 +01:00
Valentin Lorentz
81a9d1fa39 Remove “Supybot” by “Limnoria” in the default version (following 661a32d1a9). 2016-02-23 20:52:07 +01:00
James Lu
b344126318 Socket: update logging text to flow better 2016-02-23 07:29:16 -08:00
Valentin Lorentz
78cf550674 Socket: fix crash on Python versions that do no support certificate validation. 2016-02-23 16:25:37 +01:00
Valentin Lorentz
880addf256 Add link to FAQ items on how to upgrade to Python 3. 2016-02-22 20:18:37 +01:00
Valentin Lorentz
8c3946d31c Actually, 3.2 and 3.3 don't have SSLContext either. Let's recommend only ≥ 3.4. 2016-02-22 18:36:53 +01:00
James Lu
aee7ac3583 Socket: drop SSL-related logging from critical to warning / error, and fix spacing 2016-02-22 07:09:56 -08:00
Valentin Lorentz
a7096f8b3e Disable SSL cert verification by default.
Having it enabled by default would break existing bots just by
doing the update.
Let's just show a warning and give owners some time to update
their config, for the moment.
2016-02-21 14:47:44 +01:00
Valentin Lorentz
ae560dbd2a Add supybot.protocols.ssl.verifyCertificates.
And remove unused variable supybot.protocols.ssl.verifyMode.
2016-02-21 14:42:41 +01:00
Valentin Lorentz
e77e78e79e Add support for using server certificate fingerprint instead of CA signature. 2016-02-21 14:18:14 +01:00
Valentin Lorentz
d922af1043 Verify server certificate, and deprecate Python < 2.7.9. Closes GH-1031. 2016-02-21 13:20:09 +01:00
Valentin Lorentz
c3dd5f8b64 Make SSL the default for connecting to a new network. 2016-02-21 13:04:26 +01:00
Valentin Lorentz
b33dadea9e Make INFO a bit less verbose when connecting. 2016-02-21 11:01:31 +01:00
Valentin Lorentz
c260a76e06 Add fallback for interpreters which do not support __slots__ for str subclasses.
Affects CPython 2.x, but neither CPython 3.x or Pypy.

Incompatibility introduced in 38e7589ff3.
2016-02-20 13:35:40 +01:00
Valentin Lorentz
15e387ea46 Make irc.replies return all results in a single line by default (instead of following the conf), if used in a nested command. Closes GH-219. 2016-02-20 12:57:04 +01:00
Valentin Lorentz
38e7589ff3 Make i18n.InternationalizeString use less memory. 2016-02-20 09:51:24 +01:00
Valentin Lorentz
a538920df7 Catch more unicode-related exceptions when trying to write logs to a file. 2016-02-09 18:40:00 +01:00
Valentin Lorentz
6d4ea07b72 Remove a driver from the list of dead drivers after it has been restarted. Closes GH-1165. 2016-02-09 17:31:39 +00:00
Valentin Lorentz
11496b4bbb ircdb: When serializing, do not write a 'password' command if there is no password set.
Having a 'password' command with no password stops the unserialization for that user.

May be a first step toward allowing users with no password (GH-1140).
2016-02-07 10:49:17 +01:00
Valentin Lorentz
61e5a29351 Fix scheme-matching regexp.
Old behavior allowed underscores and schemes starting with a digit,
and did not allow -+.
New behavior: https://tools.ietf.org/html/rfc3986\#section-3.1

Side effect: closes GH-1146
2016-02-07 09:44:08 +01:00
Valentin Lorentz
fee97c0308 irclib: Tag AWAY messages with channel names. 2016-01-09 10:10:41 +00:00
Valentin Lorentz
d2fe7d901f Fix variable name. 2016-01-09 10:10:03 +00:00
Valentin Lorentz
4576874128 httpserver: Respond to HEAD requests. Closes GH-1203. 2016-01-05 18:25:35 +01:00
Valentin Lorentz
1d162dd048 httpserver: Fix Content-Length computation. 2016-01-05 18:05:36 +01:00
Valentin Lorentz
058e4100f2 httpserver: Use appropriate HTTP status code for unsupported methods. 2016-01-05 18:01:39 +01:00
Valentin Lorentz
7ce385b6f8 Don't substitude in errorInvalid. Closes GH-49.
Why was it doing substitutions in the first place?
2015-12-28 20:01:40 +01:00
Valentin Lorentz
d9a01629cd Fix bytes count in message splitting. 2015-12-27 19:58:14 +00:00
Valentin Lorentz
49ff291f61 Use utf-8 to encode files by default.
Should fix this bug in Seen:
Traceback (most recent call last):
  File "C:\Program Files\Python34\lib\site-packages\supybot\world.py", line 121, in flush
    f()
  File "C:\Program Files\Python34\lib\site-packages\supybot\plugins\__init__.py", line 271, in flush
    writer.writerow(L)
  File "C:\Program Files\Python34\lib\site-packages\supybot\utils\file.py", line 172, in write
    return self._fd.write(data)
  File "C:\Program Files\Python34\lib\encodings\cp1250.py", line 19, in encode
    return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\u25c4' in position 33: character maps to <undefined>
2015-12-23 15:22:19 +01:00
Valentin Lorentz
10522857b1 Fix activation of SSL for connections using SOCKS. 2015-12-18 20:33:36 +01:00
Valentin Lorentz
4b1c766b42 Add support for STARTTLS (not tested). 2015-12-12 16:40:48 +01:00
Valentin Lorentz
30cb10e422 Add support for CAP NEW, including reauthentication. 2015-12-12 00:52:44 +01:00
Valentin Lorentz
834453eeff Request capability.
We don't do anything with it, but plugins might use it.
2015-12-11 23:32:57 +01:00
Valentin Lorentz
8aff8170e4 Filter list of SASL mechanisms when provided (908 or IRCv3.2-style CAP LS). 2015-12-11 23:30:57 +01:00
Valentin Lorentz
45c23a8f54 Try all possible SASL mechanisms instead of just one. 2015-12-11 10:56:05 +01:00
Valentin Lorentz
a72926ad11 Fix another issue with the help string. 2015-12-10 22:19:38 +01:00
Valentin Lorentz
9351f1fba2 Fix help string of supybot.reply.error.noCapability. 2015-12-10 21:56:01 +01:00
Valentin Lorentz
15d59d1153 Handle AUTHENTICATE line splitting. 2015-12-10 20:08:53 +01:00
Valentin Lorentz
3b78fd2424 Tag NICK messages with the channel as for QUIT messages. 2015-12-04 13:27:11 +01:00
Valentin Lorentz
d2749ea4d6 Add support for BATCH. 2015-12-04 01:37:23 +01:00
Valentin Lorentz
f880229d78 Tag QUIT messages with the list of channels the user was on. 2015-12-04 01:14:42 +01:00
Valentin Lorentz
0e8bfecf37 utils.structures: Define __slots__ for more classes. 2015-12-02 12:22:24 +01:00
Valentin Lorentz
7884ed5133 Merge pull request #1193 from GLolol/fix-disconnects
irclib: handle disconnections correctly for InspIRCd 2.0 networks
2015-11-19 08:01:27 +01:00