more validation

This commit is contained in:
zzz
2010-05-19 18:55:53 +00:00
parent 3bc2e469cc
commit 7a30490482
7 changed files with 71 additions and 13 deletions

View File

@ -150,3 +150,27 @@ input[type=submit]:hover {
}
input[type=reset] {
border: 1px outset #999;
background: #ddf;
color: #001;
margin: 5px;
font: bold 8pt "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
padding: 1px 2px;
text-decoration: none;
min-width: 110px;
border-radius: 4px;
-moz-border-radius: 4px;
-khtml-border-radius: 4px;
-moz-box-shadow: inset 0px 2px 8px 0px #fff;
color: #006;
opacity: 0.9;
}
input[type=reset]:hover {
background: #22a;
color: #fff;
border: 1px solid #f60;
opacity: 1.0;
-moz-box-shadow: inset 0px 0px 0px 1px #fff;
}

View File

@ -35,7 +35,9 @@ import java.util.Iterator;
import java.util.LinkedList;
import java.util.Properties;
import net.i2p.data.DataFormatException;
import net.i2p.data.DataHelper;
import net.i2p.data.Destination;
public class AddressbookBean
{
@ -254,15 +256,40 @@ public class AddressbookBean
boolean changed = false;
int deleted = 0;
String name = null;
if (action.equals(_("Add"))) {
if (action.equals(_("Add")) || action.equals(_("Replace"))) {
if( addressbook != null && hostname != null && destination != null ) {
addressbook.put( hostname, destination );
changed = true;
message = _("Destination added.");
// clear search when adding
search = null;
String oldDest = (String) addressbook.get(hostname);
if (destination.equals(oldDest)) {
message = _("Host name {0} is already in addressbook, unchanged.", hostname);
} else if (oldDest != null && !action.equals(_("Replace"))) {
message = _("Host name {0} is already in addressbook with a different destination. Click \"Replace\" to overwrite.", hostname);
} else {
boolean valid = true;
try {
Destination dest = new Destination(destination);
} catch (DataFormatException dfe) {
valid = false;
}
if (valid) {
addressbook.put( hostname, destination );
changed = true;
if (oldDest == null)
message = _("Destination added for {0}.", hostname);
else
message = _("Destination changed for {0}.", hostname);
// clear form
hostname = null;
destination = null;
} else {
message = _("Invalid Base 64 destination.");
}
}
} else {
message = _("Please enter a host name and destination");
}
} else if (action.equals(_("Delete"))) {
// clear search when adding
search = null;
} else if (action.equals(_("Delete Selected"))) {
Iterator it = deletionMarks.iterator();
while( it.hasNext() ) {
name = (String)it.next();
@ -340,7 +367,7 @@ public class AddressbookBean
return destination;
}
public void setDestination(String destination) {
this.destination = DataHelper.stripHTML(destination); // XSS
this.destination = DataHelper.stripHTML(destination).trim(); // XSS
}
public String getHostname() {
return hostname;
@ -352,7 +379,7 @@ public class AddressbookBean
deletionMarks.addLast( name );
}
public void setHostname(String hostname) {
this.hostname = DataHelper.stripHTML(hostname); // XSS
this.hostname = DataHelper.stripHTML(hostname).trim(); // XSS
}
private int getBeginInt() {
return Math.max(0, Math.min(entries.length - 1, beginIndex));

View File

@ -160,7 +160,9 @@
<c:if test="${book.master || book.router || book.published || book.private}">
<div id="buttons">
<p class="buttons"><input type="submit" name="action" value="<%=intl._("Delete")%>" >
<p class="buttons">
<input type="reset" value="<%=intl._("Cancel")%>" >
<input type="submit" name="action" value="<%=intl._("Delete Selected")%>" >
</p>
</div>
</c:if>
@ -179,6 +181,7 @@
<b><%=intl._("Hostname")%>:</b> <input type="text" name="hostname" value="${book.hostname}" size="20">
<b><%=intl._("Destination")%>:</b> <textarea name="destination" rows="1" style="height: 3em;" cols="40" wrap="off" >${book.destination}</textarea><br/>
</p><p>
<input type="submit" name="action" value="<%=intl._("Replace")%>" >
<input type="submit" name="action" value="<%=intl._("Add")%>" >
</p>
</div>

View File

@ -69,8 +69,8 @@
<textarea name="config" rows="10" cols="80">${cfg.config}</textarea>
</div>
<div id="buttons">
<input type="submit" name="action" value="<%=intl._("Save")%>" >
<input type="submit" name="action" value="<%=intl._("Reload")%>" >
<input type="submit" name="action" value="<%=intl._("Save")%>" >
</div>
</form>
<div id="help">

View File

@ -69,8 +69,8 @@
<textarea name="content" rows="10" cols="80">${subs.content}</textarea>
</div>
<div id="buttons">
<input type="submit" name="action" value="<%=intl._("Save")%>" >
<input type="submit" name="action" value="<%=intl._("Reload")%>" >
<input type="submit" name="action" value="<%=intl._("Save")%>" >
</div>
</form>
<div id="help">

View File

@ -1,3 +1,7 @@
2010-05-19 zzz
* Data: Remove lots of unnecessary initializers
* susidns: More validataion when adding entry
2010-05-15 zzz
* Console:
- Tag text in graphs

View File

@ -18,7 +18,7 @@ public class RouterVersion {
/** deprecated */
public final static String ID = "Monotone";
public final static String VERSION = CoreVersion.VERSION;
public final static long BUILD = 7;
public final static long BUILD = 8;
/** for example "-test" */
public final static String EXTRA = "";