James Lu
278a111f5f
irclib: expand standard substitutions in realname
2016-08-16 11:00:58 +02:00
Valentin Lorentz
40a06d6527
Deprecate IrcMsg.__getattr__ and fix compatibility with Python ≥ 3.6.
2016-08-02 10:32:01 +02:00
James Lu
fea1ae1c20
ircutils: expand $version to Limnoria instead of Supybot
2016-08-01 20:57:21 -07:00
Valentin Lorentz
0d820477c2
GPG: Improve error messages.
2016-07-29 01:28:12 +02:00
Valentin Lorentz
e41b75d636
Merge remote-tracking branch 'mapreri/stable-output' into testing. Closes GH-1250.
2016-07-23 16:23:09 +02:00
Mattia Rizzolo
a69117a203
always sort the produced config files
2016-07-23 13:36:00 +00: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
Valentin Lorentz
fa5552ee5f
Merge pull request #1235 from JunaidLoonat/master
...
Use HTTP proxy for HTTPS requests as well
2016-04-29 22:09:17 +02:00
Junaid Loonat
3a2b603f2f
Improved HttpProxy validation routine
...
Validation routine for HttpProxy updated to use the newly introduced isSocketAddress() function
2016-04-26 23:32:48 +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
7be7b98e68
Update conf.py
2016-04-25 23:21:46 +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
14e5c490e6
Update conf.py
2016-04-25 22:03:00 +02:00
Junaid Loonat
8d2da9aa3a
Immediate HTTP(S) proxy (de)activation
...
Introduction of HttpProxy class which is based off of the SocksProxy class.
Allows for immediate HTTP(S) proxy activation and deactivation, as the configuration is changed.
2016-04-25 21:50: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
6ec0af2da3
Strip CTCP characters from irc.reply by default.
2016-04-24 21:11:34 +02:00
Valentin Lorentz
92ed5d484d
Open log files with UTF-8 encoding.
...
It seems to work better that way, at least on Python 3.
2016-03-24 22:04:35 +01:00
Valentin Lorentz
b64926814b
Add another fallback to log emitting in case of unicode-related error.
2016-03-20 12:56:33 +01: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
9cd2170a14
Add supported server fingerprint algorithms to the help of supybot.networks.*.ssl.serverFingerprints. Closes GH-1221.
2016-03-17 19:18:41 +01:00
James Lu
1b0c2ab95a
ircutils: add $network to standard substitutions
2016-03-14 20:30:11 -07: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
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
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
Valentin Lorentz
721cb06dcd
registry: Add a header to the configuration file telling not to edit it.
2015-05-20 13:58:20 +02:00
Valentin Lorentz
dfb68be410
gpg: Confirmed that this error happens on UNIX too.
2015-05-19 16:40:15 +02:00
Valentin Lorentz
a2004b7150
Improve order of connect messages.
2015-05-17 12:31:14 +02:00
Valentin Lorentz
9cb967023e
gpg: Don't crash if python-gnupg cannot find the gnupg binary.
...
Reported traceback:
File D:python27libsite-packagessupybotgpg.py, line 45, in <module>
gnupg.GPG(gnupghome=None)
File D:python27libsite-packagesgnupg.py, line 680, in __init__
p = self._open_subprocess([--version])
File D:python27libsite-packagesgnupg.py, line 726, in _open_subprocess
return Popen(cmd, shell=False, stdin=PIPE, stdout=PIPE, stderr=PIPE)
File D:python27libsubprocess.py, line 710, in __init__
errread, errwrite)
File D:python27libsubprocess.py, line 958, in _execute_child
startupinfo)
WindowsError: [Error 2] The system cannot find the file specified
2015-05-17 12:10:11 +02:00
Valentin Lorentz
5bd0001d02
irclib: Faster connection. (At least 5 seconds less.)
2015-05-17 12:02:31 +02:00
Valentin Lorentz
7cc7ad886f
Merge pull request #1107 from GLolol/format-whois
...
formatWhois: fix errors and restore formatting changes lost in supybot merge
2015-05-16 12:44:49 +02:00
Valentin Lorentz
f1fae13b4a
core: Fix IrcChannel.preserve. Closes GH-1106.
2015-05-16 03:59:36 +02:00
James Lu
5190db39a4
formatWhois: Fix channel names having the # cut off
2015-05-15 18:46:28 -07:00
James Lu
c651bc5482
formatWhois: fix error and restore formatting changes lost in supybot merge
...
This reapplies content from commits 2b324203e7
, 2628dc03c4
, ef9fbc4a07
,
41effcea13
, and 5f23855d27
.
2015-05-15 18:40:55 -07:00
Valentin Lorentz
82b8bf801a
core: Fix merge of upstream's factorization of whois formatting.
2015-05-16 03:21:17 +02:00
Valentin Lorentz
eca7a036aa
Socket: Move line decoding to utils.str.
2015-05-16 00:30:20 +02:00
Valentin Lorentz
39d40ec617
Merge branch 'ircv3.2' into testing
2015-05-16 00:22:42 +02:00
Valentin Lorentz
33004696c0
core: Add dictionary of numerics.
2015-05-16 00:20:31 +02:00
Valentin Lorentz
b405f998a5
NickAuth: Add support for account-tag (not tested).
2015-05-15 20:46:18 +02:00
Valentin Lorentz
259457ae2f
core: Request capability metadata-notify so plugins can use it if they want.
2015-05-15 19:35:51 +02:00
Valentin Lorentz
59d542bb70
NickCapture & core: Add support for MONITOR. Closes GH-842.
2015-05-15 19:24:24 +02:00
Valentin Lorentz
ba495f5719
Add support for message tags.
2015-05-15 18:08:50 +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
487f8c8af5
Merge remote-tracking branch 'supybot/master' into testing
...
Conflicts:
.mailmap
README
docs/FAQ.rst
plugins/Ctcp/plugin.py
plugins/Misc/plugin.py
plugins/Network/plugin.py
plugins/QuoteGrabs/plugin.py
plugins/RSS/README.txt
plugins/Relay/plugin.py
plugins/ShrinkUrl/config.py
plugins/ShrinkUrl/plugin.py
plugins/ShrinkUrl/test.py
setup.py
src/callbacks.py
src/commands.py
src/conf.py
test/test_commands.py
2015-05-15 14:41:08 +02:00
Valentin Lorentz
6efea561a5
Channel & core: Add support for ban descriptions. Closes GH-1092.
2015-05-15 13:43:26 +02:00
Valentin Lorentz
7448c04760
Store the list of server capabilities in IrcState.
2015-05-15 13:01:26 +02:00
Valentin Lorentz
86d9f49aa5
callbacks: Allow Plugin.noIgnore to be a function instead of a boolean.
2015-05-15 12:39:30 +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
bce47a8a8a
Revert "Recommend chardet instead of charade. Closes GH-1096."
...
This reverts commit 36a646661d
.
2015-04-29 10:07:13 +02:00
Valentin Lorentz
36a646661d
Recommend chardet instead of charade. Closes GH-1096.
2015-04-29 10:01:10 +02:00
James Lu
562fa14706
ChannelIdDatabasePlugin: allow unregistered users to use commands
...
This adds a new configuration variable, supybot.databases.plugins.requireRegistration, which defaults to True for maximum security.
2015-04-15 18:01:06 -07:00
James Lu
6add519765
callbacks.py: log plugin name in registryValue='text' errors
...
This can help with debugging to find what plugins are passing invalid things to registryValue().
2015-04-05 13:44:30 -07:00
Valentin Lorentz
6a134eb302
Update string comparison to a newer string.
...
Signed-off-by: James McCoy <vega.james@gmail.com>
2015-03-26 02:04:06 -04:00
Valentin Lorentz
b0846f914e
Fix crash for commands with ambiguous getopts shortcuts and no docstring.
...
Signed-off-by: James McCoy <vega.james@gmail.com>
2015-03-26 02:00:43 -04:00
James McCoy
cffbd959e8
Add handling of 437 (nick temporarily unavailable) errors
...
Servers bind a nick to a connection for a short window after it
disappears to try and avoid contention over nicks. This may cause a 437
during connection to a server (c.f. ProgVal/Limnoria#1033 ) or even
during normal nick changes, if the timing is lucky.
Add handling for this error to the startup code and the Admin plugin.
Signed-off-by: James McCoy <vega.james@gmail.com>
2015-03-26 01:33:04 -04:00
James McCoy
c3695c9419
ircutils: Add formatWhois function
...
Parsing through the various WHOIS replies to build a formatted string
isn't a trivial task, especially since there is some privacy related
information. Consolidate this handling into a single function so
there's one place to fix bugs.
Also fix an issue with people putting (unterminated) formatted text into
the "realname" field of their IRC client (c.f., ProgVal/Limnoria#1083 ).
Signed-off-by: James McCoy <vega.james@gmail.com>
2015-03-26 00:11:36 -04:00
Valentin Lorentz
4470805b5f
core: Remove useless imports.
2015-03-03 09:02:29 +01:00
Valentin Lorentz
72e71edb89
Update string comparison to a newer string.
2015-03-03 08:55:29 +01:00
Valentin Lorentz
6f9960d7a4
Fix crash for commands with ambiguous getopts shortcuts and no docstring.
2015-03-03 08:55:29 +01:00
James Lu
aba37ff951
conf.py: Remove reference to non-existent? "user configuration variable"
...
Closes #654 .
2015-02-28 00:13:06 -08:00
Valentin Lorentz
9076194009
Merge pull request #1041 from GLolol/admin/configurable-partmsg
...
Admin/Owner: substitute $version in quit and part messages (also make part messages configurable)
2015-02-27 13:15:25 +01:00
James McCoy
a8cd99f121
commands._getRe: Restore original args for any failure
...
String.re uses first('regexpMatcher', 'regexpReplacer'). If the args
provided to String.re are not a matcher and are longer than a single IRC
message (e.g., from a nested command), then regexpReplacer would never
be tried. A too long error should be handled the same as running out of
args while trying to find a valid regexp.
Signed-off-by: James McCoy <vega.james@gmail.com>
2015-02-18 22:09:38 -05:00
Valentin Lorentz
b99ff28e33
utils.web.getUrl: add the 'timeout' argument (and fix the doc of getUrlFd).
...
Signed-off-by: James McCoy <vega.james@gmail.com>
2015-02-18 19:53:42 -05:00
c675654b82
src/i18n.py: have languages in alphabetical order
...
It's probably not so important, but I don't like them being in any
strange random order. Of course having English first would make sense as
it's the default, but I still prefer alphabetical order.
2015-02-08 09:44:13 +02:00
James Lu
32de4e8270
Merge branch 'testing' into admin/configurable-partmsg
2015-02-07 10:00:48 -08:00
Valentin Lorentz
cb6669015e
Make ircutils.standardSubstitute accept None as irc and msg. (Preliminary for GH-1041.)
2015-02-07 08:15:42 +01:00
James Lu
5e4501d7d2
i18n.py: mention 'en' as supported lang & quote the language codes for less ambiguity.
...
Ref #1046 .
2015-02-06 15:40:44 -08:00
544befd2d0
src/i18n.py: mention supported languages
...
Closes #1046
I used Admin for sources of what languages are supported as it's usually
recommended to start translating from there (first plugins, then core).
2015-02-06 11:58:24 +02:00
James Lu
b243c83e41
Admin/Owner: Use standard substitution for part/quit messages
2015-02-05 20:26:14 -08:00
Valentin Lorentz
681bd5d85d
Count number of bytes instead of number of characters for truncating messages. Closes GH-1038.
2015-02-04 17:31:42 +01:00
James Lu
561085cbd1
irclib.py: fix an encoding error with Python 3 and SASL ECDSA-NIST256P-CHALLENGE
...
Closes ProgVal#1028.
2015-01-24 13:32:13 -05:00
nyuszika7h
5653e0c727
Fix commit 30a026a
...
Requesting multiple capabilities in one message will result in a NAK for
all of them if at least one is not supported by the server.
2015-01-19 18:12:39 +01:00
Valentin Lorentz
30a026a92a
Request multi-prefix capability. (GH-1017)
2015-01-19 17:15:25 +01:00
nyuszika7h
bf418756a9
Fix registration timeout when SASL is refused
...
https://github.com/ProgVal/Limnoria/issues/854#issuecomment-70414650
2015-01-18 21:31:03 +01:00
Valentin Lorentz
b0db845604
Merge pull request #1009 from ddan39/master
...
add usesendMsg=False to irc.reply() to use sendMsg() instead of queueMsg...
2015-01-17 09:58:26 +01:00
Dan
bd2d17a1c2
update irc.reply() change new arg name
2015-01-17 03:49:32 -05:00
ddan39
2fe84a3474
add usesendMsg=False to irc.reply() to use sendMsg() instead of queueMsg()
2015-01-17 07:13:30 +01:00
Mikaela Suomalainen
048b00b4a3
src/conf.py: update reply.time.format
...
I am not fully sure on this change, but T is the official separator
between date and time and `date -Is` uses it.
2015-01-05 20:56:41 +02:00
Max Teufel
ef0a2c1cb1
irclib: add support for SASL ECDSA-NIST256P-CHALLENGE
...
Closes #911
2014-12-29 11:47:57 +01:00
GLolol
1b3a7b2d3e
ircutils: also map zfill'd versions of integers in mircColors
2014-12-21 14:19:31 -05:00
James McCoy
4f489fad61
Move project pointers from Sourceforge to GitHub
...
Closes Supybot/Supybot#7
Signed-off-by: James McCoy <vega.james@gmail.com>
2014-12-18 21:31:59 -05:00
Mikaela Suomalainen
85e9935013
src/conf.py: clear hosts4 & make hosts6 ::0
...
Closes #756
Fixes #935
2014-12-13 11:07:14 +02:00
Valentin Lorentz
1650860032
RSS: Do no block commands calling while loading a feed.
2014-10-14 20:59:00 +00:00
Valentin Lorentz
e0b1796042
Merge pull request #853 from nyuszika7h/disable-log-wrap
...
Disable log.stdout.wrap by default
2014-10-09 16:06:01 +02:00
Mikaela Suomalainen
9816c8cccb
src/conf.py: disable strictRFC by default
...
strictRFC causes issues when nicks start with numbers and on some
network this happens too often. For example, if nick isn't RFC-compliant,
the bot cannot be used to kick user from channel. Ops cannot change this
so they must op themselves and kick the user by themselves or whatever
they are going to do.
Some IRCds also allow you to change your nick to your UID using `/nick
0` and on others it happens when there is nick collision after netsplit.
2014-09-20 00:50:12 +02:00
nyuszika7h
dd3752df17
Disable log.stdout.wrap by default
...
It causes more issues than it solves. The output might break if you
resize the terminal and it can make logs harder to read.
2014-09-13 13:23:50 +02:00
Valentin Lorentz
537f9b3461
Socket: catch connection errors.
2014-08-30 12:11:00 +02:00
nyuszika7h
18ccc168f5
src/irclib.py: fix typo causing an error on 904
2014-08-30 11:55:31 +02:00
nyuszika7h
414d2d1878
Add support for SASL EXTERNAL
2014-08-27 12:21:22 +02:00
Valentin Lorentz
9323c805a2
Fix help text of supybot.commands.nested.
2014-08-14 19:41:35 +02:00
Valentin Lorentz
60a65b831e
commands: Explicitely close the Queue object.
2014-08-14 14:18:47 +02:00
Valentin Lorentz
bd1ac36c2c
Move disableMultiprocessing from supybot.conf to supybot.world in order for it not to be in the config file.
2014-08-14 14:16:15 +02:00
Mikaela Suomalainen
4abc35dbfc
src: update help text of commands.nested.brackets
...
The shift part only applied to people on American keyboard and not all
users are on that, so it only caused confusion.
Strong historical motivations should be enough for most of people as I
wasn't able to remember the correct brackets when I tried changing them
to `<>` which I feel are the easiest to type on Finnish/Swedish keyboard.
Also update messages.pot & l10n-fi.
2014-08-13 21:08:53 +02:00
Valentin Lorentz
a4398a8773
registry: Add CommaSeparatedSetOfStrings.
2014-08-10 18:07:04 +02:00
Valentin Lorentz
0c6315afac
Merge pull request #808 from nyuszika7h/fix-who
...
Fix WHO clash with external plugins (e.g. ChanTracker)
2014-08-05 12:00:31 +02:00
nyuszika7h
037cc98cac
Fix capability negotiation
2014-08-05 11:22:56 +02:00
nyuszika7h
da817603dd
src/irclib.py: use a set instead of a list for Irc.caps
2014-08-04 21:54:44 +02:00
nyuszika7h
581d167e5e
src/irclib.py: set caps in Irc.__init__
...
This allows other plugins to request capabilities in a straightforward
way.
2014-08-04 21:36:00 +02:00
nyuszika7h
20c71df8f9
Fix WHO clash with external plugins (e.g. ChanTracker)
2014-08-04 21:32:13 +02:00
Valentin Lorentz
9385487f54
Simplify and fix logic of umodes filtering. Closes GH-719.
2014-08-04 16:26:23 +02:00
Valentin Lorentz
d431c2992b
Factoids: Fix compatibility of web server with Python 3. Closes GH-784.
2014-08-04 13:21:40 +00:00
nyuszika7h
ddbfad5086
Add do352 back for IRCds which do not support WHOX
2014-08-03 13:58:49 +02:00
nyuszika7h
dd5556ea99
Fix previous commit
2014-08-02 14:11:49 +02:00
nyuszika7h
e185416987
Fix tests
2014-08-02 13:45:41 +02:00
nyuszika7h
871607614a
Implement account-notify, extended-join and WHOX
...
Also integrate it with NickAuth.
Closes #778 .
2014-08-02 12:30:24 +02:00
Mikaela Suomalainen
c0c9da8a47
src/conf.py: make help text for defaultignore...
...
more clear
Now the help text says `unidentified` instead of `unregistered` and
hostmasks are mentioned.
2014-08-01 07:08:22 +03: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
Valentin Lorentz
e42a3dd6ac
Fix Python 2.6 compatibility.
2014-07-31 19:53:07 +00:00
Valentin Lorentz
c6cb948996
Fix Python 2.6 compatibility.
2014-07-31 19:53:00 +00:00
Valentin Lorentz
0e7349cf77
Fix utils.str.timestamp for ints.
2014-07-31 19:38:08 +00:00
Valentin Lorentz
0f174d9ee0
Fix utils.str.timestamp for ints.
2014-07-31 19:37:57 +00:00
Valentin Lorentz
4a3d39e747
Merge branch 'rewrite-rss' into testing
...
Conflicts:
src/utils/str.py
2014-07-31 19:24:01 +00:00
Mikaela Suomalainen
ddf7ec9baa
src/conf.py & commands.py: fix typo
...
informations --> information
2014-07-31 18:09:22 +00:00
Valentin Lorentz
2f327ab9c1
Fix Python 2.6 support (broken in the two last commits).
2014-07-31 18:06:20 +00:00
Valentin Lorentz
8be1671867
Fix unicode handling issue of utils.str.format on Python 2.
2014-07-31 19:57:26 +02:00
Valentin Lorentz
8010cd5ae2
Fix unicode handling issue of utils.str.format on Python 2.
2014-07-31 19:57:14 +02:00
Valentin Lorentz
70ad232887
Fix af24192b0f
(support for struct_time in utils.str.timestamp).
2014-07-31 19:56:17 +02:00
Valentin Lorentz
af24192b0f
Allow utils.str.timestamp to take a struct_time as argument.
2014-07-31 18:44:00 +02:00
Valentin Lorentz
c51876b4d6
Allow TruncatableSet to get no argument.
2014-07-31 18:43:40 +02:00
Valentin Lorentz
94fbea6266
Add utils.structures.TruncatableSet.
2014-07-31 14:24:47 +02:00
nyuszika7h
32e3be3dac
src/irclib.py: remove some errors
2014-07-26 11:52:34 +02:00
Valentin Lorentz
39dad55b6f
Make renaming of commands persistant. Closes GH-789.
2014-07-18 20:43:24 +02:00
Valentin Lorentz
ab011a6618
ShrinkUrl & core: Fix encoding issue related to getUrlFd.
2014-07-16 05:42:46 +00:00
nyuszika7h
8e11dc8b28
Use gender-neutral pronouns everywhere
2014-07-13 17:23:11 +02:00
Valentin Lorentz
6f19088724
Merge remote-tracking branch 'supybot/master' into testing
...
Conflicts:
.gitignore
plugins/Alias/plugin.py
plugins/Anonymous/plugin.py
plugins/Anonymous/test.py
setup.py
src/callbacks.py
2014-07-12 09:48:27 +02:00
Valentin Lorentz
da4a1c1a32
80 columns.
2014-07-09 07:50:32 +02:00
Mikaela Suomalainen
20f8c5c56a
src/conf.py reword help text for supybot.user
...
and supybot.networks.<network>.user
2014-07-09 07:50:32 +02:00
James McCoy
3d993a0cab
callbacks: Properly handle nested command errors
...
Using Raise=True was only papering over the real problem in the nested
command error handling. The actual issue is that we were trying to
return an IrcMsg from NestedCommandsIrcProxy.__init__. Dropping
Raise=True and moving return to its own line is the correct fix and
resolves the test failure in testMaximumNestingDepth.
This commit reverts 7838cae3bc
Signed-off-by: James McCoy <vega.james@gmail.com>
2014-06-29 19:12:22 -04:00
Valentin Lorentz
aad0f0c88c
i18n: Don't strip spaces at the end of translated strings. Closes GH-750.
2014-06-19 10:28:08 +00:00
Valentin Lorentz
9e74175566
schedule: Move the whole deletion of an event in the same critical section.
2014-06-17 21:19:07 +02:00
Valentin Lorentz
ddc37a7f4a
Revert "Make supybot.reply.oneToOne not always true on channels."
...
This reverts commit 5881c97120
.
2014-06-11 11:13:01 +00:00
James McCoy
7838cae3bc
callbacks: Use Raise=True for nested limit errors
...
Signed-off-by: James McCoy <vega.james@gmail.com>
2014-06-09 23:44:25 -04:00
Mikaela Suomalainen
1762b8090a
fix 2f723e809d
2014-06-09 20:41:04 +03:00
Mikaela Suomalainen
6d3198c2b3
src/conf.py: update help for drivers.module
...
This wording was suggested by @nyuszika7h .
2014-06-09 20:38:45 +03:00
Valentin Lorentz
a138722d73
src/log.py: Display warning instead of raising exception if there is no space left on defice (infinite loop…).
2014-06-09 16:41:58 +00:00
Mikaela Suomalainen
ea0ba24e5c
src/conf.py: reword the config help for reply.oneToOne
.
...
Suggested by @monodemono on `#supybot`.
**Comments wanted:** does this rewording make sense? If it doesn't, how
could it be better?
2014-06-06 20:57:08 +03:00
nyuszika7h
fa06f2af34
Add protocols.irc.certfile
...
Fixes #612 .
2014-06-04 19:12:56 +02:00
venth
76599db944
questions.yn: Perform string, not identity, comparison against 'y'
...
The `is` operator performs object identity comparison. Changing to `==`
implements the expected behavior.
Use the mock library to add tests verifying the API of questions.yn.
2014-06-01 22:52:58 -04:00
Valentin Lorentz
b14ed2c5d9
Config: Prevent variable creation when trying to get the value of a channel-specific variable for a non-channel.
2014-05-31 20:44:56 +02:00
Valentin Lorentz
303c00db1e
Fix previous commit.
2014-05-31 15:23:27 +02:00
Valentin Lorentz
bd638ce350
i18n: Cleaner code and potential bug fix of multi-line translations.
2014-05-31 14:56:28 +02:00
Valentin Lorentz
483e786cde
i18n: Fix internationalization of command help.
2014-05-31 14:53:15 +02:00
Mikaela Suomalainen
8ee273b949
src/conf.py: use ISO 8601 in reply.format.time.
...
If I read the code for Time correctly, it uses this value by default. I
think that this fixes #701 .
2014-05-31 09:46:29 +03:00
Valentin Lorentz
5881c97120
Make supybot.reply.oneToOne not always true on channels.
2014-05-30 17:03:12 +00:00
Valentin Lorentz
8787239f0a
Merge pull request #675 from Mkaysi/html5
...
src/httpserver.py: use HTML5.
2014-05-29 23:28:59 +02:00
Mikaela Suomalainen
85a943c5b1
src/conf.py: fix gender-neutral pronouns.
2014-05-29 18:51:52 +03:00
Mikaela Suomalainen
0f89e12f4d
src/conf.py: set default banmask to host.
...
`*!user@host` is very easy to evade as most of users don't have identd server. This makes bans a little more difficult to evade.
See also:
* weechat/weechat#18
* ProgVal/Limnoria#689
2014-05-28 12:45:07 +03:00
Mikaela Suomalainen
3e9ccf2cdf
src/conf.py: Plugin isn't important plugin
...
See https://github.com/ProgVal/Limnoria/pull/677#issuecomment-44134309 & https://github.com/ProgVal/Limnoria/pull/677#issuecomment-44140276 .
2014-05-25 20:33:33 +03:00
Mikaela Suomalainen
cedae0244c
src/httpserver.py: use HTML5.
2014-05-25 13:50:39 +03:00
nyuszika7h
100ff648be
src/irclib.py: Further improvements to SASL and a few other minor things
2014-05-24 17:25:32 +02:00
nyuszika7h
414249c9ac
src/irclib.py: Delay sending SASL authstring until given green light
...
That means wait until receiving 'AUTHENTICATE +' from the server, which
means the mechanism is supported and we can proceed to send the
authstring.
It generally works anyway, but it's better to follow the standards, plus
old versions of elemental-ircd may crash if we don't do this.
2014-05-24 15:57:27 +02:00
Valentin Lorentz
d5d3171794
Merge pull request #656 from Mkaysi/patch-3
...
src/conf.py: fix #653
2014-05-22 22:10:13 +02:00
Mikaela Suomalainen
fb26c772fc
src/test.py: fix typo
...
standart --> standard
2014-05-22 13:54:25 +03:00
Mikaela Suomalainen
44c579c4f9
src/conf.py: fix #653
...
```
4.4.2 Notice
Command: NOTICE
Parameters: <nickname> <text>
The NOTICE message is used similarly to PRIVMSG. The difference
between NOTICE and PRIVMSG is that automatic replies must never be
sent in response to a NOTICE message. This rule applies to servers
too - they must not send any error reply back to the client on
receipt of a notice. The object of this rule is to avoid loops
between a client automatically sending something in response to
something it received. This is typically used by automatons (clients
with either an AI or other interactive program controlling their
actions) which are always seen to be replying lest they end up in a
loop with another automaton.
See PRIVMSG for more details on replies and examples.
```
2014-05-22 12:55:43 +03:00
Valentin Lorentz
adc1b94f81
Merge pull request #622 from ncoevoet/master
...
Fixes ProgVal/Limnoria#611
2014-05-09 15:42:49 +02:00
Nicolas Coevoet
f9afcffb3a
Fixes ProgVal/Limnoria#611
2014-05-09 14:39:57 +02:00
Valentin Lorentz
9d084e2e70
Allow network-specific username and ident. Closes GH-589.
2014-05-08 08:33:01 +00:00
Valentin Lorentz
9210aa1a33
utils.web.getUrl: add the 'timeout' argument (and fix the doc of getUrlFd).
2014-04-26 12:43:45 +00:00
Valentin Lorentz
5461785ee2
cdb: Remove debug output.
2014-04-19 10:18:34 +02:00
Valentin Lorentz
28536f0528
Fix utils.gen.safeEval to work with instances of ast.NameConstant (introduced in Pythn 3.4).
2014-04-19 10:17:14 +02:00
Valentin Lorentz
65aed8f7ed
Fix previous commit.
2014-04-18 07:16:02 +00:00
Valentin Lorentz
cab4cb5059
Copy the reply_env when copying an IrcMsg object.
2014-04-18 07:08:14 +00:00
Valentin Lorentz
30cc4804eb
Add 'reply_env' attribute to IrcMsg.
2014-04-18 06:53:52 +00:00
Valentin Lorentz
90a1208e9e
httpserver: Fix crash if supybot.servers.http.favicon has not been set.
2014-04-15 18:39:44 +00:00
Valentin Lorentz
5f306a8c74
Fix neutral pronouns.
2014-04-11 21:56:42 +00:00
nyuszika7h
822e6449f9
irclib: Add support for additional SASL numerics
2014-04-10 15:03:20 +02:00
nyuszika7h
6be8204805
irclib: Remove some useless SASL debug messages
2014-04-10 14:57:20 +02:00
nyuszika7h
14e51f6193
irclib: Make SASL messages easier to understand
...
The logs are meant to be understandable by humans, and not everyone
might know AUTHENTICATE is a SASL command.
[ci skip]
2014-04-10 14:53:17 +02:00
Valentin Lorentz
f569af6230
remove generated src/version.py.
2014-04-05 23:08:33 +02:00
Valentin Lorentz
d89e4b5635
Fix previous merge.
2014-04-05 22:56:40 +02:00
Valentin Lorentz
8885a813c5
Merge remote-tracking branch 'supybot/master' into merge-supybot
...
Conflicts:
INSTALL
plugins/Misc/plugin.py
plugins/Seen/test.py
setup.py
src/commands.py
src/version.py
2014-04-05 22:54:51 +02:00
Valentin Lorentz
4d9a8a1408
httpserver: Open icon in binary mode.
2014-04-02 17:34:04 +00:00
Valentin Lorentz
048c1e77f4
httpserver: Fix favicon handling.
2014-04-02 17:18:45 +00:00
Sergio Conde
ad3deb7c21
Fix AttributeError exception in log.py with python3.4
2014-04-01 20:16:20 +02:00
Valentin Lorentz
0da8ab759e
Fix doc (again).
2014-03-21 15:34:14 +00:00
Valentin Lorentz
5f8e45aaa8
Fix doc of NestedCommandsIrcProxy.reply.
2014-03-21 15:31:48 +00:00
Valentin Lorentz
bfb305e2b8
Utilities: Use number comparison for integers and floats in @sort.
2014-03-20 21:17:18 +00:00
Valentin Lorentz
c6cb4fa394
i18n: Prevent untranslated strings from having empty translations
2014-03-10 16:26:26 +01:00
Valentin Lorentz
77e6de6bba
Fix errors detected by PyLint.
2014-03-05 14:14:36 +01:00
Valentin Lorentz
2601f33b19
src/conf.py: Remove unicode characters from the source code.
2014-03-04 11:29:22 +01:00
Valentin Lorentz
b4ad8c228d
Remove invisible character in src/test.py.
2014-03-02 00:43:58 +01:00
Valentin Lorentz
dcb25db6e5
Add support for SRV records in domain name resolution.
2014-03-01 09:22:14 +01:00
Valentin Lorentz
108b0de0d1
Add support of IP-binding in non-IRC connections.
2014-03-01 09:06:21 +01:00
Valentin Lorentz
59ae6f987d
ircdb: Honor ignoreDefaultAllow for unknown users too.
2014-02-27 19:05:19 +00:00
Valentin Lorentz
8fd834beb7
Fix precedence of commands by removing Utilities from the list of important plugins.
2014-02-22 00:03:58 +00:00
Valentin Lorentz
d1aa36126d
Add Utilities as a default plugin.
2014-02-21 23:55:41 +00:00
Valentin Lorentz
5d301b653f
Merge remote-tracking branch 'origin/speed-up-2to3' into testing
...
Conflicts:
locales/fr.po
plugins/Misc/plugin.py
sandbox/check_trans.py
src/i18n.py
2014-02-02 22:28:19 +01:00
Valentin Lorentz
4fe74ed397
Merge branch 'aka-sqlite3' into speed-up-2to3
2014-02-02 22:15:43 +01:00
Valentin Lorentz
0d4784cf4a
Fix compatibility with Python 2.6 (does not support the set syntax).
2014-01-26 21:49:28 +01:00
Valentin Lorentz
aea86d432f
Fix previous commit.
2014-01-26 21:34:24 +01:00
Valentin Lorentz
c872cd793f
Fix compatibility with Pypy (does not support __closure__ attribute for functions).
2014-01-26 21:19:28 +01:00
Valentin Lorentz
a7f750d273
Fix compatibility with Python 2.6 (does not support the set syntax).
2014-01-26 21:14:21 +01:00
Valentin Lorentz
eaed281de7
Fix compatibility with Python 2.6 (does not support the set syntax).
2014-01-26 21:13:06 +01:00
Valentin Lorentz
121991eff9
Fix case of i18n.InternationalizedFunction.
2014-01-26 20:45:28 +01:00
Valentin Lorentz
9b365d1ed8
Fix case of i18n.InternationalizedString.
2014-01-26 20:45:28 +01:00
Valentin Lorentz
f3e292d518
Fix memory leak in i18n by using weak references to plugin classes and methods.
2014-01-26 20:45:28 +01:00
Valentin Lorentz
489ec1b065
i18n: Move the pot files parsing to a separate function.
2014-01-26 20:45:27 +01:00
Valentin Lorentz
6a8b7889ea
Remove unnecessary call to i18n.reloadLocalesIfRequired.
2014-01-26 20:45:27 +01:00
Valentin Lorentz
3e35113e02
Fix internationalization of docstrings of wrap()ed commands.
2014-01-26 20:45:27 +01:00
Valentin Lorentz
e1f9d68870
Switch comments of callbacks.PluginRegexp's attributes to docstrings (for Sphinx).
2014-01-26 20:45:27 +01:00
Valentin Lorentz
a5e06e1b57
Update documentation of ircdb.checkCapability (used in the Sphinx doc).
2014-01-26 20:45:27 +01:00
Valentin Lorentz
8d1201aa43
Fix case of i18n.InternationalizedFunction.
2014-01-22 11:04:08 +01:00
Valentin Lorentz
5c08281543
Fix case of i18n.InternationalizedString.
2014-01-22 10:54:40 +01:00
Valentin Lorentz
974a64de44
Fix memory leak in i18n by using weak references to plugin classes and methods.
2014-01-22 10:51:01 +01:00
Valentin Lorentz
80aa419035
Add file minisix.py (forgot to add it in previous commits).
2014-01-21 22:41:50 +01:00
Valentin Lorentz
1874440cc8
i18n: Move the pot files parsing to a separate function.
2014-01-21 22:39:48 +01:00
Valentin Lorentz
35c7b52e14
Remove unnecessary call to i18n.reloadLocalesIfRequired.
2014-01-21 16:36:45 +01:00
Valentin Lorentz
3af1e3f42d
Fix internationalization of docstrings of wrap()ed commands.
2014-01-21 16:33:35 +01:00
Valentin Lorentz
f27484d2bb
Switch comments of callbacks.PluginRegexp's attributes to docstrings (for Sphinx).
2014-01-21 13:43:52 +01:00
Valentin Lorentz
06fdaa792f
Continue accelerating the 2to3 step (remove fix_map).
2014-01-21 10:57:38 +01:00
Valentin Lorentz
1fbdedc7e0
Continue accelerating the 2to3 step (remove fix_funcattrs, fix_itertools, and fix_itertools_imports).
2014-01-21 10:50:55 +01:00
Valentin Lorentz
35a62b4e77
Continue accelerating the 2to3 step (remove fix_ws_comma, fix_xreadlines, and fix_zip).
2014-01-21 10:40:18 +01:00
Valentin Lorentz
ca419f6485
Continue accelerating the 2to3 step (remove fix_reduce, fix_renames, fix_repr, fix_set_literal, fix_standarderror, fix_sys_exc, fix_throw, and fix_tuple_params).
2014-01-20 16:04:53 +01:00
Valentin Lorentz
bb7db3ab21
Continue accelerating the 2to3 step (remove fix_except).
2014-01-20 15:49:15 +01:00
Valentin Lorentz
2fda69b4d6
Continue accelerating the 2to3 step (remove fix_raise).
2014-01-20 15:43:55 +01:00
Valentin Lorentz
c1c23f66f4
Continue accelerating the 2to3 step (remove fix_print).
2014-01-20 15:31:09 +01:00
Valentin Lorentz
529b8f8d99
Continue accelerating the 2to3 step (remove fix_nonzero, fix_operator, and fix_paren).
2014-01-20 15:19:06 +01:00
Valentin Lorentz
d1649a44ac
Continue accelerating the 2to3 step (remove fix_idioms, fix_imports2, fix_input, fix_intern, fix_isinstance, fix_ne, fix_next, and fix_raw_input).
2014-01-20 15:13:01 +01:00
Valentin Lorentz
4652c9ce51
Start accelerating the 2to3 step (remove fix_apply, fix_buffer, fix_callable, fix_exec, fix_execfile, fix_exitfunc, fix_filter, fix_funcattrs, fix_future, fix_getcwdu, and fix_has_key).
2014-01-20 14:49:47 +01:00
Valentin Lorentz
566e841977
Update documentation of ircdb.checkCapability (used in the Sphinx doc).
2014-01-20 11:35:28 +01:00
Valentin Lorentz
26dbe5ce81
Merge branch 'master' into testing
2014-01-07 09:37:13 +00:00
Valentin Lorentz
caba0d388e
Merge pull request #536 from ddan39/addshortopts
...
add short options to getopts. single letter options will work with both - or --
2014-01-07 01:36:05 -08:00
Dan
54196be509
add short options to getopts. single letter options will work with both - or --
2014-01-06 23:03:25 +01:00
Valentin Lorentz
5694f2499d
Merge pull request #535 from bnrubin/master
...
log: Add support for Logging's 'extra' keyword argument
2014-01-06 07:54:11 -08:00
Benjamin Rubin
1093cfb01f
log: Add support for Logging's 'extra' keyword argument
2014-01-05 17:15:00 -05:00
Valentin Lorentz
b44a08d2bd
Fix previous merge (again).
2014-01-03 17:48:30 +00:00
Valentin Lorentz
4a9d3ccd3e
Fix previous merge.
2014-01-03 17:15:32 +00:00
nyuszika7h
0934f1075b
Merge branch 'testing' into fix/fd-leak
2014-01-03 17:45:53 +01:00
nyuszika7h
0e480b4e52
Fix file descriptor leaks
2014-01-03 17:44:01 +01:00
Valentin Lorentz
38d78a4213
httpserver: add method 'doHook' to callbacks.
2014-01-02 17:20:15 +00:00
Valentin Lorentz
233571e4b5
Add arguments ignoreChannelOp and ignoreDefaultAllow to ircdb.checkCapability.
2013-12-27 15:04:32 +00:00
Valentin Lorentz
0ecdb87aef
Fix crash in sending queued messages if SocketDriver.irc is None.
2013-12-27 13:15:45 +00:00
Valentin Lorentz
89fb4fb3b2
Fix stack frames display for objects without __dict__ attribute.
2013-12-25 16:08:07 +00:00
Valentin Lorentz
84cad71cf5
Fix inspection of the stack if the 'self' object has no __dict__.
2013-12-15 19:30:20 +00:00
Valentin Lorentz
01278dc56c
Aka: Fix 'factorial-complexity' recursion and command overriding.
2013-12-11 16:01:01 +00:00
Valentin Lorentz
c774013e1f
Socket: Only call self.irc.feedMsg if self.irc is not None (ie. a reconnect is not in progress).
2013-12-05 12:37:00 +00:00
Valentin Lorentz
f894983b55
Add inspection of self.* in debug locals dump.
2013-12-05 12:35:56 +00:00
Valentin Lorentz
583b1baf64
Socket: Fix commit 4c24f30
.
2013-12-03 05:44:50 +00:00
Valentin Lorentz
9a83b741ea
Socket: Only display the missing cert file warning if a cert file path is given.
2013-11-27 16:44:15 +00:00
Valentin Lorentz
4c24f30504
Socket: Check if certertificate file exists before using it.
2013-11-27 07:26:09 +00:00
Valentin Lorentz
b673cdb037
Merge branch 'testing' of github.com:ProgVal/Limnoria into testing
2013-11-26 16:59:05 +01:00
Valentin Lorentz
aea77d64e7
callbacks.py: Pass a reference to the plugin to pre-command callbacks.
2013-11-26 16:57:33 +01:00
Valentin Lorentz
42b8a0676c
utils/web.py: Attempt to fix handling of RSS feeds using broken entity references.
2013-11-26 15:15:07 +00:00
Valentin Lorentz
ff5d83e7e6
ircutils: Add 'I' to _plusRequireArguments and _minusRequireArguments.
2013-11-25 20:44:52 +00:00
Valentin Lorentz
e65a722b2f
Add certfp support. Closes GH-468.
2013-11-10 11:45:01 +01:00
Valentin Lorentz
9d2c43d2f4
Socket: Trigger reconnect if socket file number has been set to -1.
2013-11-09 15:47:36 +00:00
Valentin Lorentz
0876bb345c
Fix import of supybot.gpg if gnupg is not available.
2013-11-02 06:17:51 +00:00
Valentin Lorentz
3f150e12e7
gpg: Disable use of incompatible library 'gnupg'.
2013-10-29 17:09:41 +01:00
James McCoy
bf48d521f2
Use generic setuptools instead of requiring distribute
...
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2013-10-10 20:37:12 -04:00
James McCoy
56a6799deb
commands: Consolidate state.channel checks into getChannel
...
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2013-10-10 18:54:50 -04:00
Valentin Lorentz
677f7fdd6f
irclib: Prevent crash if 324 or 329 is not received after any other post-join messages.
2013-10-10 14:10:06 +00:00
Valentin Lorentz
359d3c633d
registry: Make subvalues inherit privacy. Closes GH-519.
2013-10-06 14:26:03 +00:00
Valentin Lorentz
657b76d174
Fix merge.
2013-09-22 20:29:52 +02:00
Valentin Lorentz
990b911c06
Merge remote-tracking branch 'supybot/master' into testing
...
Conflicts:
src/callbacks.py
src/ircdb.py
2013-09-22 20:16:20 +02:00
James McCoy
6361b1e856
ircdb: Deduplicate hostmasks in IrcUser.addAuth
...
If addAuth is called with a hostmask that already exists (exactly, not
just equivalent patterns) in self.auth, remove the entry for the old
authentication. This essentially updates the timeout for the hostmask.
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2013-09-22 11:13:52 -04:00
Valentin Lorentz
4e2962b39e
Fix error when writing hostmask-collision error message.
2013-09-17 13:32:52 +00:00
James McCoy
4bc549c1ed
Prevent exception when replying with a genericNoCapability error
...
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2013-08-31 23:04:38 -04:00
Valentin Lorentz
01a6ed6540
Fix use of rsplit for IPv6 addresses.
...
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2013-08-26 21:37:12 -04:00
Valentin Lorentz
40675ffdfa
Merge remote-tracking branch 'supybot/master' into testing
...
Conflicts:
plugins/Admin/plugin.py
plugins/BadWords/config.py
plugins/Filter/plugin.py
plugins/Google/plugin.py
plugins/Math/plugin.py
plugins/Misc/plugin.py
plugins/Note/plugin.py
plugins/RSS/plugin.py
plugins/Seen/test.py
plugins/ShrinkUrl/config.py
plugins/ShrinkUrl/plugin.py
plugins/ShrinkUrl/test.py
plugins/Status/plugin.py
plugins/String/config.py
plugins/String/plugin.py
plugins/Time/plugin.py
plugins/Todo/plugin.py
plugins/Web/plugin.py
plugins/__init__.py
scripts/supybot-botchk
setup.py
src/__init__.py
src/callbacks.py
src/commands.py
src/conf.py
src/drivers/Socket.py
src/ircdb.py
src/irclib.py
src/ircutils.py
src/questions.py
src/registry.py
src/schedule.py
src/test.py
src/utils/file.py
src/utils/gen.py
src/utils/net.py
src/utils/web.py
src/world.py
2013-08-24 11:28:29 +02:00
James McCoy
ea7f1f8419
Socket: Match the expected API of reconnect
...
driver.reconnect(wait=True) should flag a driver to reconnect, but not
immediately. The Socket driver lost its handling of this flag in
8730832e
.
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2013-08-24 00:29:16 -04:00
James McCoy
e7d0bfd2d0
commands: Handle OverflowError in _int
...
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2013-08-23 23:36:44 -04:00
James McCoy
333067c151
Provide a default help message for commands without help.
...
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2013-08-23 22:57:13 -04:00
James McCoy
e421722960
Fix crash if a custom error message is provided to somethingWithoutSpaces
...
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2013-08-23 22:06:07 -04:00
Valentin Lorentz
960e1da61c
commands.py: Fix error message of getSomethingWithoutSpaces.
...
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2013-08-23 00:29:11 -04:00
James McCoy
5b329df6f0
Socket: Try all resolved addresses before scheduling a reconnect
...
Instead of assuming the first address returned from getaddrinfo can be
reached, try each one in turn until a connection is established.
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2013-08-22 23:43:09 -04:00
James McCoy
88e4f73777
getSocket: Use returned family to create the socket
...
The existing code was parsing the passed in host to determine what type
of socket family to create. getaddrinfo already provides this for us,
so there's no need to perform our own, potentially buggy, parsing.
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2013-08-22 23:40:28 -04:00
Valentin Lorentz
e3acc03fd6
Another fix for b46a0dd6a2
.
2013-08-17 19:27:52 +02:00
Valentin Lorentz
f3ecc33678
Fix commit b46a0dd
(breaks tests for Alias and Aka).
2013-08-17 17:08:55 +02:00
Kill Your TV
b46a0dd6a2
Unicode fixes for python 2.x
...
These changes have been tested with Python 3.2.3 and Python 2.7.5.
2013-08-17 14:12:10 +00:00
Valentin Lorentz
dd37f8dd3f
Socket: Forward DNS queries via the socks proxy (if any).
2013-08-17 15:47:39 +02:00
Valentin Lorentz
b375e7dfb2
commands.py: Fix crash if a custom error message is provided to somethingWithoutSpaces (bug introduced in 29dc1438a0
).
2013-08-15 22:25:36 +02:00
Valentin Lorentz
8d7b06efd1
utils.str.format: Replace %u with '' instead of '<>' if URL is empty.
2013-08-13 19:19:54 +00:00
Valentin Lorentz
3a5c4c3ddd
Add class attribute callbacks.Commands.pre_command_callbacks.
2013-08-12 21:48:56 +02:00
Valentin Lorentz
ebde072f39
Add explicit/helpful error message about how to solve the multiprocessing 'Permission denied' issue.
2013-08-12 19:08:31 +02:00
Valentin Lorentz
1e050d7fa8
utils/str.py: Use already existing function utils.gen.timeElapsed instead of redundant one.
2013-08-11 12:08:01 +02:00
Valentin Lorentz
8b4b45ecf0
utils/str.py: Add the %T (Time delta) argument type.
2013-08-11 12:03:41 +02:00
Valentin Lorentz
1ee8bc3480
Fix bug that caused commands like '@google google google google translate' to be valid. Closes GH-19.
2013-08-10 15:22:47 +02:00
Valentin Lorentz
c23f25545f
Fix core tests for Python 3 (actually imported + fixes).
2013-08-10 15:18:04 +02:00
Valentin Lorentz
536ec37037
commands.py: raise the exception instead of returning is if --disable-multiprocessing is given.
2013-08-09 17:48:53 +02:00
Valentin Lorentz
573d4a0158
Silence errors in Socket driver if connecting failed (name resolution, ...).
2013-08-09 12:59:42 +02:00
Valentin Lorentz
9288b16cd2
Fix 918b8a3c01
on Windows.
2013-08-09 12:21:24 +02:00
Valentin Lorentz
918b8a3c01
commands.py: Add heap_size argument to process().
2013-08-09 12:16:24 +02:00
Valentin Lorentz
6a4750015e
schedule: Add the 'count' argument.
2013-08-04 09:16:07 +02:00
Valentin Lorentz
7c30936ee1
Merge branch 'aka' into testing
2013-08-01 10:48:42 +02:00
Valentin Lorentz
b4eb4bfd65
Remove randomly failing assertions (race condition with environnements cleaning?)
2013-07-28 16:56:22 +02:00
Valentin Lorentz
eb15e1934c
Fix typo in conf.py.
2013-07-26 09:23:57 +00:00
Valentin Lorentz
329187c78c
Add sqlalchemy as a valid database backend.
2013-07-23 20:58:43 +02:00