1. 08 May, 2007 1 commit
  2. 23 Apr, 2007 1 commit
  3. 06 Dec, 2006 1 commit
  4. 01 Dec, 2006 1 commit
  5. 26 Oct, 2006 2 commits
  6. 19 Jun, 2006 1 commit
  7. 27 Apr, 2006 1 commit
  8. 26 Apr, 2006 1 commit
  9. 30 Dec, 2005 1 commit
  10. 27 Dec, 2005 1 commit
  11. 09 May, 2005 1 commit
  12. 04 Apr, 2005 1 commit
    • Timothy Stack's avatar
      Mote and robot related stuff. The main thing is the addition of relay · 463ee6b1
      Timothy Stack authored
      capabilities to capture and related things.
      
      	* GNUmakefile.in: Add the capture and tip subdirectories to the
      	client and client-install targets.
      
      	* configure, configure.in, config.h.in: Detect srandomdev() for
      	capture and add "mote/newmote" script.
      
      	* capture/GNUmakefile.in, capture/capture.c: Add "relay"
      	capabilities to capture.
      
      	* capture/capquery.c: Query the capserver for the relay receiver's
      	port number.
      
      	* capture/capserver.c: Small hack to return the port number
              for a node.
      
      	* db/libdb.pm.in, db/xmlconvert.in: Add virt_tiptunnels table.
      
      	* event/program-agent/program-agent.c: Change log file names to
      	something a little more user-friendly.  Add a "MODIFY" event
      	handler that lets the user set agent attributes (command, tag,
      	timeout) without having to run a program.
      
      	* event/sched/GNUmakefile.in, event/sched/console-agent.cc,
      	event/sched/console-agent.h, event/sched/event-sched.c: Add
      	console agents that can be used to snapshot a section of the
      	capture log file.
      
      	* event/sched/node-agent.cc: Some minor cleanup.
      
      	* event/sched/simulator-agent.cc, event/sched/simulator-agent.h:
      	Add the config data to the report mail.  Add a "RESET" event
      	handler that runs "loghole clean".  Save the report mail in a file
      	so it gets archived with the rest of the logs.
      
      	* lib/libtb/tbdefs.h: Add CONSOLE object type.
      
      	* mote/GNUmakefile.in, mote/newmote: Add newmote script, just a
      	quick hack to add motes to the DB.
      
      	* mote/tbuisp.in: Add another backend for loading motes through
      	their relay capture server.
      
      	* robots/mtp/mtp_dump.c: Dump the min/max values for x and y,
      	handy for figuring out the bounds of the camera.
      
      	* sql/database-fill.sql: Change the RELOAD-MOTE/SHUTDOWN ->
      	ALWAYSUP/SHUTDOWN mode transition to ALWAYSUP/ISUP since stated
      	doesn't seem to run triggers after a state change by a mode
      	transition.
      
      	* tbsetup/tbreport.in: Change the ordering of the eventlist so it
      	displays event-sequences appropriately.
      
      	* tbsetup/ns2ir/GNUmakefile.in, tbsetup/ns2ir/console.tcl,
      	tbsetup/ns2ir/node.tcl, tbsetup/ns2ir/parse.tcl.in,
      	tbsetup/ns2ir/sim.tcl.in: Add a "console" agent that represents
      	the serial console for a node.
      
      	* tbsetup/ns2ir/sequence.tcl: Add an "append" method so it is
      	easier to build sequences dynamically.
      
      	* tbsetup/ns2ir/topography.tcl: Make checkdest available to
      	regular users.
      
      	* tip/GNUmakefile.in, tip/tiptunnel.c: Add support for uploading a
      	file to a relay version of capture and exporting the end
      	connection as a pty.
      
      	* tmcd/decls.h, tmcd/common/libsetup.pm: Bump version number since
      	the dosubnodelist change is not backwards compatible.
      
      	* tmcd/tmcd.c: Make dosubnodelist and dosubconfig callable even
      	when a node isn't allocated.  Add dotiptunnels command that
      	returns which serial consoles are to be mounted on a node.  Add
      	mote version of subconfig that returns information needed to
      	startup the relay version of capture.
      
      	* tmcd/common/bootsubnodes: For motes, startup the relay version
      	of capture (XXX stargate specific).
      
      	* tmcd/common/libsetup.pm, tmcd/common/libtmcc.pm,
      	tmcd/common/config/rc.config, tmcd/common/config/rc.tiptunnels:
      	Client side changes for mounting another nodes serial line.
      
      	* tmcd/common/rc.bootsetup: Always boot the subnodes, even when
      	free.  This is used for motes since their capture needs to be up
      	for reloading at the time.
      
      	* tmcd/linux/ixpboot: Shuffle some code around so the script
      	doesn't fail if the ixp isn't allocated.
      
      	* utils/loghole.in: Add "digest.out" and "report.mail" as global
      	logs to be saved in archives and display the "report.mail" file
      	when showing a loghole archive.
      
      	* xmlrpc/emulabserver.py.in: Scrub more of the return values to
      	get rid of "None"s.
      463ee6b1
  13. 28 Nov, 2004 1 commit
  14. 12 Apr, 2004 1 commit
    • Mike Hibler's avatar
      Getting back ETIMEDOUT from a socket read should not be fatal to capture. · 76e1528a
      Mike Hibler authored
      Now it is treaded just like ECONNRESET.
      
      Also, don't clobber the read errno with the intermediate sigsetmask call
      (though it should never fail and errno should never be affected)
      
      Change warn() to warning() to avoid conflict with standard BSD library
      routine.  This showed up when statically linking capture.
      76e1528a
  15. 06 Nov, 2003 1 commit
    • Leigh Stoller's avatar
      Minor changes to capserver authtication model; capserver now requires · ef94125e
      Leigh Stoller authored
      that capture connect on a reserved port. To do this, capture binds a
      dynamic reserved port to connect to capserver, which verifies the
      integrity of the sender by looking at the portnumber that accept
      returns.
      
      Note that this has the potential problem of burning a lot of reserved
      ports on ops (128 tiplines) since the kernel keeps the client side in
      TIME_WAIT for a minute or two after it is closed (the socket is in
      actual use for just a moment before being closed). If we try to
      restart capture too many times within a span of a minute or two, we
      might have problems. Will have to switch to a fancier protocol then.
      Yuck.
      ef94125e
  16. 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
  17. 02 Jun, 2003 2 commits
  18. 24 Mar, 2003 1 commit
  19. 30 Jan, 2003 2 commits
  20. 12 Jan, 2003 1 commit
  21. 10 Jan, 2003 1 commit
  22. 10 Sep, 2002 1 commit
  23. 15 Jul, 2002 1 commit
    • Mike Hibler's avatar
      Do strict serialization of signal handling. We had at least once race · eb87e17d
      Mike Hibler authored
      condition that was probably caused by unexpected parallelism.
      
      One semantic change is that we used to block SIGTERM (but not SIGINT, which
      also would quit) during read/write operations.  I don't do that anymore,
      so if you kill capture, the log could lose some console output.
      eb87e17d
  24. 10 Jul, 2002 1 commit
  25. 04 Jul, 2002 1 commit
  26. 28 Jun, 2002 1 commit
  27. 11 Jun, 2002 2 commits
    • Chad Barb's avatar
      Minor fix. · 64eab53c
      Chad Barb authored
      64eab53c
    • Chad Barb's avatar
      · 5470d280
      Chad Barb authored
      Changed default path, made it a #define.
      5470d280
  28. 04 Jun, 2002 1 commit
  29. 05 Apr, 2002 1 commit
    • Chad Barb's avatar
      Added SSL to capture (enabled with -DWITHSSL) · 2e536ba3
      Chad Barb authored
      To tip (or tiptunnel on a normal acl,) capture behaves the same.
      However, if a client connects and presents "USESSL" as the first six characters of their
      connection key, both sides initiate SSL negotiation.
      The server then attempts to get the key again. The second one is used for the check.
      
      SSL initialization is done on the first attempt by a client to connect via SSL.
      Capture assumes $(prefix)/etc/capture/cert.pem contains its certificate unless
      the '-c <certfile>' option is used.. if the certificate is not found or invalid, that
      connection fails, but normal connections will still succeed (and it will try to find the file
      again, next time an SSL connection is attempted.)
      
      On the client side, tiptunnel only uses ssl if there is a "ssl-server-cert:"
      property in the acl file. This is the SHA hash of the certificate that the capture server is
      expected to have (in hex.) If the certificate presented by the server does not hash to the
      same value, the connection is dropped.
      2e536ba3
  30. 11 Feb, 2002 1 commit
  31. 10 Jan, 2002 1 commit
    • Leigh Stoller's avatar
      A set of capture/capserver/DB changes. · 8ec05f0d
      Leigh Stoller authored
      Capserver and capture now handshake the owner/group of the tipline.
      Owner is defaults to root, and the group defaults to root when the
      node is not allocated. Capture will do the chmod after the handshake,
      so if boss is down when capture starts, the acl/run file will get 0,0,
      but will get the proper owner/group later after its able to handshake.
      As a result, console_setup.proxy was trimmed down and cleaned up a
      bit, since it no longer has to muck with some of this stuff.
      
      A second change was to support multiple tiplines per node. I have
      modified the tiplines table as such:
      
      	| Field   | Type        | Null | Key | Default | Extra |
      	+---------+-------------+------+-----+---------+-------+
      	| tipname | varchar(32) |      | PRI |         |       |
      	| node_id | varchar(10) |      |     |         |       |
      	| server  | varchar(64) |      |     |         |       |
      
      That is, the name of the tip device (given to capture) is the unique
      key, and there can be multiple tiplines associated with each node.
      console_setup now uses the tiplines table to determine what tiplines
      need to be reset; used to be just the name of the node_id passed into
      console_setup. Conversely, capserver uses the tipname to map back to
      the node_id, so that it can get the owner/group from the reserved
      table.
      
      I also removed the shark hack from nalloc, nfree, and console_reset,
      since there is no longer any need for that; this can be described
      completely now with tiplines table entries. If we ever bring the
      sharks back, we will need to generate new entries. Hah!
      8ec05f0d
  32. 09 Jan, 2002 2 commits
  33. 29 Aug, 2001 1 commit
    • Leigh Stoller's avatar
      Fixup capture/tip/power_rpc27 so that capture returns a positive · ed55f418
      Leigh Stoller authored
      ack/nak for a connection so that the connecting process knows what the
      hell is going on. Turned out to be necessary for power control since
      we do that in parallel, and because it stays busy for 10 seconds on
      each power control. I think we will end up revisiting this at some
      point, adding blocking connections instead of connect/fail status.
      ed55f418
  34. 28 Aug, 2001 1 commit
  35. 22 Aug, 2001 1 commit