diff options
-rw-r--r-- | ChangeLog | 10 | ||||
-rwxr-xr-x | stap-client | 16 | ||||
-rwxr-xr-x | stap-server | 7 | ||||
-rwxr-xr-x | stap-serverd | 5 |
4 files changed, 30 insertions, 8 deletions
@@ -1,3 +1,13 @@ +2008-07-08 <brolley@redhat.com> + + * stap-client (client_sysinfo): Use `uname -rvm`. + (receive_response): Wait for "done:" from the server. Clear server_ip + when the server is incompatible. + * stap-server (check_request): Quote "`server_sysinfo`". + (server_sysinfo): Use `uname -rvm`. + (send_response): Send "done:". + * stap-serverd (advertise_presence): Use `uname -rvm`. Quote "$txt". + 2008-07-07 Mark Wielaard <mwielaard@redhat.com> * stapex.5.in: Add section on installed examples, samples and demos diff --git a/stap-client b/stap-client index 515cab92..8c3607ae 100755 --- a/stap-client +++ b/stap-client @@ -315,7 +315,7 @@ function create_request { function client_sysinfo { if test "X$sysinfo_client" = "X"; then # Add some info from uname - sysinfo_client="`uname -r`" + sysinfo_client="`uname -rvm`" fi echo $sysinfo_client } @@ -348,7 +348,6 @@ function package_request { # the tar file will expand to. function send_request { echo "request:" >&3 - # Get the server's response. read <&3 local line=$REPLY @@ -368,7 +367,19 @@ function send_request { # function: receive_response # # Wait for a response from the server indicating the results of our request. +# protocol is: +# server -> "done:" +# server -> $tar_server function receive_response { + # Get the server's response. + read <&3 + local line=$REPLY + check_server_error $line + + # Check for the proper response. + test "$line" = "done:" || \ + fatal "ERROR: server response, '$line', is incorrect" + # Make a place to receive the response file. tar_server=`mktemp -t $tmpdir_prefix_client.server.tgz.XXXXXX` || \ fatal "ERROR: cannot create temporary file " $tar_server @@ -522,6 +533,7 @@ function match_server { # It is a stap server, but is it compatible? if test "$sysinfo_server" != "`client_sysinfo`"; then + server_ip= continue fi diff --git a/stap-server b/stap-server index 11d6d81d..16ffe8ee 100755 --- a/stap-server +++ b/stap-server @@ -111,7 +111,7 @@ function check_request { client_sysinfo=`read_data_file sysinfo` test "X$client_sysinfo" != "X" || exit 1 - check_compatibility "$client_sysinfo" `server_sysinfo` + check_compatibility "$client_sysinfo" "`server_sysinfo`" } # function server_sysinfo @@ -120,7 +120,7 @@ function check_request { function server_sysinfo { if test "X$sysinfo_server" = "X"; then # Add some info from uname - sysinfo_server="`uname -r`" + sysinfo_server="`uname -rvm`" fi echo $sysinfo_server } @@ -365,9 +365,10 @@ function package_response { # Notify the client that $tar_server is ready and wait for the client to take # it. # The protocol is: -# server -> "sending: $tmpdir_server $tmpdir_stap" +# server -> "done:" # server -> $tar_server function send_response { + echo "done:" # Now send it nc -l $port < $tar_server > /dev/null } diff --git a/stap-serverd b/stap-serverd index 2c0743c0..eaaeda00 100755 --- a/stap-serverd +++ b/stap-serverd @@ -34,13 +34,12 @@ function initialization { function advertise_presence { # Build up a string representing our server's properties. # TODO: this needs fleshing out. - - local sysinfo=`uname -r` + local sysinfo=`uname -rvm` local txt="$sysinfo" # Call avahi-publish-service to advertise our presence. avahi-publish-service "Systemtap Compile Server on `uname -n`" \ - $avahi_type $port $txt > /dev/null 2>&1 & + $avahi_type $port "$txt" > /dev/null 2>&1 & echo "Systemtap Compile Server on `uname -n` listening on port $port" } |