Graham
2d19d3f90d
Add initial libbzip2 Java port
...
This is still very much a work-in-progress.
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
ec4eb6464f
Update dependencies
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
26d5d5fd6e
Use JagexGzipOutputStream to compress gzipped JS5 containers
...
The output is bit-for-bit identical to Jagex's implementation.
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
64b1e2e5b9
Add gzip-jagex command
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
71e7c6f8ea
Remove createLaxInputStream() method
...
It's rather pointless - the constructor can be called directly.
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
6c508922fc
Add JagexGzipOutputStream
...
Equivalent to the built-in GZIPOutputStream, except it produces output
that is bit-for-bit identical to Jagex's implementation.
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
a761a26cc8
Manage plugin versions in libs.versions.toml
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
0b2f13422b
Update dependencies
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
e195f5f37f
Update dependencies
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
08080489b6
Replace BIPUSH 1 with ICONST_1
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
cf983794fb
Fix InvalidKeyTransformer bug and comment
...
There were two problems:
- The current intention is for the uncompressed array to be 1 byte long,
not 6 bytes - as map groups only have a single file, we don't need the
group header.
- The comment was out of the sync with the intended code (replace
uncompressed with a single element byte array containing zero).
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
7cde3a4552
Add link to the RuneScape Preservation Unit wiki page
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
64713fb862
Add --decode-js5response flag to import-master-index
...
It removes the archive/group prefix and the 0xFF markers.
Unfortunately using Js5ResponseDecoder here is tricky - perhaps it
could've been done with an EmbeddedChannel.
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
dbbc232e81
Update dependencies
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
71f775f282
Add JSON version of the /caches page
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
759d4bf1f1
Add XteaPluginTest run configuration
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
4aa75cf602
Update copyright year
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
de07a41fde
Add JUnit dependencies to Java modules
...
Not really used for anything yet, but Gradle moans because
xtea-plugin/src/test/ exists and it can't find the JUnit engine.
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
660c12676e
Only remove handlers from pipeline if future is successful
...
If the future is not successful the channel may have been closed. The
pipeline of a closed channel is empty, so attempting to remove handlers
from it would cause an exception.
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
207b99d937
Update dependencies
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
b53149ce6b
Add RuneLite plugin for collecting XTEA keys
...
The API endpoint isn't always updated immediately, so this is useful for
gathering keys semi-manually if they're needed more urgently.
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
346302fc05
Add API endpoint for receiving keys
...
Keys are now initially imported into a key_queue table, which is never
locked exclusively - allowing the API endpoint to function while the
brute forcer is running. The brute forcer moves all pending keys in the
queue to the keys table before running the actual brute forcing.
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
df55c3ece3
Fix reconnection on client-side timeouts in the JS5 client
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
3ce76abde7
Update dependencies
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
6bfdb07f42
Update comment to confirm the guess was correct
...
Verified against three different build 919 master indexes signed by
Jagex.
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
84a43e9fbe
Update dependencies
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
8a3b1dff73
Fix off-by-one error in JS5 response buffer capacity calculation
...
In some cases the capacity would be one byte greater than necessary.
I've added a comment explaining why the calculation works and a unit
test that ensures it is calculated correctly for all lengths between 1
and 511*3+1 bytes.
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
469fe2eecc
Add environment and language columns to the caches table
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
bc51a68cb3
Update dependencies
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
adc1138ca4
Convert packclass try/catch count to an unsigned short smart
...
This fixes compatibility with very modern packclass files.
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
211041ab6d
Update support build list
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
3b4fcad8f4
Add link to RuneWiki
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
334424e57a
Fix addMasterIndex()
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
f4ae5540d7
Skip version list entries with a version of zero
...
The client uses these to indicate files that don't exist.
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
0cf1881db4
Rename 'Indexes' column to 'Archives'
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
ab964a2b1f
Skip corrupt files when importing a legacy cache
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
f079c415f5
Add initial support for archiving legacy caches
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
ebfe01e4c4
Make executeOnce public
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
2eaba6a680
Fix cache size calculation
...
It didn't take the 2 byte version trailer into account previously.
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
39d2ad7ee3
Fix ByteBuf leak
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
8448f74b3c
Add ChecksumTable and VersionList classes
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
007f7d68ef
Add legacy cache support to DiskStoreZipWriter
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
cad6e10eee
Update dependencies
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
ab2c56f0af
Set HttpClient timeouts
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
be1f293b0a
Use multi-line comment
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
ac9dc83031
Rename legacyData to legacy and make it public
...
This will be useful for determining if a cache is 3xx or JS5 when
importing it in the archiving service.
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
64aa0049ef
Update Gradle
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
a12aafe608
Update dependencies
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
046ccbc2c9
Optimize the master_index_stats view
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago
Graham
26c6ad21e3
Add class for reading and writing .jag archives
...
Signed-off-by: Graham <gpe@openrs2.org>
3 years ago