diff -up azureus-4.5.0.0/org/gudy/azureus2/update/CoreUpdateChecker.java.no-update-manager-CoreUpdateChecker azureus-4.5.0.0/org/gudy/azureus2/update/CoreUpdateChecker.java
--- azureus-4.5.0.0/org/gudy/azureus2/update/CoreUpdateChecker.java.no-update-manager-CoreUpdateChecker 2010-07-31 01:00:36.000000000 +0300
+++ azureus-4.5.0.0/org/gudy/azureus2/update/CoreUpdateChecker.java 2010-08-05 20:43:44.000000000 +0300
@@ -132,8 +132,6 @@ CoreUpdateChecker
props.setProperty( "plugin.version", plugin_interface.getAzureusVersion());
rdf = plugin_interface.getUtilities().getResourceDownloaderFactory();
-
- plugin_interface.getUpdateManager().registerUpdatableComponent( this, true );
}
public String
@@ -152,319 +150,11 @@ CoreUpdateChecker
checkForUpdate(
final UpdateChecker checker )
{
- try{
- String current_version = plugin_interface.getAzureusVersion();
-
- log.log( "Update check starts: current = " + current_version );
-
- Map decoded = VersionCheckClient.getSingleton().getVersionCheckInfo(
- first_check?VersionCheckClient.REASON_UPDATE_CHECK_START:VersionCheckClient.REASON_UPDATE_CHECK_PERIODIC);
-
-
- displayUserMessage( decoded );
-
- // No point complaining later if we don't have any data in the map (which is
- // more likely due to network problems rather than the version check server
- // *actually* returning a map with nothing in it.
- if (decoded.isEmpty()) {return;}
-
- String latest_version;
- String latest_file_name;
-
- byte[] b_version = (byte[])decoded.get("version");
-
- if ( b_version != null ){
-
- latest_version = new String( b_version );
-
- plugin_interface.getPluginProperties().setProperty( LATEST_VERSION_PROPERTY, latest_version );
-
- }else{
-
- throw( new Exception( "No version found in reply" ));
- }
-
- byte[] b_filename = (byte[]) decoded.get("filename");
-
- if ( b_filename != null ){
-
- latest_file_name = new String( b_filename );
-
- }else{
-
- throw( new Exception( "No update file details in reply" ));
- }
-
- //latest_version = "3.0.0.3";
- //latest_file_name = "http://torrent.vuze.com:88/torrents/Azureus2.5.0.0.jar.torrent";
- //latest_file_name = "Azureus2.5.0.0.jar.torrent";
-
- String msg = "Core: latest_version = '" + latest_version + "', file = '" + latest_file_name + "'";
-
- URL full_download_url;
-
- // since 2501 we support a full download URL, falling back to SF mirrors if this
- // fails.
-
- if ( latest_file_name.startsWith( "http" )){
-
- try{
- full_download_url = new URL( latest_file_name );
-
- }catch( Throwable e ){
-
- full_download_url = null;
-
- log.log( e );
- }
-
- int pos = latest_file_name.lastIndexOf( '/' );
-
- latest_file_name = latest_file_name.substring( pos+1 );
-
- }else{
-
- full_download_url = null;
- }
-
- checker.reportProgress( msg );
-
- log.log( msg );
-
- if ( !shouldUpdate( current_version, latest_version )){
-
- return;
- }
-
- final String f_latest_version = latest_version;
- final String f_latest_file_name = latest_file_name;
-
- ResourceDownloader top_downloader;
-
- if ( full_download_url == null ){
-
- ResourceDownloader[] primary_mirrors;
-
- primary_mirrors = getPrimaryDownloaders( latest_file_name );
- // the download hierarchy is primary mirrors first (randomised alternate)
- // then backup mirrors (randomised alternate)
-
- // we don't want to load the backup mirrors until the primary mirrors fail
-
- ResourceDownloader random_primary_mirrors = rdf.getRandomDownloader( primary_mirrors );
-
- ResourceDownloader backup_downloader =
- rdf.create(
- new ResourceDownloaderDelayedFactory()
- {
- public ResourceDownloader
- create()
- {
- ResourceDownloader[] backup_mirrors = getBackupDownloaders( f_latest_file_name );
-
- return( rdf.getRandomDownloader( backup_mirrors ));
- }
- });
-
- top_downloader =
- rdf.getAlternateDownloader(
- new ResourceDownloader[]
- {
- random_primary_mirrors,
- backup_downloader,
- });
-
- }else{
-
- ResourceDownloader full_rd = rdf.create( full_download_url );
-
- full_rd = rdf.getSuffixBasedDownloader( full_rd );
-
- ResourceDownloader primary_downloader =
- rdf.create(
- new ResourceDownloaderDelayedFactory()
- {
- public ResourceDownloader
- create()
- {
- ResourceDownloader[] primary_mirrors = getPrimaryDownloaders( f_latest_file_name );
-
- return( rdf.getRandomDownloader( primary_mirrors ));
- }
- });
-
- ResourceDownloader backup_downloader =
- rdf.create(
- new ResourceDownloaderDelayedFactory()
- {
- public ResourceDownloader
- create()
- {
- ResourceDownloader[] backup_mirrors = getBackupDownloaders( f_latest_file_name );
-
- return( rdf.getRandomDownloader( backup_mirrors ));
- }
- });
-
-
- top_downloader =
- rdf.getAlternateDownloader(
- new ResourceDownloader[]
- {
- full_rd,
- primary_downloader,
- backup_downloader,
- });
- }
-
- top_downloader.addListener( rd_logger );
-
- // get size so it is cached
-
- top_downloader.getSize();
-
-
- byte[] info_b = (byte[])decoded.get( "info" );
-
- String info = null;
-
- if ( info_b != null ){
-
- try{
- info = new String( info_b, "UTF-8" );
-
- }catch( Throwable e ){
-
- Debug.printStackTrace( e );
- }
- }
-
- byte[] info_url_bytes = (byte[])decoded.get("info_url");
-
- String info_url = null;
-
- if ( info_url_bytes != null ){
-
- try{
- info_url = new String( info_url_bytes );
-
- }catch( Exception e ){
-
- Debug.out(e);
- }
- }
-
- if ( info != null || info_url != null ){
-
- String check;
-
- if ( info == null ){
-
- check = info_url;
-
- }else if ( info_url == null ){
-
- check = info;
-
- }else{
-
- check = info + "|" + info_url;
- }
-
- byte[] sig = (byte[])decoded.get( "info_sig" );
-
- boolean ok = false;
-
- if ( sig == null ){
-
- Logger.log( new LogEvent( LogIDs.LOGGER, "info signature check failed - missing signature" ));
-
- }else{
-
- try{
- AEVerifier.verifyData( check, sig );
-
- ok = true;
-
- }catch( Throwable e ){
-
- Logger.log( new LogEvent( LogIDs.LOGGER, "info signature check failed", e ));
- }
- }
-
- if ( !ok ){
-
- info = null;
- info_url = null;
- }
- }
-
- String[] desc;
-
- if ( info == null ){
-
- desc = new String[]{"Core Azureus Version" };
-
- }else{
-
- desc = new String[]{"Core Azureus Version", info };
- }
-
-
-
- final Update update =
- checker.addUpdate(
- "Core Azureus Version",
- desc,
- latest_version,
- top_downloader,
- Update.RESTART_REQUIRED_YES );
-
- if ( info_url != null ){
-
- update.setDescriptionURL(info_url);
- }
-
- top_downloader.addListener(
- new ResourceDownloaderAdapter()
- {
- public boolean
- completed(
- final ResourceDownloader downloader,
- InputStream data )
- {
- installUpdate( checker, update, downloader, f_latest_file_name, f_latest_version, data );
-
- return( true );
- }
-
- public void
- failed(
- ResourceDownloader downloader,
- ResourceDownloaderException e )
- {
- Debug.out( downloader.getName() + " failed", e );
-
- update.complete( false );
- }
- });
- }catch( Throwable e ){
-
- log.log( e );
-
- Debug.printStackTrace( e );
-
- checker.reportProgress( "Failed to check for core update: " + Debug.getNestedExceptionMessage(e));
-
- checker.failed();
-
- }finally{
checker.completed();
first_check = false;
- }
}