aboutsummaryrefslogtreecommitdiffstats
path: root/tools/control/web/tmpl/vd-vdcr.tmpl
diff options
context:
space:
mode:
authorach61@labyrinth.cl.cam.ac.uk <ach61@labyrinth.cl.cam.ac.uk>2003-05-20 17:49:11 +0000
committerach61@labyrinth.cl.cam.ac.uk <ach61@labyrinth.cl.cam.ac.uk>2003-05-20 17:49:11 +0000
commita1f732504e2c65836b08c9129902b3315f59b294 (patch)
tree861dca095e0984b05c47af6703ea177d64fc3b86 /tools/control/web/tmpl/vd-vdcr.tmpl
parent5bb16295d0ef25d6ee3580c5a74184584ad1ef4a (diff)
downloadxen-a1f732504e2c65836b08c9129902b3315f59b294.tar.gz
xen-a1f732504e2c65836b08c9129902b3315f59b294.tar.bz2
xen-a1f732504e2c65836b08c9129902b3315f59b294.zip
bitkeeper revision 1.246 (3eca6a979guOx5GLVimvVvJLI_a1Ag)
additional error checking and input validation
Diffstat (limited to 'tools/control/web/tmpl/vd-vdcr.tmpl')
-rw-r--r--tools/control/web/tmpl/vd-vdcr.tmpl73
1 files changed, 49 insertions, 24 deletions
diff --git a/tools/control/web/tmpl/vd-vdcr.tmpl b/tools/control/web/tmpl/vd-vdcr.tmpl
index 85936cdd95..08e63b2e90 100644
--- a/tools/control/web/tmpl/vd-vdcr.tmpl
+++ b/tools/control/web/tmpl/vd-vdcr.tmpl
@@ -16,39 +16,64 @@ INCLUDE&vdmenu.tmpl
<%
HttpServletRequestWrapper hsrw = new HttpServletRequestWrapper(request);
- String size = hsrw.getParameter("size").trim() +
- hsrw.getParameter("sizeunits").trim();
- long expiry = Long.decode(hsrw.getParameter("expiry")).longValue();
+ String size = null;
+ String expiry_string = null;
+ long expiry = 0;
- /* not perfect, but good enough for now... */
- if ( hsrw.getParameter("expiryunits").equals("d"))
+ if (hsrw.getParameter("size") == null ||
+ hsrw.getParameter("size").trim().equals(""))
{
- expiry *= 24 * 60 * 60 * 1000;
- }
- else if ( hsrw.getParameter("expiryunits").equals("w"))
- {
- expiry *= 24 * 60 * 60 * 1000 * 7;
+%>
+Error: size not specified.<br>
+<%
}
- else if ( hsrw.getParameter("expiryunits").equals("m"))
+ else if (hsrw.getParameter("expiry") == null ||
+ hsrw.getParameter("expiry").trim().equals(""))
{
- expiry *= 24 * 60 * 60 * 1000 * 30;
+%>
+Error: expiry time not specified.<br>
+<%
}
- else if ( hsrw.getParameter("expiryunits").equals("y"))
+ else
{
- expiry *= 24 * 60 * 60 * 1000 * 365;
- }
+ size = hsrw.getParameter("size").trim() +
+ hsrw.getParameter("sizeunits").trim();
+
+ try
+ {
+ expiry = Long.decode(hsrw.getParameter("expiry")).longValue();
+ /* not perfect, but good enough for now... */
+ if ( hsrw.getParameter("expiryunits").equals("d"))
+ {
+ expiry *= 24 * 60 * 60 * 1000;
+ }
+ else if ( hsrw.getParameter("expiryunits").equals("w"))
+ {
+ expiry *= 24 * 60 * 60 * 1000 * 7;
+ }
+ else if ( hsrw.getParameter("expiryunits").equals("m"))
+ {
+ expiry *= 24 * 60 * 60 * 1000 * 30;
+ }
+ else if ( hsrw.getParameter("expiryunits").equals("y"))
+ {
+ expiry *= 24 * 60 * 60 * 1000 * 365;
+ }
%>
-output = <%= root.doCreateVirtualDisk( hsrw.getParameter("name"),
- size, expiry)
- %>
-<br>
-size = <%= size %>
-<br>
-expiry = <%= hsrw.getParameter("expiry") %>
-<br>
-expiryunits = <%= hsrw.getParameter("expiryunits") %>
+output =<br>
+<%= root.doCreateVirtualDisk( hsrw.getParameter("name"), size, expiry) %>
<br>
+<%
+ }
+ catch (NumberFormatException e)
+ {
+%>
+Error: invalid expiry time specification.<br>
+<%
+ }
+ }
+%>
<%
root.doFlushState();