forked from I2P_Developers/i2p.i2p
* configui.jsp: Fix lang setting broken by previous nonce change
* Console: Consolidate nonce handling
This commit is contained in:
@ -26,6 +26,8 @@ public class FormHandler {
|
||||
private final List<String> _notices;
|
||||
private boolean _processed;
|
||||
private boolean _valid;
|
||||
private static final String NONCE_SUFFIX = ".nonce";
|
||||
private static final String PREV_SUFFIX = "Prev";
|
||||
|
||||
public FormHandler() {
|
||||
_errors = new ArrayList();
|
||||
@ -162,8 +164,8 @@ public class FormHandler {
|
||||
return;
|
||||
}
|
||||
|
||||
String nonce = System.getProperty(getClass().getName() + ".nonce");
|
||||
String noncePrev = System.getProperty(getClass().getName() + ".noncePrev");
|
||||
String nonce = System.getProperty(getClass().getName() + NONCE_SUFFIX);
|
||||
String noncePrev = nonce + PREV_SUFFIX;
|
||||
if ( ( (nonce == null) || (!_nonce.equals(nonce)) ) &&
|
||||
( (noncePrev == null) || (!_nonce.equals(noncePrev)) ) ) {
|
||||
|
||||
@ -201,6 +203,22 @@ public class FormHandler {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate a new nonce, store old and new in the system properties.
|
||||
* Only call once per page!
|
||||
* @return a new random long as a String
|
||||
* @since 0.8.5
|
||||
*/
|
||||
public String getNewNonce() {
|
||||
String prop = getClass().getName() + NONCE_SUFFIX;
|
||||
String prev = System.getProperty(prop);
|
||||
if (prev != null)
|
||||
System.setProperty(prop + PREV_SUFFIX, prev);
|
||||
String rv = Long.toString(_context.random().nextLong());
|
||||
System.setProperty(prop, rv);
|
||||
return rv;
|
||||
}
|
||||
|
||||
/** translate a string */
|
||||
public String _(String s) {
|
||||
return Messages.getString(s, _context);
|
||||
|
@ -22,10 +22,7 @@
|
||||
<jsp:getProperty name="formhandler" property="allMessages" />
|
||||
<div class="configure">
|
||||
<form action="" method="POST">
|
||||
<% String prev = System.getProperty("net.i2p.router.web.ConfigNetHandler.nonce");
|
||||
if (prev != null) System.setProperty("net.i2p.router.web.ConfigNetHandler.noncePrev", prev);
|
||||
System.setProperty("net.i2p.router.web.ConfigNetHandler.nonce", new java.util.Random().nextLong()+""); %>
|
||||
<input type="hidden" name="nonce" value="<%=System.getProperty("net.i2p.router.web.ConfigNetHandler.nonce")%>" >
|
||||
<input type="hidden" name="nonce" value="<jsp:getProperty name="formhandler" property="newNonce" />" >
|
||||
<input type="hidden" name="action" value="blah" >
|
||||
<h3><%=intl._("Bandwidth limiter")%></h3><p>
|
||||
<b><%=intl._("I2P will work best if you configure your rates to match the speed of your internet connection.")%></b>
|
||||
|
@ -25,10 +25,7 @@
|
||||
<div class="configure">
|
||||
<div class="wideload">
|
||||
<form action="" method="POST">
|
||||
<% String prev = System.getProperty("net.i2p.router.web.ConfigAdvancedHandler.nonce");
|
||||
if (prev != null) System.setProperty("net.i2p.router.web.ConfigAdvancedHandler.noncePrev", prev);
|
||||
System.setProperty("net.i2p.router.web.ConfigAdvancedHandler.nonce", new java.util.Random().nextLong()+""); %>
|
||||
<input type="hidden" name="nonce" value="<%=System.getProperty("net.i2p.router.web.ConfigAdvancedHandler.nonce")%>" >
|
||||
<input type="hidden" name="nonce" value="<jsp:getProperty name="formhandler" property="newNonce" />" >
|
||||
<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>
|
||||
|
@ -28,10 +28,9 @@ button span.hide{
|
||||
<jsp:setProperty name="formhandler" property="settings" value="<%=request.getParameterMap()%>" />
|
||||
<jsp:getProperty name="formhandler" property="allMessages" />
|
||||
<div class="configure">
|
||||
<% String prev = System.getProperty("net.i2p.router.web.ConfigClientsHandler.nonce");
|
||||
if (prev != null) System.setProperty("net.i2p.router.web.ConfigClientsHandler.noncePrev", prev);
|
||||
String pageNonce = Long.toString(new java.util.Random().nextLong());
|
||||
System.setProperty("net.i2p.router.web.ConfigClientsHandler.nonce", pageNonce); %>
|
||||
<%
|
||||
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">
|
||||
|
@ -27,10 +27,7 @@
|
||||
</p></div>
|
||||
|
||||
<form action="" method="POST">
|
||||
<% String prev = System.getProperty("net.i2p.router.web.ConfigKeyringHandler.nonce");
|
||||
if (prev != null) System.setProperty("net.i2p.router.web.ConfigKeyringHandler.noncePrev", prev);
|
||||
System.setProperty("net.i2p.router.web.ConfigKeyringHandler.nonce", new java.util.Random().nextLong()+""); %>
|
||||
<input type="hidden" name="nonce" value="<%=System.getProperty("net.i2p.router.web.ConfigKeyringHandler.nonce")%>" >
|
||||
<input type="hidden" name="nonce" value="<jsp:getProperty name="formhandler" property="newNonce" />" >
|
||||
<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>.
|
||||
|
@ -21,10 +21,7 @@
|
||||
<jsp:getProperty name="formhandler" property="allMessages" />
|
||||
<div class="configure">
|
||||
<form action="" method="POST">
|
||||
<% String prev = System.getProperty("net.i2p.router.web.ConfigLoggingHandler.nonce");
|
||||
if (prev != null) System.setProperty("net.i2p.router.web.ConfigLoggingHandler.noncePrev", prev);
|
||||
System.setProperty("net.i2p.router.web.ConfigLoggingHandler.nonce", new java.util.Random().nextLong()+""); %>
|
||||
<input type="hidden" name="nonce" value="<%=System.getProperty("net.i2p.router.web.ConfigLoggingHandler.nonce")%>" >
|
||||
<input type="hidden" name="nonce" value="<jsp:getProperty name="formhandler" property="newNonce" />" >
|
||||
<input type="hidden" name="action" value="blah" >
|
||||
<h3><%=intl._("Configure I2P Logging Options")%></h3>
|
||||
<div class="wideload">
|
||||
|
@ -29,10 +29,7 @@
|
||||
%>
|
||||
<div class="configure">
|
||||
<form action="configpeer" method="POST">
|
||||
<% String prev = System.getProperty("net.i2p.router.web.ConfigPeerHandler.nonce");
|
||||
if (prev != null) System.setProperty("net.i2p.router.web.ConfigPeerHandler.noncePrev", prev);
|
||||
System.setProperty("net.i2p.router.web.ConfigPeerHandler.nonce", new java.util.Random().nextLong()+""); %>
|
||||
<input type="hidden" name="nonce" value="<%=System.getProperty("net.i2p.router.web.ConfigPeerHandler.nonce")%>" />
|
||||
<input type="hidden" name="nonce" value="<jsp:getProperty name="formhandler" property="newNonce" />" >
|
||||
<a name="sh"> </a>
|
||||
<a name="unsh"> </a>
|
||||
<a name="bonus"> </a>
|
||||
|
@ -23,10 +23,7 @@
|
||||
<jsp:setProperty name="formhandler" property="settings" value="<%=request.getParameterMap()%>" />
|
||||
<jsp:getProperty name="formhandler" property="allMessages" />
|
||||
<div class="configure"><form action="" method="POST">
|
||||
<% String prev = System.getProperty("net.i2p.router.web.ConfigReseedHandler.nonce");
|
||||
if (prev != null) System.setProperty("net.i2p.router.web.ConfigReseedHandler.noncePrev", prev);
|
||||
System.setProperty("net.i2p.router.web.ConfigReseedHandler.nonce", new java.util.Random().nextLong()+""); %>
|
||||
<input type="hidden" name="nonce" value="<%=System.getProperty("net.i2p.router.web.ConfigReseedHandler.nonce")%>" >
|
||||
<input type="hidden" name="nonce" value="<jsp:getProperty name="formhandler" property="newNonce" />" >
|
||||
<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.")%>
|
||||
|
@ -19,10 +19,7 @@
|
||||
<jsp:getProperty name="formhandler" property="allMessages" />
|
||||
<div class="configure">
|
||||
<form action="" method="POST">
|
||||
<% String prev = System.getProperty("net.i2p.router.web.ConfigServiceHandler.nonce");
|
||||
if (prev != null) System.setProperty("net.i2p.router.web.ConfigServiceHandler.noncePrev", prev);
|
||||
System.setProperty("net.i2p.router.web.ConfigServiceHandler.nonce", new java.util.Random().nextLong()+""); %>
|
||||
<input type="hidden" name="nonce" value="<%=System.getProperty("net.i2p.router.web.ConfigServiceHandler.nonce")%>" >
|
||||
<input type="hidden" name="nonce" value="<jsp:getProperty name="formhandler" property="newNonce" />" >
|
||||
<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>
|
||||
|
@ -67,11 +67,8 @@ function toggleAll(category)
|
||||
<jsp:setProperty name="statshelper" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
|
||||
<div class="configure">
|
||||
<form id="statsForm" name="statsForm" action="" method="POST">
|
||||
<% String prev = System.getProperty("net.i2p.router.web.ConfigStatsHandler.nonce");
|
||||
if (prev != null) System.setProperty("net.i2p.router.web.ConfigStatsHandler.noncePrev", prev);
|
||||
System.setProperty("net.i2p.router.web.ConfigStatsHandler.nonce", new java.util.Random().nextLong()+""); %>
|
||||
<input type="hidden" name="action" value="foo" >
|
||||
<input type="hidden" name="nonce" value="<%=System.getProperty("net.i2p.router.web.ConfigStatsHandler.nonce")%>" >
|
||||
<input type="hidden" name="nonce" value="<jsp:getProperty name="formhandler" property="newNonce" />" >
|
||||
<h3><%=intl._("Configure I2P Stat Collection")%></h3>
|
||||
<p><%=intl._("Enable full stats?")%>
|
||||
<input type="checkbox" class="optbox" name="isFull" value="true" <%
|
||||
|
@ -31,10 +31,7 @@
|
||||
<%=intl._("Change these settings with care, and adjust them if you have problems.")%>
|
||||
<div class="wideload">
|
||||
<form action="" method="POST">
|
||||
<% String prev = System.getProperty("net.i2p.router.web.ConfigTunnelsHandler.nonce");
|
||||
if (prev != null) System.setProperty("net.i2p.router.web.ConfigTunnelsHandler.noncePrev", prev);
|
||||
System.setProperty("net.i2p.router.web.ConfigTunnelsHandler.nonce", new java.util.Random().nextLong()+""); %>
|
||||
<input type="hidden" name="nonce" value="<%=System.getProperty("net.i2p.router.web.ConfigTunnelsHandler.nonce")%>" >
|
||||
<input type="hidden" name="nonce" value="<jsp:getProperty name="formhandler" property="newNonce" />" >
|
||||
<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.")%>
|
||||
|
@ -24,10 +24,16 @@
|
||||
<jsp:getProperty name="formhandler" property="allMessages" />
|
||||
<div class="configure"><div class="topshimten"><h3><%=uihelper._("Router Console Theme")%></h3></div>
|
||||
<form action="" method="POST">
|
||||
<% String prev = System.getProperty("net.i2p.router.web.ConfigUIHandler.nonce");
|
||||
if (prev != null) System.setProperty("net.i2p.router.web.ConfigUIHandler.noncePrev", prev);
|
||||
System.setProperty("net.i2p.router.web.ConfigUIHandler.nonce", new java.util.Random().nextLong()+""); %>
|
||||
<input type="hidden" name="nonce" value="<%=System.getProperty("net.i2p.router.web.ConfigUIHandler.nonce")%>" >
|
||||
<%
|
||||
/** lang setting is done in css.jsi, not in ConfigUIHandler */
|
||||
String consoleNonce = System.getProperty("router.consoleNonce");
|
||||
if (consoleNonce == null) {
|
||||
consoleNonce = Long.toString(new java.util.Random().nextLong());
|
||||
System.setProperty("router.consoleNonce", consoleNonce);
|
||||
}
|
||||
%>
|
||||
<input type="hidden" name="consoleNonce" value="<%=consoleNonce%>" >
|
||||
<input type="hidden" name="nonce" value="<jsp:getProperty name="formhandler" property="newNonce" />" >
|
||||
<input type="hidden" name="action" value="blah" >
|
||||
<%
|
||||
String userAgent = request.getHeader("User-Agent");
|
||||
|
@ -23,10 +23,7 @@
|
||||
<i><jsp:getProperty name="updatehelper" property="newsStatus" /></i></div>
|
||||
<div class="configure">
|
||||
<form action="" method="POST">
|
||||
<% String prev = System.getProperty("net.i2p.router.web.ConfigUpdateHandler.nonce");
|
||||
if (prev != null) System.setProperty("net.i2p.router.web.ConfigUpdateHandler.noncePrev", prev);
|
||||
System.setProperty("net.i2p.router.web.ConfigUpdateHandler.nonce", new java.util.Random().nextLong()+""); %>
|
||||
<input type="hidden" name="nonce" value="<%=System.getProperty("net.i2p.router.web.ConfigUpdateHandler.nonce")%>" >
|
||||
<input type="hidden" name="nonce" value="<jsp:getProperty name="formhandler" property="newNonce" />" >
|
||||
<% /* set hidden default */ %>
|
||||
<input type="submit" name="action" value="" style="display:none" >
|
||||
<h3><%=intl._("Check for I2P and news updates")%></h3>
|
||||
|
Reference in New Issue
Block a user