36 Commits

Author SHA1 Message Date
eebe8c5cb4 - Unbreak things by properly validate command topic
- Replace fmt.ErrorF() with errors.New() where no
actual formatting requested
- Hanle edge cases with no username/password in `Client.hello()`
- Make go-staticcheck happier
2025-05-09 00:41:20 +00:00
b2e54236d7 fix up go module 2024-11-13 14:39:08 -05:00
idk
cfdb60d932 work on datagram support. add the ability to get the private keys from the client. 2022-06-02 23:56:49 -04:00
idk
a2fcfb8bc1 Fix issue where the control socket should not be used as a streamsession 2022-02-02 00:40:01 -05:00
idk
0623ed8a79 Fix issue where the control socket should not be used as a streamsession 2022-02-01 23:27:28 -05:00
idk
964219c25f Disable datagram support in the dialer function until it's ready, so I can cut a release tonight. 2022-02-01 21:50:35 -05:00
idk
23c45022b3 tests should run in debug mode. Don't attempt to hot-restore SAM sessions by replacing the net.Conn parts inside if they go down, just let it die and tell the user to restart. 2022-02-01 20:03:13 -05:00
idk
c6d9c0e340 protect the dialer with a mutex 2021-04-15 19:16:11 -04:00
idk
e278de3a66 Fix a bunch of errors that could potentially happen because of changes I made to the Dialer 2021-04-15 17:21:41 -04:00
idk
d1d2663c42 Add session creation commands for datagrams and raw sessions, stub out a repliable datagram dialer, add a DatagramConn interface that implements both net.Conn and net.PacketConn so that Dial can return a whole DatagramConn 2021-02-24 23:08:19 -05:00
idk
5af3086205 Add session creation commands for datagrams and raw sessions, stub out a repliable datagram dialer, add a DatagramConn interface that implements both net.Conn and net.PacketConn so that Dial can return a whole DatagramConn 2021-02-24 23:04:55 -05:00
idk
646767e7bf Allow clients to force a handshake at a specific SAM version or between SAM versions 2020-12-07 00:51:51 -05:00
idk
76e1e9af83 Dial/Hangup Hack. If the connection is closed because of an error, re-dial it from within the dial function itself by incrementing the ID and creating a new session on top of the old one. 2020-12-05 16:36:19 -05:00
idk
6bd37c4d51 kill connections when they die in context 2020-11-29 16:53:46 -05:00
idk
e2f73efb10 Improve the parser, automatically set empty destinations to TRANSIENT when using a dialer, better error handling, when a socket gets closed, increment the ID and re-create it 2020-11-29 16:30:51 -05:00
idk
0d10b5b516 Improve the parser, automatically set empty destinations to TRANSIENT when using a dialer, better error handling, when a socket gets closed, increment the ID and re-create it 2020-11-29 16:09:55 -05:00
idk
3c5397e87f Fix session ID issue, we only need a new session when we really need a new session, i.e. give people a way to ask for it instead of trying to guess 2020-11-22 12:31:20 -05:00
idk
9baee36493 Try and return a new connection when we see the old one fail 2020-11-22 10:56:51 -05:00
idk
379de14264 Try and return a new connection when we see the old one fail 2020-11-22 10:56:35 -05:00
idk
12d1bf38b2 re-write some tests 2020-11-12 22:41:05 -05:00
7729762ce9 fix pass lock by value warning 2020-08-30 18:34:41 -07:00
idk
7cf9e8b61e mutex thing should be better 2020-08-25 16:53:59 -04:00
idk
eabd2d94f6 Protext non-context-aware dialer with a mutex 2020-08-25 10:27:40 -04:00
idk
7521a7862a Fix multi-lookup utility 2020-07-29 12:54:09 -04:00
idk
e5c90d06eb tidy up some things, add a destination parameter 2019-03-14 22:56:32 -04:00
idk
4b77bc4d02 fix excessive destination creation 2019-03-14 22:46:17 -04:00
idk
e42d89a43c try and enable persistent destination 2019-03-14 21:59:12 -04:00
idk
bf2bef0f4b make dialer context aware and avoid redundant session create's 2019-02-27 20:36:16 -05:00
idk
d7af8dafa9 make dialer context aware and avoid redundant session create's 2019-02-27 20:25:36 -05:00
idk
702cc4d699 Configurable host:port (#7)
* replyParser had a bug where, when a base64 address ended with '==', the key-value pairs would break. I worked around the issue by switching '==' it with a non-base64 character before the split, and back after.

* switch to strings.SplitN and apply gofmt, add test

* I don't know exactly why, but checking that the kvPair in replyParser.go is not nil fixes the crash on image-heavy sites.

* added new configuration options for host, port, address, and debugging

* Fix commit history

* added tunnel length control features

* added tunnel length control defaults

* added length variance feature

* added tunnel quantity option

* added backup tunnel quantity option

* added leaseset configuration options

* gofmt

* add new options to session establishment commands & gofmt

* Reference the change to the debug global in the httpTest.go example

* Switch to less than or equal to 16 tunnels at a time.

* add in the comments I forgot to do.

* add in the comments I forgot to do.

* Improved formatting with linter.

* Improved formatting with linter.

* Ditch interfaces in the functional arguments, instead use different functions for the string and int-based variations.

* Fixed broken option

* added in missing formatting directive.

* change addr to host in client so names are consistent.

* change TestClientLookupInvalid back.
2018-07-16 08:49:03 +02:00
6b9621e160 cleaned up debug logging 2015-03-25 21:37:41 +01:00
97f9bc7e56 Edited Comments according to golint 2014-02-14 12:05:13 +01:00
a421daf8d9 Added some Documentation and Example of using it with http.Transport 2014-02-11 14:48:13 +01:00
b0e9ab001e Added Verbose mode and be more fixed some newline inconsistencies 2014-02-11 14:08:52 +01:00
9de2fd3f5b Always send Hello on NewClient 2014-02-11 13:10:24 +01:00
ce26df96ac Trying to implement Dial for usage with http.Transport 2014-02-10 21:01:55 +01:00