Index: C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/handshaking/DefaultHeaders.java
===================================================================
--- C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/handshaking/DefaultHeaders.java	(revision 20213)
+++ C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/handshaking/DefaultHeaders.java	(working copy)
@@ -6,7 +6,7 @@
 import com.limegroup.gnutella.RouterService;
 import com.limegroup.gnutella.settings.ApplicationSettings;
 import com.limegroup.gnutella.settings.ConnectionSettings;
-import com.limegroup.gnutella.updates.UpdateManager;
+//import com.limegroup.gnutella.updates.UpdateManager;
 import com.limegroup.gnutella.util.CommonUtils;
 import com.limegroup.gnutella.util.NetworkUtils;
 
@@ -69,11 +69,13 @@
         
         props.put(HeaderNames.X_PONG_CACHING, "0.1");
         
+/*
         UpdateManager updateManager = UpdateManager.instance();
         String latestVersion = updateManager.getVersion();
         // only send if we had a valid file on disk & its not @version@.
         if(updateManager.isValid() && !latestVersion.equals("@version@"))
             props.put(HeaderNames.X_VERSION, latestVersion);
+*/
     }
     
 }
Index: C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/Connection.java
===================================================================
--- C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/Connection.java	(revision 20213)
+++ C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/Connection.java	(working copy)
@@ -1496,12 +1496,14 @@
     /**
      * Gets the remote host's 'update' version.
      */
+/*
     public int getRemoteHostUpdateVersion() {
         if(_capabilities != null)
             return _capabilities.supportsUpdate();
         else
             return -1;
     }
+*/
 
     /**
      * Returns whether or not this connection represents a local address.
Index: C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/RouterService.java
===================================================================
--- C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/RouterService.java	(revision 20213)
+++ C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/RouterService.java	(working copy)
@@ -18,13 +18,13 @@
 
 import com.limegroup.gnutella.altlocs.AltLocManager;
 import com.limegroup.gnutella.bootstrap.BootstrapServerManager;
-import com.limegroup.gnutella.browser.HTTPAcceptor;
-import com.limegroup.gnutella.browser.MagnetOptions;
-import com.limegroup.gnutella.chat.ChatManager;
-import com.limegroup.gnutella.chat.Chatter;
+//import com.limegroup.gnutella.browser.HTTPAcceptor;
+//import com.limegroup.gnutella.browser.MagnetOptions;
+//import com.limegroup.gnutella.chat.ChatManager;
+//import com.limegroup.gnutella.chat.Chatter;
 import com.limegroup.gnutella.downloader.CantResumeException;
 import com.limegroup.gnutella.downloader.HTTPDownloader;
-import com.limegroup.gnutella.downloader.IncompleteFileManager;
+//import com.limegroup.gnutella.downloader.IncompleteFileManager;
 import com.limegroup.gnutella.filters.IPFilter;
 import com.limegroup.gnutella.filters.MutableGUIDFilter;
 import com.limegroup.gnutella.filters.SpamFilter;
@@ -39,21 +39,21 @@
 import com.limegroup.gnutella.settings.FilterSettings;
 import com.limegroup.gnutella.settings.SearchSettings;
 import com.limegroup.gnutella.settings.SettingsHandler;
-import com.limegroup.gnutella.settings.SharingSettings;
+//import com.limegroup.gnutella.settings.SharingSettings;
 import com.limegroup.gnutella.settings.SimppSettingsManager;
 import com.limegroup.gnutella.simpp.SimppManager;
 import com.limegroup.gnutella.spam.RatingTable;
 import com.limegroup.gnutella.statistics.OutOfBandThroughputStat;
 import com.limegroup.gnutella.tigertree.TigerTreeCache;
 import com.limegroup.gnutella.udpconnect.UDPMultiplexor;
-import com.limegroup.gnutella.updates.UpdateManager;
+//import com.limegroup.gnutella.updates.UpdateManager;
 import com.limegroup.gnutella.upelection.PromotionManager;
 import com.limegroup.gnutella.uploader.NormalUploadState;
 import com.limegroup.gnutella.util.IpPortSet;
 import com.limegroup.gnutella.util.ManagedThread;
 import com.limegroup.gnutella.util.NetworkUtils;
 import com.limegroup.gnutella.util.SimpleTimer;
-import com.limegroup.gnutella.version.UpdateHandler;
+//import com.limegroup.gnutella.version.UpdateHandler;
 import com.limegroup.gnutella.xml.MetaFileManager;
 
 
@@ -114,7 +114,7 @@
     /**
      * <tt>HTTPAcceptor</tt> instance for accepting magnet requests, etc.
      */
-    private static HTTPAcceptor httpAcceptor;
+//    private static HTTPAcceptor httpAcceptor;
 
 	/**
 	 * Initialize the class that manages all TCP connections.
@@ -387,22 +387,26 @@
             downloader.postGuiInit();
             LOG.trace("STOP DownloadManager.postGuiInit");
             
+/*
             LOG.trace("START UpdateManager.instance");
             callback.componentLoading("UPDATE_MANAGER");
             UpdateManager.instance();
             UpdateHandler.instance();
             LOG.trace("STOP UpdateManager.instance");
+*/
 
             LOG.trace("START QueryUnicaster");
             callback.componentLoading("QUERY_UNICASTER");
     		QueryUnicaster.instance().start();
     		LOG.trace("STOP QueryUnicaster");
     		
+/*
     		LOG.trace("START HTTPAcceptor");
             callback.componentLoading("HTTPACCEPTOR");
             httpAcceptor = new HTTPAcceptor();  
             httpAcceptor.start();
             LOG.trace("STOP HTTPAcceptor");
+*/
             
             LOG.trace("START Pinger");
             callback.componentLoading("PINGER");
@@ -579,9 +583,11 @@
      *
      * @return the <tt>Acceptor</tt> in use
      */
