]> sourceware.org Git - systemtap.git/commitdiff
Problems using server scripts when not on PATH.
authorDave Brolley <brolley@redhat.com>
Wed, 6 May 2009 17:52:52 +0000 (13:52 -0400)
committerDave Brolley <brolley@redhat.com>
Wed, 6 May 2009 17:52:52 +0000 (13:52 -0400)
HAVE_NSS related compile time warning.

runtime/staprun/staprun_funcs.c
stap-server-connect.c
testsuite/lib/systemtap.exp

index 40af1678a23b009e3a3b0358dcec321cdec7ecf7..8da7e7e84024f5b3b62448b108b59263ec79ab03 100644 (file)
@@ -448,9 +448,9 @@ check_groups (void)
 int check_permissions(void)
 {
        int check_groups_rc;
+#if HAVE_NSS
        int check_signature_rc = 0;
 
-#if HAVE_NSS
        /* Attempt to verify the module against its signature. Return failure
           if the module has been tampered with (altered).  */
        check_signature_rc = check_signature ();
index 31fbefca03accae377c8bd0e7f2f201ffcaeb20b..33d4983baca11a0b17302b40907c72a7b9c61cbf 100644 (file)
@@ -377,6 +377,7 @@ handle_connection(PRFileDesc *tcpSocket)
   PRSocketOptionData socketOption;
   PRFileInfo         info;
   char              *cmdline;
+  char              *stap_server_prefix;
   int                rc;
   char              *rc1;
 
@@ -465,10 +466,11 @@ handle_connection(PRFileDesc *tcpSocket)
 #endif
 
   /* Call the stap-server script.  */
-  cmdline = PORT_Alloc(sizeof ("stap-server") +
-                      sizeof (requestFileName) +
-                      sizeof (responseDirName) +
-                      sizeof (responseZipName) +
+  stap_server_prefix = getenv("SYSTEMTAP_SERVER_SCRIPTS") ?: BINDIR;
+  cmdline = PORT_Alloc(strlen (stap_server_prefix) + sizeof ("/stap-server") + 1 +
+                      sizeof (requestFileName) + 1 +
+                      sizeof (responseDirName) + 1 +
+                      sizeof (responseZipName) + 1 +
                       strlen (dbdir) + 1);
   if (! cmdline) {
     errWarn ("PORT_Alloc");
@@ -476,7 +478,7 @@ handle_connection(PRFileDesc *tcpSocket)
     goto cleanup;
   }
 
-  sprintf (cmdline, "stap-server %s %s %s %s",
+  sprintf (cmdline, "%s/stap-server %s %s %s %s", stap_server_prefix,
           requestFileName, responseDirName, responseZipName, dbdir);
   rc = system (cmdline);
 
index 019b1bf8257e02f2a48af3f14e57c13649842acc..379f6c586cfc63f745eaa65b82c0d523f62396d7 100644 (file)
@@ -109,6 +109,7 @@ proc setup_server {} {
     if {! [installtest_p]} then {
        # Make sure the server management scripts and tools are on the $PATH.
        set env(PATH) "$srcdir/..:[exec pwd]/..:$env(PATH)"
+       set env(SYSTEMTAP_SERVER_SCRIPTS) "$srcdir/.."
     }
 
     # Try to find or start the server.
This page took 0.041878 seconds and 5 git commands to generate.