Skip to content

CFE-612: Made signal name matching case-insensitive#6199

Open
nickanderson wants to merge 2 commits into
cfengine:masterfrom
nickanderson:CFE-612/master
Open

CFE-612: Made signal name matching case-insensitive#6199
nickanderson wants to merge 2 commits into
cfengine:masterfrom
nickanderson:CFE-612/master

Conversation

@nickanderson

Copy link
Copy Markdown
Member

Signal names can now be written in any case (TERM, Term, term, etc.)
without triggering a validation error or failing to match.

Ticket: CFE-612
Changelog: Title

if (pid == 1)
{
if (RlistLen(a->signals) == 1 && RlistKeyIn(a->signals, "hup"))
if (RlistLen(a->signals) == 1 && RlistKeyIn_IgnoreCase(a->signals, "hup"))
if (pid == 1)
{
if (RlistLen(a->signals) == 1 && RlistKeyIn(a->signals, "hup"))
if (RlistLen(a->signals) == 1 && RlistKeyIn_IgnoreCase(a->signals, "hup"))
@larsewi

larsewi commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

@cf-bottom Jenkins please :)

@cf-bottom

Copy link
Copy Markdown

SignalFromString() currently uses case-sensitive comparison, so
uppercase signal names like "TERM" or "KILL" return -1. These tests
document the expected case-insensitive behavior.

Ticket: CFE-612
Changelog: None
Use StringEqual_IgnoreCase in SignalFromString, scope (?i:...) to
signal names in the validation regex, and add RlistKeyIn_IgnoreCase
for the process-signal lookup path.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

4 participants