| Commit message (Collapse) | Author | Age |
|
|
|
| |
This drops DBIx::Class as requirement otherwise.
|
| |
|
| |
|
|
|
|
|
|
|
| |
* Also catch "!op" call.
* Improve op alert output.
* Define URLs specific to bot
instance via configuration.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Blame krytarik, though I adjusted the suggested regex a little.
Blame Unit193 for starting a fight.
|
|
|
|
|
|
|
|
| |
- Be a bit more reasonable about spaces
- Ignore "|" between !ops and the message
Using "!ops | foo bar" is common in the Ubuntu namespace at least, so
there isn't much point in including the | in the reported message.
If this breaks anything, blame Unit193 for being perfectionistic.
|
|
|
|
| |
Patch by Krytarik.
|
| |
|
| |
|
|
|
|
|
|
| |
This reverts commit 7342c7f0e19e15ab3c7ba2133a56393c15989f08.
Turns out there are still issues after all.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This will automatically take care of migrating the users from
users.json; you may delete that file.
Note that this removes htpasswd support. We now store (hashed) user
passwords in the database.
See T19 for rationale.
Test Plan: Run this on a testnet for a while, try to break it.
Reviewers: ilbelkyr, #antispammeta
Reviewed By: ilbelkyr, #antispammeta
Tags: #antispammeta, #database
Differential Revision: https://dev.antispammeta.net/D2
|
|
|
|
|
|
|
| |
Things like this will no longer trigger the bot:
<+/Ukikie> Ukikie Ukikie Ukikie Ukikie Ukikie Ukikie Ukikie Ukikie Ukikie Ukikie.
<+/AntiSpamMeta> High risk threat [#antispammeta] - Ukikie - nickspamming;
|
|
|
|
|
| |
80+ character lines are pretty common in the code and hard to avoid in
some cases. Tabs are used in some existing files.
|
| |
|
| |
|
|
|
|
| |
Refer to T21 for rationale.
|
|
|
|
|
| |
Fixes T21. $xresult now takes the form
"foo, bar, baz, and qux [@example.org]"
|
| |
|
| |
|
|
|
|
|
|
| |
The original message is freenode/atheme-specific; additionally, the
freeze-to-fix suggestion is rather odd and probably specific to the
original freenode instance.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
"id" in the alertlog table refers to the ID name of the alert rule that
triggered, **not** to some sort of unique ID.
This commit rewrites the database schema history used by
DBIx::Class::DeploymentHandler as the previous schemata were utterly
useless (and, in fact, seem to be undeployable).
@Unit193, @Xenthys Clearly you managed to deploy a database somehow. If
you used the legacy `DATABASE.SCHEMA` file and `bin/db_legacy`, you
should be able to update via `bin/db_upgrade`; I've tested to verify
this. (If you //haven't// run `db_legacy` yet, make sure to update to
exactly de9f3deabe35, run `db_legacy`, then update to this commit and
proceed with `db_upgrade`.)
If you used the `db_deploy` script, may Cthulhu have mercy on your soul:
I'm pretty sure that would not actually have worked. That said, it's my
mistake, so if you require further assistance, feel free to poke me on
freenode.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
wordlist is used exclusively by garbagemeter which has been disabled for
quite a while. We'd probably be better off using a config-defined path
anyway so people can point the bot at /usr/share/dict/words or the local
equivalent.
The proxy list is most likely completely out of date. We have DNSBLs for
this anyway.
The nick blacklist is inflexible; nick blacklisting with an added reason
can already be done via the rules file.
Note that the functionality is not removed for now to avoid breaking
compatibility.
|
|
|
|
| |
This is for easier integration with Catalyst.
|
|
|
|
| |
All this allowed was spying on channels.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Also remove the --pass command-line option for now and introduce a
backward compatibility check that warns when the old option is
encountered. This check is now placed with the mysql option checks in a
dedicated function.
---
So one day, I looked over the AntiSpamMeta console log and noticed
NickServ was echoing back part of the password to us in a "no such
username" error. This is due to us using the 'pass' option for both
nickserv and server password, so we sent PASS NickServPassword.
However, the password happened to have a ':' in it, so services
interpreted it as a user:password combination.
|
| |
|
|
|
|
|
|
|
|
|
| |
We used to test for /[a-zA-Z0-9]/ here, which obviously won't work for
languages that don't normally use those characters. Test for something
Unicode roughly considers a "letter" instead (this includes ideographic
characters).
Fixes T15.
|
|
|
|
|
|
| |
This is a pretty hacky solution and currently only available via a
direct config edit. That said, how we deal with channel settings is due
for an overhaul anyway.
|
| |
|
| |
|
|
|
|
|
| |
For now, mere presence in the table means a given user is authorized to
view stuff. We can make this more granular later on (important for T11).
|
|
|
|
| |
Fixes T5. Yay! We still need some documentation on this, though.
|
| |
|
| |
|
|
|
|
|
| |
For now this is a relatively quick-and-dirty transition, but this
enables us to reuse ASM::DB from the website. Yay
|
|
|
|
|
|
|
|
| |
This fixes T9. It's not a particularly nice fix, and the code
surrounding this could really use some cleanup, but it works.
ASM::Commander did not return a true value explicitly so we have to do
that as well. It's a coincidence that it worked until now ...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: Resolve T6 and use the opportunity to get rid of our dependency on `XML::Simple` once and for all.
Test Plan: Run the bot with JSON config files.
Reviewers: Unit193
Reviewed By: Unit193
Tags: #antispammeta
Maniphest Tasks: T6
Differential Revision: https://asm.shalture.org/D1
|
|
|
|
|
| |
This removes the ;nicks and ;explain commands. Actionlogs and alertlogs
are untouched for now. Cf. T8 for motivation.
|
| |
|
| |
|
|
|
|
|
|
| |
In the case of DEPS, this avoids some confusion as we have cpanfile now
instead (cf T2). We do lose the list of Debian packages, but some of
those modules don't have Debian packages anyway.
|
|
|
|
| |
This fixes T2 and significantly helps with T1.
|
| |
|
|
|
|
|
|
|
|
|
| |
*NOTE*: Reflects the state of git only at the time the bot is started.
Version is not updated in any way at runtime.
First field is the newest commit that exists both locally and on GitLab.
Second field is the output of `git describe --all --long --dirty`.
Third field is the latest commit locally.
|
|
|
|
|
| |
The ratelimit handler already schedules one in 30 seconds, so don't
schedule a second one in 90 seconds.
|
|
|
|
|
|
| |
Stores the last 1000 lines sent or received, with timestamp.
Use ;ev $conn->_dump_last('filename'); to trigger dump.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This likely introduces twenty new bugs, but on the other hand it avoids
twenty thousand other issues (most of them relating to XML::Simple
doing the utterly wrong things all the time and configuration merely
mitigating the issues, rather than fixing the core problem)
so chances are it's more than worth it.
We check if there's shiny new JSON-based config in place already; if
not, we try to load XML config and convert it to the new format. The old
config files are left untouched in case we fucked up somehow.
|
|
|
|
| |
Fixes some setups, shouldn't break others.
|
| |
|
|
|
|
|
| |
Should hopefully fix the #Reddit issue. There ought to be a tidy way of
doing this without lc strewn all over the code ... but I'm lazy
|
|
|
|
| |
issues
|
| |
|
| |
|
| |
|
|
|
|
| |
to the config with uppercase letters
|
|
|
|
| |
Incomplete / much more work to be done.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Accessible via editing the config only; this is a feature that is
probably only useful to a handful of channels.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Among some other minor effects, this changes the alert for, say,
-!- FriendlyUser is now known as MegaTroll9001
to specify the new nick (MegaTroll9001). Useful if you have nickfuzzy
rules triggering on nick changes.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
It breaks things.
|
| |
|
| |
|
|
|
|
| |
also won't print out any extra warnings
|
| |
|
|
|
|
| |
logfile, rather than a single file, and include a shortlink to this logfile when generating alerts
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
changes, possibly break quit inspection, and move the DNS resolver to a global var
|
|
|
|
|
| |
- Handles CNAMEs now
- Handles multiple IPs for a given host
|
| |
|
| |
|
| |
|