Skip to content

update dependencies#86

Open
starius wants to merge 1 commit intocretz:masterfrom
starius:up
Open

update dependencies#86
starius wants to merge 1 commit intocretz:masterfrom
starius:up

Conversation

@starius
Copy link

@starius starius commented Aug 24, 2025

Updated Go to 1.23 and the packages used to recent versions.

@cretz
Copy link
Owner

cretz commented Aug 25, 2025

Thanks! I no longer really work on this repository, but I can merge this. Can you confirm the output of running all of the unit tests?

@starius
Copy link
Author

starius commented Aug 26, 2025

I failed to build embedded tor and I don't need that mode, so I skipped testing it.

Maybe you know why this may happen when building tor-static?

tor-static$ go run build.go build-all
2025/08/25 22:42:56 *** Building all ***
2025/08/25 22:42:56 *** Building openssl ***
2025/08/25 22:42:56 Running in folder openssl: sh ./config --prefix=/home/user/tor-static/openssl/dist --openssldir=/home/user/tor-static/openssl/dist no-shared no-dso no-zlib
2025/08/25 22:42:56 *** Done building openssl ***
2025/08/25 22:42:56 *** Done building all ***
2025/08/25 22:42:56 exit status 127
exit status 1

(It's a Debian machine with compilers installed.)

So I tested everything else:

$ go test -v ./control/... ./tests/... ./tor/... ./torutil/...

?   	github.com/cretz/bine/control	[no test files]
=== RUN   TestAuthenticateNull
    context_test.go:63: Only runs if -tor is set
--- SKIP: TestAuthenticateNull (0.00s)
=== RUN   TestAuthenticateSafeCookie
    context_test.go:63: Only runs if -tor is set
--- SKIP: TestAuthenticateSafeCookie (0.00s)
=== RUN   TestAuthenticateHashedPassword
    context_test.go:63: Only runs if -tor is set
--- SKIP: TestAuthenticateHashedPassword (0.00s)
=== RUN   TestGetSetAndResetConf
    context_test.go:63: Only runs if -tor is set
--- SKIP: TestGetSetAndResetConf (0.00s)
=== RUN   TestLoadConf
    context_test.go:63: Only runs if -tor is set
--- SKIP: TestLoadConf (0.00s)
=== RUN   TestSaveConf
    context_test.go:63: Only runs if -tor is set
--- SKIP: TestSaveConf (0.00s)
=== RUN   TestHSFetch
    context_test.go:36: Only runs if -tor and -tor.network are set
--- SKIP: TestHSFetch (0.00s)
=== RUN   TestSignal
    context_test.go:63: Only runs if -tor is set
--- SKIP: TestSignal (0.00s)
=== RUN   TestProtocolInfo
    context_test.go:63: Only runs if -tor is set
--- SKIP: TestProtocolInfo (0.00s)
=== RUN   TestDialerSimpleHTTP
    context_test.go:36: Only runs if -tor and -tor.network are set
--- SKIP: TestDialerSimpleHTTP (0.00s)
=== RUN   TestForwardSimpleHTTP
    context_test.go:36: Only runs if -tor and -tor.network are set
--- SKIP: TestForwardSimpleHTTP (0.00s)
=== RUN   TestEmbeddedGeoIPFile
    context_test.go:63: Only runs if -tor is set
--- SKIP: TestEmbeddedGeoIPFile (0.00s)
=== RUN   TestIsolateSocksAuth
    context_test.go:63: Only runs if -tor is set
--- SKIP: TestIsolateSocksAuth (0.00s)
=== RUN   TestListenSimpleHTTPV3
    context_test.go:36: Only runs if -tor and -tor.network are set
--- SKIP: TestListenSimpleHTTPV3 (0.00s)
PASS
ok  	github.com/cretz/bine/tests	(cached)
?   	github.com/cretz/bine/tor	[no test files]
=== RUN   TestOnionServiceIDFromPrivateKey
--- PASS: TestOnionServiceIDFromPrivateKey (0.08s)
=== RUN   TestOnionServiceIDFromPublicKey
--- PASS: TestOnionServiceIDFromPublicKey (0.15s)
=== RUN   TestOnionServiceIDFromV2PublicKey
--- PASS: TestOnionServiceIDFromV2PublicKey (0.00s)
=== RUN   TestOnionServiceIDFromV3PublicKey
--- PASS: TestOnionServiceIDFromV3PublicKey (0.00s)
=== RUN   TestPartitionString
--- PASS: TestPartitionString (0.00s)
=== RUN   TestPartitionStringFromEnd
--- PASS: TestPartitionStringFromEnd (0.00s)
=== RUN   TestEscapeSimpleQuotedStringIfNeeded
--- PASS: TestEscapeSimpleQuotedStringIfNeeded (0.00s)
=== RUN   TestEscapeSimpleQuotedString
--- PASS: TestEscapeSimpleQuotedString (0.00s)
=== RUN   TestEscapeSimpleQuotedStringContents
--- PASS: TestEscapeSimpleQuotedStringContents (0.00s)
=== RUN   TestUnescapeSimpleQuotedStringIfNeeded
--- PASS: TestUnescapeSimpleQuotedStringIfNeeded (0.00s)
=== RUN   TestUnescapeSimpleQuotedString
--- PASS: TestUnescapeSimpleQuotedString (0.00s)
=== RUN   TestUnescapeSimpleQuotedStringContents
--- PASS: TestUnescapeSimpleQuotedStringContents (0.00s)
PASS
ok  	github.com/cretz/bine/torutil	(cached)
=== RUN   TestUnmarshalMarshal
--- PASS: TestUnmarshalMarshal (0.00s)
=== RUN   TestSignVerify
--- PASS: TestSignVerify (0.00s)
=== RUN   TestCryptoSigner
--- PASS: TestCryptoSigner (0.00s)
=== RUN   TestGolden
--- PASS: TestGolden (0.02s)
=== RUN   TestMalleability
--- PASS: TestMalleability (0.00s)
PASS
ok  	github.com/cretz/bine/torutil/ed25519	(cached)
?   	github.com/cretz/bine/torutil/ed25519/internal/edwards25519	[no test files]
?   	github.com/cretz/bine/torutil/geoipembed	[no test files]

Installed examples, except ones using embedded tor:

bine/examples$ go install ./grpc/ ./httpaltsvc/ ./simpleclient/ ./simpleserver/
bine/examples$

Also I ran all the network tests:

bine/tests]$ go test -c
bine/tests]$ ./tests.test -test.v -tor -tor.network -tor.verbose

