1. 01 Aug, 2012 1 commit
    • Mike Hibler's avatar
      Support 64-bit FreeBSD on the server side. · 9036d314
      Mike Hibler authored
      NOTE: currently only for FreeBSD 7.3 installs because that is the only
      set of boss/ops/fs packages I have built so far!
      
      This mostly involved minor changes to event agents. Too often we were
      passing a pointer to a "long" to *get_int32, which on a 64-bit x86 OS would
      fill the wrong half of a 64-bit variable. There was also one instance of
      TCL code that had to be tweaked to account for 32- vs 64-bit.
      
      These changes also required regeneration of SWIG stubs and an ugly change
      to the SWIG generated code to use va_copy rather than direct assignment in
      a couple of places.
      
      Also related to SWIG is ensuring that the components that go into the
      perl/python stub .so files are built with PIC. The amd64 linker requires
      this.
      
      The meta-ports had to be changed to reflect that linuxthreads and
      ulsshxmlrpcpp don't work on amd64. The former had little effect as we
      had mostly eliminated uses of linuxthreads already. The one thing that
      did change was that we do not build nfstrace on amd64 (and we don't
      currently use this anyway). Removing ulsshxmlrpcpp required switching
      to the new event scheduler (event/new_sched) that Ryan did awhile back.
      Note that it is only "new" in the sense that it uses a standard XMLRPC
      package, there should be no functional differences. However, to be safe
      we only use new_sched as the standard scheduler on 64-bit server installs.
      
      Finally, added support to elabinelab setup to do a 64-bit server install.
      Just specify FBSD73-64-STD as the boss/ops/fs osid and rc.mkelab should
      do the rest.
      
      That is pretty much it other than some random nits here and there.
      9036d314
  2. 18 Jun, 2012 1 commit
  3. 30 Apr, 2012 1 commit
    • Mike Hibler's avatar
      First cut at FreeBSD 9.0 support. · 1f83c9c6
      Mike Hibler authored
      Upgrade to perl 5.12 means no more "suidperl" (setuid perl scripts).
      So we now have yet another little wrapper (security/runsuid.c) which
      runs suid and whose sole function is to exec the perl script of the
      same name in the /usr/testbed/suidbin directory. So a formerly setuid
      perl script install now goes like:
        create /usr/testbed/sbin/mkproj as a symlink to /usr/testbed/libexec/runsuid
        install real mkproj perl script in /usr/testbed/suidbin/mkproj
      When the setuid-wrapper is invoked under the name "mkproj" it execs
      /usr/testbed/suidbin/mkproj. We could almost use sudo for this purpose
      instead (see security/sudoers.in) but sudo loses one of the groups in
      the group list.
      
      /usr/include/utmp.h is gone in FreeBSD 9.0. In most places we nevered
      needed it, but in the one case that did (tg source), it just used a
      couple of the constants exposed (UT_*) and not the struct, so I just
      hardwired values for the constants.
      
      The usual tweakage to the install stuff to reflect yet another set of
      packages!
      1f83c9c6
  4. 19 Jul, 2011 2 commits
  5. 04 Apr, 2011 1 commit
  6. 17 Sep, 2010 1 commit
  7. 10 May, 2010 1 commit
  8. 16 Apr, 2010 1 commit
  9. 15 Apr, 2010 4 commits
  10. 09 Feb, 2010 1 commit
  11. 20 Aug, 2008 1 commit
  12. 08 May, 2008 1 commit
  13. 30 Apr, 2008 1 commit
  14. 05 Dec, 2007 1 commit
  15. 02 Aug, 2007 1 commit
  16. 05 Jun, 2007 1 commit
  17. 31 May, 2007 1 commit
  18. 25 May, 2007 1 commit
  19. 25 Apr, 2007 1 commit
  20. 23 Apr, 2007 1 commit
  21. 12 Mar, 2007 1 commit
  22. 10 Jan, 2007 1 commit
  23. 04 Dec, 2006 1 commit
  24. 01 Dec, 2006 2 commits
  25. 24 Oct, 2006 1 commit
  26. 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
  27. 20 Jul, 2006 1 commit
  28. 09 Jun, 2006 1 commit
  29. 24 May, 2006 4 commits
  30. 09 May, 2006 1 commit
  31. 22 Feb, 2006 1 commit
  32. 08 Feb, 2006 1 commit
    • Kirk Webb's avatar
      · 3964c6c4
      Kirk Webb authored
      Fix tty idle detection on FreeBSD.  The problem was that slothd was only
      enumerating the tty devices once at startup.  This does not work well with
      the devfs and dynamically created pty device nodes.  So, slothd now
      re-enumerates the tty devices prior to checking the tty devices for
      activity.
      3964c6c4