chore: remove direct json-iterator dependency#1386
Conversation
…ion-strategy feat(server) added eviction strategy
…-1275-feature/eviction-strategy Revert "feat(server) added eviction strategy"
interactsh v1.3.0
Bumps [github.com/refraction-networking/utls](https://github.com/refraction-networking/utls) from 1.8.0 to 1.8.2. - [Release notes](https://github.com/refraction-networking/utls/releases) - [Commits](refraction-networking/utls@v1.8.0...v1.8.2) --- updated-dependencies: - dependency-name: github.com/refraction-networking/utls dependency-version: 1.8.2 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
…abot/go_modules/github.com/refraction-networking/utls-1.8.2 chore(deps): bump github.com/refraction-networking/utls from 1.8.0 to 1.8.2
release interactsh v1.3.1
) The smtpd library hard-codes '502 Command not implemented' for VRFY. Per RFC 5321 §3.5.1, a server that cannot verify a mailbox SHOULD return 252 ('Cannot VRFY user, but will accept message and attempt delivery') instead. Returning 502 causes clients such as curl to abort the session before issuing the DATA command, resulting in emails being silently dropped. Fix: point git.mills.io/prologic/smtpd at a patched fork via a go.mod replace directive. The fork is a minimal, single-commit patch on top of the upstream smtpd commit that changes only the VRFY case.
WalkthroughThis PR performs a systematic migration from the ChangesJSON Library Migration: jsoniter to encoding/json
SMTP VRFY Fix via Module Fork
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Poem
🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Migrates all direct uses of github.com/json-iterator/go in non-test and test files to encoding/json, making json-iterator indirect-only (it remains transitively via an upstream dep). This is part of the projectdiscovery/nuclei#7458 dependency-reduction effort: nuclei's PR #7457 already removed json-iterator from nuclei's direct deps, but json-iterator remained a direct dep of interactsh (exposed through pkg/client.Client), which kept it in nuclei's indirect dep tree. Files changed: - cmd/interactsh-client/main.go - pkg/client/client.go (also converts UnmarshalFromString → json.Unmarshal([]byte(...))) - pkg/server/{dns,ftp,http,ldap,responder,smb,smtp}_server.go - pkg/storage/roundtrip_test.go
Summary
Remove the direct dependency on
github.com/json-iterator/goby migrating all direct uses to the standard libraryencoding/json.This is part of the projectdiscovery/nuclei#7458 dependency-reduction effort: nuclei's PR #7457 already dropped json-iterator from nuclei's direct deps, but it remained exposed through interactsh's
pkg/client, keeping it in nuclei's indirect tree.The migration is behavior-preserving:
jsoniter.Marshal/NewEncoderuseConfigDefault(EscapeHTML: true), identical toencoding/json, so serialized interaction payloads (and HTML escaping of raw request data) are unchanged.UnmarshalFromString(s, v)is converted tojson.Unmarshal([]byte(s), v).Direct uses converted across the client, server, and storage packages (client,
*_server.gohandlers/helpers, NTLM capture, and round-trip tests). After the change,go mod tidykeepsgithub.com/json-iterator/goas indirect-only ingo.mod(still pulled in transitively).Verification
go build ./...go vet ./...go test ./...go mod tidy(json-iterator demoted to// indirect)all pass cleanly.