Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CoyIM Debian package has issues #505

Closed
TNTBOMBOM opened this Issue Dec 6, 2018 · 7 comments

Comments

Projects
None yet
3 participants
@TNTBOMBOM
Copy link

TNTBOMBOM commented Dec 6, 2018

The package needs someone to work on it in order to solve the issues mentioned here:

https://tracker.debian.org/pkg/coyim

@TNTBOMBOM TNTBOMBOM changed the title CoyIM Debina package has issues CoyIM Debian package has issues Dec 7, 2018

@satta

This comment has been minimized.

Copy link
Contributor

satta commented Dec 18, 2018

This is in reference to bug #916128 (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=916128) which is due to the following test failing at the moment:

FAIL: connection_policy_test.go:161: ConnectionPolicySuite.Test_buildProxyChain_Returns

connection_policy_test.go:181:
    c.Check(chain, DeepEquals, expectedProxy)
... obtained *socks.Dialer = &socks.Dialer{cmd:1, proxyNetwork:"tcp", proxyAddress:"proxy.local", ProxyDial:(func(context.Context, string, string) (net.Conn, error))(0x678b20), AuthMethods:[]socks.AuthMethod(nil), Authenticate:(func(context.Context, io.ReadWriter, socks.AuthMethod) error)(nil)}
... expected *socks.Dialer = &socks.Dialer{cmd:1, proxyNetwork:"tcp", proxyAddress:"proxy.local", ProxyDial:(func(context.Context, string, string) (net.Conn, error))(0x678b20), AuthMethods:[]socks.AuthMethod(nil), Authenticate:(func(context.Context, io.ReadWriter, socks.AuthMethod) error)(nil)}

OOPS: 31 passed, 1 FAILED
--- FAIL: Test (5.08s)
...

I can reproduce this with the dependencies currently in Debian unstable. Since in this Debian package passing the tests is required for the build to succeed, this is being treated as a build failure.
Any ideas? It looks like at least the string representations for the items to compare are the same.

Note: If this is not addressed soon then CoyIM will be dropped from Debian testing.

@satta

This comment has been minimized.

Copy link
Contributor

satta commented Dec 18, 2018

I've done some more research.
This issue has to do with a change in golang.org/x/net's proxy package, which now has a different way of working with SOCKS connections (golang/net@61147c4#diff-431387eb7262e1cfc79b125eb8a67c60). I confirm that with the released CoyIM 0.3.8 including this commit in the used version of golang.org/x/net will lead to the test failing as observed in Debian.
Debian has updated their source package golang-golang-x-net-dev recently to a version including that commit above. So that -- together with the fact that Debian discourages the use of vendored dependencies unless absolutely required -- explains the problem.

As the maintainer of CoyIM in Debian, I will make sure to force the use of the vendored version of golang.org/x/net but I strongly suggest to address this directly in CoyIM.

@olabini olabini closed this in fa500bd Dec 19, 2018

@olabini

This comment has been minimized.

Copy link
Contributor

olabini commented Dec 19, 2018

Thanks for the report. I have pushed a fix to this now, and the tests work with the new version of the package.
Incidentally, these kinds of problems is exactly why vendoring is an important practice in golang land - we can't control dependencies and that things work properly, without controlling their versions... Oh well.

@olabini

This comment has been minimized.

Copy link
Contributor

olabini commented Dec 19, 2018

Is this different than #484 or the same - have you seen those issues as well or not?

@satta

This comment has been minimized.

Copy link
Contributor

satta commented Dec 20, 2018

#484 seems to be something else. I don't observe this issue any more.
Will there be a new release soon or should I just patch 0.3.8 in Debian to include your changes? Anyway, many thanks for looking into this, much appreciated.

BTW I do indeed agree with your opinions about vendoring in Go (and Rust) land. Debian works differently though and things change a bit more slowly there.

@olabini

This comment has been minimized.

Copy link
Contributor

olabini commented Dec 21, 2018

OK great, thanks. I'll close that issue then.

About a release, I'm hoping I can get a 0.3.9 out in second half of January. Would that be OK?

And yeah, about vendoring and dependencies - this is tricky stuff and evolving the approach will have to take time.

@satta

This comment has been minimized.

Copy link
Contributor

satta commented Dec 22, 2018

Sounds good. I'll look into patching 0.3.8 for now until the release then. Have a nice holiday and a happy new yer!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.