Commit Graph

537 Commits

Author SHA1 Message Date
github-actions
54bb892aaa Code style enforcement 2021-05-31 04:21:46 +00:00
Joseph Henry
ef352cc8f3 Build fix for Python wrapper 2021-05-30 21:13:52 -07:00
Joseph Henry
7ae18961a7 Build fix for Python wrapper 2021-05-30 20:52:02 -07:00
github-actions
0a678a8c8a Code style enforcement 2021-05-31 02:52:00 +00:00
Joseph Henry
3ea146fa5b Possible fix for Python multithread bug #126 2021-05-30 19:36:19 -07:00
Joseph Henry
cd3265f8ae Add select, getsockopt, setsockopt, ioctl and fcntl to Python wrapper 2021-05-28 16:15:38 -07:00
Joseph Henry
9ee053ac36 Only invoke Python user callback if set by user 2021-05-26 18:17:37 -07:00
Joseph Henry
31e94d4bbb Remove debug traces from C# wrapper 2021-05-26 11:16:18 -07:00
Joseph Henry
b821aee0a5 Save reference to managed callback in C# wrapper. Fixes event bug. 2021-05-25 18:35:58 -07:00
Joseph Henry
49047e2391 Make Node singleton members static. Fixes UB in C# event logic 2021-05-24 14:52:07 -07:00
Joseph Henry
e7eaeadaee Remove unnecessary return statements in Python sockets error handler 2021-05-20 09:24:40 -07:00
Joseph Henry
81d03c3692 Make socket exceptions more specific to match Python semantics 2021-05-19 22:14:15 -07:00
Joseph Henry
4e0813d167 Add address getter method to Python wrapper 2021-05-19 21:33:08 -07:00
Joseph Henry
111dc7f5d9 Format Python code with (black) 2021-05-19 18:15:11 -07:00
github-actions
e321d97490 Code style enforcement 2021-05-19 07:55:07 +00:00
Joseph Henry
bbf800c014 Bind to IPv6 unspecified address in ZeroTierSocket constructor 2021-05-19 00:54:19 -07:00
Joseph Henry
08cf10278e Correctly handle IPv6 unspecified address in C API 2021-05-19 00:52:52 -07:00
Joseph Henry
0e2f5b6f1e Add ZeroTierDatagramSocket and ZeroTierServerSocket to Java wrapper 2021-05-18 22:39:48 -07:00
Joseph Henry
bd12a1736b Fix MAC address getter convenience function in C API 2021-05-18 12:38:24 -07:00
Joseph Henry
eac36f781d Add NetworkStream to C# wrapper. Fix errno bug in C# wrapper 2021-05-17 21:28:15 -07:00
Joseph Henry
5d404034c3 Add better port binding controls 2021-05-13 14:17:08 -07:00
Joseph Henry
22f80797b8 Fix socket initialization error on Windows 2021-05-12 15:05:18 -07:00
Joseph Henry
64fe1d015d Fix compile-time errors for C# binding on Windows 2021-05-11 14:34:22 -07:00
Joseph Henry
1ea88d045f Slight re-org of event system and fix bug in zts_util_ipstr_to_saddr 2021-05-11 14:31:01 -07:00
Joseph Henry
2c666894b6 Merge branch 'dev' of https://github.com/zerotier/libzt into dev 2021-05-06 00:57:44 -07:00
Joseph Henry
175cb67cf3 Remove unnecessary include to fix #115 2021-05-06 00:56:44 -07:00
github-actions
8d554e88c5 Code style fixes 2021-05-06 07:38:48 +00:00
Joseph Henry
0890e2608f Commented out pthread_setname_np to address portability concern #116 2021-05-06 00:38:09 -07:00
github-actions
c4b9518361 Code style fixes 2021-05-06 07:06:35 +00:00
Joseph Henry
fa34fb62e6 Minor Windows build fixes 2021-05-05 19:55:47 -07:00
Joseph Henry
9151f4471c Slight re-org of C API naming convention 2021-05-05 16:19:27 -07:00
github-actions
2d2afce4f7 Code style fixes 2021-05-03 04:30:55 +00:00
Joseph Henry
6a77f0092f Update Python bindings to 1.4.0 API (WIP) 2021-05-02 21:30:21 -07:00
Joseph Henry
6f42338f6e Update C# bindings to 1.4.0 API 2021-04-30 21:54:34 -07:00
Joseph Henry
3e304cb25a Reduce number of compile-time warnings (continued) 2021-04-30 16:38:21 -07:00
Joseph Henry
6763ced6f5 Reduce number of compile-time warnings 2021-04-30 15:36:46 -07:00
Joseph Henry
782d221eb9 Add WIP Java language bindings 2021-04-29 19:51:07 -07:00
Joseph Henry
904e50e8e9 Fix bug in network transport readiness check function 2021-04-29 19:41:13 -07:00
Joseph Henry
016b0ffc0e Adjust nomenclature. Add more C API extension functions 2021-04-29 14:03:15 -07:00
Joseph Henry
a247552df1 Format according to new ZeroTier standard 2021-04-26 22:07:55 -07:00
Joseph Henry
c456a87f97 Add zts_core_query_ and world sub-APIs. Adjust event subsystem 2021-04-26 21:55:01 -07:00
Joseph Henry
43350691b5 Expand C API and simplify NodeService 2021-04-22 11:20:04 -07:00
Joseph Henry
a5121b1e3c Applied styling rules from .clang-format 2021-04-17 23:46:21 -07:00
Joseph Henry
94053522cf Merge branch 'master' of https://github.com/GermanAizek/libzt into GermanAizek-master 2021-03-27 10:05:59 -07:00
Joseph Henry
46eb8be174 Merge branch 'py_send_binary3' of https://github.com/linsomniac/libzt into linsomniac-py_send_binary3 2021-03-26 20:08:13 -07:00
Joseph Henry
66d791f920 Merge branch 'linsomniac_review' of https://github.com/linsomniac/libzt into linsomniac-linsomniac_review 2021-03-26 19:57:09 -07:00
Joseph Henry
6638f20003 Add IPv6 to C# ZeroTier.Sockets, Add C# selftest, Misc C API improvements 2021-03-26 16:33:22 -07:00
GermanAizek
ac1a1b1d2b Fixed memleak, optimize and refactor code 2021-03-26 01:15:52 +03:00
Joseph Henry
9cd5fdee7b Update C API: Add functions that simplify wrapper generation 2021-03-24 12:20:39 -07:00
Sean Reifschneider
5f6faaa5e8 Python send() with binary data
zts_py_send() was using strlen() to determine the length of the
send(). This works fine with strings, but fails with binary
data.

To fix this, I have removed the string encoding code, and
converted to using the Buffer protocol as is done in the
Python socketmodule send() implementation. This does mean
that this send() implementation only takes byte-like objects.

The workaround for this could be at the python level rather
than the C++ level.

NOTE: This implementation has a bug in the exception handling
if a non-bytes-like object is passed. You get an exception,
but the exception is not accurate, it reports the TypeError,
but the actual raised exception is due to there being a return
value when the error indicator is set. I spent a few hours
trying to fix this but was unable to. I'm afraid I just couldn't
figure it out.

My SSH proxy was misbehaving because the second block
of data going from the client to the server had a NUL byte as
the first byte to send, so the send was returning 0 bytes
sent, but that was due to send() being told to send 0 bytes.

With this, my SSH proxy is now working, including able to run
an rsync of my boot initrd over SSH over ZeroTier entirely in
userspace.
2021-03-20 13:01:50 -06:00