diff options
author | David Smith <dsmith@redhat.com> | 2009-05-21 16:57:04 -0500 |
---|---|---|
committer | David Smith <dsmith@redhat.com> | 2009-05-21 16:57:04 -0500 |
commit | c8e9eb18d8d13d099a4a177fe53de507c1d9ce8b (patch) | |
tree | ab2388afb795ed1a7ead2fbbf8b9d1b368a8231f /stap-authorize-cert | |
parent | dd9a3bcbef65bde65491d959e9458bc641924811 (diff) | |
parent | 3863e7999255deeaa7f8f4bba7df893773812537 (diff) | |
download | systemtap-steved-c8e9eb18d8d13d099a4a177fe53de507c1d9ce8b.tar.gz systemtap-steved-c8e9eb18d8d13d099a4a177fe53de507c1d9ce8b.tar.xz systemtap-steved-c8e9eb18d8d13d099a4a177fe53de507c1d9ce8b.zip |
Merge commit 'origin/master' into pr7043
Conflicts:
runtime/print.c
runtime/transport/transport.c
runtime/transport/transport_msgs.h
Diffstat (limited to 'stap-authorize-cert')
-rw-r--r-- | stap-authorize-cert | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/stap-authorize-cert b/stap-authorize-cert new file mode 100644 index 00000000..21af2ce0 --- /dev/null +++ b/stap-authorize-cert @@ -0,0 +1,49 @@ +#!/bin/bash + +# Add an existing server certificate to a +# database of trusted servers for the client. +# +# Copyright (C) 2008, 2009 Red Hat Inc. +# +# This file is part of systemtap, and is free software. You can +# redistribute it and/or modify it under the terms of the GNU General +# Public License (GPL); either version 2, or (at your option) any +# later version. + +certfile=$1 +certdb=$2 + +# Obtain the filename of the certificate +if test "X$certfile" = "X"; then + echo "Certificate file must be specified" >&2 + exit 1 +fi +if ! test -f $certfile; then + echo "Cannot find certificate file $certfile" >&2 + exit 1 +fi + +# Obtain the certificate database directory name. +if test "X$certdb" = "X"; then + echo "Certificate database directory must be specified" >&2 + exit 1 +fi +if ! test -d $certdb; then + if ! mkdir -p -m 755 $certdb; then + echo "Unable to find or create the client certificate database directory: $certdb" >&2 + exit 1 + fi +fi + +# Add the certificate +if ! certutil -A -n stap-server -d $certdb -i $certfile -t "P,P,P" > /dev/null; then + echo "Unable to add $certfile to the client certificate database $certdb" >&2 + exit 1 +fi + +# Ensure that the database is readable by others +if ! chmod +r $certdb/*.db; then + echo "Warning: unable to make the client certificate database $certdb readable by others" >&2 +fi + +exit 0 |