Commit Graph

798 Commits

Author SHA1 Message Date
Michael Bayne 41c59d7e1b Upgrade signing algorithm & digest algo.
Since we're upping the protocol version, we can do all this too at the
same time. So v2 digest will use SHA256, sign using SHA256withRSA and
will include the contents of META-INF in the digests. Upgrades++!

This also includes the code from pull request #73 to allow a .crt file
to be included with the app to allow for signature verification of
standalone apps (we already did this for applets via the applet
parameters).
2016-11-04 19:38:39 -07:00
Michael Bayne d75d5a7a69 Create a separate digest.txt file for each "protocol version".
Right now there's only two versions of the digester protocol, so I just
always generate both of them. If we evolve the protocol further, we
could conceivably allow you to specify a "minimum" protocol version,
once you were confident that all of your clients had upgraded to a
version of Getdown that used that minimum version.
2016-11-04 18:51:17 -07:00
Michael Bayne 7c651fbd73 Tidy up new resources stuff a bit.
The one major change here is that Getdown.isUpdateAvailable/install()
are no longer static.

GetdownApp has a start() method that you can call if you want to get the
Getdown reference back. You can call isUpdateAvailable() on that. It was
super weird that you would call GetdownApp.main() and then just call
some static methods after that.
2016-11-04 17:45:51 -07:00
Michael Bayne 345f64d62d Merge pull request #60 from runiter/master
Avoid corrupted resources when download is interrupted
2016-11-04 16:54:26 -07:00
Michael Bayne fc9b6d3c89 Include the META-INF files in the digest.
We used to ignore them for some reason but I think that whatever
benefits that yielded have long been overshadowed by detriments.
2016-11-04 16:41:37 -07:00
Saeid Nourian 51a34e4ccc Merge branch 'master' of https://github.com/threerings/getdown.git 2016-10-11 15:59:14 -04:00
Saeid Nourian d7ec0f05e9 Allow checking to see if update is downloaded and ready for install 2016-10-11 15:47:23 -04:00
Michael Bayne ba5b31300e Demote verbose logging to debug. 2016-09-25 10:47:08 -07:00
Michael Bayne 10c43a6252 Format tweaks. 2016-09-25 10:47:08 -07:00
Michael Bayne ea316ef29f Merge pull request #71 from thokuest/fix_messages_typo
fixed typos and german translations
2016-09-25 10:46:50 -07:00
Michael Bayne 51dd1bf30e Merge pull request #70 from thokuest/use_junit_assert
Use JUnit Assert instead of the Java keyword
2016-09-25 10:44:24 -07:00
Michael Bayne 49a7e28216 Undid style changes, reduced OO boilerplate. 2016-09-25 10:42:48 -07:00
Michael Bayne 0388c590cb Merge pull request #69 from thokuest/launch_from_cache
A code cache to support multiple app instances
2016-09-25 09:30:26 -07:00
Thomas Küstermann 7f7ac709a6 fixed a bunch of typos and german translations 2016-09-20 15:04:26 +02:00
Thomas Küstermann fda9e2b1e9 Use JUnit assert instead of the java keyword 2016-09-20 14:40:44 +02:00
Thomas Küstermann 33dafbaa4a completely get rid of the "sleep" 2016-09-20 14:31:22 +02:00
Thomas Küstermann 310be0e326 further increased the time to wait before proceeding with the test 2016-09-20 14:20:07 +02:00
Thomas Küstermann 5690570f93 increase the "sleep time" 2016-09-20 13:50:52 +02:00
Thomas Küstermann 0a34632c0a Issue #64 introduced a code cache to support multiple app instances
Whenever 'use_code_cache' is set to 'true' the application's code
resources are copied to a cache directory prior to launching the
application. This is done in order to support multiple open application
instances of different versions.
2016-09-20 13:22:19 +02:00
Michael Bayne e1c59ab6d0 Nix unused import. 2016-09-11 13:14:34 -07:00
Michael Bayne c914823d21 Merge pull request #65 from thokuest/target_java6
Change build source and target to Java 6
2016-09-11 12:42:56 -07:00
Michael Bayne 4fe57ead00 Fix license confusion.
We relicensed as New BSD a long time ago, so the POM should reflect
that.

Also fixed the authors referenced in the LICENSE file.

