Commit graph

119 commits

Author SHA1 Message Date
Jason Rhinelander aecfe2a76c
Merge remote-tracking branch 'origin/stable' into debian/bookworm 2023-09-27 20:13:57 -03:00
Jason Rhinelander 9f521dfeb5
Merge remote-tracking branch 'origin/dev' into stable 2023-09-27 20:13:00 -03:00
Jason Rhinelander 4e46c187e5
Rebuild for newer oxenmq 2023-09-27 20:09:09 -03:00
Jason Rhinelander 48a6561002
Merge pull request #13 from jagerman/fix-reply-segfault
Fix python binding segfault
2023-09-27 19:57:23 -03:00
Jason Rhinelander 1198dc217d
sid build fix 2023-09-27 19:45:28 -03:00
Jason Rhinelander b0edf998f8
Fix python binding segfault
This fixes a segfault in the reply handling code, where the destructor
of a `py::function` wasn't necessarily happening with the GIL held,
which could make Python segfault.

The solution that was here to address this didn't work because it was
relying on std::optionals, but it is possible (and apparently sometimes
happens) that the std::function this lambda gets stuffed into gets moved
(or maybe copied?), which then results in *two* lambda destructions: we
were correctly dealing with the one that eventually gets called by
clearing things properly when it gets called, but the temporary
destructor also fires, and that is the one that broke.

