Skip to content

fix: apply in-memory DNS cache override in getFastDialer - #609

Merged
Mzack9999 merged 3 commits into
mainfrom
dwisiswant0/fix/apply-in-memory-DNS-cache-override-in-getFastDialer
Oct 20, 2026
Merged

Mzack9999 merged 3 commits into
mainfrom
dwisiswant0/fix/apply-in-memory-DNS-cache-override-in-getFastDialer

Conversation

@dwisiswant0

Copy link
Copy Markdown
Member

getFastDialer copies fastdialer.DefaultOptions into opts and sets
opts.CacheType to Memory, but then passes the unmodified
DefaultOptions to NewDialer, so the override never takes effect.

The bug came from 7be22cc ("reuse fastdialer + bump go"), which moved
this code out of DefaultReusePooledTransport. At that time the
fastdialer default was Disk, so the shared dialer used a disk-backed
DNS cache in the system temp directory. fastdialer switched its
default to Memory in projectdiscovery/fastdialer@45d91b8, so with
v0.5.24 the bug has no effect unless a program changes
fastdialer.DefaultOptions.

Pass opts, as 88ac9a4 ("set memory cache by default") did, and add a
comment explaining why the override stays even though it now matches
the fastdialer default.

Add a regression test that sets the fastdialer default to Disk, builds
a new shared dialer, and checks that nothing is written to the temp
directory.

Fixes #602

getFastDialer copies fastdialer.DefaultOptions into opts and sets
opts.CacheType to Memory, but then passes the unmodified
DefaultOptions to NewDialer, so the override never takes effect.

The bug came from 7be22cc ("reuse fastdialer + bump go"), which moved
this code out of DefaultReusePooledTransport. At that time the
fastdialer default was Disk, so the shared dialer used a disk-backed
DNS cache in the system temp directory. fastdialer switched its
default to Memory in projectdiscovery/fastdialer@45d91b8, so with
v0.5.24 the bug has no effect unless a program changes
fastdialer.DefaultOptions.

Pass opts, as 88ac9a4 ("set memory cache by default") did, and add a
comment explaining why the override stays even though it now matches
the fastdialer default.

Add a regression test that sets the fastdialer default to Disk, builds
a new shared dialer, and checks that nothing is written to the temp
directory.

Fixes #602

Signed-off-by: Dwi Siswanto <git@dw1.io>
Signed-off-by: Dwi Siswanto <git@dw1.io>
@dwisiswant0
dwisiswant0 requested a review from Mzack9999 October 19, 2026 21:34
Closes #603

Signed-off-by: Dwi Siswanto <git@dw1.io>
@Mzack9999
Mzack9999 merged commit d888d06 into main Oct 20, 2026
7 checks passed
@Mzack9999
Mzack9999 deleted the dwisiswant0/fix/apply-in-memory-DNS-cache-override-in-getFastDialer branch October 20, 2026 12:25
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.

getFastDialer ignores its CacheType override

2 participants