Commit Graph

191 Commits

Author SHA1 Message Date
Valentin Lorentz
d91303271d ircdb: Fix 'IrcUser.nicks' on non-lowercase network names
This dict was filled with IrcString keys, which is hashed
as lowercase, so when queried with a non-lowercase string,
the key would not be found, and lead to very confusing errors.
2021-05-24 17:21:57 +02:00
Valentin Lorentz
903eceebda Simplify checkIgnored code from previous commit 2020-11-04 11:32:20 +01:00
Valentin Lorentz
76b5a42428 supybot.defaultIgnore shouldn't ignore registered users.
Even if they are not trusted. This fixes a regression in
97016b9c55.

This happens because 'user._checkCapability' raises a KeyError
when the user has neither this cap or the anticap; which was mistakenly
caught here by the 'except KeyError' expecting to catch non-existing
users.
(And that why 'try' blocks should be limited to as few lines as possible.)
2020-10-26 00:19:57 +01:00
Valentin Lorentz
97016b9c55 Exempt trusted users from being ignored.
Closes GH-66.
2020-09-05 16:42:28 +02:00
Valentin Lorentz
eead5566e5 utils.gen: set __slots__.
We create *a lot* of these structs, so it saves a considerable
amount of space.
2020-05-15 22:57:35 +02:00
Valentin Lorentz
0c6b526fdd Add -scheduler.repeat to default capabilities.
It's too easy to use to flood.
2020-05-13 20:16:35 +02:00
Valentin Lorentz
22120ee862 Fix various issues with STS handling. 2020-05-01 19:46:19 +02:00
Valentin Lorentz
51ff013fcc Apply STS policies when connecting to a server. 2020-05-01 19:46:19 +02:00
Valentin Lorentz
ecc2c32950 Add support for storing STS policies.
If on an insecure connection: reconnect.
If on a secure connect: store it and do nothing else.

For now, stored STS policies are not read when connecting to an
insecure server.
2020-05-01 19:46:19 +02:00
Valentin Lorentz
5e2343f717 Update doc of capabilities.default to mention 'channel capability setdefault'. 2019-11-08 20:53:04 +01:00
Valentin Lorentz
3c42ce0861 Only clear users db if the filename is set. 2019-09-28 10:33:54 +02:00
Valentin Lorentz
bcbaa979d5 Revert "Deduplicate (de)serialization code shared by UsersDictionary and ChannelsDictionary."
This reverts commit a4f8e3f647.
2019-09-28 10:33:10 +02:00
Valentin Lorentz
a4f8e3f647 Deduplicate (de)serialization code shared by UsersDictionary and ChannelsDictionary. 2019-09-26 22:48:05 +02:00
Valentin Lorentz
bf7db13f01 Disallow mutating commands in Aka/Alias/Scheduler by default.
It's too easy to abuse these commands when owners don't know they have to set
the appropriate anticapabilities; so let's set the anticapabilities by default.
2019-07-31 23:00:55 +02:00
Valentin Lorentz
1ac7812d7a Use __slots__ for core config values. 2018-09-25 18:59:46 +02:00
James Lu
8981b225f1 ircdb: fix typo in supybot.capabilities.registeredUsers description 2018-01-06 10:39:05 -08:00
Valentin Lorentz
b9a159b68a Add supybot.capabilities.registeredUsers, to give default capabilities to all registered users. 2018-01-05 19:24:54 +01:00
Valentin Lorentz
d656db454d User: if '@hostmask add' detects a conflict and the caller is the owner, tell them who the conflicting user is. 2017-12-30 18:47:09 +01:00
Valentin Lorentz
dab026169f Use ast.literal_eval() instead of eval() when possible.
It's unlikely to change anything, but a little more safety
does not hurt.
2017-02-25 13:10:33 +01:00
Valentin Lorentz
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
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
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
be118c3338 Remove use of fix_dict fixer. 2015-08-08 23:08:49 +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
f1fae13b4a core: Fix IrcChannel.preserve. Closes GH-1106. 2015-05-16 03:59:36 +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
4470805b5f core: Remove useless imports. 2015-03-03 09:02:29 +01:00
Valentin Lorentz
77e6de6bba Fix errors detected by PyLint. 2014-03-05 14:14:36 +01:00
Valentin Lorentz
59ae6f987d ircdb: Honor ignoreDefaultAllow for unknown users too. 2014-02-27 19:05:19 +00: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
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
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
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
233571e4b5 Add arguments ignoreChannelOp and ignoreDefaultAllow to ircdb.checkCapability. 2013-12-27 15:04:32 +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
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
Valentin Lorentz
2d4914bc99 Merge branch 'gpgauth' into testing
Conflicts:
	src/ircdb.py
2013-05-24 17:20:27 +02:00
Valentin Lorentz
d714909576 Use non-sexist language in strings and comments. 2013-03-08 20:34:31 +01:00
Valentin Lorentz
bc7051e515 core: Fix tests of plugins using user id for checking capabilities. 2013-01-05 19:06:49 +01:00