Bläddra i källkod

fix encoding by using UTF-8 as default charset

tags/v0.6.0
Jonathan Cobb 4 år sedan
förälder
incheckning
f39ed9587e
7 ändrade filer med 7 tillägg och 9 borttagningar
  1. +1
    -1
      automation/roles/bubble_finalizer/templates/supervisor_bubble.conf.j2
  2. +1
    -1
      automation/roles/mitmproxy/files/bubble_modify.py
  3. +3
    -3
      bubble-server/src/main/java/bubble/rule/bblock/BubbleBlockRuleDriver.java
  4. +0
    -1
      bubble-server/src/main/java/bubble/service/stream/StandardRuleEngineService.java
  5. +1
    -1
      bubble-server/src/test/java/bubble/test/ProxyTest.java
  6. +0
    -1
      bubble-server/src/test/resources/models/tests/filter/proxy.json
  7. +1
    -1
      utils/cobbzilla-utils

+ 1
- 1
automation/roles/bubble_finalizer/templates/supervisor_bubble.conf.j2 Visa fil

@@ -3,7 +3,7 @@
stdout_logfile = /home/bubble/logs/bubble-out.log
stderr_logfile = /home/bubble/logs/bubble-err.log
command=sudo -u bubble bash -c "/usr/bin/java \
-Djava.net.preferIPv4Stack=true {{ bubble_java_opts }} \
-Dfile.encoding=UTF-8 -Djava.net.preferIPv4Stack=true {{ bubble_java_opts }} \
-cp /home/bubble/current/bubble.jar \
bubble.server.BubbleServer \
/home/bubble/current/bubble.env"

+ 1
- 1
automation/roles/mitmproxy/files/bubble_modify.py Visa fil

@@ -25,7 +25,7 @@ def filter_chunk(chunk, req_id, content_encoding=None, content_type=None):

response = requests.post(url, data=chunk, headers=BINARY_DATA_HEADER)
if not response.ok:
err_message = "filter_chunk: Error fetching " + url + ", HTTP status " + str(response.status_code)
err_message = 'filter_chunk: Error fetching ' + url + ', HTTP status ' + str(response.status_code)
bubble_log(err_message)
return b''



+ 3
- 3
bubble-server/src/main/java/bubble/rule/bblock/BubbleBlockRuleDriver.java Visa fil

@@ -17,7 +17,6 @@ import com.fasterxml.jackson.databind.JsonNode;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.input.ReaderInputStream;
import org.cobbzilla.util.handlebars.HandlebarsUtil;
import org.cobbzilla.util.http.HttpContentTypes;
import org.cobbzilla.util.io.regex.RegexFilterReader;
import org.cobbzilla.util.io.regex.RegexReplacementFilter;
import org.glassfish.grizzly.http.server.Request;
@@ -34,6 +33,7 @@ import java.util.concurrent.TimeUnit;

import static org.cobbzilla.util.daemon.ZillaRuntime.empty;
import static org.cobbzilla.util.daemon.ZillaRuntime.shortError;
import static org.cobbzilla.util.http.HttpContentTypes.isHtml;
import static org.cobbzilla.util.io.StreamUtil.stream2string;
import static org.cobbzilla.util.json.JsonUtil.COMPACT_MAPPER;
import static org.cobbzilla.util.json.JsonUtil.json;
@@ -154,14 +154,14 @@ public class BubbleBlockRuleDriver extends TrafficAnalyticsRuleDriver {
return EMPTY_STREAM;
}

if (!HttpContentTypes.isHtml(contentType)) {
if (!isHtml(contentType)) {
log.warn(prefix+"cannot request non-html response ("+request.getUrl()+"), returning as-is: "+contentType);
return in;
}

final String replacement = "<head><script>" + getBubbleJs(filterRequest.getId(), decision) + "</script>";
final RegexReplacementFilter filter = new RegexReplacementFilter("<head>", replacement);
final RegexFilterReader reader = new RegexFilterReader(new InputStreamReader(in), filter).setMaxMatches(1);
final RegexFilterReader reader = new RegexFilterReader(new InputStreamReader(in, UTF8cs), filter).setMaxMatches(1);
if (log.isDebugEnabled()) log.debug("doFilterResponse: filtering response for "+request.getUri()+" - replacement.length = "+replacement.length());
return new ReaderInputStream(reader, UTF8cs);
}


+ 0
- 1
bubble-server/src/main/java/bubble/service/stream/StandardRuleEngineService.java Visa fil

@@ -228,7 +228,6 @@ public class StandardRuleEngineService implements RuleEngineService {
public Response sendResponse(InputStream stream) { return sendResponse(stream, null); }

public Response sendResponse(InputStream stream, CloseableHttpResponse proxyResponse) {

final SendableResource actualResponse = new SendableResource(new StreamStreamingOutput(stream))
.setStatus(proxyResponse == null ? OK : proxyResponse.getStatusLine().getStatusCode());



+ 1
- 1
bubble-server/src/test/java/bubble/test/ProxyTest.java Visa fil

@@ -24,7 +24,7 @@ public class ProxyTest extends ActivatedBubbleModelTestBase {

@Override protected String getManifest() { return MANIFEST_PROXY; }

@Test public void testSimple () throws Exception { modelTest("proxy"); }
@Test public void testSimple () throws Exception { modelTest("filter/proxy"); }
@Test public void testSimpleUserBlock () throws Exception { modelTest("filter/simple_user_block"); }

@Test public void testHN () throws Exception {


bubble-server/src/test/resources/models/tests/proxy.json → bubble-server/src/test/resources/models/tests/filter/proxy.json Visa fil

@@ -11,5 +11,4 @@
]
}
}

]

+ 1
- 1
utils/cobbzilla-utils

@@ -1 +1 @@
Subproject commit a45899b53152ef404cc32041ff7b9452b9b31b0a
Subproject commit 63df532432688f5b5050a7d64384662301822e00

Laddar…
Avbryt
Spara