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
Valentin Lorentz
5f361ef180
Conditional: Add command @iferror. Closes GH-1114.
2015-11-14 19:20:25 +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
James Lu
1168b4d0b7
irclib: handle disconnections correctly for InspIRCd 2.0 networks
...
The old code, which checked for "Closing Link" in the message, wouldn't have matched InspIRCd's way of closing connections (they send "Closing link" with a lowercase l):
DEBUG 2015-09-27T19:15:32 Incoming message (overdrive-irc): ERROR :Closing link: (LilyBot@0::1) [Quit: test]
2015-09-27 19:32:26 -07:00
Valentin Lorentz
b163dc7566
httpserver: Fix Python 2 compatibility.
2015-09-24 15:38:42 +02:00
Valentin Lorentz
a99e674b88
Add support for (anti)capabilities for multi-words commands. Closes GH-1140.
2015-09-23 12:00:18 +02:00
Valentin Lorentz
3047ea7acb
Add warning in setup.py about Python 2.6.
2015-09-20 15:50:43 +02:00
Valentin Lorentz
685bedcd74
Add config variable supybot.abuse.flood.command.notify.
2015-09-16 21:32:25 +02:00
Valentin Lorentz
879ce460e9
make utils.web.urlencode return a string, not bytes.
2015-09-09 22:02:19 +02:00
Valentin Lorentz
aa13ac88ea
Also send CAP END if no capability is requested.
2015-09-05 13:14:05 +02:00
Valentin Lorentz
f86e25d9fb
Prevent authentication hanging if the server supports no capability the bot asks.
2015-09-05 12:43:43 +02:00
Valentin Lorentz
17b1ae2dd5
Prevent 'dictionary changed size during iteration'.
2015-09-02 15:00:29 +00: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
09cb8e977f
supybot-test: Add a new level of verbosity, for showing only unexpected exceptions.
2015-08-29 23:02:20 +02:00
Valentin Lorentz
e5d8315e64
Language.
2015-08-29 21:46:47 +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
943c8bc495
Add support for IRCv3.2 extension chghost.
2015-08-22 20:48:03 +02:00
Valentin Lorentz
39df987274
Fix timezone handling of b338a2370
.
2015-08-22 20:38:16 +02:00
Valentin Lorentz
73ed9635b5
Add support for IRCv3.2 subcommand CAP DEL.
2015-08-22 20:25:39 +02:00
Valentin Lorentz
b338a23708
core: Use IRCv3.2 extension server-time to fill IrcMsg.time, if available.
2015-08-22 20:11:46 +02:00
Valentin Lorentz
11c10bb3f1
Add attribute IrcMsg.time.
2015-08-22 18:36:47 +02:00
Valentin Lorentz
33e8966e4b
ChannelLogger & core: Use IRCv3.2 extension invite-notify if available.
2015-08-22 18:24:32 +02:00
Valentin Lorentz
6ee24517cb
Fix 9c8f05bc16
.
2015-08-22 14:25:20 +02:00
Valentin Lorentz
a39238aba9
HTTP server: use two single-stack servers instead of a dual-stack one, and add a config variable to disable this behavior. Closes GH-945.
2015-08-22 13:10:03 +02:00
Valentin Lorentz
543732af3a
Fix f8328be5cb
so it actually does what it is supposed to do (lstrip removes characters).
2015-08-22 11:18:07 +02:00
Valentin Lorentz
9c8f05bc16
Use IRCv3.2 extension userhost-in-names if available.
2015-08-22 10:33:59 +02:00
Valentin Lorentz
9dd2811950
Split capabilities into a string, as it should be done.
2015-08-22 10:17:32 +02:00
Valentin Lorentz
5501b7cf63
Merge pull request #1156 from jacksonmj/italics
...
Add support for italic formatting
2015-08-22 09:25:54 +02:00
jacksonmj
8eb5d4f240
Add support for italics
...
New functions:
ircutils.italic to add
ircutils.stripItalic to remove
And remove italics in ircutils.stripFormatting.
2015-08-21 21:44:11 +00:00
Valentin Lorentz
21da27a846
Merge pull request #1155 from nyuszika7h/ipv4-mapped-addr-fix
...
httpserver: Strip IPv4-mapped IPv6 addresses
2015-08-21 22:41:33 +02:00
nyuszika7h
f8328be5cb
httpserver: Strip IPv4-mapped IPv6 addresses
2015-08-21 22:39:49 +02:00
Valentin Lorentz
f45e2904f5
Merge remote-tracking branch 'mlq/fix/httpserver-read-content-length' into testing
2015-08-17 22:35:40 +02:00
Moritz Lipp
52bebde9df
httpserver.py: Pass Content-Length to read call
...
If a POST request is sent to the built-in http server the handling function does
not terminate because the rfile.read() function blocks.
This patch passes the Content-Length value to the self.rfile.read() function
that is required for it to do not block the method.
Regarding RFC 2616
(http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4.4 ) the
Content-Length header is expected to be sent otherwise this patch assumes a zero
length.
2015-08-17 22:30:21 +02:00
Valentin Lorentz
d56539a0dd
Fix http tests on Python 3.
2015-08-15 14:07:01 +02:00
Valentin Lorentz
0254d7b84d
Add a decorator to retry tests that fail often.
2015-08-11 17:13:27 +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
34d384bd67
Remove need for fix_methodattrs.
2015-08-10 18:09:52 +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
17bf893437
Fix imports.
2015-08-09 09:21:12 +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
ed9f9d0794
Merge pull request #1148 from GLolol/patch-1
...
ircutils.formatWhois: ignore channels that have +p set
2015-08-08 20:37:17 +02:00
James Lu
8b37e23594
ircutils: fix Python 2.6 compatibility
2015-08-08 18:42:25 +08:00
James Lu
d74e3148b4
ircutils.formatWhois: ignore channels that have +p set
2015-08-08 03:14:46 -07:00
Valentin Lorentz
451ec28163
Merge pull request #1131 from GLolol/allow-unregistered-db-add
...
Allow unregistered users to use 'add', 'remove', etc. in ChannelIdDatabasePlugin plugins
2015-06-28 23:54:22 +02:00
James Lu
8e51209c3f
Fixes to ChannelIdDatabasePlugin as pointed out by @ProgVal
...
- Quote: factorize tests
- Make supybot.databases.plugins channel specific
2015-06-28 14:36:27 -07:00
Valentin Lorentz
5dabb4539f
Merge pull request #1129 from GLolol/raise-peeksize
...
conf.py: raise protocols.http.peeksize to 8192
2015-06-21 01:36:09 +02:00
James Lu
cdfae05df3
conf.py: raise protocols.http.peeksize to 8192
...
YouTube has recently updated its site design again so the <title> element falls right out of the 4K mark. This commit raises the default peeksize to 8K, which allows title snarfing to work with YouTube links again.
2015-06-20 14:11:09 -07:00
James Lu
c3ddc585b4
irclib: fix error when SASL is supported but not enabled for a network
2015-06-12 18:07:27 -07:00
nyuszika7h
869c6ce30d
Fix capability negotiation
2015-06-12 15:08:45 +02:00
Valentin Lorentz
cf557b516a
Fix Python 2.6 support.
2015-05-24 12:29:11 +02:00
Valentin Lorentz
e2b3b917e5
Use CAP LS.
2015-05-24 12:25:42 +02:00
Valentin Lorentz
f85395d8b1
Revert ban description-related commits.
...
Squashed commit of the following:
commit ea4743caa8bdc7abba99635898ae09a9497c43d3
Author: Valentin Lorentz <progval@progval.net>
Date: Sun May 24 01:07:49 2015 +0200
Revert "Channel & core: Add support for ban descriptions. Closes GH-1092."
This reverts commit 6efea561a5
.
Conflicts:
src/ircdb.py
commit d43b9229fe926869852c4abda1da1b18a0093938
Author: Valentin Lorentz <progval@progval.net>
Date: Sun May 24 01:06:30 2015 +0200
Revert "Fix import of channel database."
This reverts commit 8ed5522da0
.
commit 6c453d9acb3dc37711cb4d51abd9fe216ca65c08
Author: Valentin Lorentz <progval@progval.net>
Date: Sun May 24 01:06:27 2015 +0200
Revert "Fix previous commit."
This reverts commit 394f1554f7
.
2015-05-24 01:08:54 +02:00
Valentin Lorentz
394f1554f7
Fix previous commit.
2015-05-23 21:18:50 +02:00
Valentin Lorentz
8ed5522da0
Fix import of channel database.
2015-05-23 21:00:05 +02:00
Valentin Lorentz
ecdd16c004
Deprecate Twisted.
2015-05-20 22:57:24 +02:00