-    public static HTTPAcceptor getHTTPAcceptor() {
+/*
+	public static HTTPAcceptor getHTTPAcceptor() {
         return httpAcceptor;
     }
+*/
 
     /** 
      * Accessor for the <tt>HostCatcher</tt> instance.
@@ -862,7 +868,7 @@
 			
 			RatingTable.instance().ageAndSave();
             
-            cleanupPreviewFiles();
+//            cleanupPreviewFiles();
             
             downloader.writeSnapshot();
             
@@ -893,6 +899,7 @@
     /**
      * Deletes all preview files.
      */
+/*
     private static void cleanupPreviewFiles() {
         //Cleanup any preview files.  Note that these will not be deleted if
         //your previewer is still open.
@@ -911,6 +918,7 @@
                 files[i].delete();  //May or may not work; ignore return code.
         }
     }
+*/
 
     /**
      * Notifies the backend that spam filters settings have changed, and that
@@ -1421,6 +1429,7 @@
 	 * @throws IllegalArgumentException if the magnet is not 
 	 * {@link MagnetOptions#isDownloadable() valid}.
 	 */
+/*
 	public static Downloader download(MagnetOptions magnet, boolean overwrite) 
 		throws SaveLocationException {
 		if (!magnet.isDownloadable()) {
@@ -1428,6 +1437,7 @@
 		}
 		return downloader.download(magnet, overwrite, null, magnet.getDisplayName());
 	}
+*/
 
 	/**
 	 * Creates a downloader for a magnet using the given additional options.
@@ -1445,10 +1455,12 @@
 	 * @throws IllegalArgumentException if the magnet is not
 	 * {@link MagnetOptions#isDownloadable() downloadable}.
 	 */
+/*
 	public static Downloader download(MagnetOptions magnet, boolean overwrite,
 			File saveDir, String fileName) throws SaveLocationException {
 		return downloader.download(magnet, overwrite, saveDir, fileName);
 	}
+*/
 
    /**
      * Starts a resume download for the given incomplete file.
@@ -1464,10 +1476,12 @@
 	/**
 	 * Creates and returns a new chat to the given host and port.
 	 */
-	public static Chatter createChat(String host, int port) {
+/*
+    public static Chatter createChat(String host, int port) {
 		Chatter chatter = ChatManager.instance().request(host, port);
 		return chatter;
 	}
+*/
     
     /**
 	 * Browses the passed host
Index: C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/DownloadManager.java
===================================================================
--- C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/DownloadManager.java	(revision 20213)
+++ C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/DownloadManager.java	(working copy)
@@ -28,14 +28,14 @@
 import org.apache.commons.logging.LogFactory;
 
 import com.bitzi.util.Base32;
-import com.limegroup.gnutella.browser.MagnetOptions;
+//import com.limegroup.gnutella.browser.MagnetOptions;
 import com.limegroup.gnutella.downloader.CantResumeException;
 import com.limegroup.gnutella.downloader.IncompleteFileManager;
-import com.limegroup.gnutella.downloader.MagnetDownloader;
+//import com.limegroup.gnutella.downloader.MagnetDownloader;
 import com.limegroup.gnutella.downloader.ManagedDownloader;
 import com.limegroup.gnutella.downloader.RequeryDownloader;
 import com.limegroup.gnutella.downloader.ResumeDownloader;
-import com.limegroup.gnutella.downloader.InNetworkDownloader;
+//import com.limegroup.gnutella.downloader.InNetworkDownloader;
 import com.limegroup.gnutella.filters.IPFilter;
 import com.limegroup.gnutella.http.HttpClientManager;
 import com.limegroup.gnutella.messages.BadPacketException;
@@ -47,12 +47,12 @@
 import com.limegroup.gnutella.settings.ConnectionSettings;
 import com.limegroup.gnutella.settings.DownloadSettings;
 import com.limegroup.gnutella.settings.SharingSettings;
-import com.limegroup.gnutella.settings.UpdateSettings;
+//import com.limegroup.gnutella.settings.UpdateSettings;
 import com.limegroup.gnutella.statistics.DownloadStat;
 import com.limegroup.gnutella.udpconnect.UDPConnection;
 import com.limegroup.gnutella.util.CommonUtils;
 import com.limegroup.gnutella.util.ConverterObjectInputStream;
-import com.limegroup.gnutella.util.DualIterator;
+//import com.limegroup.gnutella.util.DualIterator;
 import com.limegroup.gnutella.util.FileUtils;
 import com.limegroup.gnutella.util.IOUtils;
 import com.limegroup.gnutella.util.IpPort;
@@ -60,9 +60,9 @@
 import com.limegroup.gnutella.util.NetworkUtils;
 import com.limegroup.gnutella.util.ProcessingQueue;
 import com.limegroup.gnutella.util.URLDecoder;
-import com.limegroup.gnutella.version.DownloadInformation;
-import com.limegroup.gnutella.version.UpdateHandler;
-import com.limegroup.gnutella.version.UpdateInformation;
+//import com.limegroup.gnutella.version.DownloadInformation;
+//import com.limegroup.gnutella.version.UpdateHandler;
+//import com.limegroup.gnutella.version.UpdateInformation;
 
 
 /** 
@@ -93,7 +93,7 @@
     /** The callback for notifying the GUI of major changes. */
     private DownloadCallback callback;
     /** The callback for innetwork downloaders. */
-    private DownloadCallback innetworkCallback;
+//    private DownloadCallback innetworkCallback;
     /** The message router to use for pushes. */
     private MessageRouter router;
     /** Used to check if the file exists. */
@@ -120,7 +120,7 @@
     /** The number if IN-NETWORK active downloaders.  We don't count these when
      * determing how many downloaders are active.
      */
-    private int innetworkCount = 0;
+//    private int innetworkCount = 0;
     
     /**
      * files that we have sent an udp pushes and are waiting a connection from.
@@ -191,7 +191,7 @@
     protected void initialize(DownloadCallback guiCallback, MessageRouter router,
                               FileManager fileManager) {
         this.callback = guiCallback;
-        this.innetworkCallback = new InNetworkCallback();
+//        this.innetworkCallback = new InNetworkCallback();
         this.router = router;
         this.fileManager = fileManager;
         scheduleWaitingPump();
@@ -246,6 +246,7 @@
     /**
      * Determines if an 'In Network' download exists in either active or waiting.
      */
+/*
     public synchronized boolean hasInNetworkDownload() {
         if(innetworkCount > 0)
             return true;
@@ -255,11 +256,13 @@
         }
         return false;
     }
+*/
     
     /**
      * Kills all in-network downloaders that are not present in the list of URNs
      * @param urns a current set of urns that we are downloading in-network.
      */
+/*
     public synchronized void killDownloadersNotListed(Collection updates) {
         if (updates == null)
             return;
@@ -282,6 +285,7 @@
         hopeless.retainAll(urns);
         UpdateSettings.FAILED_UPDATES.setValue(hopeless);
     }
+*/
     
     /**
      * Schedules the runnable that pumps through waiting downloads.
@@ -316,8 +320,10 @@
                 cleanupCompletedDownload(md, false);
             } else if(hasFreeSlot() && (md.hasNewSources() || md.getRemainingStateTime() <= 0)) {
                 i.remove();
+/*
                 if(md instanceof InNetworkDownloader)
                     innetworkCount++;
+*/
                 active.add(md);
                 md.startDownload();
             } else {
@@ -368,7 +374,8 @@
     }
     
     public synchronized int getNumActiveDownloads() {
-        return active.size() - innetworkCount;
+//        return active.size() - innetworkCount;
+        return active.size();
     }
    
     public synchronized int getNumWaitingDownloads() {
@@ -628,6 +635,7 @@
 	 *  null 
      * @throws SaveLocationException 
      */
+/*
     public synchronized Downloader download(MagnetOptions magnet,
 			boolean overwrite,
 			File saveDir,
@@ -662,6 +670,7 @@
         initializeDownload(downloader);
         return downloader;
     }
+*/
 
     /**
      * Starts a resume download for the given incomplete file.
@@ -724,6 +733,7 @@
     /**
      * Downloads an InNetwork update, using the info from the DownloadInformation.
      */
+/*
     public synchronized Downloader download(DownloadInformation info, long now) 
     throws SaveLocationException {
         File dir = FileManager.PREFERENCE_SHARE;
@@ -738,6 +748,7 @@
         initializeDownload(d);
         return d;
     }
+*/
         
     
     /**
@@ -762,7 +773,8 @@
      * Returns the callback that should be used for the given md.
      */
     private DownloadCallback callback(ManagedDownloader md) {
-        return (md instanceof InNetworkDownloader) ? innetworkCallback : callback;
+//        return (md instanceof InNetworkDownloader) ? innetworkCallback : callback;
+        return callback;
     }
         
 	/**
@@ -977,7 +989,8 @@
 
     /** @requires this monitor' held by caller */
     private boolean hasFreeSlot() {
-        return active.size() - innetworkCount < DownloadSettings.MAX_SIM_DOWNLOAD.getValue();
+//        return active.size() - innetworkCount < DownloadSettings.MAX_SIM_DOWNLOAD.getValue();
+        return active.size() < DownloadSettings.MAX_SIM_DOWNLOAD.getValue();
     }
 
     /**
@@ -990,8 +1003,10 @@
     public synchronized void remove(ManagedDownloader downloader, 
                                     boolean completed) {
         active.remove(downloader);
+/*
         if(downloader instanceof InNetworkDownloader)
             innetworkCount--;
+*/
         
         waiting.remove(downloader);
         if(completed)
@@ -1490,8 +1505,10 @@
         boolean c = false;
         for (Iterator iter = activeCopy.iterator(); iter.hasNext(); ) {
             BandwidthTracker bt = (BandwidthTracker)iter.next();
+/*
             if (bt instanceof InNetworkDownloader)
                 continue;
+*/
             
             c = true;
             bt.measureBandwidth();
@@ -1515,8 +1532,10 @@
         float sum=0;
         for (Iterator iter = activeCopy.iterator(); iter.hasNext(); ) {
             BandwidthTracker bt = (BandwidthTracker)iter.next();
+/*
             if (bt instanceof InNetworkDownloader)
                 continue;
+*/
             
             float curr = 0;
             try{
@@ -1551,7 +1570,8 @@
 		for (int i = 0; i < rfds.length && fileName == null; i++) {
 			fileName = rfds[i].getFileName();
 		}
-		return fileName;
+//		return fileName;
+		return CommonUtils.convertFileName(SharingSettings.getSaveDirectory(), fileName);
 	}
     
     /**
@@ -1596,6 +1616,7 @@
     /**
      * Once an in-network download finishes, the UpdateHandler is notified.
      */
+/*
     private static class InNetworkCallback implements DownloadCallback {
         public void addDownload(Downloader d) {}
         public void removeDownload(Downloader d) {
@@ -1613,5 +1634,6 @@
         }
         public String getHostValue(String key) { return null; }
     }
+*/
 	
 }
Index: C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/ActivityCallback.java
===================================================================
--- C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/ActivityCallback.java	(revision 20213)
+++ C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/ActivityCallback.java	(working copy)
@@ -3,10 +3,10 @@
 import java.io.File;
 import java.util.Set;
 
-import com.limegroup.gnutella.browser.MagnetOptions;
-import com.limegroup.gnutella.chat.Chatter;
+//import com.limegroup.gnutella.browser.MagnetOptions;
+//import com.limegroup.gnutella.chat.Chatter;
 import com.limegroup.gnutella.search.HostData;
-import com.limegroup.gnutella.version.UpdateInformation;
+//import com.limegroup.gnutella.version.UpdateInformation;
 
 /**
  *  Callback to notify the GUI of asynchronous backend events.
@@ -67,16 +67,16 @@
     public void removeUpload(Uploader u);    
 
 	/** Add a new incoming chat connection */
-	public void acceptChat(Chatter ctr);
+//	public void acceptChat(Chatter ctr);
 
     /** A new message is available from the given chatter */
-	public void receiveMessage(Chatter chr);
+//	public void receiveMessage(Chatter chr);
 
 	/** The given chatter is no longer available */
-	public void chatUnavailable(Chatter chatter);
+//	public void chatUnavailable(Chatter chatter);
 
 	/** display an error message in the chat gui */
-	public void chatErrorMessage(Chatter chatter, String str);
+//	public void chatErrorMessage(Chatter chatter, String str);
 
     /** display an error message since the browse host failed. 
      *  @param guid The GUID of the browse host.
@@ -116,7 +116,7 @@
 	/**
 	 * Notification that an update became available.
 	 */
-	public void updateAvailable(UpdateInformation info);
+//	public void updateAvailable(UpdateInformation info);
 
 	/**
 	 * Sets the enabled/disabled state of file annotation.
@@ -153,7 +153,7 @@
 	 * @param magnets
 	 * @return true if the callback handles the magnet links
 	 */
-	public boolean handleMagnets(final MagnetOptions[] magnets);
+//	public boolean handleMagnets(final MagnetOptions[] magnets);
 	
 	/**
 	 * Indicates that the firewalled state of this has changed. 
Index: C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/settings/ApplicationSettings.java
===================================================================
--- C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/settings/ApplicationSettings.java	(revision 20213)
+++ C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/settings/ApplicationSettings.java	(working copy)
@@ -124,7 +124,8 @@
 	 */
     public static final StringSetting COUNTRY =
         FACTORY.createStringSetting("COUNTRY", 
-            System.getProperty("user.country", ""));
+//            System.getProperty("user.country", ""));
+    		"");
     
     /**
 	 * The locale variant to use for the application.
Index: C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/settings/ChatSettings.java
===================================================================
--- C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/settings/ChatSettings.java	(revision 20213)
+++ C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/settings/ChatSettings.java	(working copy)
@@ -12,5 +12,6 @@
 	 * Sets whether or not chat should be enabled.
 	 */
     public static final BooleanSetting CHAT_ENABLED =
-        FACTORY.createBooleanSetting("CHAT_ENABLED", true);
+//        FACTORY.createBooleanSetting("CHAT_ENABLED", true);
+    	FACTORY.createBooleanSetting("CHAT_ENABLED", false);
 }
\ No newline at end of file
Index: C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/settings/FilterSettings.java
===================================================================
--- C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/settings/FilterSettings.java	(revision 20213)
+++ C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/settings/FilterSettings.java	(working copy)
@@ -40,7 +40,8 @@
      * Sets whether or not search results of the wmv and asf types are banned.
      */
     public static final BooleanSetting FILTER_WMV_ASF =
-    	FACTORY.createBooleanSetting("FILTER_WMV_ASF",true);
+//    	FACTORY.createBooleanSetting("FILTER_WMV_ASF",true);
+    	FACTORY.createBooleanSetting("FILTER_WMV_ASF",false);
     
     /**
 	 * Sets whether or not duplicate search results are
Index: C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/settings/SharingSettings.java
===================================================================
--- C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/settings/SharingSettings.java	(revision 20213)
+++ C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/settings/SharingSettings.java	(working copy)
@@ -48,7 +48,8 @@
      */
     public static final FileSetting INCOMPLETE_DIRECTORY =
         FACTORY.createFileSetting("INCOMPLETE_DIRECTORY", 
-            (new File(DIRECTORY_FOR_SAVING_FILES.getValue().getParent(),
+//            (new File(DIRECTORY_FOR_SAVING_FILES.getValue().getParent(),
+            (new File(DIRECTORY_FOR_SAVING_FILES.getValue(),
                 "Incomplete")));
     
     /**
@@ -106,8 +107,11 @@
 			if(!saveDir.mkdirs()) throw new IOException("could not create save dir");
 		}
 
+/*
 		String parentDir = saveDir.getParent();
 		File incDir = new File(parentDir, "Incomplete");
+*/
+		File incDir = new File(saveDir, "Incomplete");
 		if(!incDir.isDirectory()) {
 			if(!incDir.mkdirs()) throw new IOException("could not create incomplete dir");
 		}
Index: C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/settings/SettingsFactory.java
===================================================================
--- C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/settings/SettingsFactory.java	(revision 20213)
+++ C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/settings/SettingsFactory.java	(working copy)
@@ -1,6 +1,6 @@
 package com.limegroup.gnutella.settings;
 
-import java.awt.Color;
+//import java.awt.Color;
 import java.io.BufferedOutputStream;
 import java.io.File;
 import java.io.FileInputStream;
@@ -443,7 +443,8 @@
      * @param key the key for the setting
      * @param defaultValue the default value for the setting
      */
-    public synchronized ColorSetting createColorSetting(String key, 
+/*
+	public synchronized ColorSetting createColorSetting(String key, 
                                                         Color defaultValue) {
         ColorSetting result = 
         ColorSetting.createColorSetting(DEFAULT_PROPS, PROPS, key,defaultValue);
@@ -459,6 +460,7 @@
         handleSettingInternal(result, simppKey);
         return result;
     }
+*/
 
     /**
      * Creates a new <tt>CharArraySetting</tt> instance for a character array 
@@ -624,6 +626,7 @@
      * @param key the key for the setting
      * @param defaultValue the default value for the setting
      */
+/*
     public synchronized FontNameSetting createFontNameSetting(String key, 
                                                            String defaultValue){
         FontNameSetting result = 
@@ -639,6 +642,7 @@
         handleSettingInternal(result, simppKey);
         return result;
     }
+*/
     
     /**
      * Creates a new <tt>PasswordSetting</tt> instance with the specified
Index: C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/MediaType.java
===================================================================
--- C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/MediaType.java	(revision 20213)
+++ C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/MediaType.java	(working copy)
@@ -48,11 +48,14 @@
      * Type for 'any file'
      */
     private static final MediaType TYPE_ANY = 
+/* gcj
         new MediaType(SCHEMA_ANY_TYPE, ANY_TYPE, null) {
-            public boolean matches(String ext) {
+    	public boolean matches(String ext) {
                 return true;
             }
         };
+*/
+        new MediaType(SCHEMA_ANY_TYPE, ANY_TYPE, null);
                                        
     /**
      * Type for 'documents'
Index: C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/search/QueryHandler.java
===================================================================
--- C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/search/QueryHandler.java	(revision 20213)
+++ C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/search/QueryHandler.java	(working copy)
@@ -48,7 +48,8 @@
 	 * The number of results to try to get if we're an Ultrapeer originating
 	 * the query.
 	 */
-	public static final int ULTRAPEER_RESULTS = 150;
+//	public static final int ULTRAPEER_RESULTS = 150;
+	public static final int ULTRAPEER_RESULTS = 300;
 
     /**
      * Ultrapeers seem to get less results - lets give them a little boost.
Index: C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/messages/vendor/CapabilitiesVM.java
===================================================================
--- C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/messages/vendor/CapabilitiesVM.java	(revision 20213)
+++ C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/messages/vendor/CapabilitiesVM.java	(working copy)
@@ -16,7 +16,7 @@
 import com.limegroup.gnutella.messages.FeatureSearchData;
 import com.limegroup.gnutella.simpp.SimppManager;
 import com.limegroup.gnutella.statistics.SentMessageStatHandler;
-import com.limegroup.gnutella.version.UpdateHandler;
+//import com.limegroup.gnutella.version.UpdateHandler;
 
 /** 
  * The message that lets other know what capabilities you support.  Everytime 
@@ -124,9 +124,11 @@
                                         SimppManager.instance().getVersion());
         hashSet.add(smp);
         
+/*
         smp = new SupportedMessageBlock(LIME_UPDATE_BYTES,
                                         UpdateHandler.instance().getLatestId());
         hashSet.add(smp);
+*/
     }
 
 
@@ -182,9 +184,11 @@
     /**
      * Returns the current Update version.
      */
+/*
     public int supportsUpdate() {
         return supportsCapability(LIME_UPDATE_BYTES);
     }
+*/
 
     // override super
     public boolean equals(Object other) {
Index: C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/Response.java
===================================================================
--- C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/Response.java	(revision 20213)
+++ C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/Response.java	(working copy)
@@ -28,6 +28,8 @@
 import com.limegroup.gnutella.util.DataUtils;
 import com.limegroup.gnutella.util.NetworkUtils;
 import com.limegroup.gnutella.xml.LimeXMLDocument;
+/* heavy */
+import com.limegroup.gnutella.util.I18NConvert;
 
 import org.apache.commons.logging.LogFactory;
 import org.apache.commons.logging.Log;
@@ -179,7 +181,8 @@
 		if (name == null)
 			this.name = "";
 		else
-			this.name = name;
+//			this.name = name;
+			this.name = I18NConvert.instance().compose(name);
 
         byte[] temp = null;
         try {
Index: C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/ManagedConnection.java
===================================================================
--- C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/ManagedConnection.java	(revision 20213)
+++ C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/ManagedConnection.java	(working copy)
@@ -32,12 +32,12 @@
 import com.limegroup.gnutella.simpp.SimppManager;
 import com.limegroup.gnutella.statistics.OutOfBandThroughputStat;
 import com.limegroup.gnutella.statistics.ReceivedMessageStatHandler;
-import com.limegroup.gnutella.updates.UpdateManager;
+//import com.limegroup.gnutella.updates.UpdateManager;
 import com.limegroup.gnutella.util.DataUtils;
 import com.limegroup.gnutella.util.BandwidthThrottle;
 import com.limegroup.gnutella.util.ManagedThread;
 import com.limegroup.gnutella.util.ThrottledOutputStream;
-import com.limegroup.gnutella.version.UpdateHandler;
+//import com.limegroup.gnutella.version.UpdateHandler;
 
 /**
  * A Connection managed by a ConnectionManager.  Includes a loopForMessages
@@ -295,8 +295,10 @@
         // Start our OutputRunner.
         startOutput();
 
+/*
         UpdateManager updater = UpdateManager.instance();
         updater.checkAndUpdate(this);
+*/
     }
 
     /**
@@ -611,6 +613,11 @@
         _outputRunner.send(m);
     }
 
+/* gcj */
+    public void send2(Message m) throws IOException {
+    	super.send(m);
+    }
+    
     /**
      * This is a specialized send method for queries that we originate, 
      * either from ourselves directly, or on behalf of one of our leaves
@@ -632,6 +639,11 @@
     public void flush() throws IOException {        
     }
 
+/* gcj */
+    public void flush2() throws IOException {        
+    	super.flush();
+    }
+
     public void close() {
         if(_outputRunner != null)
             _outputRunner.shutdown();
@@ -958,12 +970,14 @@
             }
             
             // see if there's a new update message.
+/*
             int latestId = UpdateHandler.instance().getLatestId();
             int currentId = capVM.supportsUpdate();
             if(currentId > latestId)
                 send(new UpdateRequest());
             else if(currentId == latestId)
                 UpdateHandler.instance().handleUpdateAvailable(this, currentId);
+*/
                 
         }
         else if (vm instanceof MessagesSupportedVendorMessage) {        
@@ -1280,13 +1294,19 @@
                 //until an optimal time to start deflating, buffering
                 //up incoming data until that time is reached, or the
                 //data is explicitly flushed.
+/* gcj
                 ManagedConnection.super.send(m);
+*/
+                send2(m);
             }
             
             //Note that if the outgoing stream is compressed 
             //(isWriteDeflated()), then this call may block while the
             //Deflater deflates the data.
+/* gcj
             ManagedConnection.super.flush();
+*/
+            flush2();
         }
     }
     
Index: C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/MessageRouter.java
===================================================================
--- C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/MessageRouter.java	(revision 20213)
+++ C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/MessageRouter.java	(working copy)
@@ -53,7 +53,7 @@
 import com.limegroup.gnutella.util.Sockets;
 import com.limegroup.gnutella.util.IOUtils;
 import com.limegroup.gnutella.util.ProcessingQueue;
-import com.limegroup.gnutella.version.UpdateHandler;
+//import com.limegroup.gnutella.version.UpdateHandler;
 
 import org.apache.commons.logging.LogFactory;
 import org.apache.commons.logging.Log;
@@ -465,12 +465,14 @@
         else if(msg instanceof SimppVM) {
             handleSimppVM((SimppVM)msg);
         } 
+/*
         else if(msg instanceof UpdateRequest) {
             handleUpdateRequest((UpdateRequest)msg, receivingConnection);
         }
         else if(msg instanceof UpdateResponse) {
             handleUpdateResponse((UpdateResponse)msg, receivingConnection);
         }
+*/
         else if (msg instanceof HeadPong) {  
             handleHeadPong((HeadPong)msg, receivingConnection); 
         } 
@@ -583,9 +585,11 @@
         	//TODO: add the statistics recording code
         	handleHeadPing((HeadPing)msg, handler);
         } 
