From 080181c9b9fb48582e28ca8edfd9d022f8e43de0 Mon Sep 17 00:00:00 2001 From: Tim Freeman Date: Fri, 30 Apr 2010 15:02:06 -0500 Subject: [PATCH] Fix for Bug 6992: Nimbus EC2 Query API limits HTTP headers to 4k --- .../java/msgbridge/etc/elastic/other/main.xml | 2 +- messaging/query/java/source/etc/query/query.conf | 2 ++ .../org/nimbustools/messaging/query/HttpQuery.java | 12 ++++++++++++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/messaging/gt4.0-elastic/java/msgbridge/etc/elastic/other/main.xml b/messaging/gt4.0-elastic/java/msgbridge/etc/elastic/other/main.xml index 68d06e47..d1c90365 100644 --- a/messaging/gt4.0-elastic/java/msgbridge/etc/elastic/other/main.xml +++ b/messaging/gt4.0-elastic/java/msgbridge/etc/elastic/other/main.xml @@ -202,10 +202,10 @@ + - diff --git a/messaging/query/java/source/etc/query/query.conf b/messaging/query/java/source/etc/query/query.conf index 910e2752..72baeef1 100644 --- a/messaging/query/java/source/etc/query/query.conf +++ b/messaging/query/java/source/etc/query/query.conf @@ -32,3 +32,5 @@ query.spring.path=file://@QUERY_CONFDIR@/other/main.xml # path of file containing mappings of query access credentials to DNs query.usermap.path=/@QUERY_CONFDIR@/users.txt +# header buffer size in bytes (for larger user-data, etc.) +query.header.size=8192 diff --git a/messaging/query/java/source/src/org/nimbustools/messaging/query/HttpQuery.java b/messaging/query/java/source/src/org/nimbustools/messaging/query/HttpQuery.java index 6b347dfb..0af2bcd8 100644 --- a/messaging/query/java/source/src/org/nimbustools/messaging/query/HttpQuery.java +++ b/messaging/query/java/source/src/org/nimbustools/messaging/query/HttpQuery.java @@ -34,6 +34,7 @@ public class HttpQuery { private boolean enabled; private int port; + private int headerBufferBytes; private String springConfig; private Server server; private String keystoreLocation; @@ -65,6 +66,9 @@ public synchronized void startListening() throws Exception { SslSocketConnector sslConnector = new SslSocketConnector(); sslConnector.setPort(port); + if (this.headerBufferBytes > 0) { + sslConnector.setHeaderBufferSize(this.headerBufferBytes); + } sslConnector.setKeystore(keystoreLocation); sslConnector.setKeyPassword(keystorePassword); sslConnector.setPassword(keystorePassword); @@ -106,6 +110,14 @@ public void setPort(int port) { this.port = port; } + public int getHeaderBufferBytes() { + return headerBufferBytes; + } + + public void setHeaderBufferBytes(int headerBufferBytes) { + this.headerBufferBytes = headerBufferBytes; + } + public String getSpringConfig() { return springConfig; }