diff --git a/apps/routerconsole/jsp/config.jsp b/apps/routerconsole/jsp/config.jsp index 0d56b5f59d2045633f7b6ca43e729e03118a282b..538fb8a5f25f0e96f892b1cc7e6a507cabd10274 100644 --- a/apps/routerconsole/jsp/config.jsp +++ b/apps/routerconsole/jsp/config.jsp @@ -19,13 +19,10 @@ <%@include file="confignav.jsi" %> <jsp:useBean class="net.i2p.router.web.ConfigNetHandler" id="formhandler" scope="request" /> - <% formhandler.storeMethod(request.getMethod()); %> - <jsp:setProperty name="formhandler" property="*" /> - <jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute(\"i2p.contextId\")%>" /> - <jsp:getProperty name="formhandler" property="allMessages" /> +<%@include file="formhandler.jsi" %> <div class="configure"> <form action="" method="POST"> - <input type="hidden" name="nonce" value="<jsp:getProperty name="formhandler" property="newNonce" />" > + <input type="hidden" name="nonce" value="<%=pageNonce%>"> <input type="hidden" name="action" value="blah" > <input type="hidden" name="ratesOnly" value="1" > <h3><%=intl._("Bandwidth limiter")%></h3><p> diff --git a/apps/routerconsole/jsp/configadvanced.jsp b/apps/routerconsole/jsp/configadvanced.jsp index 53a8b227f5c7a3087f8e3128ff11b3c0502a400e..d8a19e35055a3580f97496a5ac7994c5c1327c6c 100644 --- a/apps/routerconsole/jsp/configadvanced.jsp +++ b/apps/routerconsole/jsp/configadvanced.jsp @@ -21,14 +21,11 @@ <%@include file="confignav.jsi" %> <jsp:useBean class="net.i2p.router.web.ConfigAdvancedHandler" id="formhandler" scope="request" /> - <% formhandler.storeMethod(request.getMethod()); %> - <jsp:setProperty name="formhandler" property="*" /> - <jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute(\"i2p.contextId\")%>" /> - <jsp:getProperty name="formhandler" property="allMessages" /> +<%@include file="formhandler.jsi" %> <div class="configure"> <div class="wideload"> <form action="" method="POST"> - <input type="hidden" name="nonce" value="<jsp:getProperty name="formhandler" property="newNonce" />" > + <input type="hidden" name="nonce" value="<%=pageNonce%>" > <input type="hidden" name="action" value="blah" > <h3><%=intl._("Advanced I2P Configuration")%></h3> <textarea rows="32" cols="60" name="config" wrap="off" spellcheck="false"><jsp:getProperty name="advancedhelper" property="settings" /></textarea><br><hr> diff --git a/apps/routerconsole/jsp/configclients.jsp b/apps/routerconsole/jsp/configclients.jsp index 13a4d6f1ba17f04b6adee7cee5f85fc60da6acee..3d0cf7cda6998c90410d7f387e91b415909978a2 100644 --- a/apps/routerconsole/jsp/configclients.jsp +++ b/apps/routerconsole/jsp/configclients.jsp @@ -25,16 +25,8 @@ input.default { width: 1px; height: 1px; visibility: hidden; } <%@include file="confignav.jsi" %> <jsp:useBean class="net.i2p.router.web.ConfigClientsHandler" id="formhandler" scope="request" /> - <% formhandler.storeMethod(request.getMethod()); %> - <jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute(\"i2p.contextId\")%>" /> - <jsp:setProperty name="formhandler" property="action" value="<%=request.getParameter(\"action\")%>" /> - <jsp:setProperty name="formhandler" property="nonce" value="<%=request.getParameter(\"nonce\")%>" /> - <jsp:setProperty name="formhandler" property="settings" value="<%=request.getParameterMap()%>" /> - <jsp:getProperty name="formhandler" property="allMessages" /> +<%@include file="formhandler.jsi" %> <div class="configure"> -<% - String pageNonce = formhandler.getNewNonce(); -%> <h3><%=intl._("Client Configuration")%></h3><p> <%=intl._("The Java clients listed below are started by the router and run in the same JVM.")%> </p><div class="wideload"> diff --git a/apps/routerconsole/jsp/confighome.jsp b/apps/routerconsole/jsp/confighome.jsp index b8296fcbbbedccd253199b66cebb1db6f9090487..6be2d9d2e9fdf9988df568c5158a3d5c91c43954 100644 --- a/apps/routerconsole/jsp/confighome.jsp +++ b/apps/routerconsole/jsp/confighome.jsp @@ -22,14 +22,7 @@ input.default { <%@include file="confignav.jsi" %> <jsp:useBean class="net.i2p.router.web.ConfigHomeHandler" id="formhandler" scope="request" /> -<% formhandler.storeMethod(request.getMethod()); %> -<jsp:setProperty name="formhandler" property="*" /> -<jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute(\"i2p.contextId\")%>" /> -<jsp:setProperty name="formhandler" property="settings" value="<%=request.getParameterMap()%>" /> -<jsp:getProperty name="formhandler" property="allMessages" /> -<% - String pageNonce = formhandler.getNewNonce(); -%> +<%@include file="formhandler.jsi" %> <jsp:useBean class="net.i2p.router.web.HomeHelper" id="homehelper" scope="request" /> <jsp:setProperty name="homehelper" property="contextId" value="<%=(String)session.getAttribute(\"i2p.contextId\")%>" /> diff --git a/apps/routerconsole/jsp/configkeyring.jsp b/apps/routerconsole/jsp/configkeyring.jsp index e8b4089371fb38b0fd19c11a1d834ba673dbd5d1..b2f5ef657cd8258e79880c4d97489f2ebe17b03c 100644 --- a/apps/routerconsole/jsp/configkeyring.jsp +++ b/apps/routerconsole/jsp/configkeyring.jsp @@ -15,10 +15,7 @@ <%@include file="confignav.jsi" %> <jsp:useBean class="net.i2p.router.web.ConfigKeyringHandler" id="formhandler" scope="request" /> - <% formhandler.storeMethod(request.getMethod()); %> - <jsp:setProperty name="formhandler" property="*" /> - <jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute(\"i2p.contextId\")%>" /> - <jsp:getProperty name="formhandler" property="allMessages" /> +<%@include file="formhandler.jsi" %> <jsp:useBean class="net.i2p.router.web.ConfigKeyringHelper" id="keyringhelper" scope="request" /> <jsp:setProperty name="keyringhelper" property="contextId" value="<%=(String)session.getAttribute(\"i2p.contextId\")%>" /> <div class="configure"><h2><%=intl._("Keyring")%></h2><p> @@ -29,7 +26,7 @@ </div> <form action="" method="POST"> - <input type="hidden" name="nonce" value="<jsp:getProperty name="formhandler" property="newNonce" />" > + <input type="hidden" name="nonce" value="<%=pageNonce%>" > <h3><%=intl._("Manual Keyring Addition")%></h3><p> <%=intl._("Enter keys for encrypted remote destinations here.")%> <%=intl._("Keys for local destinations must be entered on the")%> <a href="i2ptunnel/"><%=intl._("I2PTunnel page")%></a>. diff --git a/apps/routerconsole/jsp/configlogging.jsp b/apps/routerconsole/jsp/configlogging.jsp index c6f3ed945a1e3c75432ccd4f817fc3aa84144f2d..837ed81b8a126e97313979b430252b54efe02682 100644 --- a/apps/routerconsole/jsp/configlogging.jsp +++ b/apps/routerconsole/jsp/configlogging.jsp @@ -18,13 +18,10 @@ <%@include file="confignav.jsi" %> <jsp:useBean class="net.i2p.router.web.ConfigLoggingHandler" id="formhandler" scope="request" /> - <% formhandler.storeMethod(request.getMethod()); %> - <jsp:setProperty name="formhandler" property="*" /> - <jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute(\"i2p.contextId\")%>" /> - <jsp:getProperty name="formhandler" property="allMessages" /> +<%@include file="formhandler.jsi" %> <div class="configure"> <form action="" method="POST"> - <input type="hidden" name="nonce" value="<jsp:getProperty name="formhandler" property="newNonce" />" > + <input type="hidden" name="nonce" value="<%=pageNonce%>" > <input type="hidden" name="action" value="blah" > <h3><%=intl._("Configure I2P Logging Options")%></h3> <div class="wideload"> diff --git a/apps/routerconsole/jsp/confignet.jsp b/apps/routerconsole/jsp/confignet.jsp index 7fb74500d918a3805ded794d005b8ee1528127cb..72de18c4f60b3133c291e8e97ea7b14f9fc4c0b8 100644 --- a/apps/routerconsole/jsp/confignet.jsp +++ b/apps/routerconsole/jsp/confignet.jsp @@ -18,13 +18,10 @@ <%@include file="confignav.jsi" %> <jsp:useBean class="net.i2p.router.web.ConfigNetHandler" id="formhandler" scope="request" /> - <% formhandler.storeMethod(request.getMethod()); %> - <jsp:setProperty name="formhandler" property="*" /> - <jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute(\"i2p.contextId\")%>" /> - <jsp:getProperty name="formhandler" property="allMessages" /> +<%@include file="formhandler.jsi" %> <div class="configure"> <form action="" method="POST"> - <input type="hidden" name="nonce" value="<jsp:getProperty name="formhandler" property="newNonce" />" > + <input type="hidden" name="nonce" value="<%=pageNonce%>" > <input type="hidden" name="action" value="blah" > <h3><%=intl._("IP and Transport Configuration")%></h3><p> <img src="/themes/console/images/itoopie_xsm.png" alt=""> diff --git a/apps/routerconsole/jsp/configpeer.jsp b/apps/routerconsole/jsp/configpeer.jsp index 9952db5534fcbef79e0e795daa0330520aa69ac7..b3aed01e6adce2287620c5039d0c273ad39cfb20 100644 --- a/apps/routerconsole/jsp/configpeer.jsp +++ b/apps/routerconsole/jsp/configpeer.jsp @@ -15,13 +15,7 @@ <%@include file="confignav.jsi" %> <jsp:useBean class="net.i2p.router.web.ConfigPeerHandler" id="formhandler" scope="request" /> - <% formhandler.storeMethod(request.getMethod()); %> - <jsp:setProperty name="formhandler" property="*" /> - <jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute(\"i2p.contextId\")%>" /> - <jsp:getProperty name="formhandler" property="allMessages" /> - - - +<%@include file="formhandler.jsi" %> <jsp:useBean class="net.i2p.router.web.ConfigPeerHelper" id="peerhelper" scope="request" /> <jsp:setProperty name="peerhelper" property="contextId" value="<%=(String)session.getAttribute(\"i2p.contextId\")%>" /> @@ -31,7 +25,7 @@ %> <div class="configure"> <form action="configpeer" method="POST"> - <input type="hidden" name="nonce" value="<jsp:getProperty name="formhandler" property="newNonce" />" > + <input type="hidden" name="nonce" value="<%=pageNonce%>" > <a name="sh"> </a> <a name="unsh"> </a> <a name="bonus"> </a> diff --git a/apps/routerconsole/jsp/configreseed.jsp b/apps/routerconsole/jsp/configreseed.jsp index 39df228c698224742b9b1585071302791a975318..c83ed389dd0487820155c275335dcc11a25f877a 100644 --- a/apps/routerconsole/jsp/configreseed.jsp +++ b/apps/routerconsole/jsp/configreseed.jsp @@ -18,14 +18,9 @@ <%@include file="confignav.jsi" %> <jsp:useBean class="net.i2p.router.web.ConfigReseedHandler" id="formhandler" scope="request" /> -<% formhandler.storeMethod(request.getMethod()); %> -<jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute(\"i2p.contextId\")%>" /> -<jsp:setProperty name="formhandler" property="action" value="<%=request.getParameter(\"action\")%>" /> -<jsp:setProperty name="formhandler" property="nonce" value="<%=request.getParameter(\"nonce\")%>" /> -<jsp:setProperty name="formhandler" property="settings" value="<%=request.getParameterMap()%>" /> -<jsp:getProperty name="formhandler" property="allMessages" /> +<%@include file="formhandler.jsi" %> <div class="configure"><form action="" method="POST"> -<input type="hidden" name="nonce" value="<jsp:getProperty name="formhandler" property="newNonce" />" > +<input type="hidden" name="nonce" value="<%=pageNonce%>" > <h3><%=intl._("Reseeding Configuration")%></h3> <p><%=intl._("Reseeding is the bootstrapping process used to find other routers when you first install I2P, or when your router has too few router references remaining.")%> <%=intl._("If reseeding has failed, you should first check your network connection.")%> diff --git a/apps/routerconsole/jsp/configservice.jsp b/apps/routerconsole/jsp/configservice.jsp index 303fa4d31cb370be4a1f332d6129ce00fa585902..c6711cc43c54078182cd4372b5cb12f932c09577 100644 --- a/apps/routerconsole/jsp/configservice.jsp +++ b/apps/routerconsole/jsp/configservice.jsp @@ -15,13 +15,10 @@ <%@include file="confignav.jsi" %> <jsp:useBean class="net.i2p.router.web.ConfigServiceHandler" id="formhandler" scope="request" /> - <% formhandler.storeMethod(request.getMethod()); %> - <jsp:setProperty name="formhandler" property="*" /> - <jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute(\"i2p.contextId\")%>" /> - <jsp:getProperty name="formhandler" property="allMessages" /> +<%@include file="formhandler.jsi" %> <div class="configure"> <form action="" method="POST"> - <input type="hidden" name="nonce" value="<jsp:getProperty name="formhandler" property="newNonce" />" > + <input type="hidden" name="nonce" value="<%=pageNonce%>" > <h3><%=intl._("Shutdown the router")%></h3> <p><%=intl._("Graceful shutdown lets the router satisfy the agreements it has already made before shutting down, but may take a few minutes.")%> <%=intl._("If you need to kill the router immediately, that option is available as well.")%></p> diff --git a/apps/routerconsole/jsp/configsidebar.jsp b/apps/routerconsole/jsp/configsidebar.jsp index 074fcfda30049066a95176993fe5df29083179d1..129feaa10701cf0dcf5b1f635ddf6b533a25008a 100644 --- a/apps/routerconsole/jsp/configsidebar.jsp +++ b/apps/routerconsole/jsp/configsidebar.jsp @@ -22,17 +22,10 @@ input.default { <%@include file="confignav.jsi" %> <jsp:useBean class="net.i2p.router.web.ConfigSummaryHandler" id="formhandler" scope="request" /> -<% formhandler.storeMethod(request.getMethod()); %> -<jsp:setProperty name="formhandler" property="*" /> -<jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute(\"i2p.contextId\")%>" /> -<jsp:setProperty name="formhandler" property="settings" value="<%=request.getParameterMap()%>" /> +<%@include file="formhandler.jsi" %> <% formhandler.setMovingAction(); %> -<jsp:getProperty name="formhandler" property="allMessages" /> -<% - String pageNonce = formhandler.getNewNonce(); -%> <jsp:useBean class="net.i2p.router.web.SummaryHelper" id="summaryhelper" scope="request" /> <jsp:setProperty name="summaryhelper" property="contextId" value="<%=(String)session.getAttribute(\"i2p.contextId\")%>" /> diff --git a/apps/routerconsole/jsp/configstats.jsp b/apps/routerconsole/jsp/configstats.jsp index 8a70c84bc4d470ee0eaee7f2ce386e5dfb325037..d6bd67c1e5f50d50e1c52595de51e630476e512d 100644 --- a/apps/routerconsole/jsp/configstats.jsp +++ b/apps/routerconsole/jsp/configstats.jsp @@ -66,17 +66,13 @@ function toggleAll(category) <%@include file="confignav.jsi" %> <jsp:useBean class="net.i2p.router.web.ConfigStatsHandler" id="formhandler" scope="request" /> - <% formhandler.storeMethod(request.getMethod()); %> - <jsp:setProperty name="formhandler" property="*" /> - <jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute(\"i2p.contextId\")%>" /> - <jsp:getProperty name="formhandler" property="allMessages" /> - +<%@include file="formhandler.jsi" %> <jsp:useBean class="net.i2p.router.web.ConfigStatsHelper" id="statshelper" scope="request" /> <jsp:setProperty name="statshelper" property="contextId" value="<%=(String)session.getAttribute(\"i2p.contextId\")%>" /> <div class="configure"> <form id="statsForm" name="statsForm" action="" method="POST"> <input type="hidden" name="action" value="foo" > - <input type="hidden" name="nonce" value="<jsp:getProperty name="formhandler" property="newNonce" />" > + <input type="hidden" name="nonce" value="<%=pageNonce%>" > <h3><%=intl._("Configure I2P Stat Collection")%></h3> <p><%=intl._("Enable full stats?")%> <input type="checkbox" class="optbox" name="isFull" value="true" <% diff --git a/apps/routerconsole/jsp/configtunnels.jsp b/apps/routerconsole/jsp/configtunnels.jsp index e2eab6658f2c7f23e76bbaefab7f145bb8213c9e..de82f0027d813fa7e9050396f240ea92f42a0a86 100644 --- a/apps/routerconsole/jsp/configtunnels.jsp +++ b/apps/routerconsole/jsp/configtunnels.jsp @@ -17,13 +17,7 @@ <div class="main" id="main"> <%@include file="confignav.jsi" %> <jsp:useBean class="net.i2p.router.web.ConfigTunnelsHandler" id="formhandler" scope="request" /> - <% formhandler.storeMethod(request.getMethod()); %> - <jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute(\"i2p.contextId\")%>" /> - <jsp:setProperty name="formhandler" property="shouldsave" value="<%=request.getParameter(\"shouldsave\")%>" /> - <jsp:setProperty name="formhandler" property="action" value="<%=request.getParameter(\"action\")%>" /> - <jsp:setProperty name="formhandler" property="nonce" value="<%=request.getParameter(\"nonce\")%>" /> - <jsp:setProperty name="formhandler" property="settings" value="<%=request.getParameterMap()%>" /> - <jsp:getProperty name="formhandler" property="allMessages" /> +<%@include file="formhandler.jsi" %> <div class="configure"><p> <%=intl._("NOTE")%>: <%=intl._("The default settings work for most people.")%> @@ -33,7 +27,7 @@ <%=intl._("Change these settings with care, and adjust them if you have problems.")%> <div class="wideload"> <form action="" method="POST"> - <input type="hidden" name="nonce" value="<jsp:getProperty name="formhandler" property="newNonce" />" > + <input type="hidden" name="nonce" value="<%=pageNonce%>" > <input type="hidden" name="action" value="blah" > <jsp:getProperty name="tunnelshelper" property="form" /> <%=intl._("Note")%>: <%=intl._("Exploratory tunnel setting changes are stored in the router.config file.")%> diff --git a/apps/routerconsole/jsp/configui.jsp b/apps/routerconsole/jsp/configui.jsp index 3177142da95edb5107ee7c4a96cd6ae4c39630ae..f1555a8920d1b99430144430c2030555ca810054 100644 --- a/apps/routerconsole/jsp/configui.jsp +++ b/apps/routerconsole/jsp/configui.jsp @@ -28,11 +28,7 @@ input.default { <%@include file="confignav.jsi" %> <jsp:useBean class="net.i2p.router.web.ConfigUIHandler" id="formhandler" scope="request" /> - <% formhandler.storeMethod(request.getMethod()); %> - <jsp:setProperty name="formhandler" property="*" /> - <jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute(\"i2p.contextId\")%>" /> - <jsp:setProperty name="formhandler" property="settings" value="<%=request.getParameterMap()%>" /> - <jsp:getProperty name="formhandler" property="allMessages" /> +<%@include file="formhandler.jsi" %> <div class="configure"><div class="topshimten"><h3><%=uihelper._("Router Console Theme")%></h3></div> <form action="" method="POST"> <% @@ -42,7 +38,6 @@ input.default { consoleNonce = Long.toString(new java.util.Random().nextLong()); System.setProperty("router.consoleNonce", consoleNonce); } - String pageNonce = formhandler.getNewNonce(); %> <input type="hidden" name="consoleNonce" value="<%=consoleNonce%>" > <input type="hidden" name="nonce" value="<%=pageNonce%>" > diff --git a/apps/routerconsole/jsp/configupdate.jsp b/apps/routerconsole/jsp/configupdate.jsp index a792bb07b3f28eb00c01a165c525a77e19d64343..2d2e54d25782046cf2e580f6e137bc8727a277c4 100644 --- a/apps/routerconsole/jsp/configupdate.jsp +++ b/apps/routerconsole/jsp/configupdate.jsp @@ -16,17 +16,14 @@ <%@include file="confignav.jsi" %> <jsp:useBean class="net.i2p.router.web.ConfigUpdateHandler" id="formhandler" scope="request" /> - <% formhandler.storeMethod(request.getMethod()); %> - <jsp:setProperty name="formhandler" property="*" /> - <jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute(\"i2p.contextId\")%>" /> - <jsp:getProperty name="formhandler" property="allMessages" /> +<%@include file="formhandler.jsi" %> <jsp:useBean class="net.i2p.router.web.ConfigUpdateHelper" id="updatehelper" scope="request" /> <jsp:setProperty name="updatehelper" property="contextId" value="<%=(String)session.getAttribute(\"i2p.contextId\")%>" /> <div class="messages"> <jsp:getProperty name="updatehelper" property="newsStatus" /></div> <div class="configure"> <form action="" method="POST"> - <input type="hidden" name="nonce" value="<jsp:getProperty name="formhandler" property="newNonce" />" > + <input type="hidden" name="nonce" value="<%=pageNonce%>" > <% /* set hidden default */ %> <input type="submit" name="action" value="" style="display:none" > <% if (updatehelper.canInstall()) { %> diff --git a/apps/routerconsole/jsp/formhandler.jsi b/apps/routerconsole/jsp/formhandler.jsi new file mode 100644 index 0000000000000000000000000000000000000000..a773dda8d5f57ccde9e859947cfacdcba497c7f4 --- /dev/null +++ b/apps/routerconsole/jsp/formhandler.jsi @@ -0,0 +1,33 @@ +<% + /* + * Does the standard setup for all form handlers, then + * displays the message box (which drives the form processing). + * + * Included ~15 times, keep whitespace to a minimum + * + * Include this directly after the line: + * <jsp:useBean class="net.i2p.router.web.xxxHandler" id="formhandler" scope="request" /> + */ + + // This initializes the RouterContext - must be the first thing + formhandler.setContextId((String)session.getAttribute("i2p.contextId")); + + // Prevents any saves via GET + formhandler.storeMethod(request.getMethod()); + + // Put all the params in the map, some handlers use this instead of individual setters + // We also call all of the setters below. + formhandler.setSettings(request.getParameterMap()); + +%> +<jsp:setProperty name="formhandler" property="*" /> +<jsp:getProperty name="formhandler" property="allMessages" /> +<% + + // Only call this once per page, do not getProperty("newNonce") elsewhere, + // use the variable instead. + // This shuffles down the nonces, so it must be after getAllMessages() above, + // since it does the form validation. + String pageNonce = formhandler.getNewNonce(); + +%>