+/*
         else if(msg instanceof UpdateRequest) {
             handleUpdateRequest((UpdateRequest)msg, handler);
         }
+*/
         notifyMessageListener(msg, handler);
     }
     
@@ -2033,6 +2037,7 @@
     /**
      *  Handles an update request by sending a response.
      */
+/*
     private void handleUpdateRequest(UpdateRequest req, ReplyHandler handler ) {
 
         byte[] data = UpdateHandler.instance().getLatestBytes();
@@ -2041,14 +2046,17 @@
             handler.reply(msg);
         }
     }
+*/
     
 
     /**
      * Passes the request onto the update manager.
      */
+/*
     private void handleUpdateResponse(UpdateResponse resp, ReplyHandler handler) {
         UpdateHandler.instance().handleNewData(resp.getUpdate());
     }
+*/
 
     /**
      * The default handler for PushRequests received in
Index: C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/ConnectionManager.java
===================================================================
--- C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/ConnectionManager.java	(revision 20213)
+++ C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/ConnectionManager.java	(working copy)
@@ -27,7 +27,7 @@
 import com.limegroup.gnutella.messages.vendor.UDPConnectBackVendorMessage;
 import com.limegroup.gnutella.settings.ApplicationSettings;
 import com.limegroup.gnutella.settings.ConnectionSettings;
-import com.limegroup.gnutella.settings.QuestionsHandler;
+//import com.limegroup.gnutella.settings.QuestionsHandler;
 import com.limegroup.gnutella.settings.UltrapeerSettings;
 import com.limegroup.gnutella.util.IpPortSet;
 import com.limegroup.gnutella.util.ManagedThread;
@@ -2126,8 +2126,10 @@
         
         // Notify the user that they have no internet connection and that
         // we will automatically retry
+/*
         MessageService.showError("NO_INTERNET_RETRYING",
                 QuestionsHandler.NO_INTERNET_RETRYING);
+*/
         
         // Kill all of the ConnectionFetchers.
         disconnect();
