@Override public void process(UpdateType updateType, InetAddress address, RuleType ruleType) { if (updateType == UpdateType.Add) { if (ruleType == RuleType.blacklist) { rules.mutateIpRules().blacklistIp(address); } else if (ruleType == RuleType.whitelist) { rules.mutateIpRules().whitelistIp(address); } } else if (updateType == UpdateType.Remove) { rules.mutateIpRules().remove(address); } }
public boolean denied(HttpRequest request) { for (Http1DeterministicRuleEngineConfig.Rule rule : blacklist) { if (rule.matches(request)) { return true; } } return false; } }
@Override public void process( UpdateType updateType, Http1DeterministicRuleEngineConfig.Rule http1Rule, RuleType ruleType) { if (updateType == UpdateType.Add) { if (ruleType == RuleType.blacklist) { rules.mutateHttp1Rules().blacklistRule(http1Rule); } else if (ruleType == RuleType.whitelist) { rules.mutateHttp1Rules().whitelistRule(http1Rule); } } else if (updateType == UpdateType.Remove) { rules.mutateHttp1Rules().remove(http1Rule); } } }
public void populateIpRules(Map<InetAddress, RuleType> rules) { for (InetAddress address : ipRules.get().getBlacklistIps()) { rules.put(address, RuleType.blacklist); } for (InetAddress address : ipRules.get().getWhitelistIps()) { rules.put(address, RuleType.whitelist); } }
public long write(WriteProvider writer) { long recordsWritten = 0; if (ipRules.marked()) { writer.write(ipFilterPath, ipRules.get()); recordsWritten += ipRules.get().size(); ipRules.clearMark(); } if (http1Rules.marked()) { writer.write(http1FilterPath, http1Rules.get()); recordsWritten += http1Rules.get().size(); http1Rules.clearMark(); } return recordsWritten; }
public void populateHttp1Rules(Map<Http1DeterministicRuleEngineConfig.Rule, RuleType> rules) { for (Http1DeterministicRuleEngineConfig.Rule rule : http1Rules.get().getBlacklistRules()) { rules.put(rule, RuleType.blacklist); } for (Http1DeterministicRuleEngineConfig.Rule rule : http1Rules.get().getWhitelistRules()) { rules.put(rule, RuleType.whitelist); } }
@Override public void process(UpdateHandler handler) { handler.process(updateType, (Http1DeterministicRuleEngineConfig.Rule) payload, ruleType); } }
public static UpdateMessage addHttp1Rule( Http1DeterministicRuleEngineConfig.Rule http1Rule, RuleType ruleType) { return new Http1RuleUpdate(UpdateType.Add, http1Rule, ruleType); }
private String modifyIncludeConf(String param) throws FileNotFoundException { String value = "{ limit = " + param + " }"; return rawCreateConf(value, includeConf); }
public Http1DeterministicRuleEngineConfig mutateHttp1Rules() { return http1Rules.mutate(); }
public T init(String file) { metadata = load(file); return metadata.value; }
public IpRules(Ruleset existing) { existing.populateIpRules(rules); }
@Override public long commit() { return rules.write(writer); }
public void update(TrivialFactory oldValue, TrivialFactory newValue) { this.oldValue = oldValue; this.newValue = newValue; fireUpdated(); }
public void update(TrivialConfig oldValue, TrivialConfig newValue) { this.config = newValue; fireUpdated(); }
@Override public void process(UpdateHandler handler) { handler.process(updateType, (InetAddress) payload, ruleType); } }
public static UpdateMessage removeHttp1Rule(Http1DeterministicRuleEngineConfig.Rule http1Rule) { return new Http1RuleUpdate(UpdateType.Remove, http1Rule, RuleType.blacklist); } }
private String createApplicationConf() throws FileNotFoundException { String value = "trivial { include \"" + includeConf + "\" }"; return rawCreateConf(value, applicationConf); }
public IpAddressDeterministicRuleEngineConfig mutateIpRules() { return ipRules.mutate(); }