forked from I2P_Developers/i2p.i2p
* Update:
- Reset found version in update loop so we don't fetch from
the next host too.
- Prevent NPE on version after SSL fetch
- Fix su3 version check
* EepGet:
- Fix non-proxied PartialEepGet
- Prevent non-proxied eepget for an I2P host
- Fail if no hostname in URL
This commit is contained in:
@@ -1104,7 +1104,7 @@ public class ConsoleUpdateManager implements UpdateManager {
|
||||
if (up.verifyAndMigrate(temp)) {
|
||||
String ver = up.getVersionString();
|
||||
int type = up.getContentType();
|
||||
if (ver == null || VersionComparator.comp(RouterVersion.VERSION, ver) <= 0)
|
||||
if (ver == null || VersionComparator.comp(RouterVersion.VERSION, ver) >= 0)
|
||||
err = "Old version " + ver;
|
||||
else if (type != SU3File.CONTENT_ROUTER)
|
||||
err = "Bad su3 content type " + type;
|
||||
|
||||
@@ -150,8 +150,14 @@ class UpdateRunner extends I2PAppThread implements UpdateTask, EepGet.StatusList
|
||||
boolean isSSL = false;
|
||||
if (_method == HTTP) {
|
||||
shouldProxy = _context.getProperty(ConfigUpdateHandler.PROP_SHOULD_PROXY, ConfigUpdateHandler.DEFAULT_SHOULD_PROXY);
|
||||
proxyHost = _context.getProperty(ConfigUpdateHandler.PROP_PROXY_HOST, ConfigUpdateHandler.DEFAULT_PROXY_HOST);
|
||||
proxyPort = ConfigUpdateHandler.proxyPort(_context);
|
||||
if (shouldProxy) {
|
||||
proxyHost = _context.getProperty(ConfigUpdateHandler.PROP_PROXY_HOST, ConfigUpdateHandler.DEFAULT_PROXY_HOST);
|
||||
proxyPort = ConfigUpdateHandler.proxyPort(_context);
|
||||
} else {
|
||||
// TODO, wrong method, fail
|
||||
proxyHost = null;
|
||||
proxyPort = 0;
|
||||
}
|
||||
} else if (_method == HTTP_CLEARNET) {
|
||||
shouldProxy = false;
|
||||
proxyHost = null;
|
||||
@@ -191,7 +197,8 @@ class UpdateRunner extends I2PAppThread implements UpdateTask, EepGet.StatusList
|
||||
_log.debug("Selected update URL: " + updateURL);
|
||||
|
||||
// Check the first 56 bytes for the version
|
||||
// PartialEepGet works with clearnet but not with SSL
|
||||
// FIXME PartialEepGet works with clearnet but not with SSL
|
||||
_newVersion = null;
|
||||
if (!isSSL) {
|
||||
_isPartial = true;
|
||||
_baos.reset();
|
||||
@@ -265,6 +272,9 @@ class UpdateRunner extends I2PAppThread implements UpdateTask, EepGet.StatusList
|
||||
return;
|
||||
}
|
||||
|
||||
// FIXME if we didn't do a partial, we don't know
|
||||
if (_newVersion == null)
|
||||
_newVersion = "unknown";
|
||||
File tmp = new File(_updateFile);
|
||||
if (_mgr.notifyComplete(this, _newVersion, tmp))
|
||||
this.done = true;
|
||||
|
||||
Reference in New Issue
Block a user