Closes #66
2016-09-11 12:40:14 -07:00
Thomas Küstermann 282aac0a6f Added "Trusted-Library" manifest attribute
The "Trusted-Library" manifest attribute is required for Applets and
Java Web Start. Otherwise classes from the Getdown package might be
silently ignored (ClassNotFoundException).
2016-09-09 17:53:53 +02:00
Thomas Küstermann 4fad760399 Compiler to use Java 6 as source and target
As the sources cannot be compiled with Java 5 the compliance level has
been changed to Java 6.
2016-09-09 12:29:11 +02:00
mjothy 74442ec5c6 iml dans gitignore 2016-08-10 11:22:45 +02:00
Michael Bayne caa8a5ca16 Formatting tweaks. 2016-06-20 07:43:14 -07:00
Michael Bayne e4ded05da3 Merge pull request #59 from Cosium/fix-57
Let the user close the getdown window on error, even when hideDecorations is set to true
2016-06-20 07:42:16 -07:00
Saeid Nourian 176cb8ca99 Avoid corrupted resources when download is interrupted
1) Download resources first into a temporary file
2) Perform verification and digest comparison with the downloaded
temporary file instead of the original if temporary file exist
3) Only when verification completes successfully rename all the
temporary files to override the original. This step can be done
automatically or manually by calling GetDown.install() which is useful
for those who want to download in background and install upon program
exit.
2016-06-17 11:03:56 -04:00
Réda Housni Alaoui 8175064600 #57 Let the user close the getdown window on error, even when hideDecorations is set to true 2016-06-09 00:51:05 +02:00
Michael Bayne 3a4b4ae539 Merge pull request #56 from DevFactory/bugfix-caused-by-pr-51
Fixing bug cause by PR#51
2016-05-17 19:08:22 -07:00
Faisal Hameed 8876725b1a Fixing bug cause by PR#51 2016-05-18 06:17:25 +05:00
Michael Bayne a5527c3af9 Link to OOO wikipedia page.
Instead of defunct threerings.net.
2016-05-15 13:03:12 -07:00
Michael Bayne 51ac46797b Updated source headers.
Also shifted copyright to AUTHORS because OOO is a legal entity no more.
2016-05-15 13:01:19 -07:00
Michael Bayne 0a217cada6 MetaProgressObserver -> ProgressAggregator.
This changes the way progress is aggregated so that we can do the various
progress accumulating steps in parallel if we like.
2016-05-15 13:01:19 -07:00
Michael Bayne 949eb8d718 Some renaming and clarification. 2016-05-15 13:01:19 -07:00
Michael Bayne 04309d3bdb Minor tweaks. 2016-04-20 07:30:25 -07:00
Michael Bayne 5dc0cc0c12 Merge pull request #51 from DevFactory/release/collapsable-if-statements-should-be-merged-fix-1
Code quality fix - Collapsible "if" statements should be merged.
2016-04-20 07:07:34 -07:00
Faisal Hameed ef9358023f Fixing squid:S1066 - Collapsible "if" statements should be merged. 2016-04-19 18:27:48 +05:00
Michael Bayne 42eac2d71d Support %ENV.NAME% substitutions.
These can appear anywhere %APPDIR% and %VERSION% substitutions occur (pretty
much everywhere in getdown.txt).

In this case the NAME is the name of an environment variable, and the value of
the environment variable is substituted into the text.
2016-02-10 12:27:00 -08:00
Michael Bayne 4fd707d54d Added support for "class = manifest".
This causes Getdown to run your app using java -jar code.jar instead of java
-classpath code.jar classname. See wiki docs for more info.
2016-02-10 12:02:23 -08:00
Michael Bayne 78f71839be Comment & whitespace tweaks. 2016-01-12 14:12:50 -08:00
Michael Bayne b8bffc2b9c Merge pull request #34 from noblemaster/master
Bugfix: for apps using -direct mode
2016-01-12 14:11:30 -08:00
Christoph Aschwanden df5e2e72d2 Bugfixes: will (a) prevent an app from closing in direct-mode & (b) force close the download window (doesn't go away if there is nothing to download). 2016-01-11 00:54:49 +09:00
Michael Bayne 47ee7c99bb Wasn't processing app args in invokeDirect.
Oh how I'd like to clean all that up, but sleeping dogs, etc.
2015-12-18 11:33:03 -08:00
Michael Bayne 6cb400ee2a Report useful bits to launcher.log when invoking direct. 2015-12-18 11:10:50 -08:00
Michael Bayne 408defd0d0 Must set the thread context classloader when invoking direct. 2015-12-18 11:06:30 -08:00
Michael Bayne 5f373cd4db Merge pull request #33 from xylo/master
added support for https proxies
2015-12-16 10:55:00 -08:00
Stefan Endrullis 28cad72291 added support for https proxies 2015-12-16 13:27:55 +01:00
Michael Bayne 256b048fce Support app_id-prefixed jvmarg parameters.
This makes sense given that we already support app_id-prefixed apparg
parameters, and one might want to configure the JVM specially for different
apps from the same installation.

Note: unlike apparg, app_id-prefixed jvmargs are appended to un-prefixed
jvmargs rather than replacing them. I think this makes sense because you
probably want to specify standard JVM args and then maybe tweak a thing or two
for your other app. This is also backward compatible which is usually a good
thing. It does mean that it's harder to "undo" a jvmarg set for your "default"
app, in such cases you'd probably have to not have a default app and instead
identify all of your apps with app_ids.
2015-11-29 16:58:14 -08:00
Michael Bayne 197d3e6620 Factor out addAll(String[], List<String>). 2015-11-29 16:57:35 -08:00