Author: borg-0300
Date: 2008-02-08 15:06:34 +0100 (Fri, 08 Feb 2008)
New Revision: 4461

Modified:
   trunk/htroot/yacy/crawlReceipt.java
   trunk/htroot/yacy/hello.java
   trunk/htroot/yacy/message.java
   trunk/htroot/yacy/profile.java
   trunk/htroot/yacy/query.java
   trunk/htroot/yacy/search.java
   trunk/htroot/yacy/transfer.java
   trunk/htroot/yacy/transferRWI.java
   trunk/htroot/yacy/transferURL.java
   trunk/source/de/anomic/yacy/yacyClient.java
   trunk/source/de/anomic/yacy/yacyCore.java
   trunk/source/de/anomic/yacy/yacySeed.java
Log:
seedDB helpers update/cleanup

Modified: trunk/htroot/yacy/crawlReceipt.java
===================================================================
--- trunk/htroot/yacy/crawlReceipt.java 2008-02-08 12:26:03 UTC (rev 4460)
+++ trunk/htroot/yacy/crawlReceipt.java 2008-02-08 14:06:34 UTC (rev 4461)
@@ -62,25 +62,34 @@
 
 public final class crawlReceipt {
 
-    
     /*
      * this is used to respond on a remote crawling request
      */
-
     public static serverObjects respond(httpHeader header, serverObjects post, 
serverSwitch env) {
         // return variable that accumulates replacements
-        plasmaSwitchboard switchboard = (plasmaSwitchboard) env;
-        serverObjects prop = new serverObjects();
-        if ((post == null) || (env == null)) return prop;
-        if (!yacyNetwork.authentifyRequest(post, env)) return prop;
-        
-        serverLog log = switchboard.getLog();
+        final serverObjects prop = new serverObjects();
+        // defaults
+        prop.put("delay", "3600");
 
+        if (post == null || env == null || 
!yacyNetwork.authentifyRequest(post, env)) {
+            return prop;
+        }
+
+        // seed hash of requester
+        String ohash = post.get("iam", "");
+        if (ohash == null || ohash.length() == 0 ) return prop;
+        yacySeed oseed = yacyCore.seedDB.get(ohash);
+        if (oseed == null) return prop;
+        oseed.setFlagDirectConnect(true);
+        oseed.setLastSeenUTC();
+
+        final plasmaSwitchboard sb = (plasmaSwitchboard) env;
+        serverLog log = sb.getLog();
+
         //int proxyPrefetchDepth = 
Integer.parseInt(env.getConfig("proxyPrefetchDepth", "0"));
         //int crawlingDepth = Integer.parseInt(env.getConfig("crawlingDepth", 
"0"));
 
         // request values
-        String iam        = post.get("iam", "");      // seed hash of requester
         String youare     = post.get("youare", "");    // seed hash of the 
target peer, needed for network stability
         //String process    = post.get("process", "");  // process type
         String key        = post.get("key", "");      // transmission key
@@ -111,59 +120,50 @@
 
         */
 
-        final yacySeed otherPeer = yacyCore.seedDB.get(iam);
-        if (otherPeer == null) {
-            prop.put("delay", "3600");
-            return prop;
-        } else {
-            otherPeer.setLastSeenUTC();
-        }
-        final String otherPeerName = iam + ":" + otherPeer.getName() + "/" + 
otherPeer.getVersion();
+        
 
         if ((yacyCore.seedDB.mySeed() == null) || 
(!(yacyCore.seedDB.mySeed().hash.equals(youare)))) {
             // no yacy connection / unknown peers
-            prop.put("delay", "3600");
             return prop;
         }
         
         if (propStr == null) {
             // error with url / wrong key
-            prop.put("delay", "3600");
             return prop;
         }
         
