Skip to content
Snippets Groups Projects
Commit c61858c7 authored by Timothy Stack's avatar Timothy Stack
Browse files

Make the hurting stop.  Make sshxmlrpc auto-detect things, fails over
properly, and dump useful information when it is unable to deal with
the peer.

  * xmlrpc/sshxmlrpc.py: Major update.  It now tries to autoconfigure
    itself by scanning the path for "ssh" and "plink.exe" (although I
    haven't actually tried it on windows).  Environment variables can
    now be used to turn on debugging and set the command to use for
    doing the ssh.  Before running ssh, it will check for an agent or
    a passphrase-less key and prints a warning if it finds neither.
    The last five lines read from the server, as well as the standard
    error output, are stored so they can be dumped later; helpful for
    figuring out what is actually being run on the other side.  The
    protocol layer between ssh and xml-rpc will now respond to a
    "probe" header so that clients can figure out who they are talking
    too.  The server side will now properly detect a closed connection
    and not write anything, which means no more annoying "Write to
    stdout failed" messages.  You can now pass additional options to
    ssh and set the identity.  The module can be run standalone, with
    the default action being to probe the peer:

      $ ./sshxmlrpc.py ssh://boss/xmlrpc
      Probe results for: ssh://boss/xmlrpc
        response time=1.49 s
      Response Headers
        date: Wed Oct 27 16:10:58 2004
	content-length: 0
	probe: /usr/testbed/devel/stack/lib/sshxmlrpc.py
	probe-response: EmulabServer

  * xmlrpc/sshxmlrpc_server.py.in: Set the value returned by a "probe"
    to the name of the invoked module.  This way, the other side can
    figure out who they are talking to (e.g. EmulabServer
    vs. experiment vs. fs vs. osid).

  * event/sched/event-sched.c, event/sched/rpc.cc, event/sched/rpc.h,
    xmlrpc/script_wrapper.py.in: Multiple paths (e.g. xmlrpc,
    $prefix/sbin/sshxmlrpc_server.py) are now probed before giving up.
    Force the use of the user's default identity and protocol one.
    For event-sched, a single connection is now made at startup and
    dropped before going into the event loop.

  * event/sched/GNUmakefile.in: Add a dependency for the install
    target and add -I$(OBJDIR) to the CXXFLAGS.

  * install/ports/ulsshxmlrpcpp/Makefile,
    install/ports/ulsshxmlrpcpp/distinfo,
    install/ports/ulsshxmlrpcpp/pkg-descr: Bump version number to 1.1
    and tweak the description.

  * config.h.in, configure, configure.in: Add a "#define TBROOT" that
    has the install prefix.
parent c285f12e
No related branches found
No related tags found
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment