Commit Graph
18 Commits
Author SHA1 Message Date
Claude bd0a0f0c26 Add comprehensive fuzzing infrastructure for URL parser
This commit adds AFL++ (American Fuzzy Lop) fuzzing support to help find bugs,
crashes, and security vulnerabilities in the URL parser.

Changes:
- Add fuzz_afl.c: AFL++ fuzz target that tests all parser functions
  - url_parse() with different flag combinations
  - url_parse_ipv4() and url_parse_ipv6()
  - url_serialize(), url_percent_decode(), url_remove_white_space()

- Add build_afl.sh: Build script with AFL++ compiler detection
- Add run_afl.sh: Automated fuzzing script with result reporting
- Add url.dict: Dictionary file to guide AFL++ mutations

- Add corpus/: Seed inputs covering various URL patterns
  - Basic URLs, IPv4/IPv6, percent-encoding, relative paths
  - Edge cases and special schemes (file://, mailto:, etc.)

- Add FUZZING.md: Comprehensive documentation
  - Installation instructions
  - Quick start guide
  - Advanced usage (parallel fuzzing, sanitizers)
  - Troubleshooting tips

- Add fuzz.c: Standalone mutation-based fuzzer (no AFL++ required)
  - Useful for quick testing without installing AFL++
  - Implements various mutation strategies
2025-12-06 15:23:32 +00:00
cozis ee4883774e Modify the test runner to properly compare percent-decoded components with the expected outputs 2025-12-06 16:09:40 +01:00
cozis c2ffe57e21 Don't parse host names as IPv4 addresses if they are followed by a valid registered name character 2025-12-06 15:49:01 +01:00
cozis cbae957022 Increase the number of passing tests 2025-12-06 12:10:37 +01:00
cozis bdeab68b10 Add .gitattributes 2025-12-06 10:54:17 +01:00
cozis 16c814ec53 Fix compiler error in the test runner 2025-12-06 10:50:55 +01:00
cozis 6efbeaa431 Add Usage and Testing sections to README.md 2025-12-06 10:45:59 +01:00
cozis c7421d8947 Add new examples 2025-12-06 10:34:47 +01:00
cozis 2eff3ca28c Simplified the API and updated the README 2025-12-06 09:24:52 +01:00
cozis 841f0731e9 Add example for url_decode_field 2025-12-06 01:33:50 +01:00
cozis a409997006 Add url_decode_field 2025-12-06 01:27:31 +01:00
cozis bc5679aa11 Add examples 2025-12-06 01:25:31 +01:00
cozis f5b0f3a142 Add url_resolve_reference to translare relative references to absolute URLs 2025-12-06 01:25:22 +01:00
cozis 1d53c3d8ac Add strict flag to url_parse 2025-12-06 01:10:10 +01:00
cozis 418903a512 Add TODO.txt 2025-12-06 01:10:09 +01:00
cozis 6b57ea3346 Set username, password, host, port to empty if the URL is missing the authority 2025-12-06 01:10:09 +01:00
cozis 93a4f37315 Add URL parsing test suite from web-platform-tests/wpt 2025-12-06 01:10:04 +01:00
cozis 1c54c8ae28 First commit 2025-12-03 17:15:57 +01:00