maxDeterminizedStates); a = Operations.union(list); a = MinimizationOperations.minimize(a, maxDeterminizedStates); break; case REGEXP_CONCATENATION: automaton_provider, maxDeterminizedStates); a = Operations.concatenate(list); a = MinimizationOperations.minimize(a, maxDeterminizedStates); break; case REGEXP_INTERSECTION: exp2.toAutomatonInternal( automata, automaton_provider, maxDeterminizedStates)); a = MinimizationOperations.minimize(a, maxDeterminizedStates); break; case REGEXP_OPTIONAL: a = Operations.optional(exp1.toAutomatonInternal(automata, automaton_provider, maxDeterminizedStates)); a = MinimizationOperations.minimize(a, maxDeterminizedStates); break; case REGEXP_REPEAT: a = Operations.repeat(exp1.toAutomatonInternal( automata, automaton_provider, maxDeterminizedStates)); a = MinimizationOperations.minimize(a, maxDeterminizedStates); break; case REGEXP_REPEAT_MIN: a = MinimizationOperations.minimize(a, maxDeterminizedStates);
/** * Build the {@link CharacterRunAutomaton} that represents the reindex-from-remote whitelist and make sure that it doesn't whitelist * the world. */ static CharacterRunAutomaton buildRemoteWhitelist(List<String> whitelist) { if (whitelist.isEmpty()) { return new CharacterRunAutomaton(Automata.makeEmpty()); } Automaton automaton = Regex.simpleMatchToAutomaton(whitelist.toArray(Strings.EMPTY_ARRAY)); automaton = MinimizationOperations.minimize(automaton, Operations.DEFAULT_MAX_DETERMINIZED_STATES); if (Operations.isTotal(automaton)) { throw new IllegalArgumentException("Refusing to start because whitelist " + whitelist + " accepts all addresses. " + "This would allow users to reindex-from-remote any URL they like effectively having Elasticsearch make HTTP GETs " + "for them."); } return new CharacterRunAutomaton(automaton); }
maxDeterminizedStates); a = Operations.union(list); a = MinimizationOperations.minimize(a, maxDeterminizedStates); break; case REGEXP_CONCATENATION: automaton_provider, maxDeterminizedStates); a = Operations.concatenate(list); a = MinimizationOperations.minimize(a, maxDeterminizedStates); break; case REGEXP_INTERSECTION: exp2.toAutomatonInternal( automata, automaton_provider, maxDeterminizedStates)); a = MinimizationOperations.minimize(a, maxDeterminizedStates); break; case REGEXP_OPTIONAL: a = Operations.optional(exp1.toAutomatonInternal(automata, automaton_provider, maxDeterminizedStates)); a = MinimizationOperations.minimize(a, maxDeterminizedStates); break; case REGEXP_REPEAT: a = Operations.repeat(exp1.toAutomatonInternal( automata, automaton_provider, maxDeterminizedStates)); a = MinimizationOperations.minimize(a, maxDeterminizedStates); break; case REGEXP_REPEAT_MIN: maxDeterminizedStates),
maxDeterminizedStates); a = Operations.union(list); a = MinimizationOperations.minimize(a, maxDeterminizedStates); break; case REGEXP_CONCATENATION: automaton_provider, maxDeterminizedStates); a = Operations.concatenate(list); a = MinimizationOperations.minimize(a, maxDeterminizedStates); break; case REGEXP_INTERSECTION: exp2.toAutomatonInternal( automata, automaton_provider, maxDeterminizedStates)); a = MinimizationOperations.minimize(a, maxDeterminizedStates); break; case REGEXP_OPTIONAL: a = Operations.optional(exp1.toAutomatonInternal(automata, automaton_provider, maxDeterminizedStates)); a = MinimizationOperations.minimize(a, maxDeterminizedStates); break; case REGEXP_REPEAT: a = Operations.repeat(exp1.toAutomatonInternal( automata, automaton_provider, maxDeterminizedStates)); a = MinimizationOperations.minimize(a, maxDeterminizedStates); break; case REGEXP_REPEAT_MIN: maxDeterminizedStates),
maxDeterminizedStates); a = Operations.union(list); a = MinimizationOperations.minimize(a, maxDeterminizedStates); break; case REGEXP_CONCATENATION: automaton_provider, maxDeterminizedStates); a = Operations.concatenate(list); a = MinimizationOperations.minimize(a, maxDeterminizedStates); break; case REGEXP_INTERSECTION: exp2.toAutomatonInternal( automata, automaton_provider, maxDeterminizedStates)); a = MinimizationOperations.minimize(a, maxDeterminizedStates); break; case REGEXP_OPTIONAL: a = Operations.optional(exp1.toAutomatonInternal(automata, automaton_provider, maxDeterminizedStates)); a = MinimizationOperations.minimize(a, maxDeterminizedStates); break; case REGEXP_REPEAT: a = Operations.repeat(exp1.toAutomatonInternal( automata, automaton_provider, maxDeterminizedStates)); a = MinimizationOperations.minimize(a, maxDeterminizedStates); break; case REGEXP_REPEAT_MIN: a = MinimizationOperations.minimize(a, maxDeterminizedStates);