Commit Graph

3388 Commits

Author SHA1 Message Date
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
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
Valentin Lorentz
29dc1438a0 commands.py: Fix error message of getSomethingWithoutSpaces. 2013-07-16 20:20:08 +00:00
Valentin Lorentz
21144f7c9c Don't send JOIN on connection if there is no channels to join. 2013-07-14 09:44:34 +02:00
Valentin Lorentz
38bab185a9 Remove Python2.4-specific code. 2013-07-13 17:28:21 +02:00
Valentin Lorentz
9bfec720f5 Fix traceback if bot is kicked immediately after joining a channel. 2013-07-13 12:01:53 +02:00
Valentin Lorentz
4a265a6ce9 Enhance representation of InsensitivePreservingDict objects. 2013-07-13 11:20:02 +02:00
Valentin Lorentz
f22f0bb4b6 Make log.firewall display the callback name in any case. 2013-07-11 10:07:11 +02:00
Valentin Lorentz
771b739af7 utils.web.getEncoding: use <meta charset /> if available. 2013-07-09 12:40:42 +00:00
Valentin Lorentz
b4402b28ed utils.web: Rename get_encoding to getEncoding for consistency. 2013-07-09 12:05:51 +00:00
Valentin Lorentz
d4df5de91d utils.web: Add function get_encoding. 2013-07-09 12:02:25 +00:00
Valentin Lorentz
addb754c68 registry.py: Use %r instead of %s in for formating __nonExistentEntry errors. 2013-07-08 22:51:16 +02:00
Valentin Lorentz
4fffdbccd2 httpserver: Firewall do* methods. 2013-07-07 13:26:13 +02:00
Valentin Lorentz
eff7d5e671 Fix httpserver for Python 3. 2013-07-07 13:24:26 +02:00
Valentin Lorentz
0514a64209 Fix use of rsplit for IPv6 addresses. 2013-07-02 13:18:57 +02:00
Valentin Lorentz
ed193e7cc7 io.StringIO has no attribute 'reset'. 2013-06-29 23:19:38 +02:00
Valentin Lorentz
46b89cfc0e Fix crash when --daemon is given (Python 3). 2013-06-29 13:58:41 +02:00
Valentin Lorentz
dce3c97fe4 Socket: Only catch select.error if it is an interupted system call. 2013-06-29 13:44:42 +02:00
Valentin Lorentz
75654a4544 Socket: Prevent crash caused when a signal is received while using select. Closes GH-477. 2013-06-29 12:40:45 +02:00
Carsten Teibes
7129dc2697 Switch to charade, which is better maintained and works under 2 and 3 2013-06-27 19:36:44 +02:00
Milos Petkovic
be6116f958 Reset network uptime on reconnection as well 2013-06-17 08:09:16 +02:00
Valentin Lorentz
774158f2ec utils/web.py: Fix compatibility with Python 3. 2013-06-17 04:10:29 +00:00
Valentin Lorentz
cca1e6dba5 utils/web.py: Add some 'try' statements to make decoding as error-permissive as possible. 2013-06-13 17:22:33 +00:00
Valentin Lorentz
2eec980c8e utils/web.py: Python 3 should use decode() only if it is a bytes object. 2013-06-13 04:22:20 +00:00
Valentin Lorentz
a82ad9cb1a utils/web.py: Properly import chardet. 2013-06-12 17:38:50 +00:00
Valentin Lorentz
e24ab4501d Fix bug with Python 3.3 (?) 2013-06-06 05:49:25 +00:00
Valentin Lorentz
43563bcc1c core & Factoids: Allow commands to disable doc-availability checks for programmatically setting it. 2013-06-01 17:13:55 +02:00
Valentin Lorentz
f82a7c7e17 Issue error message at plugin load if a command has no docstring. 2013-06-01 16:35:47 +02:00
Valentin Lorentz
8aba15807d Socket: Assert 'irc' is not None. 2013-06-01 12:08:12 +02:00
Valentin Lorentz
74db03177f httpserver: Explicitely define the charset. 2013-06-01 10:32:36 +02:00
Valentin Lorentz
1a71fa2d81 httpserver: Fix Content-type of default.css which caused the stylesheet not to be applied. 2013-06-01 10:11:54 +02:00
Valentin Lorentz
792df99688 httpserver: Fix design. 2013-05-31 17:55:56 +02:00
Valentin Lorentz
b2d5544ccf httpserver: Fix restarting the server once a plugin has been unloaded and loaded back. 2013-05-31 17:55:35 +02:00
Valentin Lorentz
2016983d35 Add supybot.utils.net.getAddressFromHostname() and improve Socket driver to try successively all IP addresses. 2013-05-31 17:21:10 +02:00
Valentin Lorentz
9ea1019970 httpserver: Fix issue with Python 2 if no favicon is set. 2013-05-31 16:12:49 +02:00
Valentin Lorentz
cefd91d4f1 Fix encoding issues with Alias containing non-ascii characters. 2013-05-31 15:42:57 +02:00
Valentin Lorentz
ad25f17639 RSS: Add Python 3 support. 2013-05-29 15:16:23 +02:00
Valentin Lorentz
2d4914bc99 Merge branch 'gpgauth' into testing
Conflicts:
	src/ircdb.py
2013-05-24 17:20:27 +02:00
Valentin Lorentz
ba6e2fff6f ircmsgs.IrcMsg: Display args in case of AssertionError. 2013-05-21 19:38:55 +02:00
Valentin Lorentz
c56f26b91d Wrap now internationalizes docstrings. 2013-05-20 17:52:41 +02:00
Valentin Lorentz
66025cf7e4 New syntax for wrap(). Now supports being used as a Python decorator with arguments.
For example, in Admin, "join = wrap(join, ['validChannel', additional('something')])" could become "@wrap(['validChannel', additional('something')])".
2013-05-20 17:40:04 +02:00
Valentin Lorentz
9e1cf727e3 Network: Add @whowas. Closes GH-227. 2013-05-18 14:46:58 +02:00
Valentin Lorentz
6493be1f13 httpserver: Add doctype. 2013-05-17 20:13:46 +02:00
Valentin Lorentz
1090c4623f Factoids: Add supybot.plugins.Factoids.requireVoice. Closes GH-378. 2013-05-17 17:47:43 +02:00
Valentin Lorentz
ed62c9efb1 commands.py: Rename 'isGranted' to 'haveHalfop+' and add 'haveVoice+'. 2013-05-17 17:36:11 +02:00
Valentin Lorentz
f42023bf19 Fix SupyTestCase.assert* with Python 2.6. 2013-05-15 18:52:56 +02:00
Valentin Lorentz
04b7d9eeda Fix compatibility with Python 3.3.1. 2013-05-14 19:59:19 +02:00
Valentin Lorentz
6ffcf122a7 Remove code specific to Python 2.{3,4,5}. 2013-05-13 15:27:26 +02:00
Valentin Lorentz
8d95a424b0 Fix fetch of RSS feeds containing unicode. 2013-05-13 10:51:24 +02:00
Valentin Lorentz
3935152d65 Fix 'dictionary changed size during iteration'. 2013-05-10 23:55:48 +02:00
Valentin Lorentz
cb6139e110 Fix typo. 2013-05-10 23:22:23 +02:00
Valentin Lorentz
3b179ec304 Apparently, Python 3.3 does not like sys.modules to be reassigned. 2013-05-10 23:20:02 +02:00
Valentin Lorentz
9553798c90 sys.modules is a dict, not a list (again). 2013-05-10 22:23:57 +02:00