1. 06 May, 2014 10 commits
  2. 31 Mar, 2014 1 commit
  3. 22 Mar, 2014 1 commit
  4. 17 Jan, 2014 1 commit
  5. 10 Jan, 2014 1 commit
  6. 08 Jan, 2014 1 commit
  7. 16 Dec, 2013 1 commit
  8. 07 Nov, 2013 1 commit
  9. 06 Nov, 2013 1 commit
  10. 19 Sep, 2013 1 commit
  11. 03 Jan, 2013 1 commit
  12. 14 Nov, 2012 1 commit
    • Leigh Stoller's avatar
      Move rpm/tar download from boss to ops, to avoid wasted network traffic. · f37cd9dc
      Leigh Stoller authored
      To turn this option on, define SPEWFROMOPS=1 in your defs file. This
      will result in a redirect message from boss which will send the wget
      client over to ops. 
      
      A perl setuid root cgi script is run from the webserver on ops when a
      /spewrpmtar request is made. This script sends the key,nodeid,file
      over to boss via XMLRPC (as elabman). The return is simple yes or no,
      the caller is allowed (not allowed) to have that file. Since the
      ops script runs as root, it can spew the file back to the caller.
      
      Note that the elabinelab checks for the elabinelab source code are
      gone; we are now open source. Also, we spew that file from /share now,
      to be consistent.
      f37cd9dc
  13. 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
  14. 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
  15. 06 Mar, 2012 1 commit
  16. 17 Feb, 2012 1 commit
  17. 07 Nov, 2011 1 commit
  18. 08 Oct, 2011 1 commit
    • Mike Hibler's avatar
      Use boss as the ssh proxy if inner ops is a VM. · 992665d3
      Mike Hibler authored
      Subtle: if your elabinelab uses a VM for ops, then there will be no
      myops.eid.pid.emulab.net DNS alias created outside (since there is no actual
      ops node in the topo) and thus the inner ops cannot be used as a proxy for
      ssh'ing to the unroutable inner nodes. In that case we use the inner boss
      instead.
      992665d3
  19. 28 Jul, 2011 1 commit
  20. 02 Aug, 2010 1 commit
  21. 22 Jun, 2010 2 commits
  22. 28 Apr, 2010 1 commit
  23. 09 Feb, 2010 1 commit
  24. 03 Dec, 2009 1 commit
  25. 30 Nov, 2009 1 commit
  26. 08 May, 2009 1 commit
  27. 26 Feb, 2009 1 commit
  28. 23 Oct, 2008 1 commit
  29. 21 Oct, 2008 1 commit
    • Kevin Atkinson's avatar
      If a known user (based on stored cookies) is not logged in than · 846a98d6
      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.
      846a98d6
  30. 21 Aug, 2008 1 commit
    • David Johnson's avatar
      Add a new client side script, osconfig, that can update an MFS or a · dc10d326
      David Johnson authored
      frisbee-loaded slice based on a tarball downloaded from boss.  For now,
      the tarball is dynamically created by boss based on params sent to the
      osconfig_dump.php script; it is populated with files and a MANIFEST based
      on the files and constraints in the osconfig_* tables, which are pretty
      self-explanatory.  Transport is not secure, nor intended to be -- nodes on
      the control net or widearea nodes auth'd with a privkey can grab stuff
      destined to them based on their IP addr.  For the MFS case, the tarball is
      unpacked and the MANIFEST entries are executed/copied/extracted, and
      (nearly all of) the client side is re-run.  For the slicefix case, we just
      execute/copy/extract the MANIFEST entries in the mounted slice... there
      are some useful env vars set for scripts to use.
      
      If this mechanism ever becomes generally useful, or we're pushing big update
      tarballs, we'll have to add a caching mechanism (doh).  Right now, it's just
      for dongle-booted nodes or widearea nodes on which we cannot update the
      physical boot media without much pain; as well as for making major whacks
      to frisbee-loaded slices, which we need for the widearea case.
      
      Also, call this from rc.cdboot (to update a "read-only" (real media is
      mounted ro, but other parts of the fs are rw via unionfs or mfs) MFS),
      and from slicefix.
      
      NOTE: the client side osconfig script does not get installed from the
      makefile; this is intentional.  This script should not be placed in our
      local tftp'd MFSes, at least until there's some need for it!
      dc10d326