summaryrefslogtreecommitdiffstats
path: root/stap-server
diff options
context:
space:
mode:
authorDave Brolley <brolley@redhat.com>2009-09-14 15:06:36 -0400
committerDave Brolley <brolley@redhat.com>2009-09-14 15:06:36 -0400
commitb9c1510ee2ef5283d7faafad4e82a4bb933d9e29 (patch)
tree995b7887f23f8d1e6f3a35f6701af7afd223aebd /stap-server
parent1393520fe0a1064665938bcea0d6382610a478b0 (diff)
downloadsystemtap-steved-b9c1510ee2ef5283d7faafad4e82a4bb933d9e29.tar.gz
systemtap-steved-b9c1510ee2ef5283d7faafad4e82a4bb933d9e29.tar.xz
systemtap-steved-b9c1510ee2ef5283d7faafad4e82a4bb933d9e29.zip
2009-09-14 Dave Brolley <brolley@redhat.com>
* modsign.cxx (init_cert_db_path): Use 'system' call. (sign_module): Renamed to 'main'. This is now an independant program. Check for arguments. Return 1 on error. * buildrun.cxx (modsign.h): Don't #include it. (compile_pass): Don't sign the module. * main.cxx (main): Don't copy the module signature. * cache.cxx (add_to_cache): Don't cache the module signature. * Makefile.am (bin_PROGRAMS): Add stap-sign-module. (stap_SOURCES): Remove modsign.cxx and nsscommon.c. (stap_sign_module_SOURCES): New variable. (stap_sign_module_CPPFLAGS): New variable. (stap_sign_module_LDFLAGS): New variable. (stap_sign_module_LDADD): New variable. * stap-server (initialization): Initialize unprivileged. (parse_options): Handle --unprivileged. (create_response): Call stap-sign-module if --unprivileged was specified. * systemtap.spec: Add stap-sign-module to stap-server. * Makefile.in: Regenerated. * doc/Makefile.in: Regenerated. * doc/SystemTap_Tapset_Reference/Makefile.in: Regenerated. * grapher/Makefile.in: Regenerated. * testsuite/Makefile.in: Regenerated. * aclocal.m4: Likewise. * testsuite/aclocal.m4: Likewise. * configure: Likewise. * testsuite/configure: Likewise.
Diffstat (limited to 'stap-server')
-rwxr-xr-xstap-server18
1 files changed, 18 insertions, 0 deletions
diff --git a/stap-server b/stap-server
index 316cc954..a6539d44 100755
--- a/stap-server
+++ b/stap-server
@@ -31,6 +31,7 @@ function initialization {
# Default options settings
p_phase=5
keep_temps=0
+ unprivileged=0
# Request file name.
zip_client=$1
@@ -188,6 +189,15 @@ function parse_options {
# Start of a new token.
first_token=$1
+
+ # Handle the --unprivileged option.
+ if test "X$first_token" = "X--unprivileged"; then
+ unprivileged=1
+ shift
+ continue
+ fi
+
+ # Process the option.
until test $advance_p != 0
do
# Identify the next option
@@ -357,6 +367,14 @@ function create_response {
# Add the contents of the stap temp directory to the server output directory
ln -s $tmpdir_stap `basename $tmpdir_stap`
+
+ # Sign any resulting module if --unprivileged was specified.
+ if test $unprivileged = 1; then
+ modname=`find $tmpdir_stap -name '*.ko'`
+ if test "X$modname" != "X"; then
+ ${stap_exec_prefix}stap-sign-module $modname $ssl_db
+ fi
+ fi
fi
# If the user specified -p5, remove the name of the kernel module from stdout.