aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Expand)AuthorFilesLines
25 hoursfeat: read the reporter identity from configDanilo M.4-7/+260
25 hoursfeat: write report bodies into the case directoryDanilo M.2-0/+322
25 hoursfeat: freeze a reported case and detect edited bodiesDanilo M.2-0/+182
40 hoursfeat: assemble the RFC 5965 report documentDanilo M.2-0/+399
40 hoursdocs: log the unverified x-arf Report-Type valueDanilo M.1-0/+25
40 hoursfeat: build the machine-readable feedback report partDanilo M.2-0/+632
40 hoursfix: escape the continuation marker so a value cannot forge oneDanilo M.2-9/+308
40 hoursfeat: build the human-readable part of a reportDanilo M.2-0/+405
40 hoursfeat: list the indicators no abuse desk was found forDanilo M.2-3/+296
40 hoursfix: fold a role mailbox's case, and test the half that was not testedDanilo M.2-12/+127
40 hoursfix: derive a destination id from its address, not its positionDanilo M.2-33/+132
40 hoursfeat: group abuse contacts into one destination per addressDanilo M.2-0/+242
41 hoursfix: strip the envelope recipient in every shape the grammar allowsDanilo M.6-5/+160
41 hoursfeat: store a whitelist of publishable headers in the manifestDanilo M.6-1/+211
41 hoursdocs: plan the report implementationDanilo M.1-0/+1536
41 hoursdocs: settle the report specDanilo M.1-0/+412
42 hoursdocs: document the queried key, mark server as unbuiltDanilo M.1-4/+21
2 daysdocs: point at the author's idea note, and log its first itemDanilo M.2-0/+52
2 daysdocs: record the fourth property and the contacts commandDanilo M.4-33/+170
2 daystest: make the offline resolve check tamper-evidentDanilo M.1-0/+7
2 daystest: prove the suite still opens no socketDanilo M.1-0/+76
2 daysfix: keep ":" literal so an IPv6 query is not over-encodedDanilo M.2-10/+34
2 daysfeat: add the contacts subcommandDanilo M.2-1/+126
2 daysfix: percent-encode the component interpolated into an RDAP queryDanilo M.2-2/+112
2 daysfix: refuse an ipv6 scope id, and say why a value was refusedDanilo M.2-11/+112
2 daysfix: validate a query host at the one point a query is admittedDanilo M.2-1/+152
2 daystest: make two rdap tests able to fail, and cover the hostile bootstrapDanilo M.1-2/+106
2 daysfix: treat the IANA bootstrap as hostile, not as trusted inputDanilo M.1-9/+60
2 daysfeat: resolve the worklist to abuse contactsDanilo M.2-0/+186
2 daysfeat: build the contacts worklist, host onlyDanilo M.2-0/+221
2 daysdocs: correct the Accept header and the dependency claimDanilo M.2-6/+11
2 daysdocs: amend the contacts plan after task 1 to 5Danilo M.1-4/+26
2 daysfeat: query RDAP, walking up the labels for a registrable domainDanilo M.2-0/+133
2 daysfeat: read abuse addresses from a jCard, strictlyDanilo M.2-0/+172
2 daysfeat: select an RDAP server by longest prefix and by TLDDanilo M.2-0/+103
2 daysfeat: cache the IANA bootstrap, and prefer a stale copy to noneDanilo M.2-0/+132
2 daysfeat: add the RDAP transport, with a redirect cap and no downgradeDanilo M.2-0/+128
2 daysdocs: plan the contacts implementationDanilo M.2-4/+1989
2 daysdocs: spec the contacts subcommandDanilo M.2-0/+349
3 daysdocs: record the real-mail sweep and open a backlogDanilo M.2-0/+78
3 daysfeat: report List-Unsubscribe urls and a differing SenderDanilo M.4-2/+53
3 daysfeat: flag an address spoofed into a display nameDanilo M.2-1/+64
3 daysfix: take the sender domain from the address, not the display nameDanilo M.3-4/+38
3 daysfix: prefer the observed address over an attacker's HELO literalDanilo M.2-9/+49
3 daysfix: re-bracket an IPv6 host when stripping URL userinfoDanilo M.2-2/+24
3 daysfix: redact a valueless query token whole, not as a kept nameDanilo M.3-5/+63
3 daystest: wire leaky.eml into the anti-leak suite (red, defect 2)Danilo M.2-1/+29
3 daysdocs: AGENTS.md, with CLAUDE.md pointing at itDanilo M.2-0/+259
3 daysdocs: README covers init and parseDanilo M.1-10/+83
3 daysfix: validate each setup answer at the prompt that asked for itDanilo M.1-34/+101