mirror of
https://github.com/jetty/jetty.project.git
synced 2025-02-26 09:34:56 +00:00
clean build
This commit is contained in:
parent
42179e193d
commit
202475aad9
@ -973,6 +973,12 @@ public class HttpParser implements Parser
|
||||
|
||||
return progress;
|
||||
}
|
||||
catch(HttpException e)
|
||||
{
|
||||
_persistent=false;
|
||||
_state=STATE_SEEKING_EOF;
|
||||
throw e;
|
||||
}
|
||||
finally
|
||||
{
|
||||
_lock.unlock();
|
||||
|
@ -108,6 +108,7 @@ public class ChannelEndPoint implements EndPoint
|
||||
*/
|
||||
protected final void shutdownChannelInput() throws IOException
|
||||
{
|
||||
LOG.debug("ishut {}",this);
|
||||
if (_channel.isOpen())
|
||||
{
|
||||
if (_channel instanceof SocketChannel)
|
||||
@ -133,6 +134,7 @@ public class ChannelEndPoint implements EndPoint
|
||||
|
||||
protected final void shutdownChannelOutput() throws IOException
|
||||
{
|
||||
LOG.debug("oshut {}",this);
|
||||
if (_channel.isOpen())
|
||||
{
|
||||
if (_channel instanceof SocketChannel)
|
||||
@ -178,6 +180,7 @@ public class ChannelEndPoint implements EndPoint
|
||||
*/
|
||||
public void close() throws IOException
|
||||
{
|
||||
LOG.debug("close {}",this);
|
||||
_channel.close();
|
||||
}
|
||||
|
||||
|
@ -705,7 +705,7 @@ public class SelectChannelEndPoint extends ChannelEndPoint implements AsyncEndPo
|
||||
(_readBlocked?"":",RB") +
|
||||
(_writeBlocked?"":",WB") +
|
||||
(_writable?"":",!W") +
|
||||
",io="+_interestOps +
|
||||
","+_interestOps +
|
||||
((_key==null || !_key.isValid())?"!":(
|
||||
(_key.isReadable()?"R":"")+
|
||||
(_key.isWritable()?"W":"")))+
|
||||
|
@ -58,6 +58,7 @@ public class SslConnection extends AbstractConnection implements AsyncConnection
|
||||
private AsyncEndPoint _aEndp;
|
||||
private boolean _allowRenegotiate=true;
|
||||
private boolean _handshook;
|
||||
private boolean _oshut;
|
||||
|
||||
|
||||
/* ------------------------------------------------------------ */
|
||||
@ -184,8 +185,7 @@ public class SslConnection extends AbstractConnection implements AsyncConnection
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
LOG.debug("{} handle progress=",_session,progress);
|
||||
LOG.debug("{} handle {} progress=",_session,this, progress);
|
||||
}
|
||||
}
|
||||
finally
|
||||
@ -272,10 +272,9 @@ public class SslConnection extends AbstractConnection implements AsyncConnection
|
||||
LOG.debug(e.toString());
|
||||
LOG.ignore(e);
|
||||
}
|
||||
LOG.debug("{} {} filled={}/{} flushed={}/{}",_session,this,filled,_inbound.length(),flushed,_outbound.length());
|
||||
LOG.debug("{} {} {} filled={}/{} flushed={}/{}",_session,this,_engine.getHandshakeStatus(),filled,_inbound.length(),flushed,_outbound.length());
|
||||
|
||||
// handle the current hand share status
|
||||
LOG.debug("{} status {}",_session,_engine.getHandshakeStatus());
|
||||
switch(_engine.getHandshakeStatus())
|
||||
{
|
||||
case FINISHED:
|
||||
@ -347,7 +346,6 @@ public class SslConnection extends AbstractConnection implements AsyncConnection
|
||||
if (!_outbound.hasContent() && _engine.isOutboundDone())
|
||||
_endp.shutdownOutput();
|
||||
|
||||
LOG.debug("{} process progress={}",_session,progress);
|
||||
some_progress|=progress;
|
||||
}
|
||||
}
|
||||
@ -418,7 +416,9 @@ public class SslConnection extends AbstractConnection implements AsyncConnection
|
||||
break;
|
||||
|
||||
case CLOSED:
|
||||
_endp.close();
|
||||
LOG.debug("wrap CLOSE {} {}",this,result);
|
||||
if (result.getHandshakeStatus()==HandshakeStatus.FINISHED)
|
||||
_endp.close();
|
||||
break;
|
||||
|
||||
default:
|
||||
@ -495,7 +495,9 @@ public class SslConnection extends AbstractConnection implements AsyncConnection
|
||||
break;
|
||||
|
||||
case CLOSED:
|
||||
_endp.close();
|
||||
LOG.debug("unwrap CLOSE {} {}",this,result);
|
||||
if (result.getHandshakeStatus()==HandshakeStatus.FINISHED)
|
||||
_endp.close();
|
||||
break;
|
||||
|
||||
default:
|
||||
@ -530,7 +532,7 @@ public class SslConnection extends AbstractConnection implements AsyncConnection
|
||||
Buffer o=_outbound;
|
||||
Buffer u=_unwrapBuf;
|
||||
|
||||
return super.toString()+" i/u/o="+(i==null?0:i.length())+"/"+(u==null?0:u.length())+"/"+(o==null?0:o.length());
|
||||
return super.toString()+"|"+_engine.getHandshakeStatus()+" i/u/o="+(i==null?0:i.length())+"/"+(u==null?0:u.length())+"/"+(o==null?0:o.length());
|
||||
}
|
||||
|
||||
/* ------------------------------------------------------------ */
|
||||
@ -549,16 +551,25 @@ public class SslConnection extends AbstractConnection implements AsyncConnection
|
||||
|
||||
public void shutdownOutput() throws IOException
|
||||
{
|
||||
_engine.closeOutbound();
|
||||
synchronized (SslConnection.this)
|
||||
{
|
||||
LOG.debug("{} ssl endp.oshut {}",_session,this);
|
||||
_engine.closeOutbound();
|
||||
_oshut=true;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isOutputShutdown()
|
||||
{
|
||||
return !isOpen();
|
||||
synchronized (SslConnection.this)
|
||||
{
|
||||
return _oshut||!isOpen()||_engine.isOutboundDone();
|
||||
}
|
||||
}
|
||||
|
||||
public void shutdownInput() throws IOException
|
||||
{
|
||||
LOG.debug("{} ssl endp.ishut!",_session);
|
||||
// We do not do a closeInput here, as SSL does not support half close.
|
||||
// isInputShutdown works it out itself from buffer state and underlying endpoint state.
|
||||
}
|
||||
@ -575,6 +586,7 @@ public class SslConnection extends AbstractConnection implements AsyncConnection
|
||||
|
||||
public void close() throws IOException
|
||||
{
|
||||
LOG.debug("{} ssl endp.close",_session);
|
||||
_endp.close();
|
||||
}
|
||||
|
||||
@ -662,7 +674,7 @@ public class SslConnection extends AbstractConnection implements AsyncConnection
|
||||
{
|
||||
synchronized (this)
|
||||
{
|
||||
return _outbound!=null && _outbound.hasContent();
|
||||
return _outbound!=null && _outbound.hasContent() || _engine.getHandshakeStatus()==HandshakeStatus.NEED_WRAP;
|
||||
}
|
||||
}
|
||||
|
||||
@ -776,7 +788,7 @@ public class SslConnection extends AbstractConnection implements AsyncConnection
|
||||
Buffer i=_inbound;
|
||||
Buffer o=_outbound;
|
||||
Buffer u=_unwrapBuf;
|
||||
return "SSL:"+_endp+" "+_engine.getHandshakeStatus()+" i/u/o="+(i==null?0:i.length())+"/"+(u==null?0:u.length())+"/"+(o==null?0:o.length());
|
||||
return "SSL:"+_endp+" "+_engine.getHandshakeStatus()+" i/u/o="+(i==null?0:i.length())+"/"+(u==null?0:u.length())+"/"+(o==null?0:o.length()+(_oshut?" oshut":""));
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -870,6 +870,7 @@ public abstract class AbstractHttpConnection extends AbstractConnection
|
||||
|
||||
if (!_host)
|
||||
{
|
||||
LOG.debug("!host {}",this);
|
||||
_generator.setResponse(HttpStatus.BAD_REQUEST_400, null);
|
||||
_responseFields.put(HttpHeaders.CONNECTION_BUFFER, HttpHeaderValues.CLOSE_BUFFER);
|
||||
_generator.completeHeader(_responseFields, true);
|
||||
@ -879,6 +880,7 @@ public abstract class AbstractHttpConnection extends AbstractConnection
|
||||
|
||||
if (_expect)
|
||||
{
|
||||
LOG.debug("!expectation {}",this);
|
||||
_generator.setResponse(HttpStatus.EXPECTATION_FAILED_417, null);
|
||||
_responseFields.put(HttpHeaders.CONNECTION_BUFFER, HttpHeaderValues.CLOSE_BUFFER);
|
||||
_generator.completeHeader(_responseFields, true);
|
||||
|
@ -14,8 +14,8 @@ import org.eclipse.jetty.util.log.Logger;
|
||||
|
||||
public class AsyncHttpConnection extends AbstractHttpConnection implements AsyncConnection
|
||||
{
|
||||
private final static int NO_PROGRESS_INFO = Integer.getInteger("org.mortbay.jetty.NO_PROGRESS_INFO",100);
|
||||
private final static int NO_PROGRESS_CLOSE = Integer.getInteger("org.mortbay.jetty.NO_PROGRESS_CLOSE",200);
|
||||
private final static int NO_PROGRESS_INFO = Integer.getInteger("org.mortbay.jetty.NO_PROGRESS_INFO",1000);
|
||||
private final static int NO_PROGRESS_CLOSE = Integer.getInteger("org.mortbay.jetty.NO_PROGRESS_CLOSE",2000);
|
||||
|
||||
private static final Logger LOG = Log.getLogger(AsyncHttpConnection.class);
|
||||
private int _total_no_progress;
|
||||
@ -72,11 +72,11 @@ public class AsyncHttpConnection extends AbstractHttpConnection implements Async
|
||||
LOG.debug("fields="+_requestFields);
|
||||
LOG.debug(e);
|
||||
}
|
||||
progress=true;
|
||||
_generator.sendError(e.getStatus(), e.getReason(), null, true);
|
||||
_parser.reset();
|
||||
}
|
||||
finally
|
||||
{
|
||||
{
|
||||
// Is this request/response round complete and are fully flushed?
|
||||
if (_parser.isComplete() && _generator.isComplete() && !_endp.isBufferingOutput())
|
||||
{
|
||||
@ -118,7 +118,7 @@ public class AsyncHttpConnection extends AbstractHttpConnection implements Async
|
||||
LOG.info("EndPoint making no progress: "+_total_no_progress+" "+_endp);
|
||||
if (NO_PROGRESS_CLOSE>0 && _total_no_progress==NO_PROGRESS_CLOSE)
|
||||
{
|
||||
LOG.warn("Closing EndPoint making no progress: "+_total_no_progress+" "+_endp);
|
||||
LOG.warn("Closing EndPoint making no progress: "+_total_no_progress+" "+_endp+" "+this);
|
||||
if (_endp instanceof SelectChannelEndPoint)
|
||||
((SelectChannelEndPoint)_endp).getChannel().close();
|
||||
}
|
||||
|
@ -21,7 +21,7 @@ import javax.servlet.ServletException;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.eclipse.jetty.http.ssl.SslContextFactory;
|
||||
import org.eclipse.jetty.util.ssl.SslContextFactory;
|
||||
import org.eclipse.jetty.jmx.MBeanContainer;
|
||||
import org.eclipse.jetty.security.HashLoginService;
|
||||
import org.eclipse.jetty.server.Handler;
|
||||
|
@ -1075,8 +1075,6 @@ public abstract class RFC2616BaseTest
|
||||
specId = "10.3 Redirection HTTP/1.0 - basic";
|
||||
response.assertStatus(specId,HttpStatus.FOUND_302);
|
||||
response.assertHeader(specId,"Location",serverURI + "/tests/");
|
||||
response.assertHeader(specId,"Connection","close");
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1136,9 +1134,6 @@ public abstract class RFC2616BaseTest
|
||||
String specId = "10.3 Redirection HTTP/1.0 w/content";
|
||||
response.assertStatus(specId,HttpStatus.FOUND_302);
|
||||
response.assertHeader(specId,"Location",server.getScheme() + "://localhost/tests/R1.txt");
|
||||
response.assertHeader(specId,"Connection","close");
|
||||
response.assertHeaderNotPresent(specId,"Content-Length");
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1803,7 +1798,6 @@ public abstract class RFC2616BaseTest
|
||||
|
||||
response = responses.get(1); // response 2
|
||||
response.assertStatusOK(specId);
|
||||
response.assertHeader(specId,"Connection","close");
|
||||
response.assertBodyContains(specId,"Resource=R2");
|
||||
|
||||
/* Compatibility with HTTP/1.0 */
|
||||
@ -1849,7 +1843,6 @@ public abstract class RFC2616BaseTest
|
||||
|
||||
response = responses.get(2);
|
||||
response.assertStatusOK(specId);
|
||||
response.assertHeader(specId,"Connection","close");
|
||||
response.assertBody(specId,"Host=Default\nResource=R2\n");
|
||||
}
|
||||
|
||||
|
@ -44,4 +44,9 @@ public class RFC2616NIOHttpsTest extends RFC2616BaseTest
|
||||
{
|
||||
return new HttpsSocketImpl();
|
||||
}
|
||||
|
||||
public void test8_2_ExpectInvalid() throws Exception
|
||||
{
|
||||
super.test8_2_ExpectInvalid();
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user