This changes it to instead leak bare pointers into the lambda and then
recapture them inside when we get called; since we are guaranteed to be
called exactly once, this recaptures them without losing them but
doesn't incur destruction of a py::function deep in oxenmq (outside of
GIL scope).
2023-09-27 16:06:08 -03:00
Jason Rhinelander 74e839cf23
oxenmq epoll rebuild 2023-09-14 16:39:47 -03:00
Jason Rhinelander 7efcdfd3fe
Bump oxenmq dependency to pick up epoll support 2023-09-14 16:39:21 -03:00
Jason Rhinelander a9ba05b4cc 1.0.4 2023-03-28 09:36:38 +11:00
Jason Rhinelander 79397a3ef1 Merge remote-tracking branch 'origin/stable' into debian/bookworm 2023-03-28 09:36:35 +11:00
Jason Rhinelander 38ba790d8b Merge branch 'dev' into stable 2023-03-28 09:33:33 +11:00
Jason Rhinelander 5359810a10
Merge pull request #12 from jagerman/connect-auth-level
Expose setting auth level on outgoing connection
2023-03-28 09:30:41 +11:00
Jason Rhinelander ace70998d7 fix debian sid builds
Python 3.11+ complains when trying to use pip globally, but for CI it
seems fine to override (and potentially break the temporary CI image).
2023-03-28 09:21:15 +11:00
Jason Rhinelander 6e50822bc9
Expose setting auth level on outgoing connection
This is necessary to allow a remote to issue authenticated commands back
to us.
2023-03-08 17:31:49 -04:00
Jason Rhinelander 06decde054
bookworm rebuild 2023-01-24 20:57:59 -04:00
Jason Rhinelander 9f6bf54f4c
1.0.3 2022-12-02 17:44:11 -04:00
Jason Rhinelander 45ac498215
Merge remote-tracking branch 'origin/stable' into debian/bookworm 2022-12-02 17:44:09 -04:00
Jason Rhinelander 477e417d3e
Merge remote-tracking branch 'origin/dev' into stable 2022-12-02 17:40:03 -04:00
Jason Rhinelander 30a9a26ea7
Merge pull request #11 from jagerman/remove-bencode
Remove base32z encoding
2022-08-04 14:28:54 -03:00
Jason Rhinelander f62fa4916f
Remove base32z encoding
We have pyoxenc for that instead.
2022-08-04 13:31:22 -03:00
Jason Rhinelander 6d29903664
compilation fix 2022-06-16 15:08:13 -03:00
Jason Rhinelander f29b0b6ce4
Merge commit '296f61a' into debian/bookworm 2022-06-16 15:06:27 -03:00
Jason Rhinelander 10f3d44da4
bookworm deb 2022-06-16 15:01:46 -03:00
Jason Rhinelander 4bf412905a
Rename is_reply -> is_request
The property is retrieving whether a reply is expected, not whether the
message itself is a reply.
2022-06-09 18:29:29 -03:00
Jason Rhinelander 296f61a7c0
macos compilation fix
macos clang won't apply the implicit `operator std::string()` from
py::bytes here for some unknown reason.
2022-01-11 11:16:47 -04:00
Jason Rhinelander e4f035f5cd
1.0.2 with misc fixes (see PR #10) 2021-12-03 15:41:37 -04:00
Jason Rhinelander 0e197ec803
Merge remote-tracking branch 'origin/stable' into debian/sid 2021-12-03 15:41:32 -04:00
Jason Rhinelander b5f3ff6132
Merge remote-tracking branch 'origin/dev' into stable 2021-12-03 15:40:12 -04:00
Jason Rhinelander e4b9a39fd0
Merge pull request #10 from jagerman/fixes
Fixes
2021-12-03 15:39:55 -04:00
Jason Rhinelander 36e32066d0
Version bump 2021-12-03 13:10:19 -04:00
Jason Rhinelander 4136c29d06
Make Message property accessors copy
The default references, which breaks because Message gets reused, so
storing `.conn` gives you something that changes the next time a worker
gets a message.
2021-12-03 13:08:11 -04:00
Jason Rhinelander f1160d0a25
Make allow_connection properly optional 2021-12-03 13:07:49 -04:00
Jason Rhinelander 4020ab8a49
Make ConnectionIDs hashable 2021-12-03 13:07:35 -04:00
Jason Rhinelander be15af17df
rebuild against newer oxenmq 2021-12-02 19:18:09 -04:00
Jason Rhinelander f79cc4949f
fix allow callback 2021-12-02 15:41:18 -04:00
Jason Rhinelander d11eaaadda
Merge remote-tracking branch 'origin/stable' into debian/sid 2021-12-02 15:41:02 -04:00
Jason Rhinelander 8010b5984e
Merge remote-tracking branch 'origin/dev' into stable 2021-12-02 15:40:17 -04:00
Jason Rhinelander a678fcf0ce
Remove include for older pybind compatibility 2021-12-02 15:39:54 -04:00
Jason Rhinelander dbfb96bcbe
fix allow callback 2021-12-02 15:20:56 -04:00
Jason Rhinelander eb43123d61
Merge remote-tracking branch 'origin/stable' into debian/sid 2021-12-02 15:20:51 -04:00
Jason Rhinelander 041d2051df
Merge branch 'dev' into stable 2021-12-02 15:20:08 -04:00
Jason Rhinelander 59e86ab6b6
Merge pull request #9 from jagerman/fix-allow-func
Fix allow function argument decoding error
2021-12-02 15:17:04 -04:00
Jason Rhinelander 530280ac60
Fix allow function argument decoding error
Avoids a utf-8 decoding error when accepting a connection with an allow
function by properly wrapping the function in a version that passes
pubkey as a `bytes`.
2021-12-02 15:14:54 -04:00
Jason Rhinelander 276ef12f47 rebuild against newer oxenmq 2021-11-30 15:24:08 -04:00
Jason Rhinelander a619f50247 use prebuilt builder ci; reformat 2021-10-27 12:19:22 -03:00
Jason Rhinelander b4b643aa97 1.0.0 final release 2021-10-22 20:25:56 -03:00
Jason Rhinelander 9c2f537d9d Merge remote-tracking branch 'origin/stable' into debian/sid 2021-10-22 20:25:42 -03:00
Jason Rhinelander 37b35000d3
Merge pull request #8 from oxen-io/dev
1.0.0
2021-10-22 20:24:33 -03:00
Jason Rhinelander 367007dd66 Update readme for new code 2021-10-22 20:22:54 -03:00
Jason Rhinelander 5fe9a260a5 1.0.0 final release 2021-10-22 20:15:23 -03:00