View Issue Details

IDProjectCategoryView StatusLast Update
0006536unrealircdpublic2025-07-13 10:25
Reporterarmyn Assigned Tosyzop  
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Product Version6.1.9.1 
Fixed in Version6.2.0-beta1 
Summary0006536: Reputation Score Not Expiring After 30 Days of Inactivity (Same IP, Different Nick)
DescriptionhI

Here is the description of the bug via ip:

[19:06:09] <Mi_92> hi
.[19:07:55] <Mi_92> I just noticed that an IP address hasn’t expired from the reputation scores even after 30 days — is the expiration working correctly, or do we need to configure the 30-day period?
.[19:09:07] <alice> are they still connected under a different nick / etc? if so, they won't expire off
.[19:09:51] <alice> or, well, have they connected at any point within the past 30 days, even
.[19:10:12] <Mi_92> yes it is a different nickname between the last connection in 2024, and today's connection, not the same users, but the same IP
.[19:11:20] <alice> actually hmm, you might be right there actually
.[19:11:40] <alice> [18:11:02] * Reputation record for IP x.x.x.x:
.[19:11:40] <alice> [18:11:02] * Score: 10000
.[19:11:40] <alice> [18:11:02] * Last seen: 91413145 seconds ago (unixtime: 1660322317)
.[19:11:47] <alice> from an address that hasn't connected for a very very long time, hmm
.[19:12:05] <Mi_92> yes
.[19:12:28] <alice> Might be worth raising a bug report, on https://bugs.unrealircd.org :)
TagsNo tags attached.
3rd party modules

Activities

syzop

2025-07-05 19:40

administrator   ~0023449

Last edited: 2025-07-05 19:40

Yeah, I can see the bug in the code. It expires very low reputation scores correctly within a week, but for reputation of 7 and higher it will expire after 30d with the special score value of -1. But the -1 is not special-cased.. so score < -1.. is obviously always false.

I will look at an actual fix later. I think maybe we would want to up the default a bit to 2 or 3 months too.

syzop

2025-07-13 10:25

administrator   ~0023454

Thanks for the report, fixed now in 6.2.0-git. Note that the 6.2.x series work is currently experimental / in beta.

ommit 97a87bdca8307c0f5684bf05405e64664d116bd1 (HEAD -> unreal60_dev, origin/unreal60_dev, origin/HEAD)
Author: Bram Matthys <[email protected]>
Date: Sun Jul 13 10:16:06 2025 +0200

    Fix reputation score not expiring after 30 days of inactivity.
    We now expire after 30d if score is <12 (so 1 hour of being online)
    and we expire after 90d regardless of score.
    
    Note that for this to work, all servers would need to be running
    UnrealIRCd 6.2.0+ because when a score for an IP is still present
    on any of the servers on a network, and a user with that IP connects,
    then the score will be broadcasted from the server that still has
    the score and it will be re-added by all servers with that score.
    
    But eventually it should be like this... :D
    
    Reported by armyn in https://bugs.unrealircd.org/view.php?id=6536

Issue History

Date Modified Username Field Change
2025-07-05 19:15 armyn New Issue
2025-07-05 19:40 syzop Assigned To => syzop
2025-07-05 19:40 syzop Status new => confirmed
2025-07-05 19:40 syzop Note Added: 0023449
2025-07-05 19:40 syzop Note Edited: 0023449
2025-07-13 10:25 syzop Status confirmed => resolved
2025-07-13 10:25 syzop Resolution open => fixed
2025-07-13 10:25 syzop Fixed in Version => 6.2.0-beta1
2025-07-13 10:25 syzop Note Added: 0023454