Skip to content

Resolve ./ form actions relative to the page - #3525

Merged
liquidsec merged 1 commit into
excavate-base-hreffrom
excavate-form-dot-action
Oct 14, 2026
Merged

liquidsec merged 1 commit into
excavate-base-hreffrom
excavate-form-dot-action

Conversation

@liquidsec

Copy link
Copy Markdown
Contributor

GetForm stripped the leading dot from ./ form actions, which made them root-relative: ./x on /app/sub/page became /x instead of /app/sub/x. The strip was needed when form URLs were built by string concatenation. They now go through urljoin, which handles ./ correctly, so the strip only breaks pages below the root.

Targets #3522 because its <base href> test case depends on that fix.

@codecov

codecov Bot commented Oct 13, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 91%. Comparing base (5bec31c) to head (7d6184f).

Additional details and impacted files
@@                Coverage Diff                 @@
##           excavate-base-href   #3525   +/-   ##
==================================================
- Coverage                  91%     91%   -0%     
==================================================
  Files                     461     461           
  Lines                   49652   49665   +13     
==================================================
+ Hits                    44791   44800    +9     
- Misses                   4861    4865    +4     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@github-actions

Copy link
Copy Markdown
Contributor

📊 Performance Benchmark Report

Comparing excavate-base-href (baseline) vs excavate-form-dot-action (current)

📈 Detailed Results (All Benchmarks)

📋 Complete results for all benchmarks - includes both significant and insignificant changes

🧪 Test Name 📏 Base 📏 Current 📈 Change 🎯 Status
Bloom Filter Dns Mutation Tracking Performance 2.24ms 2.20ms -2.0% ⚪ ✅
Bloom Filter Large Scale Dns Brute Force 8.88ms 10.64ms +19.8% 🟡🟡 ⚠️
Large Closest Match Lookup 191.66ms 193.76ms +1.1% ⚪ ✅
Realistic Closest Match Workload 108.22ms 103.65ms -4.2% ⚪ ✅
Event Memory Medium Scan 1402 B/event 1405 B/event +0.3% ⚪ ✅
Event Memory Large Scan 1527 B/event 1527 B/event +0.0% ⚪ ✅
Event Validation Full Scan Startup Small Batch 239.19ms 232.01ms -3.0% ⚪ ✅
Event Validation Full Scan Startup Large Batch 325.99ms 300.74ms -7.7% ⚪ ✅
Make Event Autodetection Small 12.87ms 12.67ms -1.6% ⚪ ✅
Make Event Autodetection Large 128.19ms 125.41ms -2.2% ⚪ ✅
Make Event Explicit Types 5.45ms 5.32ms -2.4% ⚪ ✅
Excavate Single Thread Small 2.594s 2.458s -5.2% ⚪ ✅
Excavate Single Thread Large 6.084s 5.951s -2.2% ⚪ ✅
Excavate Parallel Tasks Small 2.636s 2.531s -4.0% ⚪ ✅
Excavate Parallel Tasks Large 3.951s 3.799s -3.9% ⚪ ✅
Intercept Throughput Small 675.13ms 681.60ms +1.0% ⚪ ✅
Intercept Throughput Medium 665.28ms 665.92ms +0.1% ⚪ ✅
Dns Throughput Quiet 1.436s 1.478s +2.9% ⚪ ✅
Dns Throughput Loaded 994.01ms 1.027s +3.3% ⚪ ✅
Dns Throughput Inherited 1.193s 1.329s +11.4% 🟡🟡 ⚠️
Is Ip Performance 1.30ms 1.30ms +0.3% ⚪ ✅
Make Ip Type Performance 107.19µs 111.45µs +4.0% ⚪ ✅
Mixed Ip Operations 1.34ms 1.36ms +1.3% ⚪ ✅
Memory Use Web Crawl 1.2 MB 1.2 MB +0.0% ⚪ ✅
Memory Use Subdomain Enum 28.3 MB 28.3 MB +0.0% ⚪ ✅
Memory Use Deep Chain 5.0 MB 5.0 MB +0.0% ⚪ ✅
Memory Use Parallel Chains 13.5 MB 10.9 MB -19.4% 🟢🟢 🚀
Scan Throughput 100 1.736s 1.647s -5.2% ⚪ ✅
Scan Throughput 1000 10.869s 10.838s -0.3% ⚪ ✅
Typical Queue Shuffle 2.98µs 3.04µs +2.1% ⚪ ✅
Priority Queue Shuffle 14.99µs 15.12µs +0.8% ⚪ ✅

🎯 Performance Summary

+ 1 improvement 🚀
! 2 regressions ⚠️
  28 unchanged ✅

🔍 Significant Changes (>10%)

  • Bloom Filter Large Scale Dns Brute Force: 19.8% 🐌 slower
  • Dns Throughput Inherited: 11.4% 🐌 slower
  • Memory Use Parallel Chains: 19.4% 🚀 less memory

🐍 Python Version 3.11.17

@liquidsec
liquidsec merged commit dc80ad1 into excavate-base-href Oct 14, 2026
17 checks passed
@liquidsec
liquidsec deleted the excavate-form-dot-action branch October 14, 2026 14:25
liquidsec added a commit that referenced this pull request Oct 14, 2026
* Resolve excavated relative URLs against <base href>

* Resolve ./ form actions relative to the page (#3525)

* Fix excavate parameter extraction on RAW_TEXT events
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants