Author: borg-0300
Date: 2008-02-06 20:48:41 +0100 (Wed, 06 Feb 2008)
New Revision: 4455
Modified:
trunk/htroot/yacy/transfer.java
Log:
undo 4448 (no bug)
Modified: trunk/htroot/yacy/transfer.java
===================================================================
--- trunk/htroot/yacy/transfer.java 2008-02-06 19:00:18 UTC (rev 4454)
+++ trunk/htroot/yacy/transfer.java 2008-02-06 19:48:41 UTC (rev 4455)
@@ -66,12 +66,12 @@
if ((post == null) || (env == null)) return prop;
if (!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 otherpeer = post.get("iam", ""); // identification of the
client (a peer-hash)
- String purpose = post.get("purpose", ""); // declares how the file
shall be treated
- String filename = post.get("filename", ""); // a name of a file
without path
- //long filesize = Long.parseLong((String) post.get("filesize",
"")); // the size of the file
+ 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)
+ String purpose = post.get("purpose", ""); // declares how the file
shall be treated
+ String filename = post.get("filename", ""); // a name of a file
without path
+// long filesize = Long.parseLong((String) post.get("filesize", ""));
// the size of the file
prop.put("process", "0");
prop.put("response", "denied"); // reject is default and is
overwritten if ok
@@ -86,29 +86,27 @@
return prop;
}
- final yacySeed otherPeer = yacyCore.seedDB.get(otherpeer);
- if (otherPeer == null) {
+ final yacySeed opeer = yacyCore.seedDB.get(ohash);
+ if (opeer == null) {
// reject unknown peers: this does not appear fair, but anonymous
senders are dangerous
- sb.getLog().logFine("RankingTransmission: rejected unknown peer,
current IP " + header.get("CLIENTIP", "unknown"));
+ sb.getLog().logFine("RankingTransmission: rejected unknown peer '"
+ ohash + "', current IP " + header.get("CLIENTIP", "unknown"));
return prop;
}
- otherPeer.setLastSeenUTC();
+ opeer.setLastSeenUTC();
if (filename.indexOf("..") >= 0) {
// reject paths that contain '..' because they are dangerous
- sb.getLog().logFine("RankingTransmission: rejected wrong path '" +
filename + "' from peer " + otherPeer.getName() + "/" +
otherPeer.getPublicAddress()+ ", current IP " + header.get("CLIENTIP",
"unknown"));
+ sb.getLog().logFine("RankingTransmission: rejected wrong path '" +
filename + "' from peer " + opeer.getName() + "/" + opeer.getPublicAddress()+
", current IP " + header.get("CLIENTIP", "unknown"));
return prop;
}
-
- String otherpeerName = otherPeer.hash + ":" + otherPeer.getName();
-
+
if (process.equals("permission")) {
prop.put("process", "0");
if (((purpose.equals("crcon")) && (filename.startsWith("CRG")) &&
(filename.endsWith(".cr.gz"))) || ((filename.startsWith("domlist")) &&
(filename.endsWith(".txt.gz") || filename.endsWith(".zip")))) {
// consolidation of cr files
//System.out.println("yacy/transfer:post=" + post.toString());
//String cansendprotocol = (String)
post.get("can-send-protocol", "http");
- String access =
kelondroBase64Order.enhancedCoder.encode(serverCodings.encodeMD5Raw(otherpeer +
":" + filename)) + ":" +
kelondroBase64Order.enhancedCoder.encode(serverCodings.encodeMD5Raw("" +
System.currentTimeMillis()));
+ String access =
kelondroBase64Order.enhancedCoder.encode(serverCodings.encodeMD5Raw(ohash + ":"
+ filename)) + ":" +
kelondroBase64Order.enhancedCoder.encode(serverCodings.encodeMD5Raw("" +
System.currentTimeMillis()));
prop.put("response", "ok");
prop.put("process_access", access);
prop.put("process_address",
yacyCore.seedDB.mySeed().getPublicAddress());
@@ -116,7 +114,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 " +
otherpeerName + " to send CR file " + filename);
+ sb.getLog().logFine("RankingTransmission: granted peer " +
opeer.hash + ":" + opeer.getName() + " to send CR file " + filename);
}
return prop;
}
@@ -134,7 +132,7 @@
if ((grantedFile == null) ||
(!(grantedFile.equals(filename)))) {
// fraud-access of this interface
prop.put("response", "denied");
- sb.getLog().logFine("RankingTransmission: denied " +
otherpeerName + " to send CR file " + filename + ": wrong access code");
+ sb.getLog().logFine("RankingTransmission: denied " +
opeer.hash + ":" + opeer.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);
@@ -146,10 +144,10 @@
String md5t = serverCodings.encodeMD5Hex(file);
if (md5t.equals(md5)) {
prop.put("response", "ok");
- sb.getLog().logFine("RankingTransmission:
received from peer " + otherpeerName + " CR file " + filename);
+ sb.getLog().logFine("RankingTransmission:
received from peer " + opeer.hash + ":" + opeer.getName() + " CR file " +
filename);
} else {
prop.put("response", "transfer failure");
- sb.getLog().logFine("RankingTransmission:
transfer failure from peer " + otherpeerName + " for CR file " + filename);
+ sb.getLog().logFine("RankingTransmission:
transfer failure from peer " + opeer.hash + ":" + opeer.getName() + " for CR
file " + filename);
}
}else{
//exploit?
@@ -165,7 +163,7 @@
}
// wrong access
- sb.getLog().logFine("RankingTransmission: rejected unknown process " +
process + ":" + purpose + " from peer " + otherpeerName);
+ sb.getLog().logFine("RankingTransmission: rejected unknown process " +
process + ":" + purpose + " from peer " + opeer.hash + ":" + opeer.getName());
return prop;
}
_______________________________________________
YaCy-svn mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/yacy-svn