1. 04 Jan, 2005 1 commit
  2. 03 Nov, 2004 1 commit
  3. 25 Oct, 2004 1 commit
  4. 24 Sep, 2004 1 commit
  5. 18 Aug, 2004 1 commit
  6. 14 Jul, 2004 1 commit
    • Mike Hibler's avatar
      1. Better control net detection. · ff2335dd
      Mike Hibler authored
         No longer rely on looking at kernel boot time messages and extracting
         a hardware signature to determine the nodetype to then determine the
         control net.  Now we just DHCP on all interfaces and decree that the
         interface that answers is our control net interface.
      
         An extraordinary number of sleezy tricks were needed to get FBSD4,
         FBSD5, and RHL to DHCP on all interfaces without changing any standard
         scripts.
      
         For now, the nodetype/cpuspeed/chipset scripts still exist for the
         benefit of healthd, which uses the output of nodetype to determine
         what kernel module to load.  We should fix this.
      
         Side-effect: pump, the old RHL DHCP client, is history!  For older
         RHL releases, you will need a version of dhclient.
      
         Side-effect: in Linux, all non-control net interfaces are left up
         but without a legit IP address.  This is a consequence of dhclient.
         In FBSD, it was trivial to clean this up, RHL will take a little
         more work.  Up or down, it shouldn't matter.
      
      2. Add an mfs-install make target, a scaled-down version of the client
         install.  Added a mandatory DESTDIR check so you don't accidentally
         install in the wrong place on boss.
      ff2335dd
  7. 24 Jun, 2004 1 commit
    • Mike Hibler's avatar
      Improve the client-side install. With these changes, it should now be · 976133e4
      Mike Hibler authored
      possible to:
      
      	gmake client
      	sudo gmake client-install
      
      on a FBSD4, FBSD5, RHL7.3, and RHL9.0 client node.
      
      There are still some dependencies that are not explicit and which would
      prevent a build/install from working on a "clean" OS.  Two that I know of are:
      you must install our version of the elvin libraries and you must install boost.
      976133e4
  8. 10 May, 2004 1 commit
    • Leigh B. Stoller's avatar
      Add makefile support for taking a FreeBSD fixit disk and turning that · c8b47d7d
      Leigh B. Stoller authored
      into a testbed boot CD in a mostly automated manner. There are still a
      few things that need to be done by hand, which are described in the
      cdboot/README file.
      
      Add tmcd/freebsd/cdboot directory of little scripts and files that
      need to onto the fixit disk.
      
      The install target is cdboot-install (must be run as root) and if you
      are brave enough to run it, you better give it a DESTDIR argument or
      you will write a bunch of files onto the local node that will cause
      mayhem and havoc at the next reboot.
      c8b47d7d
  9. 26 Apr, 2004 1 commit
    • Mike Hibler's avatar
      Cleanup Makefiles: · 297019fb
      Mike Hibler authored
      1. "make clean" will just remove stuff built in the process of a regular build
      2. "make distclean" will also clean out configure generated files.
      
      This is how it was always supposed to be, there was just some bitrot.
      297019fb
  10. 20 Apr, 2004 1 commit
    • Mike Hibler's avatar
      Improve the client-install. You can now do a "make client-install" from · 361ee691
      Mike Hibler authored
      the top level.  This will build all the necessary binaries and then install
      them.  This works on FBSD4 and RHL7.3.  It still doesn't work on FBSD5
      (newer compiler that no longer supports a style of use of _FUNCTION_ in the
      event lib) or RHL9 (event lib needs SSL lib which has a bad dependency
      on Kerberos).  Notes:
      
      - requires that elvin libraries be installed on nodes (they are) to build
        event agents, requires linuxthreads be installed on FBSD (it is now) to
        build imagezip (which is installed, but is not strictly necessary)
      
      - installed event-agents and other binaries are stripped
      
      - added a few missing files to the source tree for bsd (healthd.conf)
        and linux (healthd.conf, rc.local)
      
      - the only thing that doesn't get rebuilt in /usr/local/etc/emulab is
        healthd, I couldn't quickly find how it gets built
      
      - uses a scaled down version of libtb with no DB functions (since mysql
        isn't installed on nodes).  N.B. DO NOT DO A CLIENT INSTALL FROM YOUR
        REGULAR OBJ TREE OR ELSE YOU MAY WIND UP WITH A NEUTERED VERSION OF
        libtb.a!
      
      The build-as-well-as-install semantics are counter to the regular install
      targets, but this is what we gotta do for now.  Once the TB source builds
      under Linux and newer BSDs, we could undo this and just require that people
      do a regular "make" followed by "make client-install"  OTOH, there should
      be no reason to require installation of mysql and other server-side packages
      just to build clients (or make them sit through the compilation of assign),
      so maybe we will keep the client build special.
      361ee691
  11. 05 Mar, 2004 1 commit
  12. 20 Jan, 2004 1 commit
  13. 15 Oct, 2003 1 commit
    • Mike Hibler's avatar
      Uniform syslog'ing. Change everything I could find to use a syslog facility · cc6d6fa7
      Mike Hibler authored
      as defined in the defs-* file (e.g. "TBLOGFACIL=local2").  The default is
      "local5" which is what we are setup to use so you shouldn't need to mess
      with your defs- file!
      
      perl scripts just get this value configured in when configure is run.
      C programs get the value in two ways.  For programs that are intimate with
      the testbed infrastructure, and include "config.h", they just get it from
      that file.  For programs that we sometimes use outside the Emulab build
      environment (e.g., frisbee, capture) and that don't include config.h,
      the value is set via a "-DLOG_TESTBED=..." in the GNUmakefile build line.
      If the value isn't set, it defaults to what it used to be (usually LOG_USER).
      
      Still to do: healthd, hmcd (whose build doesn't seem to be completely
      integrated) and plabdaemon.in (since its icky python :-)
      cc6d6fa7
  14. 12 Jun, 2003 1 commit
  15. 02 Apr, 2003 1 commit
  16. 18 Dec, 2002 1 commit
  17. 15 Jul, 2002 1 commit
  18. 10 Apr, 2002 2 commits
    • Leigh B. Stoller's avatar
    • Leigh B. Stoller's avatar
      A fair amount of cleanup, both of the ssl stuff and of tmcd in general. · 40d072cf
      Leigh B. Stoller authored
      Deal with ssl/nossl clients; at Chad's suggestion add a small handshake
      tag to ssl enabled tmcc/tmcd which tells tmcd that it needs to enter
      full SSL mode. This allows old tmcc to connect to an ssl enabled tmcd,
      and still work okay.
      
      I've also ironed out the verification stuff. At the client, we make sure
      that the CommonName field of the peer cert maps to the same address that
      we connected to (bossnode).
      
      At the server, we check the OU field of the cert (we create the client
      certs with the OU field set to the node type; a convention I made up!).
      It must match the type of the node, as we get it from the nodes table.
      Also check the CommonName to make sure it matches our hostname. This is
      by no means bulletproof, but perfection is costly, and we don't have the
      money!
      
      Also cleaned up the REDIRECT testmode stuff. Instead of ifdef'ed under
      TESTMODE, leave it compiled in all the time, but only allow it from the
      local node (where tmcd is running). Mere users will not be able to
      access it, but testbed people can use it since they have accounts on the
      boss node.
      40d072cf
  19. 04 Apr, 2002 1 commit
    • Leigh B. Stoller's avatar
      First round of ssl'ification of tmcd/tmcc. This needs to be looked at · ffe40d2e
      Leigh B. Stoller authored
      by smarter brains by me (I have asked Dave to look it over). Anyway ...
      
      I added a top level ssl directory which has a bunch of goo for
      creating certificates and keys.  I currently create a Certificate
      Authority, a server certificate, and a client certificate. The private
      keys for all three are unencrypted, so no password is required. All
      key/cert combos can be installed on boss. The client side needs the
      key/cert pair (in one file), and the CA cert (no key!). There are
      install targets to do this. NOTE, you do not want to create/install
      these without being careful, since you could instantly invalidate all
      the clients!
      
      I have added the necessary SSL routines to tmcd/tmcc. See the ssl.c
      and ssl.h file. I have set it up so that with all you need to do is
      uncomment three lines in the makefile, and accept,connect,read,write,
      and close are redirected to SSL'ified versions in ssl.c. The current
      security model is that the client and server both "demand" certificate
      verification from the other side (as opposed to just server side
      verification). tmcd reads in server.pem, while tmcc reads in
      client.pem. Both read in the emulab.pem (CA cert with no private
      key).
      
      Initial testing indicates I have done this at least partially
      correctly. Whoever invented this stuff has a really twisted mind
      though. There are some questions at the top of ssl.c that need to be
      answered.
      
      Oh, also redid all the syslog stuff throughout tmcd.
      ffe40d2e
  20. 28 Mar, 2002 1 commit
  21. 27 Mar, 2002 1 commit
  22. 22 Mar, 2002 1 commit
  23. 20 Mar, 2002 1 commit
  24. 13 Mar, 2002 1 commit
  25. 18 Jan, 2002 1 commit
  26. 10 Jan, 2002 1 commit
  27. 08 Jan, 2002 1 commit
  28. 30 Nov, 2001 1 commit
  29. 29 Oct, 2001 1 commit
  30. 28 Aug, 2001 1 commit
  31. 21 Aug, 2001 1 commit
  32. 02 May, 2001 1 commit
  33. 05 Jan, 2001 1 commit
  34. 03 Jan, 2001 1 commit
  35. 02 Jan, 2001 1 commit
  36. 20 Dec, 2000 1 commit