public SSIProcessor(SSIExternalResolver ssiExternalResolver, int debug, boolean allowExec) { this.ssiExternalResolver = ssiExternalResolver; this.debug = debug; this.allowExec = allowExec; addBuiltinCommands(); }
protected void addBuiltinCommands() { addCommand("config", new SSIConfig()); addCommand("echo", new SSIEcho()); addCommand("exec", new SSIExec()); addCommand("include", new SSIInclude()); addCommand("flastmod", new SSIFlastmod()); addCommand("fsize", new SSIFsize()); addCommand("printenv", new SSIPrintenv()); addCommand("set", new SSISet()); SSIConditional ssiConditional = new SSIConditional(); addCommand("if", ssiConditional); addCommand("elif", ssiConditional); addCommand("endif", ssiConditional); addCommand("else", ssiConditional); }
} else if (isSpace(c)) { if (lastLetter > -1) { break;
if (!inside) { if (c == COMMAND_START.charAt(0) && charCmp(fileContents, index, COMMAND_START)) { inside = true; index += COMMAND_START.length(); && charCmp(fileContents, index, COMMAND_END)) { inside = false; index += COMMAND_END.length(); String strCmd = parseCmd(command); if (debug > 0) { ssiExternalResolver.log( + strCmd, null); String[] paramNames = parseParamNames(command, strCmd .length()); String[] paramValues = parseParamValues(command, strCmd.length(), paramNames.length);
new SSIServletExternalResolver(getServletContext(), req, res, isVirtualWebappRelative, debug, inputEncoding); SSIProcessor ssiProcessor = new SSIProcessor(ssiExternalResolver, debug, allowExec); PrintWriter printWriter = null; long lastModified = ssiProcessor.process(bufferedReader, resourceInfo.getLastModified(), printWriter); if (lastModified > 0) {
for (int bIdx = start; bIdx < cmd.length(); bIdx++) { if (!inside) { while (bIdx < cmd.length() && !isQuote(cmd.charAt(bIdx))) bIdx++; if (bIdx >= cmd.length()) break;
if (!inside) { if (c == COMMAND_START.charAt(0) && charCmp(fileContents, index, COMMAND_START)) { inside = true; index += COMMAND_START.length(); && charCmp(fileContents, index, COMMAND_END)) { inside = false; index += COMMAND_END.length(); String strCmd = parseCmd(command); if (debug > 0) { ssiExternalResolver.log( + strCmd, null); String[] paramNames = parseParamNames(command, strCmd .length()); String[] paramValues = parseParamValues(command, strCmd.length(), paramNames.length);
new SSIServletExternalResolver(getServletContext(), req, res, isVirtualWebappRelative, debug, inputEncoding); SSIProcessor ssiProcessor = new SSIProcessor(ssiExternalResolver, debug, allowExec); PrintWriter printWriter = null; long lastModified = ssiProcessor.process(bufferedReader, resourceInfo.getLastModified(), printWriter); if (lastModified > 0) {
for (int bIdx = start; bIdx < cmd.length(); bIdx++) { if (!inside) { while (bIdx < cmd.length() && !isQuote(cmd.charAt(bIdx))) bIdx++; if (bIdx >= cmd.length()) break;
if (!inside) { if (c == COMMAND_START.charAt(0) && charCmp(fileContents, index, COMMAND_START)) { inside = true; index += COMMAND_START.length(); && charCmp(fileContents, index, COMMAND_END)) { inside = false; index += COMMAND_END.length(); String strCmd = parseCmd(command); if (debug > 0) { ssiExternalResolver.log( + strCmd, null); String[] paramNames = parseParamNames(command, strCmd .length()); String[] paramValues = parseParamValues(command, strCmd.length(), paramNames.length);
new SSIServletExternalResolver(getServletContext(), req, res, isVirtualWebappRelative, debug, inputEncoding); SSIProcessor ssiProcessor = new SSIProcessor(ssiExternalResolver, debug, allowExec); PrintWriter printWriter = null; long lastModified = ssiProcessor.process(bufferedReader, resourceInfo.getLastModified(), printWriter); if (lastModified > 0) {
} else if (isSpace(c)) { if (lastLetter > -1) { break;
public SSIProcessor(SSIExternalResolver ssiExternalResolver, int debug, boolean allowExec) { this.ssiExternalResolver = ssiExternalResolver; this.debug = debug; this.allowExec = allowExec; addBuiltinCommands(); }
protected void addBuiltinCommands() { addCommand("config", new SSIConfig()); addCommand("echo", new SSIEcho()); addCommand("exec", new SSIExec()); addCommand("include", new SSIInclude()); addCommand("flastmod", new SSIFlastmod()); addCommand("fsize", new SSIFsize()); addCommand("printenv", new SSIPrintenv()); addCommand("set", new SSISet()); SSIConditional ssiConditional = new SSIConditional(); addCommand("if", ssiConditional); addCommand("elif", ssiConditional); addCommand("endif", ssiConditional); addCommand("else", ssiConditional); }
for (int bIdx = start; bIdx < cmd.length(); bIdx++) { if (!inside) { while (bIdx < cmd.length() && !isQuote(cmd.charAt(bIdx))) bIdx++; if (bIdx >= cmd.length()) break;
if (!inside) { if (c == COMMAND_START.charAt(0) && charCmp(fileContents, index, COMMAND_START)) { inside = true; index += COMMAND_START.length(); && charCmp(fileContents, index, COMMAND_END)) { inside = false; index += COMMAND_END.length(); String strCmd = parseCmd(command); if (debug > 0) { ssiExternalResolver.log( + strCmd, null); String[] paramNames = parseParamNames(command, strCmd .length()); String[] paramValues = parseParamValues(command, strCmd.length(), paramNames.length);
new SSIServletExternalResolver(getServletContext(), req, res, isVirtualWebappRelative, debug, inputEncoding); SSIProcessor ssiProcessor = new SSIProcessor(ssiExternalResolver, debug, allowExec); PrintWriter printWriter = null; long lastModified = ssiProcessor.process(bufferedReader, resourceInfo.getLastModified(), printWriter); if (lastModified > 0) {
} else if (isSpace(c)) { if (lastLetter > -1) { break;
public SSIProcessor(SSIExternalResolver ssiExternalResolver, int debug, boolean allowExec) { this.ssiExternalResolver = ssiExternalResolver; this.debug = debug; this.allowExec = allowExec; addBuiltinCommands(); }
protected void addBuiltinCommands() { addCommand("config", new SSIConfig()); addCommand("echo", new SSIEcho()); if (allowExec) { addCommand("exec", new SSIExec()); } addCommand("include", new SSIInclude()); addCommand("flastmod", new SSIFlastmod()); addCommand("fsize", new SSIFsize()); addCommand("printenv", new SSIPrintenv()); addCommand("set", new SSISet()); SSIConditional ssiConditional = new SSIConditional(); addCommand("if", ssiConditional); addCommand("elif", ssiConditional); addCommand("endif", ssiConditional); addCommand("else", ssiConditional); }