From b1199e97f82376458e3693097a85a779ffe62175 Mon Sep 17 00:00:00 2001 From: Michael Peter Christen Date: Mon, 5 Dec 2022 14:26:17 +0100 Subject: [PATCH] enabling new update location release.yacy.net with new version numbers --- defaults/yacy.network.allip.unit | 3 +- defaults/yacy.network.freeworld.unit | 3 +- defaults/yacy.network.intranet.unit | 3 +- defaults/yacy.network.webportal.unit | 3 +- source/net/yacy/htroot/ConfigUpdate_p.java | 1 - .../net/yacy/peers/operation/yacyRelease.java | 60 +++++++++---------- .../peers/operation/yacyUpdateLocation.java | 15 +++-- .../net/yacy/peers/operation/yacyVersion.java | 12 +++- 8 files changed, 52 insertions(+), 48 deletions(-) diff --git a/defaults/yacy.network.allip.unit b/defaults/yacy.network.allip.unit index 38b42ce56..8dafca2eb 100644 --- a/defaults/yacy.network.allip.unit +++ b/defaults/yacy.network.allip.unit @@ -14,8 +14,7 @@ network.unit.remotecrawl.speed = 600 # the auto-updater can access network-specific update locations network.unit.update.location0 = https://download.yacy.net/ network.unit.update.location0.key = MIIBtzCCASwGByqGSM44BAEwggEfAoGBAP1/U4EddRIpUt9KnC7s5Of2EbdSPO9EAMMeP4C2USZpRV1AIlH7WT2NWPq/xfW6MPbLm1Vs14E7gB00b/JmYLdrmVClpJ+f6AR7ECLCT7up1/63xhv4O1fnxqimFQ8E+4P208UewwI1VBNaFpEy9nXzrith1yrv8iIDGZ3RSAHHAhUAl2BQjxUjC8yykrmCouuEC/BYHPUCgYEA9+GghdabPd7LvKtcNrhXuXmUr7v6OuqC+VdMCz0HgmdRWVeOutRZT+ZxBxCBgLRJFnEj6EwoFhO3zwkyjMim4TwWeotUfI0o4KOuHiuzpnWRbqN/C/ohNWLx+2J6ASQ7zKTxvqhRkImog9/hWuWfBpKLZl6Ae1UlZAFMO/7PSSoDgYQAAoGAbGeo21lW3Ost86RxSrCLIHaYaaj/68jFrTMjAORGJqUTgnvYCd4T1HmD/pCYrW8sQtN4KFPbm8M/MbDWeojQpy+qVqewBilYIdNpArGknvFkw4jpDPu7aR6FRz56zcZTnBiOpqAbBXDB3o6D1w9zVDPd4LBSTLgedt0joZeVAVk= -network.unit.update.location1 = http://kaskelix.de/update/ -network.unit.update.location1.key = MIIBtzCCASwGByqGSM44BAEwggEfAoGBAP1/U4EddRIpUt9KnC7s5Of2EbdSPO9EAMMeP4C2USZpRV1AIlH7WT2NWPq/xfW6MPbLm1Vs14E7gB00b/JmYLdrmVClpJ+f6AR7ECLCT7up1/63xhv4O1fnxqimFQ8E+4P208UewwI1VBNaFpEy9nXzrith1yrv8iIDGZ3RSAHHAhUAl2BQjxUjC8yykrmCouuEC/BYHPUCgYEA9+GghdabPd7LvKtcNrhXuXmUr7v6OuqC+VdMCz0HgmdRWVeOutRZT+ZxBxCBgLRJFnEj6EwoFhO3zwkyjMim4TwWeotUfI0o4KOuHiuzpnWRbqN/C/ohNWLx+2J6ASQ7zKTxvqhRkImog9/hWuWfBpKLZl6Ae1UlZAFMO/7PSSoDgYQAAoGAbGeo21lW3Ost86RxSrCLIHaYaaj/68jFrTMjAORGJqUTgnvYCd4T1HmD/pCYrW8sQtN4KFPbm8M/MbDWeojQpy+qVqewBilYIdNpArGknvFkw4jpDPu7aR6FRz56zcZTnBiOpqAbBXDB3o6D1w9zVDPd4LBSTLgedt0joZeVAVk= +network.unit.update.location1 = https://release.yacy.net/ # properties for in-protocol response authentication: network.unit.protocol.control = uncontrolled diff --git a/defaults/yacy.network.freeworld.unit b/defaults/yacy.network.freeworld.unit index a7b56c9dc..596153368 100644 --- a/defaults/yacy.network.freeworld.unit +++ b/defaults/yacy.network.freeworld.unit @@ -72,8 +72,7 @@ network.unit.bootstrap.seedlist11 = https://s1002.xpcom-online.de/yacy/seed2.txt # the auto-updater can access network-specific update locations network.unit.update.location0 = https://download.yacy.net/ network.unit.update.location0.key = MIIBtzCCASwGByqGSM44BAEwggEfAoGBAP1/U4EddRIpUt9KnC7s5Of2EbdSPO9EAMMeP4C2USZpRV1AIlH7WT2NWPq/xfW6MPbLm1Vs14E7gB00b/JmYLdrmVClpJ+f6AR7ECLCT7up1/63xhv4O1fnxqimFQ8E+4P208UewwI1VBNaFpEy9nXzrith1yrv8iIDGZ3RSAHHAhUAl2BQjxUjC8yykrmCouuEC/BYHPUCgYEA9+GghdabPd7LvKtcNrhXuXmUr7v6OuqC+VdMCz0HgmdRWVeOutRZT+ZxBxCBgLRJFnEj6EwoFhO3zwkyjMim4TwWeotUfI0o4KOuHiuzpnWRbqN/C/ohNWLx+2J6ASQ7zKTxvqhRkImog9/hWuWfBpKLZl6Ae1UlZAFMO/7PSSoDgYQAAoGAbGeo21lW3Ost86RxSrCLIHaYaaj/68jFrTMjAORGJqUTgnvYCd4T1HmD/pCYrW8sQtN4KFPbm8M/MbDWeojQpy+qVqewBilYIdNpArGknvFkw4jpDPu7aR6FRz56zcZTnBiOpqAbBXDB3o6D1w9zVDPd4LBSTLgedt0joZeVAVk= -network.unit.update.location1 = http://kaskelix.de/update/ -network.unit.update.location1.key = MIIBtzCCASwGByqGSM44BAEwggEfAoGBAP1/U4EddRIpUt9KnC7s5Of2EbdSPO9EAMMeP4C2USZpRV1AIlH7WT2NWPq/xfW6MPbLm1Vs14E7gB00b/JmYLdrmVClpJ+f6AR7ECLCT7up1/63xhv4O1fnxqimFQ8E+4P208UewwI1VBNaFpEy9nXzrith1yrv8iIDGZ3RSAHHAhUAl2BQjxUjC8yykrmCouuEC/BYHPUCgYEA9+GghdabPd7LvKtcNrhXuXmUr7v6OuqC+VdMCz0HgmdRWVeOutRZT+ZxBxCBgLRJFnEj6EwoFhO3zwkyjMim4TwWeotUfI0o4KOuHiuzpnWRbqN/C/ohNWLx+2J6ASQ7zKTxvqhRkImog9/hWuWfBpKLZl6Ae1UlZAFMO/7PSSoDgYQAAoGAbGeo21lW3Ost86RxSrCLIHaYaaj/68jFrTMjAORGJqUTgnvYCd4T1HmD/pCYrW8sQtN4KFPbm8M/MbDWeojQpy+qVqewBilYIdNpArGknvFkw4jpDPu7aR6FRz56zcZTnBiOpqAbBXDB3o6D1w9zVDPd4LBSTLgedt0joZeVAVk= +network.unit.update.location1 = https://release.yacy.net/ # add github releases - binary distribution archives must be attache (uploaded) to the git release # network.unit.update.location2 = https://github.com/yacy/yacy_search_server/releases diff --git a/defaults/yacy.network.intranet.unit b/defaults/yacy.network.intranet.unit index b2793dc6b..0aeee2439 100644 --- a/defaults/yacy.network.intranet.unit +++ b/defaults/yacy.network.intranet.unit @@ -21,8 +21,7 @@ network.unit.remotecrawl.speed = 600 # the auto-updater can access network-specific update locations network.unit.update.location0 = https://download.yacy.net/ network.unit.update.location0.key = MIIBtzCCASwGByqGSM44BAEwggEfAoGBAP1/U4EddRIpUt9KnC7s5Of2EbdSPO9EAMMeP4C2USZpRV1AIlH7WT2NWPq/xfW6MPbLm1Vs14E7gB00b/JmYLdrmVClpJ+f6AR7ECLCT7up1/63xhv4O1fnxqimFQ8E+4P208UewwI1VBNaFpEy9nXzrith1yrv8iIDGZ3RSAHHAhUAl2BQjxUjC8yykrmCouuEC/BYHPUCgYEA9+GghdabPd7LvKtcNrhXuXmUr7v6OuqC+VdMCz0HgmdRWVeOutRZT+ZxBxCBgLRJFnEj6EwoFhO3zwkyjMim4TwWeotUfI0o4KOuHiuzpnWRbqN/C/ohNWLx+2J6ASQ7zKTxvqhRkImog9/hWuWfBpKLZl6Ae1UlZAFMO/7PSSoDgYQAAoGAbGeo21lW3Ost86RxSrCLIHaYaaj/68jFrTMjAORGJqUTgnvYCd4T1HmD/pCYrW8sQtN4KFPbm8M/MbDWeojQpy+qVqewBilYIdNpArGknvFkw4jpDPu7aR6FRz56zcZTnBiOpqAbBXDB3o6D1w9zVDPd4LBSTLgedt0joZeVAVk= -network.unit.update.location1 = http://kaskelix.de/update/ -network.unit.update.location1.key = MIIBtzCCASwGByqGSM44BAEwggEfAoGBAP1/U4EddRIpUt9KnC7s5Of2EbdSPO9EAMMeP4C2USZpRV1AIlH7WT2NWPq/xfW6MPbLm1Vs14E7gB00b/JmYLdrmVClpJ+f6AR7ECLCT7up1/63xhv4O1fnxqimFQ8E+4P208UewwI1VBNaFpEy9nXzrith1yrv8iIDGZ3RSAHHAhUAl2BQjxUjC8yykrmCouuEC/BYHPUCgYEA9+GghdabPd7LvKtcNrhXuXmUr7v6OuqC+VdMCz0HgmdRWVeOutRZT+ZxBxCBgLRJFnEj6EwoFhO3zwkyjMim4TwWeotUfI0o4KOuHiuzpnWRbqN/C/ohNWLx+2J6ASQ7zKTxvqhRkImog9/hWuWfBpKLZl6Ae1UlZAFMO/7PSSoDgYQAAoGAbGeo21lW3Ost86RxSrCLIHaYaaj/68jFrTMjAORGJqUTgnvYCd4T1HmD/pCYrW8sQtN4KFPbm8M/MbDWeojQpy+qVqewBilYIdNpArGknvFkw4jpDPu7aR6FRz56zcZTnBiOpqAbBXDB3o6D1w9zVDPd4LBSTLgedt0joZeVAVk= +network.unit.update.location1 = https://release.yacy.net/ # properties for in-protocol response authentication: network.unit.protocol.control = uncontrolled diff --git a/defaults/yacy.network.webportal.unit b/defaults/yacy.network.webportal.unit index 0ea39f982..45cf12ad9 100644 --- a/defaults/yacy.network.webportal.unit +++ b/defaults/yacy.network.webportal.unit @@ -18,8 +18,7 @@ network.unit.remotecrawl.speed = 1 # the auto-updater can access network-specific update locations network.unit.update.location0 = https://download.yacy.net/ network.unit.update.location0.key = MIIBtzCCASwGByqGSM44BAEwggEfAoGBAP1/U4EddRIpUt9KnC7s5Of2EbdSPO9EAMMeP4C2USZpRV1AIlH7WT2NWPq/xfW6MPbLm1Vs14E7gB00b/JmYLdrmVClpJ+f6AR7ECLCT7up1/63xhv4O1fnxqimFQ8E+4P208UewwI1VBNaFpEy9nXzrith1yrv8iIDGZ3RSAHHAhUAl2BQjxUjC8yykrmCouuEC/BYHPUCgYEA9+GghdabPd7LvKtcNrhXuXmUr7v6OuqC+VdMCz0HgmdRWVeOutRZT+ZxBxCBgLRJFnEj6EwoFhO3zwkyjMim4TwWeotUfI0o4KOuHiuzpnWRbqN/C/ohNWLx+2J6ASQ7zKTxvqhRkImog9/hWuWfBpKLZl6Ae1UlZAFMO/7PSSoDgYQAAoGAbGeo21lW3Ost86RxSrCLIHaYaaj/68jFrTMjAORGJqUTgnvYCd4T1HmD/pCYrW8sQtN4KFPbm8M/MbDWeojQpy+qVqewBilYIdNpArGknvFkw4jpDPu7aR6FRz56zcZTnBiOpqAbBXDB3o6D1w9zVDPd4LBSTLgedt0joZeVAVk= -network.unit.update.location1 = http://kaskelix.de/update/ -network.unit.update.location1.key = MIIBtzCCASwGByqGSM44BAEwggEfAoGBAP1/U4EddRIpUt9KnC7s5Of2EbdSPO9EAMMeP4C2USZpRV1AIlH7WT2NWPq/xfW6MPbLm1Vs14E7gB00b/JmYLdrmVClpJ+f6AR7ECLCT7up1/63xhv4O1fnxqimFQ8E+4P208UewwI1VBNaFpEy9nXzrith1yrv8iIDGZ3RSAHHAhUAl2BQjxUjC8yykrmCouuEC/BYHPUCgYEA9+GghdabPd7LvKtcNrhXuXmUr7v6OuqC+VdMCz0HgmdRWVeOutRZT+ZxBxCBgLRJFnEj6EwoFhO3zwkyjMim4TwWeotUfI0o4KOuHiuzpnWRbqN/C/ohNWLx+2J6ASQ7zKTxvqhRkImog9/hWuWfBpKLZl6Ae1UlZAFMO/7PSSoDgYQAAoGAbGeo21lW3Ost86RxSrCLIHaYaaj/68jFrTMjAORGJqUTgnvYCd4T1HmD/pCYrW8sQtN4KFPbm8M/MbDWeojQpy+qVqewBilYIdNpArGknvFkw4jpDPu7aR6FRz56zcZTnBiOpqAbBXDB3o6D1w9zVDPd4LBSTLgedt0joZeVAVk= +network.unit.update.location1 = https://release.yacy.net/ # properties for in-protocol response authentication: network.unit.protocol.control = uncontrolled diff --git a/source/net/yacy/htroot/ConfigUpdate_p.java b/source/net/yacy/htroot/ConfigUpdate_p.java index 867432f18..91adf5d0b 100644 --- a/source/net/yacy/htroot/ConfigUpdate_p.java +++ b/source/net/yacy/htroot/ConfigUpdate_p.java @@ -66,7 +66,6 @@ public class ConfigUpdate_p { prop.put("candeploy", "0"); } - prop.put("candeploy_configCommit", "0"); prop.put("candeploy_autoUpdate", "0"); prop.put("candeploy_downloadsAvailable", "0"); diff --git a/source/net/yacy/peers/operation/yacyRelease.java b/source/net/yacy/peers/operation/yacyRelease.java index 78ad4ce3e..93d5d8887 100644 --- a/source/net/yacy/peers/operation/yacyRelease.java +++ b/source/net/yacy/peers/operation/yacyRelease.java @@ -233,8 +233,8 @@ public final class yacyRelease extends yacyVersion { Thread.currentThread().setName("allReleaseFrom - host " + uri.getHost()); // makes it more easy to see which release blocks process in thread dump scraper = Switchboard.getSwitchboard().loader.loadDocument(uri, CacheStrategy.NOCACHE, null, ClientIdentification.yacyInternetCrawlerAgent); } catch (final IOException e) { - /* Restore the thread initial name */ - Thread.currentThread().setName(initialThreadName); + /* Restore the thread initial name */ + Thread.currentThread().setName(initialThreadName); return null; } @@ -260,8 +260,8 @@ public final class yacyRelease extends yacyVersion { } Switchboard.getSwitchboard().setConfig("update.time.lookup", System.currentTimeMillis()); - /* Restore the thread initial name */ - Thread.currentThread().setName(initialThreadName); + /* Restore the thread initial name */ + Thread.currentThread().setName(initialThreadName); return new DevAndMainVersions(devReleases, mainReleases); } @@ -290,30 +290,26 @@ public final class yacyRelease extends yacyVersion { // download signature first, if public key is available try { if (this.publicKey != null) { - final Request request = Switchboard.getSwitchboard().loader - .request(new DigestURL(getUrl().toString() + ".sig"), true, false); - final Response response = Switchboard.getSwitchboard().loader.load(request, CacheStrategy.NOCACHE, - Integer.MAX_VALUE, null, ClientIdentification.yacyInternetCrawlerAgent); - byte[] signatureData = null; - if(response != null && response.validResponseStatus()) { - signatureData = response.getContent(); - } + final Request request = Switchboard.getSwitchboard().loader.request(new DigestURL(getUrl().toString() + ".sig"), true, false); + final Response response = Switchboard.getSwitchboard().loader.load(request, CacheStrategy.NOCACHE, Integer.MAX_VALUE, null, ClientIdentification.yacyInternetCrawlerAgent); + byte[] signatureData = null; + if (response != null && response.validResponseStatus()) { + signatureData = response.getContent(); + } if (signatureData == null) { ConcurrentLog.warn("yacyVersion", "download of signature " + getUrl().toString() + " failed. ignoring signature file."); } else signatureBytes = Base64Order.standardCoder.decode(UTF8.String(signatureData).trim()); } - - final Request request = Switchboard.getSwitchboard().loader.request(new DigestURL(getUrl().toString()), - true, false); - final Response response = Switchboard.getSwitchboard().loader.load(request, CacheStrategy.NOCACHE, - Integer.MAX_VALUE, null, ClientIdentification.yacyInternetCrawlerAgent); - if(response == null) { - throw new IOException("Could not get a response"); - } - if(!response.validResponseStatus()) { - /* HTTP status is not OK : let's stop here to avoid creating a invalid download file*/ - throw new IOException("HTTP response status code : " + response.getStatus()); + + final Request request = Switchboard.getSwitchboard().loader.request(new DigestURL(getUrl().toString()), true, false); + final Response response = Switchboard.getSwitchboard().loader.load(request, CacheStrategy.NOCACHE, Integer.MAX_VALUE, null, ClientIdentification.yacyInternetCrawlerAgent); + if (response == null) { + throw new IOException("Could not get a response"); + } + if (!response.validResponseStatus()) { + /* HTTP status is not OK : let's stop here to avoid creating a invalid download file*/ + throw new IOException("HTTP response status code : " + response.getStatus()); } final ResponseHeader header = response.getResponseHeader(); @@ -326,10 +322,10 @@ public final class yacyRelease extends yacyVersion { if (this.publicKey != null && signatureBytes != null) { // copy to file and check signature try ( - /* Resources automatically closed by this try-with-resources statement */ - final FileOutputStream fileOutStream = new FileOutputStream(download); - final SignatureOutputStream verifyOutput = new SignatureOutputStream(fileOutStream, CryptoLib.signAlgorithm, this.publicKey); - final BufferedOutputStream bufferedStream = new BufferedOutputStream(verifyOutput); + /* Resources automatically closed by this try-with-resources statement */ + final FileOutputStream fileOutStream = new FileOutputStream(download); + final SignatureOutputStream verifyOutput = new SignatureOutputStream(fileOutStream, CryptoLib.signAlgorithm, this.publicKey); + final BufferedOutputStream bufferedStream = new BufferedOutputStream(verifyOutput); ) { FileUtils.copy(response.getContent(), bufferedStream); @@ -346,11 +342,11 @@ public final class yacyRelease extends yacyVersion { } else { // just copy into file try ( - /* Resources automatically closed by this try-with-resources statement */ - final FileOutputStream fileOutStream = new FileOutputStream(download); - final BufferedOutputStream downloadOutStream = new BufferedOutputStream(fileOutStream); + /* Resources automatically closed by this try-with-resources statement */ + final FileOutputStream fileOutStream = new FileOutputStream(download); + final BufferedOutputStream downloadOutStream = new BufferedOutputStream(fileOutStream); ) { - FileUtils.copy(response.getContent(), downloadOutStream); + FileUtils.copy(response.getContent(), downloadOutStream); } } if ((!download.exists()) || (download.length() == 0)) throw new IOException("wget of url " + getUrl() + " failed"); @@ -470,7 +466,7 @@ public final class yacyRelease extends yacyVersion { * @return true when release file has been successfully extracted and asynchronous update has been triggered */ public static boolean deployRelease(final File releaseFile) { - boolean restartTriggered = false; + boolean restartTriggered = false; try { final Switchboard sb = Switchboard.getSwitchboard(); ConcurrentLog.info("UPDATE", "INITIATED"); diff --git a/source/net/yacy/peers/operation/yacyUpdateLocation.java b/source/net/yacy/peers/operation/yacyUpdateLocation.java index 4e3cad907..09d75de19 100644 --- a/source/net/yacy/peers/operation/yacyUpdateLocation.java +++ b/source/net/yacy/peers/operation/yacyUpdateLocation.java @@ -37,18 +37,25 @@ import net.yacy.cora.document.id.DigestURL; * */ public class yacyUpdateLocation { + private final DigestURL locationURL; private final PublicKey publicKey; public yacyUpdateLocation(DigestURL locationURL, PublicKey publicKey) { - this.locationURL = locationURL; - this.publicKey = publicKey; + this.locationURL = locationURL; + this.publicKey = publicKey; } public DigestURL getLocationURL() { - return this.locationURL; + return this.locationURL; } + public PublicKey getPublicKey() { - return this.publicKey; + return this.publicKey; } + + public String toString() { + return this.locationURL.toString(); + } + } diff --git a/source/net/yacy/peers/operation/yacyVersion.java b/source/net/yacy/peers/operation/yacyVersion.java index b65bf4f85..edc1f299a 100644 --- a/source/net/yacy/peers/operation/yacyVersion.java +++ b/source/net/yacy/peers/operation/yacyVersion.java @@ -17,6 +17,7 @@ public class yacyVersion implements Comparator, Comparable, Comparable *
  • yacy_dev_v${releaseVersion}_${DSTAMP}_${releaseNr}.tar.gz
  • *
  • yacy_v${releaseVersion}_${DSTAMP}_${releaseNr}.tar.gz
  • + *
  • yacy_v1.926_202212010112_d6731e3e3.tar.gz
  • * * i.e. yacy_v0.51_20070321_3501.tar.gz * @param release @@ -58,17 +60,21 @@ public class yacyVersion implements Comparator, Comparable 2) { try { this.svn = Integer.parseInt(comp[2]); + this.git = ""; } catch (final NumberFormatException e) { - throw new RuntimeException("release file name '" + release + "' is not valid, '" + comp[2] + "' should be a integer number"); + // this is not a number, so it is a new release name using an git version hash + this.svn = 0; + this.git = comp[2]; } } else { this.svn = 0; // we migrate to git + this.git = ""; } // finished! we parsed a relase string }