Commit Graph

278 Commits

Author SHA1 Message Date
Valentin Lorentz 11bbc89c9d Properly handle multiple hosts in supybot.servers.http.hosts4.
See ebb48a4808 (which I reverted).
2017-10-28 09:50:12 +02:00
Valentin Lorentz 355ff7ffdf Fix support for Python < 3.4. 2017-02-25 13:24:03 +01:00
Valentin Lorentz dab026169f Use ast.literal_eval() instead of eval() when possible.
It's unlikely to change anything, but a little more safety
does not hurt.
2017-02-25 13:10:33 +01:00
Valentin Lorentz 8bae847682 Use ast.parse in 'eval' mode instead of 'exec'.
This fixes compatibility with Python 3.7; but we should have
been doing this since b8fe420ef3.

The incompatibility with Python 3.7 was introduced in
cb41b2766d

See also: http://bugs.python.org/issue29646
2017-02-25 11:31:52 +01:00
Valentin Lorentz 95a1f21600 Revert some instances of s/iteritems/items/ in be118c3338. 2016-11-11 13:04:00 +01:00
Valentin Lorentz 5b29c8c0dd utils.iter: Allow None argument to filterfalse and all.
Fixes bug in the Debian plugin.
2016-10-27 20:51:36 +02:00
Valentin Lorentz 79bcc04d0a Fix Python 3.6 support of utils.python.glob2re. 2016-09-14 20:09:00 +02:00
Valentin Lorentz dc4afb45a0 Try to provide Server Name Indication even if Python does not have SSLContext. 2016-07-20 20:42:40 +02:00
Junaid Loonat 3e72aa5da5 New isSocketAddress() method
Introduction of the isSocketAddress() method which will use the existing getSocket() method in order to validate whether the provided string is a valid socket address.
2016-04-26 23:12:26 +02:00
Junaid Loonat c211c60e52 Removed HTTP(S) proxy code
The HTTP(S) proxy is now set globally from the configuration logic.
2016-04-25 22:12:52 +02:00
Junaid Loonat 654d98c125 Use proxy for HTTPS requests as well
Use proxy handler/opener classes, instead of request.set_proxy, to avoid any potential bugs in older Python versions.
Use the HTTP proxy (if configured) for HTTPS requests as well.
2016-04-25 10:14:49 +02:00
Valentin Lorentz 93feb71b66 Normalize fingerprints to allow more formats.
https://github.com/Limnoria/Limnoria-doc/issues/76#issuecomment-198794341
2016-03-20 10:28:33 +01:00
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 f1390b1aec Improve SSL-related version warnings. 2016-02-24 17:25:51 +01: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 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
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 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 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 0e8bfecf37 utils.structures: Define __slots__ for more classes. 2015-12-02 12:22:24 +01:00
Valentin Lorentz 57b77a6725 utils.web: Rename getUrl to getUrlContent and add getUrlTargetAndContent. 2015-10-25 16:19:49 +01:00
Valentin Lorentz e3ff413734 Web & core: Merge features of Web's title parser and utils.web.HtmlToText + don't unescape HTML twice. Closes GH-1176. 2015-10-23 07:41:36 +02:00
Jussi Timperi df7689cc2e Web & utils.web: Force HTMLParser to process all buffered data.
Python issue 23144.
2015-10-22 16:56:53 +03:00
Valentin Lorentz 85ee37c162 Remove unbreakable space. 2015-09-29 17:38:07 +02:00
Valentin Lorentz 3047ea7acb Add warning in setup.py about Python 2.6. 2015-09-20 15:50:43 +02:00
Valentin Lorentz 879ce460e9 make utils.web.urlencode return a string, not bytes. 2015-09-09 22:02:19 +02:00
Valentin Lorentz 912d2e1538 core: Apply some suggestions of pyflakes. 2015-08-31 18:19:22 +02:00
Valentin Lorentz c01a956a8b utils: Remove dependency on parent package. 2015-08-30 17:33:39 +02:00
Valentin Lorentz c587900c6f Make normalizeWhitespace remove \r as well. 2015-08-30 15:44:07 +02:00
Valentin Lorentz a905828b26 Fix Python 2.6 compatibility. 2015-08-26 17:59:50 +02:00
Valentin Lorentz d1acdb6f92 Fix timezone handling in Python 2 and 3.2. 2015-08-26 17:42:42 +02:00
Valentin Lorentz c3a2c800f1 Remove need for 2to3. 2015-08-11 16:50:23 +02:00
Valentin Lorentz f305ff3c02 Remove fix_basestring. 2015-08-10 20:24:11 +02:00
Valentin Lorentz 2c380a4c3a Remove fix_xrange. 2015-08-10 19:36:07 +02:00
Valentin Lorentz be6bc1a734 Remove need for fix_unicode. 2015-08-10 18:52:51 +02:00
Valentin Lorentz c0ac84bb53 Remove need for fix_import, fix_types, and fix_urllib. 2015-08-10 17:55:25 +02:00
Valentin Lorentz 216c5d213f Replace sys.version_info[0] usages with minisix.PY{2,3}. 2015-08-09 00:23:03 +02:00
Valentin Lorentz 5a82cefd51 Remove use of fix_long fixer. 2015-08-08 23:08:49 +02:00
Valentin Lorentz be118c3338 Remove use of fix_dict fixer. 2015-08-08 23:08:49 +02:00
Valentin Lorentz eca7a036aa Socket: Move line decoding to utils.str. 2015-05-16 00:30:20 +02:00
Valentin Lorentz ed37fb6646 String & core: Add support for G flag in matchers. Closes GH-1072. 2015-05-15 16:48:00 +02:00
Valentin Lorentz 3f9118a1a6 utils.str.format: Add support for sets for %L + add test case. Closes GH-1104 2015-05-14 07:14:29 +00:00
Valentin Lorentz 7ac053d8f1 Merge branch 'rewrite-rss' into testing 2014-07-31 22:53:44 +02:00
Valentin Lorentz 00e25f86d8 Implement TruncatableSet.__repr__. 2014-07-31 22:53:21 +02:00
Valentin Lorentz 5f582e3f52 Make AtomicFile support context managers. 2014-07-31 22:53:21 +02:00