Commit Graph

3839 Commits

Author SHA1 Message Date
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