Repository: flex-blazeds Updated Branches: refs/heads/develop 62d99f33b -> 94728dd74
- Fixed a timing issue in the AllowDocumentTypeDeclaration test Project: http://git-wip-us.apache.org/repos/asf/flex-blazeds/repo Commit: http://git-wip-us.apache.org/repos/asf/flex-blazeds/commit/94728dd7 Tree: http://git-wip-us.apache.org/repos/asf/flex-blazeds/tree/94728dd7 Diff: http://git-wip-us.apache.org/repos/asf/flex-blazeds/diff/94728dd7 Branch: refs/heads/develop Commit: 94728dd74053f7ebfa6fbcb2c25f1a099172250f Parents: 62d99f3 Author: Christofer Dutz <christofer.d...@codecentric.de> Authored: Fri Feb 17 10:49:38 2017 +0100 Committer: Christofer Dutz <christofer.d...@codecentric.de> Committed: Fri Feb 17 10:49:38 2017 +0100 ---------------------------------------------------------------------- .../io/amfx/AllowDocumentTypeDeclaration.java | 44 ++++++++++---------- 1 file changed, 21 insertions(+), 23 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flex-blazeds/blob/94728dd7/core/src/test/java/flex/messaging/io/amfx/AllowDocumentTypeDeclaration.java ---------------------------------------------------------------------- diff --git a/core/src/test/java/flex/messaging/io/amfx/AllowDocumentTypeDeclaration.java b/core/src/test/java/flex/messaging/io/amfx/AllowDocumentTypeDeclaration.java index e1e1bb3..f90f7da 100644 --- a/core/src/test/java/flex/messaging/io/amfx/AllowDocumentTypeDeclaration.java +++ b/core/src/test/java/flex/messaging/io/amfx/AllowDocumentTypeDeclaration.java @@ -30,10 +30,6 @@ import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; -/** - * Created by christoferdutz on 23.07.15. - */ - public class AllowDocumentTypeDeclaration extends TestCase { public void testDoctypeEnabled() throws Exception { @@ -41,16 +37,17 @@ public class AllowDocumentTypeDeclaration extends TestCase { TinyServer server = new TinyServer(); server.start(); - // Sleep for half a second. - Thread.sleep(500); + // Wait till the server is up. + while(server.port == 0) { + Thread.sleep(100); + } try { - StringBuffer xml = new StringBuffer(512); - xml.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n"); - xml.append("<!DOCTYPE foo PUBLIC \"-//VSR//PENTEST//EN\" \"http://localhost:" + server.getPort() + - "/service?ssrf\">"); - xml.append("<foo>Some content</foo>"); - XMLUtil.stringToDocument(xml.toString(), true, true, false); + String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n" + + "<!DOCTYPE foo PUBLIC \"-//VSR//PENTEST//EN\" \"http://localhost:" + + server.getPort() + "/service?ssrf\">" + + "<foo>Some content</foo>"; + XMLUtil.stringToDocument(xml, true, true, false); // The server should have been contacted. Assert.assertTrue(server.connected); @@ -64,14 +61,16 @@ public class AllowDocumentTypeDeclaration extends TestCase { TinyServer server = new TinyServer(); server.start(); - // Sleep for half a second. - Thread.sleep(500); + // Wait till the server is up. + while(server.port == 0) { + Thread.sleep(100); + } try { - StringBuffer xml = new StringBuffer(512); + StringBuilder xml = new StringBuilder(512); xml.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n"); - xml.append("<!DOCTYPE foo PUBLIC \"-//VSR//PENTEST//EN\" \"http://localhost:" + server.getPort() + - "/service?ssrf\">"); + xml.append("<!DOCTYPE foo PUBLIC \"-//VSR//PENTEST//EN\" \"http://localhost:"); + xml.append(server.getPort()).append("/service?ssrf\">"); xml.append("<foo>Some content</foo>"); try { XMLUtil.stringToDocument(xml.toString(), true, false, false); @@ -115,6 +114,9 @@ public class AllowDocumentTypeDeclaration extends TestCase { "<!ELEMENT foo>" + "]>").getBytes()); out.flush(); + + // It seems we need a little sleep here or the Dom parser hangs forever. + Thread.sleep(100); } catch (Exception e) { // Ignore. } finally { @@ -131,7 +133,7 @@ public class AllowDocumentTypeDeclaration extends TestCase { } } - public void kill() { + void kill() { try { serverSocket.close(); } catch (IOException e) { @@ -139,13 +141,9 @@ public class AllowDocumentTypeDeclaration extends TestCase { } } - public int getPort() { + int getPort() { return port; } - - public boolean isConnected() { - return connected; - } } }