Update of /cvsroot/freenet/freenet/src/freenet
In directory sc8-pr-cvs1:/tmp/cvs-serv31167/src/freenet

Modified Files:
        ConnectionHandler.java PeerHandler.java Ticker.java 
        Version.java 
Log Message:
6251:
Fix occasional NPE in ConnectionHandler.
Changes to the README and the warning fproxy sends when it detect Internet Explorer, 
mostly w.r.t. Opera. Contributed by an untraceable individual who wishes to remain 
nameless.
Add logOverwrite config parameter.
Make the default insert key CHK@ and the default HTL 25.
Tyop fixes in comments.
Logging, toString(), indenting.


Index: ConnectionHandler.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/ConnectionHandler.java,v
retrieving revision 1.184
retrieving revision 1.185
diff -u -w -r1.184 -r1.185
--- ConnectionHandler.java      15 Oct 2003 21:15:48 -0000      1.184
+++ ConnectionHandler.java      16 Oct 2003 01:03:57 -0000      1.185
@@ -1177,17 +1177,17 @@
                // other thread locks sentPacketLock, clears sentPacket
                // other thread sets trailerSendID, unlocks sentPacketLock
                // But if we check trailerSendID right after relocking it, we're ok
-               boolean ourSentPacket = false;
+               PeerPacket mySentPacket = null;
                synchronized(sentPacketLock) {
                        if(trailerSendID != -1) return;
                        if(sentPacket == null) {
-                               ourSentPacket = true;
                                logDEBUG("synchronized...");
                                if(sendingCloseMessage) {
                                        Message  cm  = p.getCloseMessage();
                                        if(cm != null) {
                                                try {
-                                                       sentPacket = 
peerHandler.getPacket(link, p, 
+                                                       sentPacket = mySentPacket = 
+                                                               
peerHandler.getPacket(link, p, 
                                                                                       
                                    identity,
                                                                                       
                                    cm, true);
                                                        if(logDEBUG)
@@ -1195,7 +1195,7 @@
                                                                                       
         " ("+cm+") on "+this+
                                                                                       
         " in jobDone", Logger.DEBUG);
                                                } catch (IOException e) {
-                                                       sentPacket = null;
+                                                       mySentPacket = sentPacket = 
null;
                                                        logDEBUG("Caught "+e+
                                                                         " in 
getPacket (close message) in jobDone");
                                                }
@@ -1203,37 +1203,46 @@
                                        sendingCloseMessage = false;
                                } else {
                                        try {
-                                               sentPacket = 
peerHandler.getPacket(link, p);
+                                               sentPacket = mySentPacket = 
+                                                       peerHandler.getPacket(link, p);
                                                if(logDEBUG)
                                                        Core.logger.log(this, "Sending 
"+sentPacket+
                                                                                       
 " on "+this, Logger.DEBUG);
                                        } catch (IOException e) {
-                                               sentPacket = null;
+                                               mySentPacket = sentPacket = null;
                                                logDEBUG("Caught "+e+" in getPacket in 
jobDone");
                                        }
                                }
                        }
                }
-               if (sentPacket != null && ourSentPacket) {
+               
+               if (mySentPacket != null) {
+                       if(mySentPacket != sentPacket)
+                               Core.logger.log(this, "mySentPacket = "+mySentPacket+
+                                                               ", but sentPacket = 
"+sentPacket+" ("+
+                                                               this+")", 
Logger.ERROR);
+                       else {
                        innerSendPacket(wsl.MESSAGE + 1 - sentPacket.countMessages(),
                                                        sentPacket);
-                       int sentPacketLength = sentPacket.getLength();
-                       int sentPacketMessages = sentPacket.countMessages();
-                       needTerminate = 
-                               receiveClosed.state() && receivingCount == 0 &&
-                               sendClosed.state() && trailerSendID == -1;
+                               int sentPacketLength = mySentPacket.getLength();
+                               int sentPacketMessages = mySentPacket.countMessages();
                        if(!sendClosed.state()) {
                                // We have sent a packet. Yay.
-                               if(logMINOR) Core.logger.log(this, "Sent packet of 
size "+
+                                       if(logMINOR) 
+                                               Core.logger.log(this, "Sent packet of 
size "+
                                                                sentPacketLength+" 
containing "+
                                                                sentPacketMessages+" 
messages on "+
                                                                this, Logger.MINOR);
-                       }
                        Core.diagnostics.occurrenceContinuous("messagePacketSizeSent",
                                                                                       
           sentPacketLength);
                        Core.diagnostics.occurrenceContinuous("messagesInPacketSent",
                                                                                       
           sentPacketMessages);
                }
+                       }
+                       needTerminate = 
+                               receiveClosed.state() && receivingCount == 0 &&
+                               sendClosed.state() && trailerSendID == -1;
+               }
                if(needTerminate) terminate();
                if(logDEBUG) Core.logger.log(this,"exiting CH.jobDone(), "+
                                                                         
"trailingPresent "+trailingPresent,
@@ -2217,7 +2226,7 @@
        public final boolean sendPacket(PeerPacket packet, int prio) {
                if(sendClosed.state()) {
                        Core.logger.log(this, "sendPacket("+packet+","+prio+
-                                                       ") when already closed: 
"+this, Logger.NORMAL);
+                                                       ") when already closed: 
"+this, Logger.MINOR);
                        packet.jobDone(true, 0, peer, null);
                        return false;
                }
@@ -2911,7 +2920,7 @@
         if (!finalized.state()) {
             Core.logger.log(this, "I ("+this+
                                                        ") wasn't terminated properly! 
Doing it now..",
-                            Logger.ERROR);
+                            identity == null ? Logger.MINOR : Logger.ERROR);
             terminate();
                }
                
@@ -2930,7 +2939,7 @@
     //=========================================================================
 
     /**
-     *  An InputStream that is allows reading of a limited number of bytes, and
+     *  An InputStream that allows reading of a limited number of bytes, and
      *  unlocks the receiving when that many bytes are read or it is closed.
      *
      */

Index: PeerHandler.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/PeerHandler.java,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -w -r1.21 -r1.22
--- PeerHandler.java    15 Oct 2003 21:15:48 -0000      1.21
+++ PeerHandler.java    16 Oct 2003 01:03:58 -0000      1.22
@@ -212,7 +212,7 @@
         */
     public boolean needsConnection(boolean weak) {
                if(Core.logger.shouldLog(Logger.DEBUG, this))
-                       Core.logger.log(this, "needsConnection(): "+
+                       Core.logger.log(this, "needsConnection("+weak+"): "+
                                                        this+": 
chcount="+connectionHandlers.size()+
                                                        ", 
messagescount="+messages.size()+
                                                        ", messagesWithTrailers="+
@@ -276,7 +276,10 @@
                        Core.logger.log(this, "needsConnection("+weak+"): "+
                                                        this+": 
"+connectionHandlers.size()+
                                                        " closed "+closedCount+", 
sending "+
-                                                       sendingCount+", free 
"+freeCount, Logger.DEBUG);
+                                                       sendingCount+", receiving 
"+receivingCount+
+                                                       ", free "+freeCount+", not 
sending "+
+                                                       notSendingCount+", not 
receiving "+
+                                                       notReceivingCount, 
Logger.DEBUG);
                if(weak) {
                        if((inRT && notSendingCount < 2) // need 2 free to send if in 
RT
                           || notSendingCount < 1 // need 1 free to send if not in RT

Index: Ticker.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/Ticker.java,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -w -r1.25 -r1.26
--- Ticker.java 14 Oct 2003 18:40:41 -0000      1.25
+++ Ticker.java 16 Oct 2003 01:03:58 -0000      1.26
@@ -108,13 +108,14 @@
                                                        " in Ticker.addNowOrRun", 
Logger.ERROR);
                }
                long endTime = System.currentTimeMillis();
-               if(endTime - startTime > 1000) {
+               long len = endTime - startTime;
+               if(len > 1000) {
                        Core.logger.log(this, "Handling "+mo+" took more than 1000ms: 
"+
-                                                       (endTime-startTime)+" at 
"+endTime+"!",
-                                                       Logger.ERROR);
+                                                       len+" at "+endTime+"!", 
+                                                       len>10000 ? Logger.ERROR : 
Logger.NORMAL);
                } else
-                       Core.logger.log(this, "Handling "+mo+" took 
"+(endTime-startTime)+
-                                                       "ms", Logger.MINOR);
+                       Core.logger.log(this, "Handling "+mo+" took "+len+"ms", 
+                                                       Logger.MINOR);
        }
        
     /**

Index: Version.java
===================================================================
RCS file: /cvsroot/freenet/freenet/src/freenet/Version.java,v
retrieving revision 1.443
retrieving revision 1.444
diff -u -w -r1.443 -r1.444
--- Version.java        15 Oct 2003 22:10:16 -0000      1.443
+++ Version.java        16 Oct 2003 01:03:58 -0000      1.444
@@ -18,7 +18,7 @@
     public static String protocolVersion = "1.46";
     
     /** The build number of the current revision */
-    public static final int buildNumber = 6250;
+    public static final int buildNumber = 6251;
     // 6028: may 3; ARK retrieval fix
 
     public static final int ignoreBuildsAfter = 6500;

_______________________________________________
cvs mailing list
[EMAIL PROTECTED]
http://dodo.freenetproject.org/cgi-bin/mailman/listinfo/cvs

Reply via email to