[low] basic_auth: list_users.sh fragile regex (может матчить комментарии) #429

Closed
opened 2026-05-23 08:26:37 +00:00 by lekss361 · 1 comment
Owner

Context

PR #426scripts/auth/list_users.sh использует:

grep -P '^\s+[a-z][a-z0-9-]+\s+[A-Za-z0-9+/]+=*'

Проблема

Матчит любую indented строку с lowercase word + base64-ish content — в т.ч. потенциально комментарии типа # base64 example: abc123==.

Под текущий snippet OK (нет таких комментариев), но fragile для future edits.

Fix

Anchored awk-парсер внутри basic_auth { ... } блока:

awk '/^[[:space:]]*basic_auth/,/^[[:space:]]*}/' caddy/users.caddy.snippet \
  | awk '/^[[:space:]]+[a-z][a-z0-9_.-]+[[:space:]]+[A-Za-z0-9+\/=]+/ {print $1}'

Или Python-парсер если bash становится сложным.

Priority

Low — текущий snippet OK, фикс при первом нарушении.

Ref: PR #426 review comment #2235 issue #7

## Context PR #426 — `scripts/auth/list_users.sh` использует: ```bash grep -P '^\s+[a-z][a-z0-9-]+\s+[A-Za-z0-9+/]+=*' ``` ## Проблема Матчит любую indented строку с lowercase word + base64-ish content — в т.ч. потенциально комментарии типа ` # base64 example: abc123==`. Под текущий snippet OK (нет таких комментариев), но fragile для future edits. ## Fix Anchored awk-парсер внутри `basic_auth { ... }` блока: ```bash awk '/^[[:space:]]*basic_auth/,/^[[:space:]]*}/' caddy/users.caddy.snippet \ | awk '/^[[:space:]]+[a-z][a-z0-9_.-]+[[:space:]]+[A-Za-z0-9+\/=]+/ {print $1}' ``` Или Python-парсер если bash становится сложным. ## Priority Low — текущий snippet OK, фикс при первом нарушении. Ref: PR #426 review comment #2235 issue #7
Author
Owner

Status check 2026-05-23

Issue остаётся в силе. После security pivot сегодня (PRs #426-#442) проверка показала что fragile regex в list_users.sh не затронут — текущий snippet проходит, но триггер сработает при first edit с комментариями.

Priority после pilot demo 28.05: low

Привязка: добавлен в umbrella epic(infra): Pilot infra status 2026-05-23 — после security pivot.

## Status check 2026-05-23 Issue остаётся в силе. После security pivot сегодня (PRs #426-#442) проверка показала что fragile regex в `list_users.sh` не затронут — текущий snippet проходит, но триггер сработает при first edit с комментариями. **Priority после pilot demo 28.05**: low Привязка: добавлен в umbrella `epic(infra): Pilot infra status 2026-05-23 — после security pivot`.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#429
No description provided.