- 27 Dec, 2010 1 commit
-
-
Leigh B Stoller authored
-
- 23 Dec, 2010 1 commit
-
-
Leigh B Stoller authored
-
- 22 Dec, 2010 2 commits
-
-
Robert Ricci authored
When running from suexec, no need to give full path to the minary, or to re-direct stdout and stderr.
-
Robert Ricci authored
-
- 28 Apr, 2010 4 commits
-
-
Kevin Atkinson authored
exp. visualization code.
-
Kevin Atkinson authored
write-vis-auth-boss -> write-vis-auth write-vis-auth-ops -> write-vis-auth.proxy
-
Kevin Atkinson authored
more than one instance from running at once and 2) can run in the background by mailing testbed-ops on error.
-
Kevin Atkinson authored
-
- 22 Mar, 2010 1 commit
-
-
Leigh B Stoller authored
deleted, they still remain in the user table with a status of "archived", but since all the queries in the system now use uid_idx instead of uid, it is safe to reuse a uid since they are no longer ambiguous. The reason for not deleting users from the users table is so that the stats records can refer to the original record (who was that person named "mike"). This is very handy and worth the additional effort it has taken. There is no way to ressurect a user, but it would not be hard to add.
-
- 17 Mar, 2010 1 commit
-
-
Kevin Atkinson authored
from the old domain no longer exist to avoid strange behavior.
-
- 27 Jan, 2010 1 commit
-
-
Kevin Atkinson authored
-
- 19 Feb, 2009 1 commit
-
-
Leigh B. Stoller authored
* If a user is web frozen make sure they got logged out next access. * If a user is web frozen, do not let them change their password, put up a message to contact tbops. * If a user is frozen, say so when the login fails so that they do not keep trying!
-
- 23 Oct, 2008 1 commit
-
-
http://*https://*Kevin Atkinson authored
CHECKLOGIN_MAYBEVALID. Also fixup index.php3 so it always redirects to https on the same error. Added new helper function RedirectHTTPS which will redirect to https if necessary.
-
- 21 Oct, 2008 1 commit
-
-
Kevin Atkinson authored
redirect to the login page rather than printing a message with a link to the page. Otherwise send a "403 Forbidden" to keep robots from indexing the page. Also send appreciate HTTP responses on other precheck errors to keep a robot from indexing the page. In order to do this the PAGEHEADER call needed to be moved to after CheckLoginOrDie and Required/OptionalPageArguments on many pages. A warning will be printed if either CheckLoginOrDie or Required/OptionalPageArguments detects that PAGEHEADER was already called. Also change the redirect in kb-show to be a permanent redirect (301) rather than a temporary one (302) which is the default unless a status code is given.
-
- 21 Aug, 2008 1 commit
-
-
Leigh B. Stoller authored
special people).
-
- 18 Aug, 2008 1 commit
-
-
Leigh B. Stoller authored
-
- 17 Jul, 2008 2 commits
-
-
Leigh B. Stoller authored
-
Leigh B. Stoller authored
-
- 08 Apr, 2008 1 commit
-
-
Leigh B. Stoller authored
emulab to the protogeni wiki, but I use it for all of the wikis. The basic idea is that the emulab backend inserts a hash value into the cookie table in the trac DB on ops (via ssh). Then Emulab issues a redirect over to the trac wiki, with the uid/hash values as arguments to the xlogin URL. This hash is use-once; if it exists in the cookies table, it is deleted and a new one generated by the underlying auth module, and a cookie returned to the browser. The user is thus logged in for all subsequent access. Why? Cause emulab.net cannot insert auth cookies for protogeni.net, so must let the auth module inside trac insert the cookie.
-
- 31 Mar, 2008 1 commit
-
-
Leigh B. Stoller authored
-
- 17 Apr, 2007 1 commit
-
-
Leigh B. Stoller authored
table. Note that workbench permission implies archive permission too. Added the toggle to the project page. Added a "stud" toggle to the user page while I was there.
-
- 07 Mar, 2007 1 commit
-
-
Leigh B. Stoller authored
-
- 23 Feb, 2007 1 commit
-
-
Leigh B. Stoller authored
-
- 14 Feb, 2007 1 commit
-
-
Leigh B. Stoller 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.
-
- 30 Jan, 2007 1 commit
-
-
Leigh B. Stoller authored
-
- 10 Jan, 2007 1 commit
-
-
Leigh B. Stoller authored
methods. Change a bunch of queries that join on the users table to use the idx instead of the uid. This will need to be completed before we can really archive users away, but close at this point.
-
- 21 Dec, 2006 1 commit
-
-
Leigh B. Stoller authored
new uid code, but which is no longer needed now that the login table has been updated. This was causing a few unlucky people to not be able to log in.
-
- 20 Dec, 2006 1 commit
-
-
Leigh B. Stoller authored
converting to locally unique ids and later globally unique ids.
-
- 27 Nov, 2006 1 commit
-
-
Leigh B. Stoller authored
The major functional change in this revision is converting from user selected UIDs to system selected UIDs. This is controlled by the variable $USERSELECTUIDS in defs/defs.php3.in which is now set to zero, so system selected UIDs is the default. The algo for creating the uid is to take the email address, strip the @whatever from it, squeeze out dots and dashes and underlines, and make sure any +foo tokens are removed. Then make sure it is unique by taking the first 5 characters and then adding a 3 digit number, derived by checking the DB to see what exists. Since we will want to (more often) change the UID selected, there is a new admin only menu option on the Show User page. It calls the backend script to do the work (sbin/changeuid). The login page now defaults to storing and showing the email address for login, rather then the UID. It will still accept either one though (has for a long time). Along the way I also reorg'ed a number of pages to use the new user, group, and project classes and moved some common functionality into the class defs. Also changed the way addpubkey is called, to avoid some confusion.
-
- 15 Jun, 2006 1 commit
-
-
Leigh B. Stoller authored
-
- 14 Jun, 2006 3 commits
-
-
Leigh B. Stoller authored
-
Leigh B. Stoller authored
mysql injection attack. Been there for years. Amazing.
-
Leigh B. Stoller authored
The adminon/off bit is now kept in the login table instead of the users table so that you can be reddot on a per-browser (login) basis.
-
- 08 Jun, 2006 1 commit
-
-
Russ Fish authored
Only show KB "Testbed Operations" section for admins (red-dot) or foreign_admins (from the testbed-admins list.)
-
- 23 May, 2006 1 commit
-
-
Leigh B. Stoller authored
mode, the User Profile menu has a new "Su as User" option that flips you to the target user. You are effectively logged out and logged back in as the target. No going back; you have to log out to return to your former self. That would be too much work for something that is a rare event.
-
- 08 May, 2006 1 commit
-
-
Leigh B. Stoller authored
-
- 05 May, 2006 2 commits
-
-
Leigh B. Stoller authored
-
Leigh B. Stoller authored
-
- 19 Dec, 2005 1 commit
-
-
Leigh B. Stoller authored
would be no big deal, except that we want to retain user_stats for deleted users, and rather then a deleted_user_stats table, I want to retain stats for deleted users in the user_stats table, since that is a more natural place for them. The main problem is that we use the login (uid) as the cross table reference slot all over the DB, which is fundamentally incorrect, if we want to be able reuse uids and still know what historical data refers to. So, I have taken a few baby steps towards weaning us off the uid, and towards permanently unique key for users, using the unix_uid integer for now, but probably something slightly different later. The user_stats is now indexed on this new key (called uid_idx in the users_stats table) instead of the plain uid. The unix_uid slot in the users table is no longer an auto_increment field, but instead uses the emulab_indicies table for the next available index.
-