Index: C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/util/CommonUtils.java
===================================================================
--- C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/util/CommonUtils.java	(revision 20213)
+++ C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/util/CommonUtils.java	(working copy)
@@ -23,7 +23,8 @@
 	/** 
 	 * Constant for the current version of LimeWire.
 	 */
-	private static final String LIMEWIRE_VERSION = "@version@";
+//	private static final String LIMEWIRE_VERSION = "@version@";
+	private static final String LIMEWIRE_VERSION = "4.10.5";
 
     /**
      * Variable used for testing only, it's value is set to whatever the test
@@ -167,7 +168,8 @@
 	 */
 	private static final String HTTP_SERVER;
 
-    private static final String LIMEWIRE_PREFS_DIR_NAME = ".limewire";
+//    private static final String LIMEWIRE_PREFS_DIR_NAME = ".limewire";
+    private static final String LIMEWIRE_PREFS_DIR_NAME = ".cabos";
 
 	/**
 	 * Constant for the current running directory.
@@ -197,7 +199,8 @@
 	static {
 	    setOperatingSystems();
 		
-		if(!LIMEWIRE_VERSION.endsWith("Pro")) {
+/*
+	    if(!LIMEWIRE_VERSION.endsWith("Pro")) {
 			HTTP_SERVER = "LimeWire/" + LIMEWIRE_VERSION;
 		}
 		else {
@@ -205,6 +208,8 @@
                            substring(0, LIMEWIRE_VERSION.length()-4)+" (Pro)");
             _isPro = true;
 		}
+*/
+	    HTTP_SERVER = "LimeWire/" + LIMEWIRE_VERSION + " (Cabos/0.6)";
 	}
 	
 	/**
@@ -391,7 +396,8 @@
      * Same as '"LimeWire "+getLimeWireVersion'.
 	 */
 	public static String getVendor() {
-		return "LimeWire " + LIMEWIRE_VERSION;
+//		return "LimeWire " + LIMEWIRE_VERSION;
+		return HTTP_SERVER;
 	}    
 
 	/**
@@ -768,9 +774,9 @@
         }
 
         // make sure Windows files are moved
-        moveWindowsFiles(settingsDir);
+//        moveWindowsFiles(settingsDir);
         // make sure old metadata files are moved
-        moveXMLFiles(settingsDir);
+//        moveXMLFiles(settingsDir);
         // cache the directory.
         SETTINGS_DIRECTORY = settingsDir;
     }
@@ -804,7 +810,8 @@
                 appdata = null; // fall back on default
             }
             if (appdata != null && appdata.length() > 0) {
-                File tempSettingsDir = new File(appdata, "LimeWire");
+//                File tempSettingsDir = new File(appdata, "LimeWire");
+                File tempSettingsDir = new File(appdata, "Cabos");
                 if (tempSettingsDir.isDirectory() || ! settingsDir.exists()) {
                     try {
                         setUserSettingsDir(tempSettingsDir);
@@ -815,7 +822,8 @@
             }
         } else if(isMacOSX()) {
             settingsDir = new File(getUserHomeDir(), 
-                                     "Library/Preferences/LimeWire");
+//                                     "Library/Preferences/LimeWire");
+        							 "Library/Application Support/Cabos");
         } 
       
         // Default behavior
@@ -830,22 +838,24 @@
     /**
      * Boolean for whether or not the windows files have been copied.
      */
