summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Brolley <brolley@redhat.com>2008-12-24 14:20:41 -0500
committerDave Brolley <brolley@redhat.com>2008-12-24 14:20:41 -0500
commit46a8c85fde5ba9bcf4fa55e8f435959af4d32fea (patch)
tree1f2252f4171ee615fa2e287d6d9ed4e75e03ee61
parent1cecb3c506475a0e0b0ee4180a91e1a9433d346b (diff)
downloadsystemtap-steved-46a8c85fde5ba9bcf4fa55e8f435959af4d32fea.tar.gz
systemtap-steved-46a8c85fde5ba9bcf4fa55e8f435959af4d32fea.tar.xz
systemtap-steved-46a8c85fde5ba9bcf4fa55e8f435959af4d32fea.zip
Complete previous commit.
-rw-r--r--Makefile.am4
-rw-r--r--Makefile.in4
-rwxr-xr-xstap-add-server-cert38
-rwxr-xr-xstap-gen-server-cert5
4 files changed, 45 insertions, 6 deletions
diff --git a/Makefile.am b/Makefile.am
index 9b93d91e..9e927e56 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -15,7 +15,7 @@ man_MANS = stap.1 stapprobes.5 stapfuncs.5 stapvars.5 stapex.5 staprun.8 stap-s
bin_PROGRAMS = stap staprun stap-client-connect stap-server-connect
bin_SCRIPTS = stap-client stap-serverd stap-server stap-find-servers stap-start-server stap-find-or-start-server stap-stop-server \
- stap-gen-server-cert stap-report
+ stap-gen-server-cert stap-add-server-cert stap-report
stap_SOURCES = main.cxx \
parse.cxx staptree.cxx elaborate.cxx translate.cxx \
tapsets.cxx buildrun.cxx loc2c.c hash.cxx mdfour.c \
@@ -202,6 +202,8 @@ install-data-local:
do $(INSTALL) -m 600 -D $$f /etc/systemtap/ssl/server/$$f; done)
(cd $(builddir)/ssl/server; for f in *.db; \
do $(INSTALL) -m 664 -D $$f /etc/systemtap/ssl/server/$$f; done)
+ (cd $(builddir)/ssl/server; for f in *.cert; \
+ do $(INSTALL) -m 664 -D $$f /etc/systemtap/ssl/server/$$f; done)
(cd $(builddir)/ssl/client; for f in *.db; \
do $(INSTALL) -m 664 -D $$f /etc/systemtap/ssl/client/$$f; done)
diff --git a/Makefile.in b/Makefile.in
index b922ff6e..27996748 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -294,7 +294,7 @@ AM_CFLAGS = -D_GNU_SOURCE -fexceptions -Wall -Werror -Wunused -Wformat=2 -W
AM_CXXFLAGS = -Wall -Werror
man_MANS = stap.1 stapprobes.5 stapfuncs.5 stapvars.5 stapex.5 staprun.8 stap-server.8 man/stapprobes.iosched.5 man/stapprobes.netdev.5 man/stapprobes.nfs.5 man/stapprobes.nfsd.5 man/stapprobes.pagefault.5 man/stapprobes.process.5 man/stapprobes.rpc.5 man/stapprobes.scsi.5 man/stapprobes.signal.5 man/stapprobes.socket.5 man/stapprobes.tcp.5 man/stapprobes.udp.5
bin_SCRIPTS = stap-client stap-serverd stap-server stap-find-servers stap-start-server stap-find-or-start-server stap-stop-server \
- stap-gen-server-cert stap-report
+ stap-gen-server-cert stap-add-server-cert stap-report
stap_SOURCES = main.cxx \
parse.cxx staptree.cxx elaborate.cxx translate.cxx \
@@ -1534,6 +1534,8 @@ install-data-local:
do $(INSTALL) -m 600 -D $$f /etc/systemtap/ssl/server/$$f; done)
(cd $(builddir)/ssl/server; for f in *.db; \
do $(INSTALL) -m 664 -D $$f /etc/systemtap/ssl/server/$$f; done)
+ (cd $(builddir)/ssl/server; for f in *.cert; \
+ do $(INSTALL) -m 664 -D $$f /etc/systemtap/ssl/server/$$f; done)
(cd $(builddir)/ssl/client; for f in *.db; \
do $(INSTALL) -m 664 -D $$f /etc/systemtap/ssl/client/$$f; done)
diff --git a/stap-add-server-cert b/stap-add-server-cert
new file mode 100755
index 00000000..6d788160
--- /dev/null
+++ b/stap-add-server-cert
@@ -0,0 +1,38 @@
+#!/bin/bash
+
+# Add an existing server certificate to the
+# database of trusted servers for the client.
+#
+# Copyright (C) 2008 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.
+
+# Obtain the filename of the certificate
+if test "X$1" = "X"; then
+ echo "Certificate file must be specified" >&2
+ exit 1
+fi
+if ! test -f $1; then
+ echo "Cannot find certificate file $1" >&2
+ exit 1
+fi
+
+# Obtain the certificate database directory name.
+if test "X$2" = "X"; then
+ echo "Certificate database directory must be specified" >&2
+ exit 1
+fi
+if ! test -d $2; then
+ echo "Cannot find certificate database directory $2" >&2
+ exit 1
+fi
+
+if ! certutil -A -n stap-server -d $2 -i $1 -t "P,P,P" > /dev/null; then
+ echo "Unable to add $1 to the client certificate database $2" >&2
+ exit 1
+fi
+
+exit 0
diff --git a/stap-gen-server-cert b/stap-gen-server-cert
index 8f9629ea..06665c48 100755
--- a/stap-gen-server-cert
+++ b/stap-gen-server-cert
@@ -68,7 +68,4 @@ if ! mkdir -p $clientdb; then
fi
# Now add the server's certificate to the client's database, making it a trusted peer.
-if ! certutil -A -n stap-server -d $clientdb -i $serverdb/stap-server.cert -t "P,P,P" > /dev/null; then
- echo "Unable to add $serverdb/x509.cacert to the client certificate database: $clientdb" >&2
- exit 1
-fi
+`dirname $0`/stap-add-server-cert $serverdb/stap-server.cert $clientdb