-        if ((switchboard.isRobinsonMode()) && 
(!switchboard.isInMyCluster(otherPeer))) {
+        if ((sb.isRobinsonMode()) && (!sb.isInMyCluster(oseed))) {
                // we reject urls that are from outside our cluster
                prop.put("delay", "9999");
+            return prop; // ???
        }
         
         // generating a new loaded URL entry
-        indexURLEntry entry = 
switchboard.wordIndex.loadedURL.newEntry(propStr);
+        indexURLEntry entry = sb.wordIndex.loadedURL.newEntry(propStr);
         if (entry == null) {
-            log.logWarning("crawlReceipt: RECEIVED wrong RECEIPT (entry null) 
from peer " + iam + "\n\tURL properties: "+ propStr);
-            prop.put("delay", "3600");
+            log.logWarning("crawlReceipt: RECEIVED wrong RECEIPT (entry null) 
from peer " + ohash + "\n\tURL properties: "+ propStr);
             return prop;
         }
         
         indexURLEntry.Components comp = entry.comp();
         if (comp.url() == null) {
-            log.logWarning("crawlReceipt: RECEIVED wrong RECEIPT (url null) 
for hash " + entry.hash() + " from peer " + iam + "\n\tURL properties: "+ 
propStr);
-            prop.put("delay", "3600");
+            log.logWarning("crawlReceipt: RECEIVED wrong RECEIPT (url null) 
for hash " + entry.hash() + " from peer " + ohash + "\n\tURL properties: "+ 
propStr);
             return prop;
         }
         
         // check if the entry is in our network domain
-        if (!switchboard.acceptURL(comp.url())) {
-            log.logWarning("crawlReceipt: RECEIVED wrong RECEIPT (url outside 
of our domain) for hash " + entry.hash() + " from peer " + iam + "\n\tURL 
properties: "+ propStr);
+        if (!sb.acceptURL(comp.url())) {
+            log.logWarning("crawlReceipt: RECEIVED wrong RECEIPT (url outside 
of our domain) for hash " + entry.hash() + " from peer " + ohash + "\n\tURL 
properties: "+ propStr);
             prop.put("delay", "9999");
             return prop;
         }
         
         if (result.equals("fill")) try {
             // put new entry into database
-            switchboard.wordIndex.loadedURL.store(entry);
-            switchboard.wordIndex.loadedURL.stack(entry, youare, iam, 1);
-            switchboard.crawlQueues.delegatedURL.remove(entry.hash()); // the 
delegated work has been done
+            sb.wordIndex.loadedURL.store(entry);
+            sb.wordIndex.loadedURL.stack(entry, youare, ohash, 1);
+            sb.crawlQueues.delegatedURL.remove(entry.hash()); // the delegated 
work has been done
+            final String otherPeerName = ohash + ":" + oseed.getName() + "/" + 
oseed.getVersion();
             log.logInfo("crawlReceipt: RECEIVED RECEIPT from " + otherPeerName 
+ " for URL " + entry.hash() + ":" + comp.url().toNormalform(false, true));
 
             // ready for more
@@ -171,16 +171,14 @@
             return prop;
         } catch (IOException e) {
             e.printStackTrace();
-            prop.put("delay", "3600");
             return prop;
         }
 
-        switchboard.crawlQueues.delegatedURL.remove(entry.hash()); // the 
delegated work is transformed into an error case
-        plasmaCrawlZURL.Entry ee = 
switchboard.crawlQueues.errorURL.newEntry(entry.toBalancerEntry(), youare, 
null, 0, result + ":" + reason);
+        sb.crawlQueues.delegatedURL.remove(entry.hash()); // the delegated 
work is transformed into an error case
+        plasmaCrawlZURL.Entry ee = 
sb.crawlQueues.errorURL.newEntry(entry.toBalancerEntry(), youare, null, 0, 
result + ":" + reason);
         ee.store();
-        switchboard.crawlQueues.errorURL.push(ee);
+        sb.crawlQueues.errorURL.push(ee);
         //switchboard.noticeURL.remove(receivedUrlhash);
-        prop.put("delay", "3600");
         return prop;
        
          // return rewrite properties

Modified: trunk/htroot/yacy/hello.java
===================================================================
--- trunk/htroot/yacy/hello.java        2008-02-08 12:26:03 UTC (rev 4460)
+++ trunk/htroot/yacy/hello.java        2008-02-08 14:06:34 UTC (rev 4461)
@@ -65,10 +65,9 @@
 public final class hello {
 
     public static serverObjects respond(httpHeader header, serverObjects post, 
serverSwitch env) throws InterruptedException {
-        plasmaSwitchboard sb = (plasmaSwitchboard) env;
+        // return variable that accumulates replacements
         serverObjects prop = new serverObjects();
-        prop.put("message", "none");
-        if ((post == null) || (env == null)) {
+        if (post == null || env == null) {
             prop.put("message", "no post or no enviroment");
             return prop;
         }
@@ -76,7 +75,8 @@
             prop.put("message", "not in my network");
             return prop;
         }
-        
+        prop.put("message", "none");
+
 //      final String iam      = (String) post.get("iam", "");      // complete 
seed of the requesting peer
 //      final String mytime   = (String) post.get(MYTIME, ""); //
         final String key      = post.get("key", "");      // transmission key 
for response
@@ -90,14 +90,14 @@
             prop.put("message", "your seed is too long (" + seed.length() + 
")");
             return prop;
         }
-        final yacySeed remoteSeed = yacySeed.genRemoteSeed(seed, key, false);
+        final yacySeed oseed = yacySeed.genRemoteSeed(seed, key, false);
 
 //      System.out.println("YACYHELLO: REMOTESEED=" + ((remoteSeed == null) ? 
"NULL" : remoteSeed.toString()));
-        if ((remoteSeed == null) || (remoteSeed.hash == null)) {
+        if (oseed == null || oseed.hash == null) {
             prop.put("message", "cannot parse your seed");
             return prop;
         }
-        
+
 //      final String properTest = remoteSeed.isProper();
         // The remote peer might not know its IP yet, so don't abort if the IP 
check fails
 //      if ((properTest != null) && (! 
properTest.substring(0,1).equals("IP"))) { return null; }
@@ -110,18 +110,19 @@
             return prop;
         }
         final String userAgent = (String) header.get(httpHeader.USER_AGENT, 
"<unknown>");
-        final String reportedip = remoteSeed.get(yacySeed.IP, "");
-        final String reportedPeerType = remoteSeed.get(yacySeed.PEERTYPE, 
yacySeed.PEERTYPE_JUNIOR);
-        final float clientversion = remoteSeed.getVersion();
+        final String reportedip = oseed.get(yacySeed.IP, "");
+        final String reportedPeerType = oseed.get(yacySeed.PEERTYPE, 
yacySeed.PEERTYPE_JUNIOR);
+        final float clientversion = oseed.getVersion();
 
-        if ((sb.isRobinsonMode()) && (!sb.isPublicRobinson())) {
-               // if we are a robinson cluster, answer only if this client is 
known by our network definition
+        final plasmaSwitchboard sb = (plasmaSwitchboard) env;
+        if (sb.isRobinsonMode() && !sb.isPublicRobinson()) {
+            // if we are a robinson cluster, answer only if this client is 
known by our network definition
             prop.put("message", "I am robinson, I do not answer");
             return prop;
         }
-        
+
         int urls = -1;
-        if (sb.clusterhashes != null) 
remoteSeed.setAlternativeAddress((String) 
sb.clusterhashes.get(remoteSeed.hash));
+        if (sb.clusterhashes != null) oseed.setAlternativeAddress((String) 
sb.clusterhashes.get(oseed.hash));
         
         // if the remote client has reported its own IP address and the client 
supports
         // the port forwarding feature (if client version >= 0.383) then we 
try to 
@@ -131,8 +132,8 @@
             
             // try first the reportedip, since this may be a connect from a 
port-forwarding host
             prop.put("yourip", reportedip);
-            remoteSeed.put(yacySeed.IP, reportedip);
-            urls = yacyClient.queryUrlCount(remoteSeed);
+            oseed.put(yacySeed.IP, reportedip);
+            urls = yacyClient.queryUrlCount(oseed);
         } else {
             prop.put("yourip", "unknown");
         }
@@ -150,41 +151,41 @@
                        serverCore.checkInterruption();
                 
                 prop.put("yourip", clientip);
-                remoteSeed.put(yacySeed.IP, clientip);
-                urls = yacyClient.queryUrlCount(remoteSeed);
+                oseed.put(yacySeed.IP, clientip);
+                urls = yacyClient.queryUrlCount(oseed);
                }
         }
 
 //      System.out.println("YACYHELLO: YOUR IP=" + clientip);
         // set lastseen value (we have seen that peer, it contacted us!)