-    private static boolean _windowsFilesMoved = false;
+//    private static boolean _windowsFilesMoved = false;
     
     /**
      * Boolean for whether or not XML files have been copied.
      */
-    private static boolean _xmlFilesMoved = false;
+//    private static boolean _xmlFilesMoved = false;
 
     /**
      * The array of files that should be stored in the user's home 
      * directory.
      */
+/*
     private static final String[] USER_FILES = {
         "limewire.props",
         "gnutella.net",
         "fileurns.cache"
     };
+*/
 
     /**
      * On Windows, this copies files from the current directory to the
@@ -856,6 +866,7 @@
      * and the files that should be used, should always be saved in 
      * the user's home LimeWire preferences directory.
      */
+/*
     private synchronized static void moveWindowsFiles(File settingsDir) {
         if(!isWindows()) return;
         if(_windowsFilesMoved) return;
@@ -875,12 +886,14 @@
         }
         _windowsFilesMoved = true;
     }
+*/
 
     /**
      * Old metadata definitions must be moved from ./lib/xml/data/*.*
      * This is done like the windows files copying, but for all files
      * in the data directory.
      */
+/*
     private synchronized static void moveXMLFiles(File settingsDir) {
         if(_xmlFilesMoved) return;
         // We must extend the currentDir & settingsDir to look 
@@ -906,6 +919,7 @@
         }
         _xmlFilesMoved = true;
     }
+*/
 	     
     
     /**
@@ -1111,6 +1125,7 @@
      * @param name the filename to check for illegal characters
      * @return String containing the cleaned filename
      */
