Commit graph

781 commits

Author SHA1 Message Date
David Renshaw
4ce5a5e359
annotated new test 2024-10-07 12:38:06 +03:00
Jonah Beckford
27ea6745e5
Support signed offsets
Both Structs and Lists support two's complement "Signed" offsets:

> B (30 bits) = Offset, in words, from the end
> of the pointer to the start of the struct's
> data section.  Signed.

> B (30 bits) = Offset, in words, from the end
> of the pointer to the start of the first
> element of the list.  Signed.

The prior code only supported positive offsets
because it used the Java >>> operator, which
is an unsigned shift operator. The Java >>
operator is the signed shift operator.

Audited the remaining uses of the shift
operator; they were correct and they are
documented as such.

Positive offsets are only guaranteed in a Canonical message.
2024-10-07 12:38:05 +03:00
Jonah Beckford
c7d5354f23
Use word arithmetic for SegmentReader
Prior to this change, the start index was treated as a byte index
rather than a word index.
2024-10-07 12:38:05 +03:00
David Renshaw
7869cefeb9
remove unix-specific includes in capnpc-java 2024-10-07 12:38:05 +03:00
David Renshaw
57c0215bef
use kj/filesystem 2024-10-07 12:38:05 +03:00
David Renshaw
ad1fa2cc22
remove unused output stream 2024-10-07 12:38:05 +03:00
Joan-Roch Sala
63048cb1bc
use Optional<MessageReader> as return type 2024-10-07 12:38:03 +03:00
Joan-Roch Sala
ce32e367a3
Support Serialize.tryRead and SerializePacked.tryRead 2024-10-07 12:37:35 +03:00
David Renshaw
04f2189d48
bump version numbers 2024-10-07 12:37:24 +03:00
David Renshaw
5ff98d0c3f
fix typo in changelog 2024-10-07 12:37:23 +03:00
David Renshaw
9ddeb1ef5a
prepare for 0.1.15 release 2024-10-07 12:37:23 +03:00
David Renshaw
3e2034f45d
fix reading of upgraded pointer lists 2024-10-07 12:37:22 +03:00
David Renshaw
257f646ec1
bump version to 0.1.15-SNAPSHOT 2024-10-07 12:36:43 +03:00
David Renshaw
acd5713fa6
prepare to release 1.1.14 2024-10-07 12:36:43 +03:00
Martin Dindoffer
4f120bf6d9
Avoid duplicate bitwise operations when reading primitive list pointers 2024-10-07 12:36:37 +03:00
Martin Dindoffer
169755b94d
Fix integer overflow in computeSerializedSizeInWords 2024-10-07 12:34:54 +03:00
Martin Dindoffer
28567eda73
Fix integer overflow in bounds checking 2024-10-07 12:33:58 +03:00
Vaci
1a36fd894d
Update README.md 2022-11-27 17:50:02 +00:00
Vaci Koblizek
ca7ceed32f remove AsynchronousByteListenChannel 2022-08-31 14:43:14 +01:00
octeep
e3f447d4c7 use java nio AsynchronousByteChannel instead for Serialize 2022-08-31 14:43:14 +01:00
Vaci Koblizek
ee0d727ade pass null captable in ListReader test 2022-08-08 16:28:52 +01:00
Martin Dindoffer
2094289256 Avoid duplicate bitwise operations when reading primitive list pointers 2022-08-08 16:28:52 +01:00
Martin Dindoffer
e8338d826e Performance-related cleanup
* Remove unnecessary bitwise and in WirePointer
* Remove always true condition in Serialize
* Pre-size segment ArrayList in Serialize
* Remove unused local var in Serialize
* Remove unnecessary bit shift in PackedOutputStream#write
* Make fields final in BuilderArena and Serialize
* Make Iterator classes static in DataList and TextList
* Pre-size ArrayList in ReaderArena constructor
2022-08-08 16:28:52 +01:00
Martin Dindoffer
04d0692c64 Fix integer overflow when calculating zeroing range in zeroObject
Lists can have up to 29 bits of elements. We multiply that by a constant of 8 (Bytes per word), so basically any element size can cause on overflow.
2022-08-08 16:28:52 +01:00
Martin Dindoffer
58c906f555 Introduce constant for nesting limit in LayoutTest 2022-08-08 16:28:52 +01:00
Martin Dindoffer
529a3daa6f Fix integer overflow in setListPointer size calculation 2022-08-08 16:28:52 +01:00
Martin Dindoffer
b1eadaee6c Fix intege overflow in _setBooleanElement in a primitive list 2022-08-08 16:28:52 +01:00
Martin Dindoffer
89d1c5722e Fix integer overflow in computeSerializedSizeInWords 2022-08-08 16:28:52 +01:00
Martin Dindoffer
e77372b1cd Fix integer overflow in bounds checking 2022-08-08 16:28:52 +01:00
Vaci
ced3f11e6f
Specify OpenJDK version for JitPack (#28)
Co-authored-by: octeep <octeep@pm.me>
2022-08-08 14:51:46 +01:00
Vaci
af9c1090b9
CI token (#31)
* replace ACTION_TOKEN with GITHUB_TOKEN

* try removing token
2022-08-08 14:41:11 +01:00
Vaci Koblizek
949103ca5d Merge remote-tracking branch 'sandstorm/master' 2022-05-02 17:18:21 +01:00
Martin Dindoffer
89db62ae9a #122 Add bound checks for struct size
Also fix incorrect bounds comparison in SegmentReader
2022-04-09 10:36:07 -04:00
Vaci
01b5a6c292
Merge pull request #25 from jan-br/master
Fix generic structs with non-generic interface as type parameter
2022-04-06 15:18:11 +01:00
jan
3119bb5fab Fix generic structs with non-generic interface as type parameter. 2022-03-21 01:27:06 +01:00
Vaci
88182b9b30
Merge pull request #24 from vaci/vaci/portability
Patches to assist porting back to official release
2022-03-12 10:53:38 +00:00
Vaci Koblizek
7c521d5840 avoid var in ClientHook 2022-03-06 16:47:37 +00:00
Vaci Koblizek
3ec3dbae57 remove captable contexts from capability 2022-03-06 16:47:19 +00:00
Vaci Koblizek
f510bd19aa move captable contexts 2022-03-06 16:46:39 +00:00
Vaci
8c6b9c8caa Avoid use of var 2022-03-06 16:37:33 +00:00
Vaci Koblizek
4171577bf0 Move NULL and BROKEN brands to ClientHook 2022-03-06 14:09:49 +00:00
Vaci
59701de848 Provide fallback to original interface. 2022-03-06 14:09:42 +00:00
Vaci
845186f15e
Merge pull request #23 from vaci/vaci/unused-import
remove unused import
2022-03-06 13:49:55 +00:00
Vaci
3b4ee42cc3
remove unused import 2022-03-06 13:32:01 +00:00
Vaci
97e4766f49
Merge pull request #22 from vaci/vaci/rpc-ordering
Track fix to ordering bug in C++ implementation
2022-03-05 17:41:30 +00:00
Vaci Koblizek
42d5535e9a Track fix to ordering bug as described here:
https://github.com/capnproto/capnproto/pull/1006
6f77d09216
2022-03-05 17:03:03 +00:00
Florian Schmaus
8aa4aaae16 Makefile: respect CFLAGS and LDFLAGS 2021-12-20 17:33:22 -05:00
Vaci
2e319ceabc
Merge pull request #20 from vaci/vaci/merge2
merge from upstream
2021-11-10 21:26:43 +00:00
Vaci Koblizek
9bb1032274 avoid truncating struct size 2021-11-10 12:13:27 +00:00
Vaci Koblizek
84dcb10085 correct pom version 2021-11-10 11:47:03 +00:00