Skip to content

Task/normalizeextban#1920

Open
vanosg wants to merge 7 commits into
developfrom
task/normalizeextban
Open

Task/normalizeextban#1920
vanosg wants to merge 7 commits into
developfrom
task/normalizeextban

Conversation

@vanosg

@vanosg vanosg commented Jul 12, 2026

Copy link
Copy Markdown
Member

Found by: Robby
Patch by: Geo
Fixes: #1914

One-line summary:
Have extbans follow normal ban expiration

Additional description (if needed):
The original intent, as included in the documentation ;) , was to only expire extbans that eggdrop itself could take some action on (ie, removing a user from the channel due to a matching hostmask). Because there are many conflicting extban modes and no clear intent for ircds to add flags similar to ACCOUNTEXTBAN, discussion moved to treating extbans just like normal bans, and respecting the dynamicban channel setting. If a user wants an extban to be set that is not removed even though dynamicbans is set, then it needs to have the sticky flag added to it so that it is not removed.

@vanosg vanosg added this to the v1.10.2 milestone Jul 12, 2026

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 9c4c8e6d3b

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

for mask in dynamic_masks:
wait_for(
lambda mask=mask: tcl_bridge.eval_ok(
f'ischanban "{dyn_chan}" "{mask}"'

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Brace dollar-prefixed masks in Tcl assertions

When mask is $a:geo (and similarly in the static-channel loop below), this sends ischanban "#dyn" "$a:geo" to Tcl. Tcl still performs variable substitution inside double quotes, so it tries to read variable a and the bridge raises before the wait can observe the ban. Use braces or otherwise Tcl-escape the mask before evaluating the command.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Extbans placed by users on a channel through ChanServ are not properly expired, stays active forever

1 participant