1. 09 May, 2008 1 commit
    • Kevin Atkinson's avatar
      Make project approval mail truly anonymous. Also make membership · 503bb661
      Kevin Atkinson authored
      acceptance email truly anonymous.  A few other emails related to
      project membership are still not anonymous though.  New function
      AnonSENDMAIL in libtestbed which will try to make sure there is no
      trace of the current user in the mail sent.
      
      For now, stop sending membership approval related email to the project
      admin list since this will also go to testbed-approval.  There is also
      some code to remove testbed-approval from the proj-admin list after
      the acceptance email but this is disabled for now since some times people
      reply to the approval email.
      503bb661
  2. 01 May, 2008 1 commit
    • Kevin Atkinson's avatar
      Implemt FS#187 -- Show admin history of projects: · 8054f5f8
      Kevin Atkinson authored
        When a project is initially created a new mailing list is created,
        PROJ-admin@emulab.net.
      
        testbed-approval is subscribed to the list
      
        Several emails that originally went to testbed-approval now go to the
        mailing list instead.  The From, To, fields are basically the same
        with testbed-approval becoming PROJ-admin.  This means some mail
        is sent with a From PROJ-admin and Bcc the mailing list.  Note that
        some mail still goes to testbed-approval directly, in particular
        ones where there is no clear project involved, and when a project is
        denied.
      
        In addition notifications of approval status of new members is also
        sent to the list.  These emails use to only go to testbed-audit@.
      
        Currently All mail sent to PROJ-admin is also sent to testbed-audit
        (via a Bcc).  This means that some mail that didn't use to go to
        testbed-audit now does.
      
        The mailing list is deleted when a project is deleted with out first
        being approved.  Becuase of this notified that a project is denied
        is sent to testbed-approval instead of PROJ-admin.
      
        Admins can access the mailing list from the Project Profile page.
      
        The mailing list is open in order to allow users to reply to the
        mailing list, in addition the check that PROJ-admin is in the To or
        CC field is disabled.  There is currently no spam control on the
        mailing lists.  However, since the mailing list address is not posted
        anywhere it should't pick up to much spam.  If it does we can deal
        with it then.
      
        Finally, a new script is created to create the per-project admin
        mailing list.  See doc/UPDATING.
      
      Also add DBQuerySingleFatal to libdb, which is like DBQueryFatal but
      also fails if the query didn't return any results.  Basically
      identical to he version in libtblog.  Eventually libtblog should be
      modified to use this version.
      8054f5f8
  3. 16 Apr, 2008 1 commit
  4. 09 Apr, 2008 1 commit
  5. 08 Apr, 2008 1 commit
    • Leigh B. Stoller's avatar
      A little auth module plugin I wrote to allow cross-domain login from · fc9aae80
      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.
      fc9aae80
  6. 01 Apr, 2008 1 commit
  7. 31 Mar, 2008 1 commit
  8. 28 Mar, 2008 1 commit
  9. 26 Mar, 2008 1 commit
  10. 07 Nov, 2007 1 commit
    • Leigh B. Stoller's avatar
      Just for kicks and cause I'm such a fan of "the wiki" I went ahead and · b15d5f78
      Leigh B. Stoller authored
      fully integrated Trac. I put a new installation in /usr/local/www/data/trac
      and I added all the hooks for adding users and doing the cross machine
      login. Only STUDLY() users will actually see the new option in the collab
      dropdown menu.
      
      I have not done anything to make the trac installation look like Emulab.
      b15d5f78
  11. 19 Sep, 2007 1 commit
  12. 02 Aug, 2007 1 commit
  13. 18 Mar, 2007 1 commit
  14. 08 Mar, 2007 1 commit
  15. 10 Jan, 2007 1 commit
  16. 01 Dec, 2006 1 commit
  17. 02 Nov, 2006 1 commit
  18. 27 Oct, 2006 2 commits
  19. 25 Oct, 2006 2 commits
    • Leigh B. Stoller's avatar
      Makefile Whacking! Try to deal with the problem caused by the delay · bc269f9a
      Leigh B. Stoller authored
        between when something is installed and when post-install runs. Short
        of a global lock (which we probably need anyway someday), my solution
        is this. In your makefiles, add these variables before the line that
        has the include of $(TESTBED_SRCDIR)/GNUmakerules:
      
        	SETUID_BIN_SCRIPTS   =
        	SETUID_SBIN_SCRIPTS  =
      
        I have added three new rules to GNUmakerules that look like this:
      
        	$(addprefix $(SBINDIR)/, $(SETUID_SBIN_SCRIPTS)): $(SBINDIR)/%: %
        		echo "Installing (setuid) $<"
        		-mkdir -p $(INSTALL_SBINDIR)
        		$(SUDO) $(INSTALL) -o root -m 4755 $< $@
      
        Yep, your eyes ain't lying to you; use sudo to run the target so that
        install does the right thing (which is that the old file is not
        replaced until the new one has the proper attributes on it).
      
        Note that post-install is still needed for the initial install, but
        should no longer be needed for day to day installs since all that other
        stuff post-install does is mkdir/chmod on directories.
      bc269f9a
    • Leigh B. Stoller's avatar
      Makefile Whacking! Try to deal with the problem caused by the delay · 7590f9c5
      Leigh B. Stoller authored
      between when something is installed and when post-install runs. Short
      of a global lock (which we probably need anyway someday), my solution
      is this. In your makefiles, add these variables before the line that
      has the include of $(TESTBED_SRCDIR)/GNUmakerules:
      
      	SETUID_BIN_SCRIPTS   =
      	SETUID_SBIN_SCRIPTS  =
      
      I have added three new rules to GNUmakerules that look like this:
      
      	$(addprefix $(SBINDIR)/, $(SETUID_SBIN_SCRIPTS)): $(SBINDIR)/%: %
      		echo "Installing (setuid) $<"
      		-mkdir -p $(INSTALL_SBINDIR)
      		$(SUDO) $(INSTALL) -o root -m 4755 $< $@
      
      Yep, your eyes ain't lying to you; use sudo to run the target so that
      install does the right thing (which is that the old file is not
      replaced until the new one has the proper attributes on it).
      
      Note that post-install is still needed for the initial install, but
      should no longer be needed for day to day installs since all that other
      stuff post-install does is mkdir/chmod on directories.
      7590f9c5
  20. 20 Oct, 2006 1 commit
    • Mike Hibler's avatar
      Wow, this should make me look important! · afa5e919
      Mike Hibler authored
      Two-day boondoggle to support "/scratch", an optional large, shared filesystem
      for users.  To do this, I needed to find all the instances where /proj is used
      and behave accordingly.  The boondoggle part was the decision to gather up all
      the hardwired instances of shared directory names ("/proj", "/users", etc.)
      so that they are set in a common place (via unexposed configure variables).
      This is a boondoggle because:
      
      1. I didn't change the client-side scripts.  They need a different mechanism
         (e.g., tmcd) to get the info, configure is the wrong way.
      
      2. Even if I had done #1 it is likely--no, certain--that something would
         fail if you tried to rename "/proj" to be "/mike".  These names are just
         too ingrained.
      
      3. We may not even use "/scratch" as it turns out.
      
      Note, I also didn't fix any of the .html documentation.  Anyway, it is done.
      To maintain my illusion in the future you should:
      
      1. Have perl scripts include "use libtestbed" and use the defined PROJROOT(),
         et.al. functions where possible.  If not possible, make sure they run
         through configure and use @PROJROOT_DIR@, etc.
      
      2. Use the configure method for python, C, php and other languages.
      
      3. There are perl (TBValidUserDir) and php (VALIDUSERPATH) functions which
         you should call to determine if an NS, template parameter, tarball or
         other file are in "an acceptable location."  Use these functions where
         possible.  They know about the optional "scratch" filesystem.  Note that
         the perl function is over-engineered to handles cases that don't occur
         in nature.
      afa5e919
  21. 23 Feb, 2006 2 commits
  22. 17 Feb, 2006 2 commits
  23. 06 Feb, 2006 2 commits
  24. 09 Jan, 2006 1 commit
  25. 06 Jan, 2006 1 commit
  26. 31 Oct, 2005 2 commits
  27. 14 Oct, 2005 2 commits
  28. 30 Sep, 2005 2 commits
  29. 27 Sep, 2005 1 commit
  30. 20 Sep, 2005 3 commits
    • Leigh B. Stoller's avatar
    • Leigh B. Stoller's avatar
      ce71dbe3
    • Leigh B. Stoller's avatar
      Checkpoint Chat Support stuff; mostly working but still needs work. · 90cdfb60
      Leigh B. Stoller authored
      Ready for local people to play with.
      
      The current implementation is that we munge the mysql DB on ops directly,
      underneath jabberd. We add/del users from the authreg table, and set up
      buddy lists in the roster-items and roster-groups tables. modgroups will
      invoke the modjabberbuddies whenever a user is added or removed from a
      group, although currently I am building buddy lists for just the top level
      projects.
      
      The "My IM" link in the collaboration menu will tell the user their
      jabber ID on the Emulab chat server (jabber.emulab.net) and also give
      them their plain text password to plug into their chat client.
      
      I also installed a java applet (Jeti) that is a simple chat client that
      I found off the jabberware page. Like all applets, it exhibits a degree
      of flakiness, but I really do not expect too many people to use it.
      90cdfb60