+/* heavy
     public static String convertFileName(String name) {
 		
 		// ensure that block-characters aren't in the filename.
@@ -1132,6 +1147,29 @@
 			           name.substring(extStart, extEnd);
             }          
 		}
+*/
+    public static String convertFileName(File parent, String name) {
+		
+		// ensure that block-characters aren't in the filename.
+        name = I18NConvert.instance().compose(name);
+
+		// if the name is too long, reduce it.  We don't go all the way
+		// up to 256 because we don't know how long the directory name is
+		// We want to keep the extension, though.
+		int maxLength = 254 - parent.getAbsolutePath().length();
+        if(name.length() > maxLength) {
+		    int extStart = name.lastIndexOf('.');
+		    if ( extStart == -1) { // no extension, wierd, but possible
+		        name = name.substring(0, maxLength);
+		    } else {
+		        // if extension is greater than 11, we concat it.
+		        // ( 11 = '.' + 10 extension characters )
+		        int extLength = name.length() - extStart;		        
+		        int extEnd = extLength > 11 ? extStart + 11 : name.length();
+			    name = name.substring(0, maxLength - extLength) +
+			           name.substring(extStart, extEnd);
+            }          
+		}
         for (int i = 0; i < ILLEGAL_CHARS_ANY_OS.length; i++) 
             name = name.replace(ILLEGAL_CHARS_ANY_OS[i], '_');
 		
Index: C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/Acceptor.java
===================================================================
--- C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/Acceptor.java	(revision 20213)
+++ C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/Acceptor.java	(working copy)
@@ -14,14 +14,14 @@
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
-import com.limegroup.gnutella.browser.ExternalControl;
-import com.limegroup.gnutella.chat.ChatManager;
+//import com.limegroup.gnutella.browser.ExternalControl;
+//import com.limegroup.gnutella.chat.ChatManager;
 import com.limegroup.gnutella.filters.IPFilter;
 import com.limegroup.gnutella.http.HTTPRequestMethod;
 import com.limegroup.gnutella.settings.ConnectionSettings;
 import com.limegroup.gnutella.settings.SettingsHandler;
 import com.limegroup.gnutella.statistics.HTTPStat;
-import com.limegroup.gnutella.util.CommonUtils;
+//import com.limegroup.gnutella.util.CommonUtils;
 import com.limegroup.gnutella.util.IOUtils;
 import com.limegroup.gnutella.util.ManagedThread;
 import com.limegroup.gnutella.util.NetworkUtils;
@@ -716,7 +716,8 @@
                     HTTPStat.GIV_REQUESTS.incrementStat();
                     dm.acceptDownload(_socket);
                 }
