Don't overwrite existing CheckRedirect

This commit is contained in:
y a t s
2026-02-14 11:51:36 -05:00
parent 8f868a3930
commit 66e6f74a4b
5 changed files with 48 additions and 68 deletions
+34 -18
View File
@@ -4,9 +4,11 @@ import (
"context"
"errors"
"fmt"
"io"
"log"
"net"
"net/http"
"net/http/cookiejar"
"strings"
"testing"
@@ -31,26 +33,33 @@ func solveTest(ctx context.Context, hc http.Client, host string) error {
connType = "tor"
}
log.Printf("Fetching new %s challenge...", connType)
c, err := NewChallenge(ctx, hc, host)
if err != nil {
return err
}
log.Printf("Challenge: %s, Difficulty: %d, Steps: %d\n", c.Salt, c.Diff, c.Steps)
steps := int8(1)
s, err := Solve(ctx, c)
if err != nil {
return err
}
log.Printf("Solution hash: %x, nonce: %d\n", s.Hash, s.Nonce)
for steps > 0 {
log.Printf("Fetching new %s challenge...", connType)
c, err := NewChallenge(ctx, hc, host)
if err != nil {
return err
}
log.Printf("Challenge: %s, Difficulty: %d, Steps: %d\n", c.Salt, c.Diff, c.Steps)
steps = c.Steps
resp, err := Submit(ctx, hc, s, "")
if err != nil {
return err
}
defer resp.Body.Close()
s, err := Solve(ctx, c)
if err != nil {
return err
}
log.Printf("Solution hash: %x, nonce: %d\n", s.Hash, s.Nonce)
log.Printf("Response: %s\n\n", resp.Header.Get("Set-Cookie"))
resp, err := Submit(ctx, hc, s, "")
if err != nil {
return err
}
b, err := io.ReadAll(resp.Body)
log.Printf("Response: %s\n\n", b[:60])
resp.Body.Close()
}
return nil
}
@@ -67,9 +76,16 @@ func newProxyTransport() *http.Transport {
func TestSubmit(t *testing.T) {
ctx := t.Context()
err := solveTest(ctx, http.Client{}, _TEST_HOST)
jar, err := cookiejar.New(nil)
if err != nil {
t.Error(err)
return
}
err = solveTest(ctx, http.Client{Jar: jar}, _TEST_HOST)
if err != nil {
t.Error(err)
return
}
var dnsErr *net.DNSError