Here is the output: https://gist.githubusercontent.com/starius/e5960b46de1a94eda4bde3123dc3fed4/raw/bf378a6ea4fe6fe248c827bab965993dc3eb86a8/gistfile1.txt

Note that one tests is failing:

Unique IDs without isolate: map[9:{} 11:{}]
    tor_isolate_socks_auth_test.go:25: 
        	Error Trace:	/home/user/bine/tests/tor_isolate_socks_auth_test.go:25
        	Error:      	"map[9:{} 11:{}]" should have 1 item(s), but has 2
        	Test:       	TestIsolateSocksAuth
--- FAIL: TestIsolateSocksAuth (23.89s)

I checked master branch - it fails in it as well. Maybe some bug in my Tor version (0.4.8.16)?

@cretz
Copy link
Owner

cretz commented Aug 26, 2025

Unsure to be honest, I'd have to spend time debugging, but I have effectively abandoned work on this project.

@starius
Copy link
Author

starius commented Aug 27, 2025

I can dig deeper into it on the weekend. Let's keep it open for now.

@elimisteve
Copy link

@starius Note that this means that users must have at least go 1.23.0 installed to build bine, which is probably too strict, yes?

- go 1.15
+ go 1.23.0

@starius
Copy link
Author

starius commented Aug 30, 2025

@elimisteve This Go version is needed to bump the dependencies.

Note that even Go 1.23 has stopped receiving security updated from Go team via minor releases. The actual versions are 1.24 and 1.25 now.

Minor releases to address problems (including security issues) for Go 1.x stop once Go 1.x+2 is released.

From https://go.dev/wiki/Go-Release-Cycle

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.

3 participants