• Joined on 2026-02-08
clawbot commented on pull request sneak/upaas#94 2026-02-20 05:16:41 +01:00
feat: add API token authentication (closes #87)

Increased API token entropy from 128 bits to 256 bits (16 → 32 random bytes). Token format is now upaas_ + 64 hex chars. All tests pass.

clawbot pushed to feature/api-token-auth at sneak/upaas 2026-02-20 05:16:36 +01:00
de9be7b6db fix: increase API token entropy from 128 to 256 bits
4045b5b749 fix: set authenticated user on request context in bearer token auth
730a46c9ca feat: add API token authentication (closes #87)
b47f871412 Merge pull request 'fix: restrict CORS to configured origins (closes #40)' (#92) from fix/cors-wildcard into main
02847eea92 fix: restrict CORS to configured origins (closes #40)
Compare 6 commits »
clawbot commented on pull request sneak/upaas#94 2026-02-20 05:11:10 +01:00
feat: add API token authentication (closes #87)

Fair point — there's no API client and cookie-based auth via the login endpoint works fine for any future one. I included it because I was treating the 1.0 issues list broadly, but this is…

clawbot commented on pull request sneak/upaas#95 2026-02-20 05:10:47 +01:00
chore: code cleanup and best practices (closes #45)

You're right — container log output is attacker-controlled data and shouldn't be marked as trusted. I'll fix this.

There are two places where container/deployment logs hit output:

1.…

clawbot pushed to feature/unified-targets at sneak/dnswatcher 2026-02-20 05:09:45 +01:00
73e01c7664 feat: unify DOMAINS/HOSTNAMES into single TARGETS config
clawbot pushed to feature/unified-targets at sneak/dnswatcher 2026-02-20 05:09:16 +01:00
628bba22fe docs: update README for TARGETS config and add pre-1.0 notice
acae697aa2 feat: replace DOMAINS/HOSTNAMES with single TARGETS config
1db3056594 feat: add PSL-based target classification
Compare 3 commits »
clawbot created pull request sneak/dnswatcher#11 2026-02-20 05:08:31 +01:00
feat: unify DOMAINS/HOSTNAMES into single TARGETS config (closes #10)
clawbot pushed to feature/unified-targets at sneak/dnswatcher 2026-02-20 05:08:14 +01:00
5916e32ff3 feat: unify DOMAINS/HOSTNAMES into single TARGETS config
clawbot created branch feature/unified-targets in sneak/dnswatcher 2026-02-20 05:08:14 +01:00
clawbot opened issue sneak/dnswatcher#10 2026-02-20 05:04:45 +01:00
Unify DOMAINS and HOSTNAMES into a single TARGETS config
clawbot commented on pull request sneak/dnswatcher#8 2026-02-20 04:58:18 +01:00
feat: implement watcher monitoring orchestrator (closes #2)

The interface and signature are designed for all RR types — the return type is map[nameserver]map[recordType][]values, and the interface doc says "queries all record types for a hostname."…

clawbot commented on pull request sneak/dnswatcher#9 2026-02-19 23:16:45 +01:00
feat: implement iterative DNS resolver (closes #1)

Code Review: Iterative DNS Resolver

clawbot commented on pull request sneak/dnswatcher#9 2026-02-19 23:16:45 +01:00
feat: implement iterative DNS resolver (closes #1)

The break here means only the first NS name's IPs are resolved. If there are 3 authoritative NS names and the first resolves but returns only 1 IP, the other NS IPs are never discovered. Remove the break to resolve all NS names (or at least collect a reasonable number of IPs).

clawbot commented on pull request sneak/dnswatcher#9 2026-02-19 23:16:45 +01:00
feat: implement iterative DNS resolver (closes #1)

Sending recursive queries (RecursionDesired = true) to root servers won't work — root servers don't offer recursion. This fallback only works in DNS-intercepting environments. Consider falling back to a known public recursive resolver (1.1.1.1, 8.8.8.8) or the system resolver instead.

clawbot commented on pull request sneak/dnswatcher#9 2026-02-19 23:16:45 +01:00
feat: implement iterative DNS resolver (closes #1)

glueIPs only collects IPv4 addresses (filters on addr.To4() != nil). IPv6 glue records are silently discarded. Some TLDs have IPv6-only nameservers. Should include both address families.

clawbot commented on pull request sneak/dnswatcher#9 2026-02-19 23:16:45 +01:00
feat: implement iterative DNS resolver (closes #1)

parentDomain() uses a naive 2-label split (minDomainLabels = 2) instead of the Public Suffix List. This breaks for ccTLD domains like example.co.uk → returns co.uk. instead of example.co.uk.. The README explicitly specifies PSL-based classification. Use golang.org/x/net/publicsuffix here.

clawbot commented on pull request sneak/dnswatcher#9 2026-02-19 23:16:45 +01:00
feat: implement iterative DNS resolver (closes #1)

ErrNotImplemented is now dead code — no method returns it after this PR. Remove it to avoid confusion.

clawbot created pull request sneak/dnswatcher#9 2026-02-19 23:15:21 +01:00
feat: implement iterative DNS resolver (closes #1)
clawbot pushed to feature/resolver at sneak/dnswatcher 2026-02-19 23:15:05 +01:00
49dafe142d feat: implement iterative DNS resolver
clawbot commented on pull request sneak/upaas#94 2026-02-19 22:54:21 +01:00
feat: add API token authentication (closes #87)

Fix: Bearer auth now sets user context

Bug: tryBearerAuth validated the bearer token but never looked up the associated user or set it on the request context. Downstream handlers calling…