- 25 Jun, 2008 1 commit
-
-
Grant Ayers authored
-
- 24 Oct, 2007 1 commit
-
-
Russ Fish authored
-
- 10 Oct, 2007 1 commit
-
-
Russ Fish authored
-
- 09 Oct, 2007 1 commit
-
-
Russ Fish authored
-
- 08 Oct, 2007 1 commit
-
-
Russ Fish authored
Note: new_node attributes have not yet been converted from names for osid's and imageid's to new-style integer indices. www/editnodetype.php3 - The reworked PHP page, including an EditNodeType function bridging to the script via XML. backend/{editnodetype,GNUmakefile}.in configure configure.in - New backend script, including wildcarding on %xmlfields table entries to handle dynamic attributes. sql/database-fill.sql - Add table_regex 'node_types' checking patterns.
-
- 27 Aug, 2007 1 commit
-
-
Russ Fish authored
-
- 16 Aug, 2007 1 commit
-
-
Leigh B. Stoller authored
physical type to pcvwa (our generic type for widearea virtual nodes). Local node types are still mapped to pcvm.
-
- 14 Aug, 2007 1 commit
-
-
Russ Fish authored
one SQL injection hole, and shifted detection of probes earlier in a lot of other pages. But some inputs that were marked PAGEARG_STRING should actually be PAGEARG_ANYTHING, since they're text fields where quotes make sense, and are escaped properly in the logic that handles them. approveproject.php3 - message editnodetype.php3 - newattribute_value newnodelog.php3 - log_entry newosid.php3 - description nodecontrol.php3 - startupcmd (node_control strips single-quotes from values.)
-
- 17 May, 2007 1 commit
-
-
Mike Hibler authored
diskloadmfs_osid editing.
-
- 03 May, 2007 1 commit
-
-
Russ Fish authored
-
- 25 Apr, 2007 1 commit
-
-
Mike Hibler authored
by pid/id since the id is now an integer and not even shown in the resulting drop-down list.
-
- 19 Apr, 2007 1 commit
-
-
Leigh B. Stoller authored
-
- 28 Mar, 2007 1 commit
-
-
Russ Fish authored
-
- 12 Feb, 2007 1 commit
-
-
Leigh B. Stoller authored
register_globals=1 to turn POST/GET/COOKIES arguments in local variables. This is known to be a terrible security risk, and we keep saying we are going to fix it, and now I am. In order to accomplish this on a transitional basis (since I don't want the entire web interface to stop working while I debug it), and because the code just needs the cleanup, I am doing it like this: Each page will sport new declarations at the top: RequiredPageArguments("experiment", PAGEARG_EXPERIMENT, "template", PAGEARG_TEMPLATE, "instance", PAGEARG_INSTANCE, "metadata", PAGEARG_METADATA, "osinfo", PAGEARG_OSINFO, "image", PAGEARG_IMAGE, "project", PAGEARG_PROJECT, "group", PAGEARG_GROUP, "user", PAGEARG_USER, "node", PAGEARG_NODE, "yesno", PAGEARG_BOOLEAN, "message", PAGEARG_STRING, "age", PAGEARG_INTEGER, "cost", PAGEARG_NUMERIC, "formfields", PAGEARG_ARRAY, "unknown", PAGEARG_ANYTHING); OptionalPageArguments("canceled", PAGEARG_BOOLEAN); The first token in each pair is the name of the global variable to set, and the second token is the type. So, for "experiment" we look at the URL for a pid/eid or exptidx, etc, sanity check them (safe for a DB query), and then try to find that experiment in the DB. If it maps to an experiment, set global variable $experiment to the object. Since its a required argument, produce an error if not supplied. Similar treatment for optional arguments, with the obvious difference. The goal is to have ALL argument processing in one place, consistent, and correct. I've found numerous places where we leak unchecked arguments into queries. It also cuts out a lot of duplicated code. * To make the above easier to deal with, I've been replacing lots of hardcoded URLS in the code of the form: foo.php3?pid=$pid&eid=$eid ... with CreateURL("foo", $experiment) which creates and returns the neccessary url string, by looking at the type of its arguments (experiment, template, instance, etc.) Eventually plan to replace them all so that URL handling throughout the code is all defined in one place (all the new URL code is in url_defs.php). * I have cranked up error reporting to tell me anytime a variable is used before it is initialized, plus a bunch of other stuff that PHP deems improper. Think of it like -Wall ... and boy we get a lot of warnings. A very large percentage of the diffs are to fix all these warnings. The warnings are currently going to /usr/testbed/log/php-errors.log, and I'll be adding a script to capture them each night and mail them to tbops. This file also gets errors (this will be a change for developers; rather then seeing errors and warnings dumped in the middle of web pages, they will go to this file instead). * Major refactoring of the code. More objects (nodes, images, osids). Moving tons of queries into the objects in the hopes of someday getting to a point where we can split the web interface onto a different server. Lots of general cleanup.
-
- 20 Dec, 2006 1 commit
-
-
Leigh B. Stoller authored
converting to locally unique ids and later globally unique ids.
-
- 18 Jul, 2006 1 commit
-
-
Leigh B. Stoller authored
table, into a new table called node_type_attributes, which is intended to be a more extensible way of describing nodes. The only things left in the node_types table will be type,class and the various isXXX boolean flags, since we use those in numerous joins all over the system (ie: when discriminating amongst nodes). For the most part, all of that other stuff is rarely used, or used in contexts where the information is needed, but not for type descrimination. Still, it made for a lot of queries to change! Along the way I added a NodeType library module that represents the type info as a perl object. I also beefed up the existing Node module, and started using it in more places. I also added an Interfaces module, but I have not done much with that yet. I have not yet removed all the slots from the node_types table; I plan to run the new code for a few days and then remove the slots. Example using the new NodeType object: use NodeType; my $typeinfo = NodeType->Lookup($type); if ($typeinfo->control_interface(\$control_iface) || !$control_iface) { warn "No control interface for $type is defined in the DB!\n"; } or using the Node: use Node; my $nodeobject = Node->Lookup($node_id); my $imageable = $nodeobject->NodeTypeInfo()->imageable(); or my $rebootable = $nodeobject->isrebootable(); or $nodeobject->NodeTypeAttribute("control_interface", \$control_iface); Lots of way to accomplish the same thing, but the main point is that the Node is able to override the NodeType (if it wants to), which I think is necessary for flexibly describing one/two of a kind things like switches, etc.
-
- 20 Sep, 2005 1 commit
-
-
Mike Hibler authored
-
- 22 Feb, 2005 1 commit
-
-
Leigh B. Stoller authored
and per OSID basis. * Added bios_waittime to node_types table and reboot_waittime to os_info table. Initialized them as follows: update node_types set bios_waittime=60 where class='pc'; update os_info set reboot_waittime=150 where OS='Linux' or OS='FreeBSD' or OS='NetBSD'; update os_info set reboot_waittime=180 where OS=Windows'; * The bios waittime can be edited via the web interface. * The reboot waittime can be set only by admin people right now; this is another case of something that maybe the user should not see cause its too much stuff? Instead, default values are established in www/osiddefs.php3. * os_setup computes its per-node waitime as: (bios_waittime + reboot_waittime) * 2 as per Mike's suggestion. If either value is not defined in the DB, it defaults the original 7 minute value.
-
- 07 Jul, 2004 1 commit
-
-
Leigh B. Stoller authored
-
- 23 Jun, 2004 1 commit
-
-
Leigh B. Stoller authored
-
- 18 Jun, 2004 1 commit
-
-
Mike Hibler authored
-
- 20 May, 2004 1 commit
-
-
Robert Ricci authored
use the new type with vnodes.
-
- 18 May, 2004 1 commit
-
-
Leigh B. Stoller authored
'loadinfo' request.
-
- 26 Feb, 2004 3 commits
-
-
Robert Ricci authored
ones. Provide defaults for many fields, when creating a new type. Re-order a few fields to make a little more sense. Add a javascript function to build a value for control_iface based on what the user puts into control_net.
-
Leigh B. Stoller authored
-
Leigh B. Stoller authored
node_types table, especially when setting up new testbeds. Currently, linked off the node summary page, when in admin mode you get the edit link instead of the show link.
-