old Version restored before Release

git-svn-id: https://svn.berlios.de/svnroot/repos/yacy/trunk@842 6c8d7289-2bf4-0310-a012-ef5d649a1542
pull/1/head
allo 20 years ago
parent a4b747fe97
commit cd77078aa0

@ -62,7 +62,6 @@ import java.util.HashSet;
import java.util.Iterator;
import java.util.Properties;
import java.util.StringTokenizer;
import java.lang.StringIndexOutOfBoundsException;
import de.anomic.server.serverByteBuffer;
import de.anomic.server.serverCodings;
@ -73,8 +72,6 @@ import de.anomic.server.serverObjects;
import de.anomic.server.serverSwitch;
import de.anomic.server.logging.serverLog;
import de.anomic.yacy.yacyCore;
import de.anomic.plasma.plasmaSwitchboard;
import de.anomic.data.userDB;
/**
@ -104,7 +101,7 @@ public final class httpd implements serverHandler {
private httpdHandler proxyHandler = null; // a servlet that holds the proxy functions
private httpdHandler fileHandler = null; // a servlet that holds the file serving functions
private httpdHandler soapHandler = null;
private static plasmaSwitchboard switchboard = null;
private static serverSwitch switchboard = null;
private static String virtualHost = null;
public static boolean keepAliveSupport = false;
@ -128,13 +125,11 @@ public final class httpd implements serverHandler {
// needed for logging
private final serverLog log = new serverLog("HTTPD");
private final serverCodings codings = new serverCodings(true);
// class methods
public httpd(serverSwitch s, httpdHandler fileHandler, httpdHandler proxyHandler) {
// handler info
httpd.switchboard = (plasmaSwitchboard)s;
httpd.switchboard = s;
this.fileHandler = fileHandler;
this.proxyHandler = proxyHandler;
httpd.virtualHost = switchboard.getConfig("fileHost","localhost");
@ -310,38 +305,18 @@ public final class httpd implements serverHandler {
if (this.proxyAccountBase64MD5 == null)
this.proxyAccountBase64MD5 = switchboard.getConfig("proxyAccountBase64MD5", "");
if (this.proxyAccountBase64MD5.length() > 0) { //TODO replace with a simple switch
if (this.proxyAccountBase64MD5.length() > 0) {
String auth = (String) header.get(httpHeader.PROXY_AUTHORIZATION,"xxxxxx");
auth=auth.trim().substring(6);
try{
auth=codings.decodeBase64String(auth);
}catch(StringIndexOutOfBoundsException e){} //no valid Base64
String[] tmp=auth.split(":");
if(tmp.length == 2){
userDB.Entry entry=switchboard.userDB.getEntry(tmp[0]);
if( entry != null && entry.getMD5EncodedUserPwd().equals(serverCodings.encodeMD5Hex(auth)) ){
//TODO: Check Timelimits
return true;
}
}
// ask for authenticate
this.session.out.write((httpVersion + " 407 Proxy Authentication Required" + serverCore.crlfString +
httpHeader.PROXY_AUTHENTICATE + ": Basic realm=\"log-in\"" + serverCore.crlfString).getBytes());
this.session.out.write((httpHeader.CONTENT_LENGTH + ": 0\r\n").getBytes());
this.session.out.write("\r\n".getBytes());
return false;
// if (!this.proxyAccountBase64MD5.equals(serverCodings.encodeMD5Hex(auth.trim().substring(6)))) {
// // ask for authenticate
// this.session.out.write((httpVersion + " 407 Proxy Authentication Required" + serverCore.crlfString +
// httpHeader.PROXY_AUTHENTICATE + ": Basic realm=\"log-in\"" + serverCore.crlfString).getBytes());
// this.session.out.write((httpHeader.CONTENT_LENGTH + ": 0\r\n").getBytes());
// this.session.out.write("\r\n".getBytes());
// return false;
// }
}else{
return true;
}
//return false; //UNREACHABLE
if (!this.proxyAccountBase64MD5.equals(serverCodings.encodeMD5Hex(auth.trim().substring(6)))) {
// ask for authenticate
this.session.out.write((httpVersion + " 407 Proxy Authentication Required" + serverCore.crlfString +
httpHeader.PROXY_AUTHENTICATE + ": Basic realm=\"log-in\"" + serverCore.crlfString).getBytes());
this.session.out.write((httpHeader.CONTENT_LENGTH + ": 0\r\n").getBytes());
this.session.out.write("\r\n".getBytes());
return false;
}
}
return true;
}
public Boolean UNKNOWN(String requestLine) throws IOException {

Loading…
Cancel
Save