-				else if (word.equals("CHAT")) {
+/*
+                else if (word.equals("CHAT")) {
 				    HTTPStat.CHAT_REQUESTS.incrementStat();
                     ChatManager.instance().accept(_socket);
 				}
@@ -724,6 +725,7 @@
 			        HTTPStat.MAGNET_REQUESTS.incrementStat();
                     ExternalControl.fireMagnet(_socket);
                 }
+*/
                 else if (word.equals("CONNECT") || word.equals("\n\n")) {
                     //HTTPStat.CONNECTBACK_RESPONSE.incrementStat();
                     // technically we could just always checkFirewall here, since
Index: C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/FileManager.java
===================================================================
--- C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/FileManager.java	(revision 20213)
+++ C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/FileManager.java	(working copy)
@@ -31,7 +31,7 @@
 import com.limegroup.gnutella.util.ProcessingQueue;
 import com.limegroup.gnutella.util.StringUtils;
 import com.limegroup.gnutella.util.Trie;
-import com.limegroup.gnutella.version.UpdateHandler;
+//import com.limegroup.gnutella.version.UpdateHandler;
 import com.limegroup.gnutella.xml.LimeXMLDocument;
 
 /**
@@ -634,7 +634,7 @@
         RouterService.getDownloadManager().getIncompleteFileManager().registerAllIncompleteFiles();
         save();
         SavedFileManager.instance().run();
-        UpdateHandler.instance().tryToDownloadUpdates();
+//        UpdateHandler.instance().tryToDownloadUpdates();
         RouterService.getCallback().fileManagerLoaded();
     }
     
Index: C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/downloader/DownloadWorker.java
===================================================================
--- C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/downloader/DownloadWorker.java	(revision 20213)
+++ C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/downloader/DownloadWorker.java	(working copy)
@@ -596,7 +596,8 @@
         LOG.trace("WORKER: attempt direct connection");
         HTTPDownloader ret;
         //Establish normal downloader.              
-        ret = new HTTPDownloader(_rfd, _commonOutFile, _manager instanceof InNetworkDownloader);
+//        ret = new HTTPDownloader(_rfd, _commonOutFile, _manager instanceof InNetworkDownloader);
+        ret = new HTTPDownloader(_rfd, _commonOutFile, false);
         // Note that connectTCP can throw IOException
         // (and the subclassed CantConnectException)
         try {
@@ -658,7 +659,8 @@
         }
         
         ret = new HTTPDownloader(pushSocket, _rfd, _commonOutFile, 
-                _manager instanceof InNetworkDownloader);
+//                _manager instanceof InNetworkDownloader);
+        		false);
         
         //Socket.getInputStream() throws IOX if the connection is closed.
         //So this connectTCP *CAN* throw IOX.
Index: C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/downloader/ManagedDownloader.java
===================================================================
--- C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/downloader/ManagedDownloader.java	(revision 20213)
+++ C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/downloader/ManagedDownloader.java	(working copy)
@@ -94,6 +94,10 @@
  * unconnected. <b>Furthermore, it is necessary to explicitly call
  * initialize(..) after reading a ManagedDownloader from disk.</b>
  */
+/**
+ * @author Administrator
+ *
+ */
 public class ManagedDownloader implements Downloader, MeshHandler, AltLocListener, Serializable {
     /*
       IMPLEMENTATION NOTES: The basic idea behind swarmed (multisource)
@@ -2753,7 +2757,8 @@
              Assert.that(false,"defaultFileName is null, "+
                          "subclass may have not overridden getDefaultFileName");
          }
-		 return CommonUtils.convertFileName(fileName);
+//		 return CommonUtils.convertFileName(fileName);
+		 return CommonUtils.convertFileName(SharingSettings.getSaveDirectory(),fileName);
     }
 
 
@@ -3075,6 +3080,34 @@
     public Object removeAttribute( String key ) {
         return attributes.remove( key );
     }    
+
+	/**
+	 * heavy
+	 */
+	public String getActiveHostAddresses() {
+		StringBuffer result = new StringBuffer();
+		for (Iterator i = currentRFDs.iterator(); i.hasNext();) {
+			RemoteFileDesc rfd = ((RemoteFileDesc) i.next());
+			if (rfd.browseHostEnabled()) {
+				result.append(rfd.getHost());
+				result.append(':');
+				result.append(rfd.getPort());
+				result.append(',');
+			}
+		}
+		return result.toString();
+	}
+
+	private volatile boolean manualCanceled = false;
+
+	public void manualCancel() {
+		manualCanceled = true;
+		stop();
+	}
+
+	public boolean isManualCanceled() {
+		return manualCanceled;
+	}
 }
 
 interface MeshHandler {
Index: C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/downloader/IncompleteFileManager.java
===================================================================
--- C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/downloader/IncompleteFileManager.java	(revision 20213)
+++ C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/downloader/IncompleteFileManager.java	(working copy)
@@ -269,7 +269,7 @@
 		//make sure its created.. (the user might have deleted it)
 		dirsMade = incDir.mkdirs();
 		
-		String convertedName = CommonUtils.convertFileName(name);
+//		String convertedName = CommonUtils.convertFileName(name);
 
         try {
 
@@ -283,7 +283,8 @@
                 //the value set of HASHES.  Because we allow risky resumes,
                 //there's no need to look at BLOCKS as well...
                 for (int i=1 ; ; i++) {
-                    file = new File(incDir, tempName(convertedName, size, i));
+//                    file = new File(incDir, tempName(convertedName, size, i));
+                    file = new File(incDir, CommonUtils.convertFileName(incDir, tempName(name, size, i)));
                     baseFile = file;
                     file = canonicalize(file);
                     canonFile = file;
@@ -307,7 +308,8 @@
         } else {
             //No hash.
             File f = new File(incDir, 
-                        tempName(convertedName, size, 0));
+//                        tempName(convertedName, size, 0));
+            			CommonUtils.convertFileName(incDir, tempName(name, size, 0)));
             baseFile = f;
             f = canonicalize(f);
             canonFile = f;
Index: C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/xml/LimeXMLProperties.java
===================================================================
--- C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/xml/LimeXMLProperties.java	(revision 20213)
+++ C:/Documents and Settings/Cabos/My Documents/WorkspaceSVN/core/com/limegroup/gnutella/xml/LimeXMLProperties.java	(working copy)
@@ -172,10 +172,13 @@
      */
     public String getXMLSchemaDir()
     {
-        String xmlSchemaDirRel = _properties.getProperty(XML_SCHEMA_DIR, 
+/*
+    	String xmlSchemaDirRel = _properties.getProperty(XML_SCHEMA_DIR, 
                                                      XML_SCHEMA_DIR_DEF);
 
         return getPath() + xmlSchemaDirRel ;                   
+*/
+    	return CommonUtils.getCurrentDirectory().toString();
     }
 
 
