Merge branch 'jetty-9.3.x'

This commit is contained in:
Joakim Erdfelt 2016-04-13 11:52:53 -07:00
commit 2c4cdbe259
3 changed files with 56 additions and 7 deletions

View File

@ -1,5 +1,40 @@
jetty-9.4.0-SNAPSHOT
jetty-9.3.9.M1 - 11 April 2016
+ 481 Event response.success notified without waiting for content callback for
HTTP/2 transport
+ 490 serverClasses set from jetty-web.xml
+ 491 Do not assume gzip acceptable for HTTP/2
+ 503 Wrong request-per-connection counting in MultiplexHttpDestination in
case of failures
+ 504 HTTP/2 client transport cannot send request after idle timeout
jetty-9.3.9.M0 - 05 April 2016
+ 184 Empty Realm for BasicAuthentication
+ 371 update apache jsp to 8.0.27
+ 418 Add osgi capability for endpoint configurator
+ 424 Jetty impl. of Websocket ServerEndpointConfig.Configurator lifecycle out
of spec
+ 427 Squelch intentional exceptions seen during websocket testing
+ 434 RequestTest stack traces
+ 435 adjust debug log message
+ 437 Avoid NPE on receiving empty message though MessageHandler.Partial
+ 438 File and Path Resources with control characters should be rejected
+ 446 jetty-quickstart path normalization uses improper paths on Windows
+ 448 RFC2616 Compliance Mode should track and report RFC7230 violations
+ 450 Client AuthenticationProtocolHandler sends request failures to response
failure listener
+ 451 RFC2616 Compliance mode should support empty headers
+ 453 Change logging of setting session maxInactiveInterval to DEBUG from WARN
+ 454 DoSFilter does not send an error status code when closing a connection,
because of timeout
+ 458 Improve Quality list handling
+ 467 Compact // rule
+ 469 Update to Apache Jasper 8.0.33
+ 470 AsyncContextState NPE if called after reset
+ 472 Use LongAdder for statistics
+ 476 HttpClient should not send absolute-form target with non HttpProxy
jetty-9.3.8.v20160314 - 14 March 2016
+ 107 ResourceHandler range support testcase
+ 124 Don't produce text/html if the request doesn't accept it

View File

@ -18,8 +18,6 @@
package org.eclipse.jetty.start;
import static org.eclipse.jetty.start.UsageException.ERR_BAD_ARG;
import java.io.IOException;
import java.io.OutputStream;
import java.util.ArrayList;
@ -34,6 +32,8 @@ import java.util.regex.Pattern;
import org.eclipse.jetty.start.Props.Prop;
import static org.eclipse.jetty.start.UsageException.ERR_BAD_ARG;
/**
* Management of Properties.
* <p>
@ -227,8 +227,6 @@ public final class Props implements Iterable<Prop>
throw new PropsException(err.toString());
}
seenStack.push(property);
// find property name
expanded.append(str.subSequence(offset,mat.start()));
// get property value
@ -241,7 +239,9 @@ public final class Props implements Iterable<Prop>
else
{
// recursively expand
seenStack.push(property);
value = expand(value,seenStack);
seenStack.pop();
expanded.append(value);
}
// update offset

View File

@ -18,15 +18,18 @@
package org.eclipse.jetty.start;
import static org.hamcrest.Matchers.nullValue;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.fail;
import org.eclipse.jetty.start.Props.Prop;
import org.junit.Test;
import static org.hamcrest.Matchers.is;
import static org.hamcrest.Matchers.notNullValue;
import static org.hamcrest.Matchers.nullValue;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.fail;
import org.eclipse.jetty.start.Props.Prop;
import org.junit.Test;
public class PropsTest
{
private static final String FROM_TEST = "(test)";
@ -121,6 +124,17 @@ public class PropsTest
assertThat(props.expand("server-id=corporate-${id}"),is("server-id=corporate-jetty-9.1"));
}
@Test
public void testExpandDouble()
{
Props props = new Props();
props.setProperty("bar","apple",FROM_TEST);
props.setProperty("foo","foo/${bar}/${bar}-xx",FROM_TEST);
// Should expand
assertThat(props.expand("foo/${bar}/${bar}-xx"),is("foo/apple/apple-xx"));
}
@Test
public void testExpandLoop()
{