1. 24 Jun, 2003 1 commit
  2. 24 Mar, 2003 1 commit
    • Leigh B. Stoller's avatar
      Bumb remote tmcc timeout to 30 seconds. · 42757a0c
      Leigh B. Stoller authored
      Add better timeout handling code to tmcc, which watches for progress
      instead of just dumping after the timeout. This lets really slow
      connections proceed okay, but still timeout out if nothing happens at
      all.
      
      This new tmcc has been installed into the sup trees for WIDE and RON.
      42757a0c
  3. 21 Jan, 2003 1 commit
  4. 18 Dec, 2002 1 commit
    • Leigh B. Stoller's avatar
      A doosy! I added two new modes of operation in support of jails. Only · 01234f97
      Leigh B. Stoller authored
      for BSD of course. First is a "proxy" mode that is used outside of a
      jail, to forward tmcc requests from inside the jail to boss over the
      normal ssl channel (when a remote node). We remove the pem files from
      inside the jail so it has no way to form a secure connection to tmcd
      on its own, and tmcd rejects non-ssl connections from remote nodes (it
      should probably reject them from local jails too). Second change is a
      "unix socket" mode that is the compliment to the proxy; tmcc inside of
      a jail connects to the tmcc proxy outside the jail via a unix domain
      socket that can be shared between the two because the outer
      environment can see inside the jailed filesystems (the jail sees a
      chroot environment). When the jail is started, the initial root shell
      gets an environment variable called TMCCUNIXPATH which holds the path
      to the socket. This makes it easy for anything started from that shell
      of course, but its still a minor pain when invoking tmcc from
      elsehwere, but that does not really happen, except when running it by
      hand. Anyway, tmcc forms a unix socket to the proxy and does its
      thing. The proxy filters out VNODE= and PRIVKEY= arguments, and
      inserts its own into the command string.  This prevents a jail from
      trying to impersonate another vnode.
      01234f97
  5. 27 Aug, 2002 2 commits
  6. 17 Aug, 2002 1 commit
  7. 29 Jul, 2002 1 commit
    • Leigh B. Stoller's avatar
      A wide array of little changes to improve the distribution of the · f066d2d9
      Leigh B. Stoller authored
      client software to widearea nodes. Most of these changes were to
      reduce the embarrassment factor. At some point we need a proper
      autoconf and such, but for now there is a makefile in the src dir for
      creating the distribution.
      
      I've tested it on a local linux node and mostly on a freebsd node, but
      I've moved things around and so updating the RON nodes will require
      some hand intervention by me at some point.
      f066d2d9
  8. 07 Jul, 2002 1 commit
  9. 19 Jun, 2002 1 commit
  10. 13 Jun, 2002 1 commit
  11. 06 May, 2002 1 commit
  12. 24 Apr, 2002 1 commit
  13. 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
  14. 01 Apr, 2002 1 commit
  15. 29 Mar, 2002 1 commit
  16. 28 Mar, 2002 2 commits
    • Leigh B. Stoller's avatar
      Minor fix to previous revision. · a82d73a7
      Leigh B. Stoller authored
      a82d73a7
    • Leigh B. Stoller's avatar
      Add versioning support. This has been a minor problem, and is going to · 2d522296
      Leigh B. Stoller authored
      be a worse problem with remote nodes, where we will not be able to
      keep everyone up to date like we can in the local testbed case. I ran
      into this yesterday with the key distribution stuff for RON nodes,
      which require incompatable changes to the accounts info that is
      returned. So, tmcc now takes a [-v version] argument, which is passed
      through to tmcd in the request field. tmcd passes that version number
      (assumed to be an int) down, and the routines should look at that. We
      will need to make some structural changes in tmcd as we get more
      version skew, but for now this is fine. Anyway, tmcd/tmcc have a
      compiled in DEFAULT_VERSION (see decls.h). If no version is supplied,
      assume DEFAULT_VERSION (2), which covers all of the old images and yet
      to be updated current images. As the new tmcc makes it out, versions
      will be sent through. VERY IMPORTANT: The current version is placed in
      libsetup.pm. When you make incompatible changes, bump the version
      number is decls.h and libsetup.pm, recompile and install a new tmcc
      and the new libsetup.pm on the clients (and of course, tmcd on the
      server).
      
      Fixes to termination; Add signal handlers for HUP,INT,TERM, and make
      sure all the children get killed off before exiting. We still have
      some problems though; I think the children should wait until the
      current request is completed before exiting. I'll give that some more
      thought though since it easy to mess that stuff up (leave zombies).
      
      Add build_info[] to startup message to syslog. Good for debugging.
      Some minor cleanup and restructuring. Mike is gonna hate it.
      2d522296
  17. 27 Mar, 2002 1 commit
  18. 18 Jan, 2002 1 commit
  19. 16 Jan, 2002 1 commit
  20. 10 Jan, 2002 1 commit
  21. 30 Nov, 2001 1 commit
  22. 12 Jul, 2001 2 commits
  23. 30 Mar, 2001 1 commit
    • Mike Hibler's avatar
      Big Ass Hack(tm): · 05456fd2
      Mike Hibler authored
      Add a "log" message which allows a client to send some text to TMCD which
      in turns appends it to a project/experiment specific log file.  Adds all new
      DoS routes to TMCD, and should perhaps be split off into its own daemon,
      but for now it gives a way for console-less sharks to report what they did.
      05456fd2
  24. 21 Mar, 2001 1 commit
  25. 19 Mar, 2001 1 commit
    • Mike Hibler's avatar
      Support for UDP: · 7a3101fd
      Mike Hibler authored
              tmcd listens on port 7777 for both UDP and TCP.
              UDP replies are buffered and sent as a single (up to 8k) packet.
      
              tmcc can be compiled to make UDP queries as well as TCP
              Not defined by default, used for debugging
      
      Cleaned up some lint.
      7a3101fd
  26. 07 Mar, 2001 1 commit
  27. 02 Feb, 2001 1 commit
  28. 20 Dec, 2000 1 commit