-        remoteSeed.setLastSeenUTC();
+        oseed.setLastSeenUTC();
         
         // assign status
         if (urls >= 0) {
-            if (remoteSeed.get(yacySeed.PEERTYPE, yacySeed.PEERTYPE_SENIOR) == 
null) {
+            if (oseed.get(yacySeed.PEERTYPE, yacySeed.PEERTYPE_SENIOR) == 
null) {
                 prop.put(yacySeed.YOURTYPE, yacySeed.PEERTYPE_SENIOR);
-                remoteSeed.put(yacySeed.PEERTYPE, yacySeed.PEERTYPE_SENIOR);
-            } else if (remoteSeed.get(yacySeed.PEERTYPE, 
yacySeed.PEERTYPE_PRINCIPAL).equals(yacySeed.PEERTYPE_PRINCIPAL)) {
+                oseed.put(yacySeed.PEERTYPE, yacySeed.PEERTYPE_SENIOR);
+            } else if (oseed.get(yacySeed.PEERTYPE, 
yacySeed.PEERTYPE_PRINCIPAL).equals(yacySeed.PEERTYPE_PRINCIPAL)) {
                 prop.put(yacySeed.YOURTYPE, yacySeed.PEERTYPE_PRINCIPAL);
             } else {
                 prop.put(yacySeed.YOURTYPE, yacySeed.PEERTYPE_SENIOR);
-                remoteSeed.put(yacySeed.PEERTYPE, yacySeed.PEERTYPE_SENIOR);
+                oseed.put(yacySeed.PEERTYPE, yacySeed.PEERTYPE_SENIOR);
             }
             // connect the seed
-            yacyCore.peerActions.peerArrival(remoteSeed, true);
+            yacyCore.peerActions.peerArrival(oseed, true);
         } else {
             prop.put(yacySeed.YOURTYPE, yacySeed.PEERTYPE_JUNIOR);
             yacyCore.peerActions.juniorConnects++; // update statistics
-            remoteSeed.put(yacySeed.PEERTYPE, yacySeed.PEERTYPE_JUNIOR);
-            yacyCore.log.logInfo("hello: responded remote junior peer '" + 
remoteSeed.getName() + "' from " + reportedip);
+            oseed.put(yacySeed.PEERTYPE, yacySeed.PEERTYPE_JUNIOR);
+            yacyCore.log.logInfo("hello: responded remote junior peer '" + 
oseed.getName() + "' from " + reportedip);
             // no connection here, instead store junior in connection cache
-            if ((remoteSeed.hash != null) && (remoteSeed.isProper() == null)) {
-                yacyCore.peerActions.peerPing(remoteSeed);
+            if ((oseed.hash != null) && (oseed.isProper() == null)) {
+                yacyCore.peerActions.peerPing(oseed);
             }
         }
         yacyCore.peerActions.setUserAgent(clientip, userAgent);
         if (!((String)prop.get(yacySeed.YOURTYPE)).equals(reportedPeerType)) {
-            yacyCore.log.logInfo("hello: changing remote peer '" + 
remoteSeed.getName() +
+            yacyCore.log.logInfo("hello: changing remote peer '" + 
oseed.getName() +
                                                            "' [" + reportedip +
                                              "] peerType from '" + 
reportedPeerType +
                                                         "' to '" + 
prop.get(yacySeed.YOURTYPE) + "'.");

Modified: trunk/htroot/yacy/message.java
===================================================================
--- trunk/htroot/yacy/message.java      2008-02-08 12:26:03 UTC (rev 4460)
+++ trunk/htroot/yacy/message.java      2008-02-08 14:06:34 UTC (rev 4461)
@@ -73,16 +73,17 @@
     }
 
     public static serverObjects respond(httpHeader header, serverObjects post, 
serverSwitch env) {
-        if (post == null || env == null) { return null; }
-
         // return variable that accumulates replacements
-        plasmaSwitchboard sb = (plasmaSwitchboard) env;
-        serverObjects prop = new serverObjects();
-        if ((post == null) || (env == null)) return prop;
-        if (!yacyNetwork.authentifyRequest(post, env)) return prop;
+        final serverObjects prop = new serverObjects();
+        // defaults
+        prop.put("response", "-1"); // request rejected
 
+        if (post == null || env == null || 
!yacyNetwork.authentifyRequest(post, env)) {
+            return prop;
+        }
+
         String process = post.get("process", "permission");
-        String key =  post.get("key", "");
+        String key = post.get("key", "");
 
         int messagesize = 10240;
         int attachmentsize = 0;
@@ -94,18 +95,17 @@
         // check if we are the right target and requester has correct 
information about this peer
         if ((yacyCore.seedDB.mySeed() == null) || 
(!(yacyCore.seedDB.mySeed().hash.equals(youare)))) {
             // this request has a wrong target
-            prop.put("response", "-1"); // request rejected
             return prop;
         }
 
-        if ((sb.isRobinsonMode()) &&
-                (!((sb.isPublicRobinson()) ||
-                   
(sb.isInMyCluster((String)header.get(httpHeader.CONNECTION_PROP_CLIENTIP)))))) {
-            // if we are a robinson cluster, answer only if this client is 
known by our network definition
-               prop.put("response", "-1"); // request rejected
+        final plasmaSwitchboard sb = (plasmaSwitchboard) env;
+        if (sb.isRobinsonMode() &&
+            !(sb.isPublicRobinson() ||
+              
sb.isInMyCluster((String)header.get(httpHeader.CONNECTION_PROP_CLIENTIP)))) {
+            // if we are a robinson cluster, answer only if this client is 
known by our network definition            
             return prop;
         }
-        
+
         prop.put("messagesize", Integer.toString(messagesize));
         prop.put("attachmentsize", Integer.toString(attachmentsize));
 

Modified: trunk/htroot/yacy/profile.java
===================================================================
--- trunk/htroot/yacy/profile.java      2008-02-08 12:26:03 UTC (rev 4460)
+++ trunk/htroot/yacy/profile.java      2008-02-08 14:06:34 UTC (rev 4461)
@@ -64,29 +64,32 @@
 
     public static serverObjects respond(httpHeader header, serverObjects post, 
serverSwitch env) {
         // return variable that accumulates replacements
-        serverObjects prop = new serverObjects();
-        plasmaSwitchboard sb = (plasmaSwitchboard) env;
-        if ((post == null) || (env == null)) return prop;
-        if (!yacyNetwork.authentifyRequest(post, env)) return prop;
+        final serverObjects prop = new serverObjects();
+        // defaults
+        prop.put("list", "0");
 
-        if ((sb.isRobinsonMode()) &&
-               (!sb.isPublicRobinson()) &&
-               
(!sb.isInMyCluster((String)header.get(httpHeader.CONNECTION_PROP_CLIENTIP)))) {
-               // if we are a robinson cluster, answer only if this client is 
known by our network definition
-               prop.put("list", "0");
+        if (post == null || env == null || 
!yacyNetwork.authentifyRequest(post, env)) {
             return prop;
         }
-        
+
+        final plasmaSwitchboard sb = (plasmaSwitchboard) env;
+        if (sb.isRobinsonMode() &&
+            !sb.isPublicRobinson() &&
+            !sb.isInMyCluster((String) 
header.get(httpHeader.CONNECTION_PROP_CLIENTIP))) {
+            // if we are a robinson cluster, answer only if this client is 
known by our network definition
+            return prop;
+        }
+
         Properties profile = new Properties();
-        int count=0;
-        String key="";
-        String value="";
+        int count = 0;
+        String key = "";
+        String value = "";
 
         FileInputStream fileIn = null;
         try {
             fileIn = new FileInputStream(new 
File("DATA/SETTINGS/profile.txt"));
-            profile.load(fileIn);        
-        } catch(IOException e) {
+            profile.load(fileIn);
+        } catch (IOException e) {
         } finally {
             if (fileIn != null) try { fileIn.close(); fileIn = null; } catch 
(Exception e) {}
         }

Modified: trunk/htroot/yacy/query.java
===================================================================
--- trunk/htroot/yacy/query.java        2008-02-08 12:26:03 UTC (rev 4460)
+++ trunk/htroot/yacy/query.java        2008-02-08 14:06:34 UTC (rev 4461)
@@ -57,41 +57,41 @@
 
 public final class query {
 
-    public static serverObjects respond(httpHeader header, serverObjects post, 
serverSwitch ss) {
-        if (post == null || ss == null) { return null; }
-
+    public static serverObjects respond(httpHeader header, serverObjects post, 
serverSwitch env) {
         // return variable that accumulates replacements
-        final plasmaSwitchboard sb = (plasmaSwitchboard) ss;
         final serverObjects prop = new serverObjects();
-        if ((post == null) || (ss == null)) return prop;
-        if (!yacyNetwork.authentifyRequest(post, ss)) return prop;
-        
-        
-        if ((sb.isRobinsonMode()) &&
-            (!sb.isPublicRobinson()) &&
-            
(!sb.isInMyCluster((String)header.get(httpHeader.CONNECTION_PROP_CLIENTIP)))) {
-               // if we are a robinson cluster, answer only if we are public 
robinson peers,
-               // or we are a private cluster and the requester is in our 
cluster.
-               // if we don't answer, the remote peer will recognize us as 
junior peer,
-               // what would mean that our peer ping does not work
-               prop.put("response", "-1"); // request rejected
+
+        if (post == null || env == null || 
!yacyNetwork.authentifyRequest(post, env)) {
             return prop;
         }
-                  
+
+        final plasmaSwitchboard sb = (plasmaSwitchboard) env;
+        if (sb.isRobinsonMode() &&
+            !sb.isPublicRobinson() &&
+            !sb.isInMyCluster((String) 
header.get(httpHeader.CONNECTION_PROP_CLIENTIP))) {
+            // if we are a robinson cluster, answer only if we are public 
robinson peers,
+            // or we are a private cluster and the requester is in our cluster.
+            // if we don't answer, the remote peer will recognize us as junior 
peer,
+            // what would mean that our peer ping does not work
+            prop.put("response", "-1"); // request rejected
+            return prop;
+        }
+
 //      System.out.println("YACYQUERY: RECEIVED POST = " + ((post == null) ? 
"NULL" : post.toString()));
 
-        final String iam    = post.get("iam", "");    // complete seed of the 
requesting peer
+        final String ohash  = post.get("iam", "");    // complete seed of the 
requesting peer
         final String youare = post.get("youare", ""); // seed hash of the 
target peer, used for testing network stability
 //      final String key    = post.get("key", "");    // transmission key for 
response
         final String obj    = post.get("object", ""); // keyword for query 
subject
-        final String env    = post.get("env", "");    // argument to query
+        final String qenv    = post.get("env", "");    // argument to query
 
-        final yacySeed otherPeer = yacyCore.seedDB.get(iam);
-        if (otherPeer == null) {
+        final yacySeed oseed = yacyCore.seedDB.get(ohash);
+        if (oseed == null) {
             prop.put("response", "0");
             return prop;
         } else {
-            otherPeer.setLastSeenUTC();
+            oseed.setFlagDirectConnect(true);
+            oseed.setLastSeenUTC();
         }
 
         prop.put("mytime", serverDate.formatShortSecond());
@@ -107,7 +107,7 @@
         if (obj.equals("rwiurlcount")) {
             // the total number of different urls in the rwi is returned
             // <env> shall contain a word hash, the number of assigned lurls 
to this hash is returned
-            prop.put("response", sb.wordIndex.indexSize(env));
+            prop.put("response", sb.wordIndex.indexSize(qenv));
             return prop;
         }
 

Modified: trunk/htroot/yacy/search.java
===================================================================
--- trunk/htroot/yacy/search.java       2008-02-08 12:26:03 UTC (rev 4460)
+++ trunk/htroot/yacy/search.java       2008-02-08 14:06:34 UTC (rev 4461)
@@ -59,7 +59,7 @@
 
     public static serverObjects respond(httpHeader header, serverObjects post, 
serverSwitch env) {
         // return variable that accumulates replacements
-        serverObjects prop = new serverObjects();
+        final serverObjects prop = new serverObjects();
         // defaults
         prop.put("links", "");
         prop.put("linkcount", "0");
@@ -86,8 +86,8 @@
             return prop;
         }
 
-        final String query = post.get("query", "");   // a string of word 
hashes that shall be searched and combined
-        String abstracts = post.get("abstracts", ""); // a string of word 
hashes for abstracts that shall be generated, or 'auto' (for maxcount-word), or 
'' (for none)
+        final String query = post.get("query", ""); // a string of word hashes 
that shall be searched and combined
+        final String abstracts = post.get("abstracts", ""); // a string of 
word hashes for abstracts that shall be generated, or 'auto' (for 
maxcount-word), or '' (for none)
         if ((query == null || query.length() == 0) & (abstracts == null || 
abstracts.length() == 0)) {
             return prop;
         }
@@ -96,9 +96,8 @@
         sb.intermissionAllThreads(3000);
         sb.remoteSearchLastAccess = System.currentTimeMillis();
 
-        final String oseed = post.get("myseed", ""); // complete seed of the 
requesting peer
-        final String key   = post.get("key", "");    // transmission key for 
response
-        final yacySeed opeer = yacySeed.genRemoteSeed(oseed, key, true);
+        // myseed = complete seed of the requesting peer, key = transmission 
key for response
+        final yacySeed opeer = yacySeed.genRemoteSeed(post.get("myseed", ""), 
post.get("key", ""), true);
         // store accessing peer
         if (yacyCore.seedDB == null) {
             yacyCore.log.logSevere("yacy.search: seed cache not initialized");

Modified: trunk/htroot/yacy/transfer.java
===================================================================
--- trunk/htroot/yacy/transfer.java     2008-02-08 12:26:03 UTC (rev 4460)
+++ trunk/htroot/yacy/transfer.java     2008-02-08 14:06:34 UTC (rev 4461)
@@ -61,11 +61,13 @@
 public final class transfer {
 
     public static serverObjects respond(httpHeader header, serverObjects post, 
serverSwitch env) {
-        plasmaSwitchboard sb = (plasmaSwitchboard) env;
-        serverObjects prop = new serverObjects();
-        if ((post == null) || (env == null)) return prop;
-        if (!yacyNetwork.authentifyRequest(post, env)) return prop;
-        
+        // return variable that accumulates replacements
+        final serverObjects prop = new serverObjects();
+
+        if (post == null || env == null || 
!yacyNetwork.authentifyRequest(post, env)) {
+            return prop;
+        }
+
         String process  = post.get("process", "");  // permission or store
 //      String key      = post.get("key", "");      // a transmission key from 
the client
         String ohash    = post.get("iam", "");      // identification of the 
client (a peer-hash)
@@ -81,22 +83,24 @@
         prop.put("process_path", "");
         prop.put("process_maxsize", "0");
 
+        final plasmaSwitchboard sb = (plasmaSwitchboard) env;
         if (sb.isRobinsonMode() || !sb.rankingOn) {
             // in a robinson environment, do not answer. We do not do any 
transfer in a robinson cluster.
             return prop;
         }
 
-        final yacySeed opeer = yacyCore.seedDB.get(ohash);
-        if (opeer == null) {
+        final yacySeed oseed = yacyCore.seedDB.get(ohash);
+        if (oseed == null) {
             // reject unknown peers: this does not appear fair, but anonymous 
senders are dangerous
             sb.getLog().logFine("RankingTransmission: rejected unknown peer '" 
+ ohash + "', current IP " + header.get(httpHeader.CONNECTION_PROP_CLIENTIP, 
"unknown"));
             return prop;
         }
-        opeer.setLastSeenUTC();
+        oseed.setFlagDirectConnect(true);
+        oseed.setLastSeenUTC();
 
         if (filename.indexOf("..") >= 0) {
             // reject paths that contain '..' because they are dangerous
-            sb.getLog().logFine("RankingTransmission: rejected wrong path '" + 
filename + "' from peer " + opeer.getName() + "/" + opeer.getPublicAddress()+ 
", current IP " + header.get(httpHeader.CONNECTION_PROP_CLIENTIP, "unknown"));
+            sb.getLog().logFine("RankingTransmission: rejected wrong path '" + 
filename + "' from peer " + oseed.getName() + "/" + oseed.getPublicAddress()+ 
", current IP " + header.get(httpHeader.CONNECTION_PROP_CLIENTIP, "unknown"));
             return prop;
         }
 
@@ -114,7 +118,7 @@
                 prop.put("process_path", "");  // currently empty; the store 
process will find a path
                 prop.put("process_maxsize", "-1"); // if response is too big 
we return the size of the file
                 
sb.rankingPermissions.put(serverCodings.encodeMD5Hex(kelondroBase64Order.standardCoder.encodeString(access)),
 filename);
-                sb.getLog().logFine("RankingTransmission: granted peer " + 
opeer.hash + ":" + opeer.getName() + " to send CR file " + filename);
+                sb.getLog().logFine("RankingTransmission: granted peer " + 
oseed.hash + ":" + oseed.getName() + " to send CR file " + filename);
             }
             return prop;
         }
@@ -132,7 +136,7 @@
                 if ((grantedFile == null) || 
(!(grantedFile.equals(filename)))) {
                     // fraud-access of this interface
                     prop.put("response", "denied");
-                    sb.getLog().logFine("RankingTransmission: denied " + 
opeer.hash + ":" + opeer.getName() + " to send CR file " + filename + ": wrong 
access code");
+                    sb.getLog().logFine("RankingTransmission: denied " + 
oseed.hash + ":" + oseed.getName() + " to send CR file " + filename + ": wrong 
access code");
                 } else {
                     sb.rankingPermissions.remove(accesscode); // not needed 
any more
                     File path = new File(sb.rankingPath, 
plasmaRankingDistribution.CR_OTHER);
@@ -144,10 +148,10 @@
                             String md5t = serverCodings.encodeMD5Hex(file);
                             if (md5t.equals(md5)) {
                                 prop.put("response", "ok");
-                                sb.getLog().logFine("RankingTransmission: 
received from peer " + opeer.hash + ":" + opeer.getName() + " CR file " + 
filename);
+                                sb.getLog().logFine("RankingTransmission: 
received from peer " + oseed.hash + ":" + oseed.getName() + " CR file " + 
filename);
                             } else {
                                 prop.put("response", "transfer failure");
-                                sb.getLog().logFine("RankingTransmission: 
transfer failure from peer " + opeer.hash + ":" + opeer.getName() + " for CR 
file " + filename);
+                                sb.getLog().logFine("RankingTransmission: 
transfer failure from peer " + oseed.hash + ":" + oseed.getName() + " for CR 
file " + filename);
                             }
                         }else{
                             //exploit?
@@ -163,7 +167,7 @@
         }
 
         // wrong access
-        sb.getLog().logFine("RankingTransmission: rejected unknown process " + 
process + ":" + purpose + " from peer " + opeer.hash + ":" + opeer.getName());
+        sb.getLog().logFine("RankingTransmission: rejected unknown process " + 
process + ":" + purpose + " from peer " + oseed.hash + ":" + oseed.getName());
         return prop;
     }
 

Modified: trunk/htroot/yacy/transferRWI.java
===================================================================
--- trunk/htroot/yacy/transferRWI.java  2008-02-08 12:26:03 UTC (rev 4460)
+++ trunk/htroot/yacy/transferRWI.java  2008-02-08 14:06:34 UTC (rev 4461)
@@ -67,55 +67,59 @@
 public final class transferRWI {
 
     public static serverObjects respond(httpHeader header, serverObjects post, 
serverSwitch env) throws InterruptedException {
-        
         // return variable that accumulates replacements
-        final plasmaSwitchboard sb = (plasmaSwitchboard) env;
         final serverObjects prop = new serverObjects();
-        if ((post == null) || (env == null)) return prop;
-        if (!yacyNetwork.authentifyRequest(post, env)) return prop;
+
+        if (post == null || env == null || 
!yacyNetwork.authentifyRequest(post, env)) {
+            return prop;
+        }
+
         if (!post.containsKey("wordc")) return prop;
         if (!post.containsKey("entryc")) return prop;
-        
+
         // request values
-        final String iam      = post.get("iam", "");                      // 
seed hash of requester
-        final String youare   = post.get("youare", "");                   // 
seed hash of the target peer, needed for network stability
-//      final String key      = (String) post.get("key", "");             // 
transmission key
-        final int wordc       = post.getInt("wordc", 0);                  // 
number of different words
-        final int entryc      = post.getInt("entryc", 0);                 // 
number of entries in indexes
-        byte[] indexes        = post.get("indexes", "").getBytes();       // 
the indexes, as list of word entries
+        final String ohash  = post.get("iam", "");                // seed hash 
of requester
+        final String youare = post.get("youare", "");             // seed hash 
of the target peer, needed for network stability
+//      final String key    = (String) post.get("key", "");       // 
transmission key
+        final int wordc     = post.getInt("wordc", 0);            // number of 
different words
+        final int entryc    = post.getInt("entryc", 0);           // number of 
entries in indexes
+        byte[] indexes      = post.get("indexes", "").getBytes(); // the 
indexes, as list of word entries
+
+        final plasmaSwitchboard sb = (plasmaSwitchboard) env;
         boolean granted       = sb.getConfig("allowReceiveIndex", 
"false").equals("true");
         boolean blockBlacklist = sb.getConfig("indexReceiveBlockBlacklist", 
"false").equals("true");
         boolean checkLimit    = 
sb.getConfigBool("indexDistribution.transferRWIReceiptLimitEnabled", true);
         final long cachelimit = 
sb.getConfigLong("indexDistribution.dhtReceiptLimit", 10000);
 
-        final yacySeed otherPeer = yacyCore.seedDB.get(iam);
-        if (otherPeer == null) {
+        final yacySeed oseed = yacyCore.seedDB.get(ohash);
+        if (oseed == null) {
             prop.put("unknownURL", "");
             prop.put("result", "busy");
             prop.put("pause", "120000");
             return prop;
         } else {
-            otherPeer.setLastSeenUTC();
+            oseed.setFlagDirectConnect(true);
+            oseed.setLastSeenUTC();
         }
-        final String otherPeerName = iam + ":" + otherPeer.getName() + "/" + 
otherPeer.getVersion();
+        final String oname = ohash + ":" + oseed.getName() + "/" + 
oseed.getVersion();
 
         // response values
         String       result      = "ok";
         StringBuffer unknownURLs = new StringBuffer();
         int          pause       = 10000;
-        
+
         if ((youare == null) || 
(!youare.equals(yacyCore.seedDB.mySeed().hash))) {
-               sb.getLog().logInfo("Rejecting RWIs from peer " + otherPeerName 
+ ". Wrong target. Wanted peer=" + youare + ", iam=" + 
yacyCore.seedDB.mySeed().hash);
+               sb.getLog().logInfo("Rejecting RWIs from peer " + oname + ". 
Wrong target. Wanted peer=" + youare + ", iam=" + 
yacyCore.seedDB.mySeed().hash);
             result = "wrong_target";
             pause = 0;
         } else if ((!granted) || (sb.isRobinsonMode())) {
             // we dont want to receive indexes
-            sb.getLog().logInfo("Rejecting RWIs from peer " + otherPeerName + 
". Not granted.");
+            sb.getLog().logInfo("Rejecting RWIs from peer " + oname + ". Not 
granted.");
             result = "not_granted";
             pause = 0;
         } else if (checkLimit && sb.wordIndex.dhtInCacheSize() > cachelimit) {
             // we are too busy to receive indexes
-            sb.getLog().logInfo("Rejecting RWIs from peer " + otherPeerName + 
". We are too busy (buffersize=" + sb.wordIndex.dhtInCacheSize() + ").");
+            sb.getLog().logInfo("Rejecting RWIs from peer " + oname + ". We 
are too busy (buffersize=" + sb.wordIndex.dhtInCacheSize() + ").");
             granted = false; // don't accept more words if there are too many 
words to flush
             result = "busy";
             pause = 60000;
@@ -128,7 +132,7 @@
         } */ else {
             // we want and can receive indexes
             // log value status (currently added to find outOfMemory error
-            sb.getLog().logFine("Processing " + indexes.length + " bytes / " + 
wordc + " words / " + entryc + " entries from " + otherPeerName);
+            sb.getLog().logFine("Processing " + indexes.length + " bytes / " + 
wordc + " words / " + entryc + " entries from " + oname);
             final long startProcess = System.currentTimeMillis();
 
             // decode request
@@ -171,7 +175,7 @@
                 // block blacklisted entries
                 if ((blockBlacklist) && 
(plasmaSwitchboard.urlBlacklist.hashInBlacklistedCache(plasmaURLPattern.BLACKLIST_DHT,
 urlHash))) {
                     int deleted = sb.wordIndex.tryRemoveURLs(urlHash);
-                    yacyCore.log.logFine("transferRWI: blocked blacklisted 
URLHash '" + urlHash + "' from peer " + otherPeerName + "; deleted " + deleted 
+ " URL entries from RWIs");
+                    yacyCore.log.logFine("transferRWI: blocked blacklisted 
URLHash '" + urlHash + "' from peer " + oname + "; deleted " + deleted + " URL 
entries from RWIs");
                     blocked++;
                     continue;
                 }
@@ -205,10 +209,10 @@
             }
             if (unknownURLs.length() > 0) { unknownURLs.delete(0, 1); }
             if ((wordhashes.length == 0) || (received == 0)) {
-                sb.getLog().logInfo("Received 0 RWIs from " + otherPeerName + 
", processed in " + (System.currentTimeMillis() - startProcess) + " 
milliseconds, requesting " + unknownURL.size() + " URLs, blocked " + blocked + 
" RWIs");
+                sb.getLog().logInfo("Received 0 RWIs from " + oname + ", 
processed in " + (System.currentTimeMillis() - startProcess) + " milliseconds, 
requesting " + unknownURL.size() + " URLs, blocked " + blocked + " RWIs");
             } else {
                 final double avdist = 
(yacyDHTAction.dhtDistance(yacyCore.seedDB.mySeed().hash, wordhashes[0]) + 
yacyDHTAction.dhtDistance(yacyCore.seedDB.mySeed().hash, wordhashes[received - 
1])) / 2.0;
-                sb.getLog().logInfo("Received " + received + " Entries " + 
wordc + " Words [" + wordhashes[0] + " .. " + wordhashes[received - 1] + "]/" + 
avdist + " from " + otherPeerName + ", processed in " + 
(System.currentTimeMillis() - startProcess) + " milliseconds, requesting " + 
unknownURL.size() + "/" + receivedURL + " URLs, blocked " + blocked + " RWIs");
+                sb.getLog().logInfo("Received " + received + " Entries " + 
wordc + " Words [" + wordhashes[0] + " .. " + wordhashes[received - 1] + "]/" + 
avdist + " from " + oname + ", processed in " + (System.currentTimeMillis() - 
startProcess) + " milliseconds, requesting " + unknownURL.size() + "/" + 
receivedURL + " URLs, blocked " + blocked + " RWIs");
             }
             result = "ok";
             

Modified: trunk/htroot/yacy/transferURL.java
===================================================================
--- trunk/htroot/yacy/transferURL.java  2008-02-08 12:26:03 UTC (rev 4460)
+++ trunk/htroot/yacy/transferURL.java  2008-02-08 14:06:34 UTC (rev 4461)
@@ -62,45 +62,48 @@
 
 public final class transferURL {
 
-    
     public static serverObjects respond(httpHeader header, serverObjects post, 
serverSwitch env) throws InterruptedException {
+        // return variable that accumulates replacements
+        final serverObjects prop = new serverObjects();
+
+        if (post == null || env == null || 
!yacyNetwork.authentifyRequest(post, env)) {
+            return prop;
+        }
+
         long start = System.currentTimeMillis();
         long freshdate = 0;
         try {freshdate = serverDate.parseShortDay("20061101").getTime();} 
catch (ParseException e1) {}
-        
-        // return variable that accumulates replacements
-        final plasmaSwitchboard sb = (plasmaSwitchboard) env;
-        final serverObjects prop = new serverObjects();
-        if ((post == null) || (env == null)) return prop;
-        if (!yacyNetwork.authentifyRequest(post, env)) return prop;
 
         // request values
-        final String iam      = post.get("iam", "");      // seed hash of 
requester
-        final String youare   = post.get("youare", "");   // seed hash of the 
target peer, needed for network stability
-//      final String key      = post.get("key", "");      // transmission key
-        final int urlc        = post.getInt("urlc", 0);    // number of 
transported urls
+        final String ohash  = post.get("iam", "");    // seed hash of requester
+        final String youare = post.get("youare", ""); // seed hash of the 
target peer, needed for network stability
+//      final String key    = post.get("key", "");    // transmission key
+        final int urlc      = post.getInt("urlc", 0); // number of transported 
urls
+
+        final plasmaSwitchboard sb = (plasmaSwitchboard) env;
         final boolean granted = sb.getConfig("allowReceiveIndex", 
"false").equals("true");
         final boolean blockBlacklist = 
sb.getConfig("indexReceiveBlockBlacklist", "false").equals("true");
 
-        final yacySeed otherPeer = yacyCore.seedDB.get(iam);
-        if (otherPeer == null) {
+        final yacySeed oseed = yacyCore.seedDB.get(ohash);
+        if (oseed == null) {
             prop.put("result", "error_not_granted");
             prop.put("pause", "120000");
             return prop;
         } else {
-            otherPeer.setLastSeenUTC();
+            oseed.setFlagDirectConnect(true);
+            oseed.setLastSeenUTC();
         }
-        final String otherPeerName = iam + ":" + otherPeer.getName() + "/" + 
otherPeer.getVersion();
+        final String oname = ohash + ":" + oseed.getName() + "/" + 
oseed.getVersion();
 
         // response values
         String result = "";
         String doublevalues = "0";
 
         if ((youare == null) || 
(!youare.equals(yacyCore.seedDB.mySeed().hash))) {
-               sb.getLog().logInfo("Rejecting URLs from peer " + otherPeerName 
+ ". Wrong target. Wanted peer=" + youare + ", iam=" + 
yacyCore.seedDB.mySeed().hash);
+               sb.getLog().logInfo("Rejecting URLs from peer " + oname + ". 
Wrong target. Wanted peer=" + youare + ", iam=" + 
yacyCore.seedDB.mySeed().hash);
             result = "wrong_target";
         } else if ((!granted) || (sb.isRobinsonMode())) {
-               sb.getLog().logInfo("Rejecting URLs from peer " + otherPeerName 
+ ". Not granted.");
+               sb.getLog().logInfo("Rejecting URLs from peer " + oname + ". 
Not granted.");
             result = "error_not_granted";
         } else {
             int received = 0;
@@ -115,7 +118,7 @@
                 // read new lurl-entry
                 urls = (String) post.get("url" + i);
                 if (urls == null) {
-                    yacyCore.log.logFine("transferURL: got null URL-string 
from peer " + otherPeerName);
+                    yacyCore.log.logFine("transferURL: got null URL-string 
from peer " + oname);
                     blocked++;
                     continue;
                 }
@@ -123,7 +126,7 @@
                 // parse new lurl-entry
                 lEntry = sb.wordIndex.loadedURL.newEntry(urls);
                 if (lEntry == null) {
-                    yacyCore.log.logWarning("transferURL: received invalid URL 
(entry null) from peer " + otherPeerName + "\n\tURL Property: " + urls);
+                    yacyCore.log.logWarning("transferURL: received invalid URL 
(entry null) from peer " + oname + "\n\tURL Property: " + urls);
                     blocked++;
                     continue;
                 }
@@ -131,14 +134,14 @@
                 // check if entry is well-formed
                 indexURLEntry.Components comp = lEntry.comp();
                 if (comp.url() == null) {
-                    yacyCore.log.logWarning("transferURL: received invalid URL 
from peer " + otherPeerName + "\n\tURL Property: " + urls);
+                    yacyCore.log.logWarning("transferURL: received invalid URL 
from peer " + oname + "\n\tURL Property: " + urls);
                     blocked++;
                     continue;
                 }
                 
                 // check whether entry is too old
                 if (lEntry.freshdate().getTime() <= freshdate) {
-                    yacyCore.log.logFine("transerURL: received too old URL 
from peer " + otherPeerName + ": " + lEntry.freshdate());
+                    yacyCore.log.logFine("transerURL: received too old URL 
from peer " + oname + ": " + lEntry.freshdate());
                     blocked++;
                     continue;
                 }
@@ -146,7 +149,7 @@
                 // check if the entry is blacklisted
                 if ((blockBlacklist) && 
(plasmaSwitchboard.urlBlacklist.isListed(plasmaURLPattern.BLACKLIST_DHT, 
comp.url()))) {
                     int deleted = sb.wordIndex.tryRemoveURLs(lEntry.hash());
-                    yacyCore.log.logFine("transferURL: blocked blacklisted URL 
'" + comp.url().toNormalform(false, true) + "' from peer " + otherPeerName + "; 
deleted " + deleted + " URL entries from RWIs");
+                    yacyCore.log.logFine("transferURL: blocked blacklisted URL 
'" + comp.url().toNormalform(false, true) + "' from peer " + oname + "; deleted 
" + deleted + " URL entries from RWIs");
                     lEntry = null;
                     blocked++;
                     continue;
@@ -154,7 +157,7 @@
                 
                 // check if the entry is in our network domain
                 if (!sb.acceptURL(comp.url())) {
-                    yacyCore.log.logFine("transferURL: blocked URL outside of 
our domain '" + comp.url().toNormalform(false, true) + "' from peer " + 
otherPeerName);
+                    yacyCore.log.logFine("transferURL: blocked URL outside of 
our domain '" + comp.url().toNormalform(false, true) + "' from peer " + oname);
                     lEntry = null;
                     blocked++;
                     continue;
@@ -163,8 +166,8 @@
                 // write entry to database
                 try {
                     sb.wordIndex.loadedURL.store(lEntry);
-                    sb.wordIndex.loadedURL.stack(lEntry, iam, iam, 3);
-                    yacyCore.log.logFine("transferURL: received URL '" + 
comp.url().toNormalform(false, true) + "' from peer " + otherPeerName);
+                    sb.wordIndex.loadedURL.stack(lEntry, ohash, ohash, 3);
+                    yacyCore.log.logFine("transferURL: received URL '" + 
comp.url().toNormalform(false, true) + "' from peer " + oname);
                     received++;
                 } catch (IOException e) {
                     e.printStackTrace();
@@ -176,8 +179,8 @@
             // return rewrite properties
             final int more = sb.wordIndex.loadedURL.size() - sizeBefore;
             doublevalues = Integer.toString(received - more);
-            sb.getLog().logInfo("Received " + received + " URLs from peer " + 
otherPeerName + " in " + (System.currentTimeMillis() - start) + " ms, Blocked " 
+ blocked + " URLs");
-            if ((received - more) > 0) sb.getLog().logSevere("Received " + 
doublevalues + " double URLs from peer " + otherPeerName);
+            sb.getLog().logInfo("Received " + received + " URLs from peer " + 
oname + " in " + (System.currentTimeMillis() - start) + " ms, Blocked " + 
blocked + " URLs");
+            if ((received - more) > 0) sb.getLog().logSevere("Received " + 
doublevalues + " double URLs from peer " + oname);
             result = "ok";
         }
 

Modified: trunk/source/de/anomic/yacy/yacyClient.java
===================================================================
--- trunk/source/de/anomic/yacy/yacyClient.java 2008-02-08 12:26:03 UTC (rev 
4460)
+++ trunk/source/de/anomic/yacy/yacyClient.java 2008-02-08 14:06:34 UTC (rev 
4461)
@@ -259,6 +259,7 @@
             );
 
             if (result == null || result.size() == 0) { return null; }
+            target.setFlagDirectConnect(true);
             target.setLastSeenUTC();
             //final Date remoteTime = yacyCore.parseUniversalDate((String) 
result.get(yacySeed.MYTIME)); // read remote time
             return yacySeed.genRemoteSeed((String) result.get("response"), 
post.get("key", ""), true);
@@ -294,6 +295,7 @@
             if (resp == null) {
                 return -1;
             } else try {
+                target.setFlagDirectConnect(true);
                 target.setLastSeenUTC();
                 return Integer.parseInt(resp);
             } catch (NumberFormatException e) {
@@ -334,6 +336,7 @@
             if (resp == null) {
                 return -1;
             } else try {
+                target.setFlagDirectConnect(true);
                 target.setLastSeenUTC();
                 return Integer.parseInt(resp);
             } catch (NumberFormatException e) {
@@ -862,7 +865,7 @@
         }
     }
 
-    public static HashMap<String, Object> transferIndex(yacySeed targetSeed, 
indexContainer[] indexes, HashMap<String, indexURLEntry> urlCache, boolean 
gzipBody, int timeout) {
+    public static HashMap<String, Object> transferIndex(yacySeed target, 
indexContainer[] indexes, HashMap<String, indexURLEntry> urlCache, boolean 
gzipBody, int timeout) {
         
         HashMap<String, Object> resultObj = new HashMap<String, Object>();
         int payloadSize = 0;
@@ -882,7 +885,7 @@
             }        
             
             // transfer the RWI without the URLs
-            HashMap<String, String> in = transferRWI(targetSeed, indexes, 
gzipBody, timeout);
+            HashMap<String, String> in = transferRWI(target, indexes, 
gzipBody, timeout);
             resultObj.put("resultTransferRWI", in);
 
             if (in == null) {
@@ -897,11 +900,9 @@
                 return resultObj;
             }
 
-            targetSeed.setLastSeenUTC();
-
             if (!(result.equals("ok"))) {
-                targetSeed.setFlagAcceptRemoteIndex(false);
-                yacyCore.seedDB.update(targetSeed.hash, targetSeed);
+                target.setFlagAcceptRemoteIndex(false);
+                yacyCore.seedDB.update(target.hash, target);
                 resultObj.put("result", result);
                 return resultObj;
             }
@@ -926,7 +927,7 @@
                 }
             }
             
-            in = transferURL(targetSeed, urls, gzipBody, timeout);
+            in = transferURL(target, urls, gzipBody, timeout);
             resultObj.put("resultTransferURL", in);
             
             if (in == null) {
@@ -941,8 +942,8 @@
                 return resultObj;
             }
             if (!(result.equals("ok"))) {
-                targetSeed.setFlagAcceptRemoteIndex(false);
-                yacyCore.seedDB.update(targetSeed.hash, targetSeed);
+                target.setFlagAcceptRemoteIndex(false);
+                yacyCore.seedDB.update(target.hash, target);
                 resultObj.put("result",result);
                 return resultObj;
             }

Modified: trunk/source/de/anomic/yacy/yacyCore.java
===================================================================
--- trunk/source/de/anomic/yacy/yacyCore.java   2008-02-08 12:26:03 UTC (rev 
4460)
+++ trunk/source/de/anomic/yacy/yacyCore.java   2008-02-08 14:06:34 UTC (rev 
4461)
@@ -93,11 +93,11 @@
     public static File yacyDBPath;
     public static final Map<String, yacyAccessible> amIAccessibleDB = 
Collections.synchronizedMap(new HashMap<String, yacyAccessible>()); // Holds 
PeerHash / yacyAccessible Relations
     // constants for PeerPing behaviour
-    private static final int PING_INITIAL = 18;
+    private static final int PING_INITIAL = 12;
     private static final int PING_MAX_RUNNING = 6;
     private static final int PING_MIN_RUNNING = 3;
-    private static final int PING_MIN_DBSIZE = 5;
-    private static final int PING_MIN_PEERSEEN = 1; // min. accessible to 
force senior
+    private static final int PING_MIN_DBSIZE = 3;
+    private static final int PING_MIN_PEERSEEN = 2; // min. accessible to 
force senior
     private static final long PING_MAX_DBAGE = 15 * 60 * 1000; // in 
milliseconds
 
     // public static yacyShare shareManager = null;
@@ -438,7 +438,7 @@
 
             // going through the peer list and starting a new publisher thread 
for each peer
             int i = 0;
-            while (si. hasNext()) {
+            while (si.hasNext()) {
                 seed = (yacySeed) si.next();
                 if (seed == null) {
                     sync.P();

Modified: trunk/source/de/anomic/yacy/yacySeed.java
===================================================================
--- trunk/source/de/anomic/yacy/yacySeed.java   2008-02-08 12:26:03 UTC (rev 
4460)
+++ trunk/source/de/anomic/yacy/yacySeed.java   2008-02-08 14:06:34 UTC (rev 
4461)
@@ -815,7 +815,7 @@
 
     public final String genSeedStr(String key) {
         // use a default encoding
-        return this.genSeedStr('b', key);
+        return this.genSeedStr('z', key);
     }
 
     public final synchronized String genSeedStr(char method, String key) {
@@ -838,7 +838,7 @@
     }
 
     public final void save(File f) throws IOException {
-        final String out = this.genSeedStr('p', null);
+        final String out = this.genSeedStr('z', null);
         final FileWriter fw = new FileWriter(f);
         fw.write(out, 0, out.length());
         fw.close();

_______________________________________________
YaCy-svn mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/yacy-svn

Antwort per Email an