1. 08 Nov, 2018 1 commit
  2. 04 Sep, 2018 1 commit
  3. 29 Aug, 2018 1 commit
  4. 30 Apr, 2018 1 commit
  5. 01 Mar, 2018 1 commit
  6. 31 Oct, 2017 1 commit
  7. 11 Oct, 2017 1 commit
  8. 04 Oct, 2017 1 commit
  9. 06 Sep, 2017 1 commit
  10. 31 May, 2017 1 commit
  11. 16 May, 2017 1 commit
  12. 19 Apr, 2017 1 commit
    • Leigh Stoller's avatar
      Add support for user session tracking and Google Analytics. · a896be22
      Leigh Stoller authored
      If we assign a unique constant random value to every user, and spit that
      out in the initial ga() stuff at the beginning of each page load, google
      can combine interactions from the same user across different devices.
      Say, like work vs home computer.
      a896be22
  13. 03 Nov, 2016 1 commit
  14. 24 Jun, 2016 1 commit
    • Leigh Stoller's avatar
      Change "genesis" to "portal" what the hell was I thinking when I · 040ea3be
      Leigh Stoller authored
      picked genesis. But this change actually has content; we need to
      distinguish between classic projects and emulab portal projects
      (new projects created via the portal, and used via the portal).  For now
      these are distinct until we decide to bring everyone up to the new
      interface.
      040ea3be
  15. 25 May, 2016 1 commit
  16. 12 Apr, 2016 1 commit
  17. 21 Mar, 2016 1 commit
  18. 08 Dec, 2015 1 commit
    • Kirk Webb's avatar
      Batch of changes that creates a PhantomNet portal branding. · ba49a457
      Kirk Webb authored
      Also includes some PhantomNet-specific restrictions (e.g. only
      allows use of the main Utah Emulab testbed  aggregate).
      
      This excercise stretched the limits of what we can reasonably do
      before introducing real per-testbed branding/policy mechanisms to
      the php/web front-end.  My changes ain't exactly pretty...
      
      Please take care when adding any testbed-specific changes to the
      code.  There are three flavors now to consider in the logic.
      ba49a457
  19. 27 Jan, 2015 1 commit
  20. 03 Jan, 2015 1 commit
  21. 14 Nov, 2014 1 commit
  22. 12 Nov, 2014 1 commit
  23. 28 Oct, 2014 1 commit
  24. 15 Sep, 2014 1 commit
  25. 27 Aug, 2014 1 commit
    • Leigh Stoller's avatar
      Large set of changes for using the Geni trusted signer tool, to · 980f6cbd
      Leigh Stoller authored
      authenticate Geni users to CloudLab (who do not have Emulab accounts).
      CloudLab users must have an account to do anything (unlike APT which allows
      guest users). But instead of requiring them to go through the Emulab
      account creation (high bar), let then use their Geni credentials to prove
      who they are. We then build a local account for that new user, and save off
      the speaksfor credential so that we can act on their behalf when talking to
      the backend clusters (and their MA to get their ssh keys).
      
      These users do not have a local account password, so they cannot log into
      the web interface using the Emulab login page, nor do they have a shell on
      ops.
      
      Once authenticated, we put the appropriate cookies into the browser via
      javascript, so they can use the Cloud (okay, APT) web interface (they
      appear logged in).
      
      I make use of the nonlocal_id field of the users table, which was not being
      used for anything else. Officially, these are "nonlocal" users in the code
      (IsNonLocal()).
      
      When a nonlocal user instantiates a profile, we use their speaksfor
      credential to ask their home MA for their ssh keys, which we then store in
      the DB, and then provide to the aggregate via the CreateSliver call.
      Note that no provision has been made for users who edit their profile and
      add keys; I am not currently expecting these users to stumble into the web
      interface (yet).
      980f6cbd
  26. 13 Jun, 2014 2 commits
  27. 12 Mar, 2014 1 commit
  28. 02 Jan, 2013 1 commit
  29. 04 Oct, 2012 1 commit
  30. 24 Sep, 2012 1 commit
    • Eric Eide's avatar
      Replace license symbols with {{{ }}}-enclosed license blocks. · 6df609a9
      Eric Eide authored
      This commit is intended to makes the license status of Emulab and
      ProtoGENI source files more clear.  It replaces license symbols like
      "EMULAB-COPYRIGHT" and "GENIPUBLIC-COPYRIGHT" with {{{ }}}-delimited
      blocks that contain actual license statements.
      
      This change was driven by the fact that today, most people acquire and
      track Emulab and ProtoGENI sources via git.
      
      Before the Emulab source code was kept in git, the Flux Research Group
      at the University of Utah would roll distributions by making tar
      files.  As part of that process, the Flux Group would replace the
      license symbols in the source files with actual license statements.
      
      When the Flux Group moved to git, people outside of the group started
      to see the source files with the "unexpanded" symbols.  This meant
      that people acquired source files without actual license statements in
      them.  All the relevant files had Utah *copyright* statements in them,
      but without the expanded *license* statements, the licensing status of
      the source files was unclear.
      
      This commit is intended to clear up that confusion.
      
      Most Utah-copyrighted files in the Emulab source tree are distributed
      under the terms of the Affero GNU General Public License, version 3
      (AGPLv3).
      
      Most Utah-copyrighted files related to ProtoGENI are distributed under
      the terms of the GENI Public License, which is a BSD-like open-source
      license.
      
      Some Utah-copyrighted files in the Emulab source tree are distributed
      under the terms of the GNU Lesser General Public License, version 2.1
      (LGPL).
      6df609a9
  31. 11 Jul, 2012 1 commit
    • Leigh Stoller's avatar
      Cleanup in the web interface to prevent XSS attacks. · 6cf701f9
      Leigh Stoller authored
      We had a couple of different problems actually.
      
      * We allow users to insert html into many DB fields (say, a project or
        experiment description).
      
      * We did not sanitize that output when displaying back.
      
      * We did not sanitize initial page arguments that were reflected in the
        output (say, in a form).
      
      Since no one has the time to analyze every line of code, I took a couple of
      shortcuts. The first is that I changed the regex table to not allow any <>
      chars to go from the user into the DB. Brutal, but in fact there are only a
      couple of places where a user legitimately needs them. For example, a
      startup command that includes redirection. I handle those as special
      cases. As more come up, we can fix them.
      
      I did a quick pass through all of the forms, and made sure that we run
      htmlspecialchars on everything including initial form args. This was not
      too bad cause of the way all of the forms are structured, with a
      "formfields" array.
      
      I also removed a bunch of obsolete code and added an update script to
      actually remove them from the www directory.
      
      Lastly, I purged some XMLRPC code I did a long time ago in the Begin
      Experiment path. Less complexity, easier to grok and fix.
      
      	modified:   sql/database-fill.sql
      	modified:   sql/dbfill-update.sql
      6cf701f9
  32. 30 Aug, 2011 1 commit
  33. 25 Jun, 2010 1 commit
  34. 22 Mar, 2010 1 commit
    • Leigh Stoller's avatar
      Finish up user deletion. The big visible change is that when a user is · 2965922b
      Leigh 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.
      2965922b
  35. 13 Jan, 2010 1 commit
  36. 12 Nov, 2009 1 commit
  37. 01 Oct, 2009 1 commit
  38. 18 Feb, 2009 1 commit
  39. 13 May, 2008 1 commit