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 ();
PRSocketOptionData socketOption;
PRFileInfo info;
char *cmdline;
+ char *stap_server_prefix;
int rc;
char *rc1;
#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");
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);
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.