View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0002252 | unreal | ircd | public | 2004-12-22 22:41 | 2005-02-03 20:41 |
| Reporter | Gilou | Assigned To | |||
| Priority | normal | Severity | feature | Reproducibility | N/A |
| Status | closed | Resolution | open | ||
| Product Version | 3.2.2 | ||||
| Summary | 0002252: cleaner spamfilter u | ||||
| Description | At the moment, the separator announcing the realname is ":". But what if I'm trying to match against an IPv6 address? Maybe "!" would more appropriate? Another thing cool the spamfilter could check is the server the user is on, something like nick!user@host!server:realname (This is the syntax we use on personnal services which used to give us this feature already in fact) Another problem, which may only be related to the documentation, is that we should be able to specify multiple targets. Using a such thing and mixing a "u" spamfilter with a "cpPn" one sounds funny ;) | ||||
| 3rd party modules | |||||
|
|
@1 I don't think I understand the problem with IPv6, could you elaborate on that? if someone has the address for a n!u@h:r it could become stuff like alpha!beta@0:0:0:0:0:0:0:1:gamma... With what regex would you have problems with matching? @2 When exactly would that be useful? Also, sounds to me like, if you want a spamfilter for just 1 server, you could just add a spamfilter { } block. @3 You mean a user should match a certain pattern AND (for example) sends a certain msg? That idea is as a private bug here ("dronefilter"), it's nice, but it's unlikely to be implemented soon (complex :/) |
|
|
Although, would using ! seperator be possibly ambiguous with the nick-user seperator? Example, if I'm lazy and want to spamfilter everyone with realname "Bob" I do .+!Bob but this also bans the ident Bob which isn't what I want... Maybe instead use something like ; or $ (would need to be \'d)? |
|
|
About the ipv6 thing, well you may not want to match a complete ipv6 adress, I can't test as I don't have some, but if you want to match something like alpha!beta@aaaa:aaaa:aaa.*:gamma gamma being the realname, aaa:aaa.* being a wildcarded IPv6 adress (quite huge range, for sure ;)), sound weird ? (or am I totally wrong ?) About the server thing, well true, another stupid idea ;) About the other thing, yeah in fact using cpu for a given pattern is quite stupid as it does not represent the same thing, that's what I meant ;) |
|
|
No matter what character we use, there can be ambiguity. The reason is, all characters are valid in a realname! Say we decide on $. Well if my realname is "foo$bar" then there is ambiguity. So the problem exists with :, !, or anything else. The solution to this is non-greedy repetition operators. Any repetition operator can be made non-greedy by adding a ?. so for example, .* = greedy, .*? = non-greedy. This makes it match the "minimal" rather than the "maximal" pattern. A simple example, I have text, "hello" I use a regex of ".+l" in that instance, the .+ matches "hel" because .+ is greedy. If I change the regex to ".+?l" the .+? matches "he" in either case, the entire regex still matches, but I've altered the way it matches. |
|
|
hmm I think this can be closed :) |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2004-12-22 22:41 | Gilou | New Issue | |
| 2004-12-22 23:56 | syzop | Note Added: 0008662 | |
| 2004-12-23 00:40 | aquanight | Note Added: 0008664 | |
| 2004-12-23 00:41 | aquanight | Note Edited: 0008664 | |
| 2004-12-23 08:56 | Gilou | Note Added: 0008665 | |
| 2004-12-23 12:58 |
|
Note Added: 0008667 | |
| 2005-02-03 20:41 | syzop | Status | new => closed |
| 2005-02-03 20:41 | syzop | Note Added: 0009018 |