diff --git a/source/de/anomic/http/httpChunkedOutputStream.java b/source/de/anomic/http/httpChunkedOutputStream.java index 7c0bc974c..7ecc76429 100644 --- a/source/de/anomic/http/httpChunkedOutputStream.java +++ b/source/de/anomic/http/httpChunkedOutputStream.java @@ -1,3 +1,46 @@ +//httpChunkedOutputStream.java +//------------------------------------- +//part of YACY +//(C) by Michael Peter Christen; mc@anomic.de +//first published on http://www.anomic.de +//Frankfurt, Germany, 2004 +// +//This file ist contributed by Martin Thelian +//last major change: 05.09.2005 +// +//This program is free software; you can redistribute it and/or modify +//it under the terms of the GNU General Public License as published by +//the Free Software Foundation; either version 2 of the License, or +//(at your option) any later version. +// +//This program is distributed in the hope that it will be useful, +//but WITHOUT ANY WARRANTY; without even the implied warranty of +//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +//GNU General Public License for more details. +// +//You should have received a copy of the GNU General Public License +//along with this program; if not, write to the Free Software +//Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +//Using this software in any meaning (reading, learning, copying, compiling, +//running) means that you agree that the Author(s) is (are) not responsible +//for cost, loss of data or any harm that may be caused directly or indirectly +//by usage of this softare or this documentation. The usage of this software +//is on your own risk. The installation and usage (starting/running) of this +//software may allow other people or application to access your computer and +//any attached devices and is highly dependent on the configuration of the +//software which must be done by the user of the software; the author(s) is +//(are) also not responsible for proper configuration and usage of the +//software, even if provoked by documentation provided together with +//the software. +// +//Any changes to this file according to the GPL as documented in the file +//gpl.txt aside this file in the shipment you received can be done to the +//lines that follows this copyright notice here, but changes must not be +//done inside the copyright notive above. A re-distribution must contain +//the intact and unchanged copyright notice. +//Contributions and changes to the program code must be marked as such. + package de.anomic.http; import java.io.FilterOutputStream; diff --git a/source/de/anomic/http/httpHeader.java b/source/de/anomic/http/httpHeader.java index 8b90ce2c8..13105f036 100644 --- a/source/de/anomic/http/httpHeader.java +++ b/source/de/anomic/http/httpHeader.java @@ -109,9 +109,11 @@ public final class httpHeader extends TreeMap implements Map { public static final String X_CACHE = "X-Cache"; public static final String X_CACHE_LOOKUP = "X-Cache-Lookup"; + public static final String X_FORWARDED_FOR = "X-Forwarded-For"; public static final String X_YACY_KEEP_ALIVE_REQUEST_COUNT = "X-Keep-Alive-Request-Count"; public static final String X_YACY_ORIGINAL_REQUEST_LINE = "X-Original-Request-Line"; + public static final String X_YACY_PREVIOUS_REQUEST_LINE = "X-Previous-Request-Line"; /* ============================================================= * Constants defining http methods diff --git a/source/de/anomic/http/httpc.java b/source/de/anomic/http/httpc.java index dda3297ae..2e23674a1 100644 --- a/source/de/anomic/http/httpc.java +++ b/source/de/anomic/http/httpc.java @@ -1209,6 +1209,8 @@ do upload public httpHeader responseHeader = null; public String httpVer = "HTTP/0.9"; public String status; // the success/failure response string starting with status-code + public int statusCode = 503; + public String statusText = "internal error"; private boolean gzip; // for gunzipping on-the-fly private String encoding; @@ -1223,13 +1225,17 @@ do upload // lets start with worst-case attributes as set-up responseHeader = new httpHeader(reverseMappingCache); - status = "503 internal error"; + statusCode = 503; + statusText = "internal httpc error"; + status = Integer.toString(statusCode) + " " + statusText; gzip = false; // check connection status if (clientInput == null) { // the server has meanwhile disconnected - status = "503 lost connection to server"; + statusCode = 503; + statusText = "lost connection to server"; + status = Integer.toString(statusCode) + " " + statusText; return; // in bad mood } @@ -1237,26 +1243,41 @@ do upload byte[] b = serverCore.receive(clientInput, readLineBuffer, terminalMaxLength, false); if (b == null) { // the server has meanwhile disconnected - status = "503 server has closed connection"; + statusCode = 503; + statusText = "server has closed connection"; + status = Integer.toString(statusCode) + " " + statusText; return; // in bad mood } String buffer = new String(b); // this is the status response line //System.out.println("#S#" + buffer); int p = buffer.indexOf(" "); if (p < 0) { - status = "500 status line parse error"; + statusCode = 500; + statusText = "status line parse error"; + status = Integer.toString(statusCode) + " " + statusText; // flush in anything that comes without parsing while ((b != null) && (b.length != 0)) b = serverCore.receive(clientInput, readLineBuffer, terminalMaxLength, false); return; // in bad mood } + // the http version reported by the server this.httpVer = buffer.substring(0,p); - - // we have a status - status = buffer.substring(p + 1).trim(); // the status code plus reason-phrase - + + // Status of the request, e.g. "200 OK" + this.status = buffer.substring(p + 1).trim(); // the status code plus reason-phrase + + // splitting the status into statuscode and statustext + p = this.status.indexOf(" "); + try { + this.statusCode = Integer.parseInt((p < 0) ? this.status.trim() : this.status.substring(0,p).trim()); + this.statusText = (p < 0) ? "" : this.status.substring(p+1).trim(); + } catch (Exception e) { + this.statusCode = 500; + this.statusText = this.status; + } + // check validity - if (status.startsWith("400")) { + if (this.status.startsWith("400")) { // bad request // flush in anything that comes without parsing while ((b = serverCore.receive(clientInput, readLineBuffer, terminalMaxLength, false)).length != 0) {} diff --git a/source/de/anomic/http/httpd.java b/source/de/anomic/http/httpd.java index 3b059cae8..8afbe05e7 100644 --- a/source/de/anomic/http/httpd.java +++ b/source/de/anomic/http/httpd.java @@ -93,6 +93,7 @@ public final class httpd implements serverHandler { public static final String CONNECTION_PROP_PERSISTENT = "PERSISTENT"; public static final String CONNECTION_PROP_KEEP_ALIVE_COUNT = "KEEP-ALIVE_COUNT"; public static final String CONNECTION_PROP_REQUESTLINE = "REQUESTLINE"; + public static final String CONNECTION_PROP_PREV_REQUESTLINE = "PREVREQUESTLINE"; public static final String CONNECTION_PROP_REQUEST_START = "REQUEST_START"; public static final String CONNECTION_PROP_REQUEST_END = "REQUEST_END"; @@ -745,6 +746,10 @@ public final class httpd implements serverHandler { private final Properties parseQuery(String cmd, String s) { + // getting the last request line for debugging purposes + String prevRequestLine = this.prop.containsKey(CONNECTION_PROP_REQUESTLINE)? + this.prop.getProperty(CONNECTION_PROP_REQUESTLINE) : ""; + // reset property from previous run this.prop.clear(); this.emptyRequestCount = 0; @@ -752,6 +757,7 @@ public final class httpd implements serverHandler { // storing informations about the request this.prop.setProperty(CONNECTION_PROP_METHOD, cmd); this.prop.setProperty(CONNECTION_PROP_REQUESTLINE,cmd + " " + s); + this.prop.setProperty(CONNECTION_PROP_PREV_REQUESTLINE,prevRequestLine); this.prop.setProperty(CONNECTION_PROP_CLIENTIP, this.clientIP); // counting the amount of received requests within this permanent conneciton @@ -1292,6 +1298,8 @@ public final class httpd implements serverHandler { // adding some yacy specific headers header.put(httpHeader.X_YACY_KEEP_ALIVE_REQUEST_COUNT,conProp.getProperty(CONNECTION_PROP_KEEP_ALIVE_COUNT)); header.put(httpHeader.X_YACY_ORIGINAL_REQUEST_LINE,conProp.getProperty(CONNECTION_PROP_REQUESTLINE)); + header.put(httpHeader.X_YACY_PREVIOUS_REQUEST_LINE,conProp.getProperty(CONNECTION_PROP_PREV_REQUESTLINE)); + StringBuffer headerStringBuffer = new StringBuffer(560); diff --git a/source/de/anomic/http/httpdProxyHandler.java b/source/de/anomic/http/httpdProxyHandler.java index 356b00de0..e22c9e9b7 100644 --- a/source/de/anomic/http/httpdProxyHandler.java +++ b/source/de/anomic/http/httpdProxyHandler.java @@ -4,7 +4,8 @@ // (C) by Michael Peter Christen; mc@anomic.de // first published on http://www.anomic.de // Frankfurt, Germany, 2004 -// last major change: 10.05.2004 +//last major change: $LastChangedDate$ by $LastChangedBy$ +//Revision: $LastChangedRevision$ // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -363,6 +364,9 @@ public final class httpdProxyHandler extends httpdAbstractHandler implements htt requestHeader.put(httpHeader.USER_AGENT, generateUserAgent(requestHeader)); } + // setting the X-Forwarded-For Header + requestHeader.put(httpHeader.X_FORWARDED_FOR,conProp.getProperty(httpd.CONNECTION_PROP_CLIENTIP)); + // decide wether to use a cache entry or connect to the network File cacheFile = cacheManager.getCachePath(url); String urlHash = plasmaURL.urlHash(url); @@ -481,12 +485,9 @@ public final class httpdProxyHandler extends httpdAbstractHandler implements htt res = remote.GET(remotePath, requestHeader); conProp.put(httpd.CONNECTION_PROP_CLIENT_REQUEST_HEADER,requestHeader); - // request has been placed and result has been returned. work off response - String[] resStatus = res.status.split(" "); - // determine if it's an internal error of the httpc if (res.responseHeader.size() == 0) { - throw new Exception((resStatus.length > 1) ? resStatus[1] : "Internal httpc error"); + throw new Exception(res.statusText); } // if the content length is not set we have to use chunked transfer encoding @@ -565,8 +566,8 @@ public final class httpdProxyHandler extends httpdAbstractHandler implements htt conProp, respond, httpVer, - Integer.parseInt((resStatus.length > 0) ? resStatus[0]:"503"), - (resStatus.length > 1) ? resStatus[1] : null, + res.statusCode, + res.statusText, res.responseHeader); String storeError; @@ -683,7 +684,9 @@ public final class httpdProxyHandler extends httpdAbstractHandler implements htt this.theLogger.logFine("ignoring bad gzip trail for URL " + url + " (" + e.getMessage() + ")"); this.forceConnectionClose(); } else if ((exceptionMsg != null) && (exceptionMsg.indexOf("Connection reset")>= 0)) { - errorMessage = "Connection reset"; + errorMessage = "Connection reset"; + } else if ((exceptionMsg != null) && (exceptionMsg.indexOf("unknown host")>=0)) { + errorMessage = exceptionMsg; } else if ((remote != null)&&(remote.isClosed())) { // TODO: query for broken pipe errorMessage = "Destination host unexpectedly closed connection"; @@ -885,6 +888,9 @@ public final class httpdProxyHandler extends httpdAbstractHandler implements htt requestHeader.put(httpHeader.USER_AGENT, generateUserAgent(requestHeader)); } + // setting the X-Forwarded-For Header + requestHeader.put(httpHeader.X_FORWARDED_FOR,conProp.getProperty(httpd.CONNECTION_PROP_CLIENTIP)); + // resolve yacy and yacyh domains String yAddress = yacyCore.seedDB.resolveYacyAddress(host); @@ -904,6 +910,11 @@ public final class httpdProxyHandler extends httpdAbstractHandler implements htt // sending the http-HEAD request to the server res = remote.HEAD(remotePath, requestHeader); + // determine if it's an internal error of the httpc + if (res.responseHeader.size() == 0) { + throw new Exception(res.statusText); + } + // removing hop by hop headers this.removeHopByHopHeaders(res.responseHeader); @@ -963,6 +974,9 @@ public final class httpdProxyHandler extends httpdAbstractHandler implements htt requestHeader.put(httpHeader.USER_AGENT, generateUserAgent(requestHeader)); } + // setting the X-Forwarded-For Header + requestHeader.put(httpHeader.X_FORWARDED_FOR,conProp.getProperty(httpd.CONNECTION_PROP_CLIENTIP)); + // resolve yacy and yacyh domains String yAddress = yacyCore.seedDB.resolveYacyAddress(host); @@ -978,6 +992,11 @@ public final class httpdProxyHandler extends httpdAbstractHandler implements htt remote = (yAddress == null) ? newhttpc(host, port, timeout) : newhttpc(yAddress, timeout); res = remote.POST(remotePath, requestHeader, body); + // determine if it's an internal error of the httpc + if (res.responseHeader.size() == 0) { + throw new Exception(res.statusText); + } + // filtering out unwanted headers this.removeHopByHopHeaders(res.responseHeader); diff --git a/source/de/anomic/server/logging/ConsoleOutErrHandler.java b/source/de/anomic/server/logging/ConsoleOutErrHandler.java index 9c4703142..4a8bbb1eb 100644 --- a/source/de/anomic/server/logging/ConsoleOutErrHandler.java +++ b/source/de/anomic/server/logging/ConsoleOutErrHandler.java @@ -1,3 +1,48 @@ +//ConsoleOutErrHandler.java +//------------------------------------- +//part of YACY +//(C) by Michael Peter Christen; mc@anomic.de +//first published on http://www.anomic.de +//Frankfurt, Germany, 2004 +// +//This file ist contributed by Martin Thelian +//last major change: $LastChangedDate$ by $LastChangedBy$ +//Revision: $LastChangedRevision$ +// +//This program is free software; you can redistribute it and/or modify +//it under the terms of the GNU General Public License as published by +//the Free Software Foundation; either version 2 of the License, or +//(at your option) any later version. +// +//This program is distributed in the hope that it will be useful, +//but WITHOUT ANY WARRANTY; without even the implied warranty of +//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +//GNU General Public License for more details. +// +//You should have received a copy of the GNU General Public License +//along with this program; if not, write to the Free Software +//Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +//Using this software in any meaning (reading, learning, copying, compiling, +//running) means that you agree that the Author(s) is (are) not responsible +//for cost, loss of data or any harm that may be caused directly or indirectly +//by usage of this softare or this documentation. The usage of this software +//is on your own risk. The installation and usage (starting/running) of this +//software may allow other people or application to access your computer and +//any attached devices and is highly dependent on the configuration of the +//software which must be done by the user of the software; the author(s) is +//(are) also not responsible for proper configuration and usage of the +//software, even if provoked by documentation provided together with +//the software. +// +//Any changes to this file according to the GPL as documented in the file +//gpl.txt aside this file in the shipment you received can be done to the +//lines that follows this copyright notice here, but changes must not be +//done inside the copyright notive above. A re-distribution must contain +//the intact and unchanged copyright notice. +//Contributions and changes to the program code must be marked as such. + + package de.anomic.server.logging; import java.util.logging.ConsoleHandler; diff --git a/source/de/anomic/server/logging/ConsoleOutHandler.java b/source/de/anomic/server/logging/ConsoleOutHandler.java index adb764757..18737f9e2 100644 --- a/source/de/anomic/server/logging/ConsoleOutHandler.java +++ b/source/de/anomic/server/logging/ConsoleOutHandler.java @@ -1,3 +1,47 @@ +//ConsoleOutHandler.java +//------------------------------------- +//part of YACY +//(C) by Michael Peter Christen; mc@anomic.de +//first published on http://www.anomic.de +//Frankfurt, Germany, 2004 +// +//This file ist contributed by Martin Thelian +//last major change: $LastChangedDate$ by $LastChangedBy$ +//Revision: $LastChangedRevision$ +// +//This program is free software; you can redistribute it and/or modify +//it under the terms of the GNU General Public License as published by +//the Free Software Foundation; either version 2 of the License, or +//(at your option) any later version. +// +//This program is distributed in the hope that it will be useful, +//but WITHOUT ANY WARRANTY; without even the implied warranty of +//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +//GNU General Public License for more details. +// +//You should have received a copy of the GNU General Public License +//along with this program; if not, write to the Free Software +//Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +//Using this software in any meaning (reading, learning, copying, compiling, +//running) means that you agree that the Author(s) is (are) not responsible +//for cost, loss of data or any harm that may be caused directly or indirectly +//by usage of this softare or this documentation. The usage of this software +//is on your own risk. The installation and usage (starting/running) of this +//software may allow other people or application to access your computer and +//any attached devices and is highly dependent on the configuration of the +//software which must be done by the user of the software; the author(s) is +//(are) also not responsible for proper configuration and usage of the +//software, even if provoked by documentation provided together with +//the software. +// +//Any changes to this file according to the GPL as documented in the file +//gpl.txt aside this file in the shipment you received can be done to the +//lines that follows this copyright notice here, but changes must not be +//done inside the copyright notive above. A re-distribution must contain +//the intact and unchanged copyright notice. +//Contributions and changes to the program code must be marked as such. + package de.anomic.server.logging; import java.util.logging.Level; diff --git a/source/de/anomic/server/logging/GuiHandler.java b/source/de/anomic/server/logging/GuiHandler.java index 21d684ce7..ab3118822 100644 --- a/source/de/anomic/server/logging/GuiHandler.java +++ b/source/de/anomic/server/logging/GuiHandler.java @@ -1,3 +1,47 @@ +//GuiHandler.java +//------------------------------------- +//part of YACY +//(C) by Michael Peter Christen; mc@anomic.de +//first published on http://www.anomic.de +//Frankfurt, Germany, 2004 +// +//This file ist contributed by Martin Thelian +//last major change: $LastChangedDate$ by $LastChangedBy$ +//Revision: $LastChangedRevision$ +// +//This program is free software; you can redistribute it and/or modify +//it under the terms of the GNU General Public License as published by +//the Free Software Foundation; either version 2 of the License, or +//(at your option) any later version. +// +//This program is distributed in the hope that it will be useful, +//but WITHOUT ANY WARRANTY; without even the implied warranty of +//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +//GNU General Public License for more details. +// +//You should have received a copy of the GNU General Public License +//along with this program; if not, write to the Free Software +//Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +//Using this software in any meaning (reading, learning, copying, compiling, +//running) means that you agree that the Author(s) is (are) not responsible +//for cost, loss of data or any harm that may be caused directly or indirectly +//by usage of this softare or this documentation. The usage of this software +//is on your own risk. The installation and usage (starting/running) of this +//software may allow other people or application to access your computer and +//any attached devices and is highly dependent on the configuration of the +//software which must be done by the user of the software; the author(s) is +//(are) also not responsible for proper configuration and usage of the +//software, even if provoked by documentation provided together with +//the software. +// +//Any changes to this file according to the GPL as documented in the file +//gpl.txt aside this file in the shipment you received can be done to the +//lines that follows this copyright notice here, but changes must not be +//done inside the copyright notive above. A re-distribution must contain +//the intact and unchanged copyright notice. +//Contributions and changes to the program code must be marked as such. + package de.anomic.server.logging; import java.util.logging.ErrorManager; diff --git a/source/de/anomic/server/logging/serverLog.java b/source/de/anomic/server/logging/serverLog.java index 5adef6476..49d98e974 100644 --- a/source/de/anomic/server/logging/serverLog.java +++ b/source/de/anomic/server/logging/serverLog.java @@ -3,7 +3,8 @@ // (C) by Michael Peter Christen; mc@anomic.de // first published on http://www.anomic.de // Frankfurt, Germany, 2004 -// last major change: 04.08.2004 +//last major change: $LastChangedDate$ by $LastChangedBy$ +//Revision: $LastChangedRevision$ // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by diff --git a/source/de/anomic/server/logging/serverMiniLogFormatter.java b/source/de/anomic/server/logging/serverMiniLogFormatter.java index 6684d87f5..0f4ba3100 100644 --- a/source/de/anomic/server/logging/serverMiniLogFormatter.java +++ b/source/de/anomic/server/logging/serverMiniLogFormatter.java @@ -1,3 +1,48 @@ +//severMiniLogFormatter.java +//------------------------------------- +//part of YACY +//(C) by Michael Peter Christen; mc@anomic.de +//first published on http://www.anomic.de +//Frankfurt, Germany, 2004 +// +//This file ist contributed by Martin Thelian +//last major change: $LastChangedDate$ by $LastChangedBy$ +//Revision: $LastChangedRevision$ +// +//This program is free software; you can redistribute it and/or modify +//it under the terms of the GNU General Public License as published by +//the Free Software Foundation; either version 2 of the License, or +//(at your option) any later version. +// +//This program is distributed in the hope that it will be useful, +//but WITHOUT ANY WARRANTY; without even the implied warranty of +//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +//GNU General Public License for more details. +// +//You should have received a copy of the GNU General Public License +//along with this program; if not, write to the Free Software +//Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +//Using this software in any meaning (reading, learning, copying, compiling, +//running) means that you agree that the Author(s) is (are) not responsible +//for cost, loss of data or any harm that may be caused directly or indirectly +//by usage of this softare or this documentation. The usage of this software +//is on your own risk. The installation and usage (starting/running) of this +//software may allow other people or application to access your computer and +//any attached devices and is highly dependent on the configuration of the +//software which must be done by the user of the software; the author(s) is +//(are) also not responsible for proper configuration and usage of the +//software, even if provoked by documentation provided together with +//the software. +// +//Any changes to this file according to the GPL as documented in the file +//gpl.txt aside this file in the shipment you received can be done to the +//lines that follows this copyright notice here, but changes must not be +//done inside the copyright notive above. A re-distribution must contain +//the intact and unchanged copyright notice. +//Contributions and changes to the program code must be marked as such. + + package de.anomic.server.logging; import java.util.logging.LogRecord; diff --git a/source/de/anomic/server/logging/serverSimpleLogFormatter.java b/source/de/anomic/server/logging/serverSimpleLogFormatter.java index 7727c05d2..6dc39178e 100644 --- a/source/de/anomic/server/logging/serverSimpleLogFormatter.java +++ b/source/de/anomic/server/logging/serverSimpleLogFormatter.java @@ -1,3 +1,48 @@ +//severSimpleLogFormatter.java +//------------------------------------- +//part of YACY +//(C) by Michael Peter Christen; mc@anomic.de +//first published on http://www.anomic.de +//Frankfurt, Germany, 2004 +// +//This file ist contributed by Martin Thelian +//last major change: $LastChangedDate$ by $LastChangedBy$ +//Revision: $LastChangedRevision$ +// +//This program is free software; you can redistribute it and/or modify +//it under the terms of the GNU General Public License as published by +//the Free Software Foundation; either version 2 of the License, or +//(at your option) any later version. +// +//This program is distributed in the hope that it will be useful, +//but WITHOUT ANY WARRANTY; without even the implied warranty of +//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +//GNU General Public License for more details. +// +//You should have received a copy of the GNU General Public License +//along with this program; if not, write to the Free Software +//Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +//Using this software in any meaning (reading, learning, copying, compiling, +//running) means that you agree that the Author(s) is (are) not responsible +//for cost, loss of data or any harm that may be caused directly or indirectly +//by usage of this softare or this documentation. The usage of this software +//is on your own risk. The installation and usage (starting/running) of this +//software may allow other people or application to access your computer and +//any attached devices and is highly dependent on the configuration of the +//software which must be done by the user of the software; the author(s) is +//(are) also not responsible for proper configuration and usage of the +//software, even if provoked by documentation provided together with +//the software. +// +//Any changes to this file according to the GPL as documented in the file +//gpl.txt aside this file in the shipment you received can be done to the +//lines that follows this copyright notice here, but changes must not be +//done inside the copyright notive above. A re-distribution must contain +//the intact and unchanged copyright notice. +//Contributions and changes to the program code must be marked as such. + + package de.anomic.server.logging; import java.io.PrintWriter; diff --git a/source/de/anomic/server/serverPortForwarding.java b/source/de/anomic/server/serverPortForwarding.java index 05ba4728c..e47b8aa4d 100644 --- a/source/de/anomic/server/serverPortForwarding.java +++ b/source/de/anomic/server/serverPortForwarding.java @@ -1,3 +1,47 @@ +//serverPortForwarding.java +//------------------------------------- +//part of YACY +//(C) by Michael Peter Christen; mc@anomic.de +//first published on http://www.anomic.de +//Frankfurt, Germany, 2004 +// +//This file ist contributed by Martin Thelian +//last major change: $LastChangedDate$ by $LastChangedBy$ +//Revision: $LastChangedRevision$ +// +//This program is free software; you can redistribute it and/or modify +//it under the terms of the GNU General Public License as published by +//the Free Software Foundation; either version 2 of the License, or +//(at your option) any later version. +// +//This program is distributed in the hope that it will be useful, +//but WITHOUT ANY WARRANTY; without even the implied warranty of +//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +//GNU General Public License for more details. +// +//You should have received a copy of the GNU General Public License +//along with this program; if not, write to the Free Software +//Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +//Using this software in any meaning (reading, learning, copying, compiling, +//running) means that you agree that the Author(s) is (are) not responsible +//for cost, loss of data or any harm that may be caused directly or indirectly +//by usage of this softare or this documentation. The usage of this software +//is on your own risk. The installation and usage (starting/running) of this +//software may allow other people or application to access your computer and +//any attached devices and is highly dependent on the configuration of the +//software which must be done by the user of the software; the author(s) is +//(are) also not responsible for proper configuration and usage of the +//software, even if provoked by documentation provided together with +//the software. +// +//Any changes to this file according to the GPL as documented in the file +//gpl.txt aside this file in the shipment you received can be done to the +//lines that follows this copyright notice here, but changes must not be +//done inside the copyright notive above. A re-distribution must contain +//the intact and unchanged copyright notice. +//Contributions and changes to the program code must be marked as such. + package de.anomic.server; import java.io.IOException; diff --git a/source/de/anomic/server/serverPortForwardingSch.java b/source/de/anomic/server/serverPortForwardingSch.java index a7ae1cab9..2098d7034 100644 --- a/source/de/anomic/server/serverPortForwardingSch.java +++ b/source/de/anomic/server/serverPortForwardingSch.java @@ -1,3 +1,48 @@ +//serverPortForwardingSch.java +//------------------------------------- +//part of YACY +//(C) by Michael Peter Christen; mc@anomic.de +//first published on http://www.anomic.de +//Frankfurt, Germany, 2004 +// +//This file ist contributed by Martin Thelian +//last major change: $LastChangedDate$ by $LastChangedBy$ +//Revision: $LastChangedRevision$ +// +//This program is free software; you can redistribute it and/or modify +//it under the terms of the GNU General Public License as published by +//the Free Software Foundation; either version 2 of the License, or +//(at your option) any later version. +// +//This program is distributed in the hope that it will be useful, +//but WITHOUT ANY WARRANTY; without even the implied warranty of +//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +//GNU General Public License for more details. +// +//You should have received a copy of the GNU General Public License +//along with this program; if not, write to the Free Software +//Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +//Using this software in any meaning (reading, learning, copying, compiling, +//running) means that you agree that the Author(s) is (are) not responsible +//for cost, loss of data or any harm that may be caused directly or indirectly +//by usage of this softare or this documentation. The usage of this software +//is on your own risk. The installation and usage (starting/running) of this +//software may allow other people or application to access your computer and +//any attached devices and is highly dependent on the configuration of the +//software which must be done by the user of the software; the author(s) is +//(are) also not responsible for proper configuration and usage of the +//software, even if provoked by documentation provided together with +//the software. +// +//Any changes to this file according to the GPL as documented in the file +//gpl.txt aside this file in the shipment you received can be done to the +//lines that follows this copyright notice here, but changes must not be +//done inside the copyright notive above. A re-distribution must contain +//the intact and unchanged copyright notice. +//Contributions and changes to the program code must be marked as such. + + package de.anomic.server; import java.io.IOException; diff --git a/source/de/anomic/server/serverSemaphore.java b/source/de/anomic/server/serverSemaphore.java index 5b5d6081d..40f195ae8 100644 --- a/source/de/anomic/server/serverSemaphore.java +++ b/source/de/anomic/server/serverSemaphore.java @@ -6,7 +6,8 @@ //Frankfurt, Germany, 2005 // //this file is contributed by Martin Thelian -//last major change: 24.04.2005 +//last major change: $LastChangedDate$ by $LastChangedBy$ +//Revision: $LastChangedRevision$ // //This program is free software; you can redistribute it and/or modify //it under the terms of the GNU General Public License as published by diff --git a/source/de/anomic/yacy/seedUpload/yacySeedUploadFile.java b/source/de/anomic/yacy/seedUpload/yacySeedUploadFile.java index 57c7bce8c..14698fd72 100644 --- a/source/de/anomic/yacy/seedUpload/yacySeedUploadFile.java +++ b/source/de/anomic/yacy/seedUpload/yacySeedUploadFile.java @@ -1,3 +1,48 @@ +//yacySeedUploadFile.java +//------------------------------------- +//part of YACY +//(C) by Michael Peter Christen; mc@anomic.de +//first published on http://www.anomic.de +//Frankfurt, Germany, 2004 +// +//This file ist contributed by Martin Thelian +//last major change: $LastChangedDate$ by $LastChangedBy$ +//Revision: $LastChangedRevision$ +// +//This program is free software; you can redistribute it and/or modify +//it under the terms of the GNU General Public License as published by +//the Free Software Foundation; either version 2 of the License, or +//(at your option) any later version. +// +//This program is distributed in the hope that it will be useful, +//but WITHOUT ANY WARRANTY; without even the implied warranty of +//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +//GNU General Public License for more details. +// +//You should have received a copy of the GNU General Public License +//along with this program; if not, write to the Free Software +//Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +//Using this software in any meaning (reading, learning, copying, compiling, +//running) means that you agree that the Author(s) is (are) not responsible +//for cost, loss of data or any harm that may be caused directly or indirectly +//by usage of this softare or this documentation. The usage of this software +//is on your own risk. The installation and usage (starting/running) of this +//software may allow other people or application to access your computer and +//any attached devices and is highly dependent on the configuration of the +//software which must be done by the user of the software; the author(s) is +//(are) also not responsible for proper configuration and usage of the +//software, even if provoked by documentation provided together with +//the software. +// +//Any changes to this file according to the GPL as documented in the file +//gpl.txt aside this file in the shipment you received can be done to the +//lines that follows this copyright notice here, but changes must not be +//done inside the copyright notive above. A re-distribution must contain +//the intact and unchanged copyright notice. +//Contributions and changes to the program code must be marked as such. + + package de.anomic.yacy.seedUpload; import java.io.File; diff --git a/source/de/anomic/yacy/seedUpload/yacySeedUploadFtp.java b/source/de/anomic/yacy/seedUpload/yacySeedUploadFtp.java index 1fd231d71..1651e2c64 100644 --- a/source/de/anomic/yacy/seedUpload/yacySeedUploadFtp.java +++ b/source/de/anomic/yacy/seedUpload/yacySeedUploadFtp.java @@ -1,3 +1,48 @@ +//yacySeedUploadFtp.java +//------------------------------------- +//part of YACY +//(C) by Michael Peter Christen; mc@anomic.de +//first published on http://www.anomic.de +//Frankfurt, Germany, 2004 +// +//This file ist contributed by Martin Thelian +//last major change: $LastChangedDate$ by $LastChangedBy$ +//Revision: $LastChangedRevision$ +// +//This program is free software; you can redistribute it and/or modify +//it under the terms of the GNU General Public License as published by +//the Free Software Foundation; either version 2 of the License, or +//(at your option) any later version. +// +//This program is distributed in the hope that it will be useful, +//but WITHOUT ANY WARRANTY; without even the implied warranty of +//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +//GNU General Public License for more details. +// +//You should have received a copy of the GNU General Public License +//along with this program; if not, write to the Free Software +//Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +//Using this software in any meaning (reading, learning, copying, compiling, +//running) means that you agree that the Author(s) is (are) not responsible +//for cost, loss of data or any harm that may be caused directly or indirectly +//by usage of this softare or this documentation. The usage of this software +//is on your own risk. The installation and usage (starting/running) of this +//software may allow other people or application to access your computer and +//any attached devices and is highly dependent on the configuration of the +//software which must be done by the user of the software; the author(s) is +//(are) also not responsible for proper configuration and usage of the +//software, even if provoked by documentation provided together with +//the software. +// +//Any changes to this file according to the GPL as documented in the file +//gpl.txt aside this file in the shipment you received can be done to the +//lines that follows this copyright notice here, but changes must not be +//done inside the copyright notive above. A re-distribution must contain +//the intact and unchanged copyright notice. +//Contributions and changes to the program code must be marked as such. + + package de.anomic.yacy.seedUpload; import java.io.File; diff --git a/source/de/anomic/yacy/seedUpload/yacySeedUploadScp.java b/source/de/anomic/yacy/seedUpload/yacySeedUploadScp.java index 83ae371ca..13eadc31c 100644 --- a/source/de/anomic/yacy/seedUpload/yacySeedUploadScp.java +++ b/source/de/anomic/yacy/seedUpload/yacySeedUploadScp.java @@ -1,3 +1,48 @@ +//yacySeedUploadScp.java +//------------------------------------- +//part of YACY +//(C) by Michael Peter Christen; mc@anomic.de +//first published on http://www.anomic.de +//Frankfurt, Germany, 2004 +// +//This file ist contributed by Martin Thelian +//last major change: $LastChangedDate$ by $LastChangedBy$ +//Revision: $LastChangedRevision$ +// +//This program is free software; you can redistribute it and/or modify +//it under the terms of the GNU General Public License as published by +//the Free Software Foundation; either version 2 of the License, or +//(at your option) any later version. +// +//This program is distributed in the hope that it will be useful, +//but WITHOUT ANY WARRANTY; without even the implied warranty of +//MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +//GNU General Public License for more details. +// +//You should have received a copy of the GNU General Public License +//along with this program; if not, write to the Free Software +//Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +//Using this software in any meaning (reading, learning, copying, compiling, +//running) means that you agree that the Author(s) is (are) not responsible +//for cost, loss of data or any harm that may be caused directly or indirectly +//by usage of this softare or this documentation. The usage of this software +//is on your own risk. The installation and usage (starting/running) of this +//software may allow other people or application to access your computer and +//any attached devices and is highly dependent on the configuration of the +//software which must be done by the user of the software; the author(s) is +//(are) also not responsible for proper configuration and usage of the +//software, even if provoked by documentation provided together with +//the software. +// +//Any changes to this file according to the GPL as documented in the file +//gpl.txt aside this file in the shipment you received can be done to the +//lines that follows this copyright notice here, but changes must not be +//done inside the copyright notive above. A re-distribution must contain +//the intact and unchanged copyright notice. +//Contributions and changes to the program code must be marked as such. + + package de.anomic.yacy.seedUpload; import java.io.BufferedInputStream;