Graham
76977303b2
Add shorthand methods for creating ByteBufs from ByteArrays and Strings
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
f143eef142
Move Kotlin files from src/{main,test}/java to src/{main,test}/kotlin
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
ce5b76ef0f
Rename dev.openrs2 package to org.openrs2
...
Signed-off-by: Graham <gpe@openrs2.org>
4 years ago
Graham
efc7ba9d2b
Add underflow/overflow tests
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
107c432e65
Rename NONE to UNCOMPRESSED
...
This is the name used by Jagex.
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
8d35b5010a
Add functions for quickly checking if a XTEA key is valid
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
d2ee9d3b8b
Check that all decompression algorithms throw IOException on failure
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
0d384fa8f2
Throw IOException for all JS5 decompression errors
...
Should be nicer than the mixture of exception types we used before.
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
e764403cb2
Add tests for corrupt containers
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
0af11d75c3
Add flag to disable encryption of uncompressed containers by default
...
These don't work in the 550 client due to a bug.
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
e5e9ece098
Fix JS5 uncompression of large GZIP-compressed files
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
e7ad4b92ff
Group test files by test
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
3f59e1764c
Store individual XteaKey components separately
...
This allows us to make them private (rather than internal) and the type
as a whole is immutable.
It does mean we need to convert the key to an IntArray every time we use
it now. However, I hope that the JVM will be smart enough to inline the
toIntArray() method and also smart enough to realise it doesn't escape,
allowing it to allocate it on the stack rather than the heap.
This commit also adds methods for converting XteaKeys to hex, and
converting from hex/integer arrays to an XteaKey object.
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago
Graham
58335ca6d0
Add JS5 compression/encryption implementation
...
Signed-off-by: Graham <gpe@openrs2.dev>
4 years ago