From d454019309fb9887f40b2330866f26741b4e8078 Mon Sep 17 00:00:00 2001
From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
Date: Sun, 14 Sep 2008 19:43:57 -0400
Subject: [PATCH] The monkeysphere system user must have bash as its shell for
 the simple su invocation to work.  Do not try to explicitly preserve the
 environment across an su, as this is the default, and -m implies using the
 login shell of the superuser under FreeBSD.

---
 debian/monkeysphere.postinst  | 2 +-
 packaging/freebsd/distinfo    | 6 +++---
 packaging/freebsd/pkg-install | 2 +-
 src/monkeysphere-server       | 4 ++--
 4 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/debian/monkeysphere.postinst b/debian/monkeysphere.postinst
index d3c3b96..981c9df 100755
--- a/debian/monkeysphere.postinst
+++ b/debian/monkeysphere.postinst
@@ -11,7 +11,7 @@ if ! getent passwd monkeysphere >/dev/null ; then
     echo "adding monkeysphere user..."
     adduser --quiet --system --no-create-home --group \
 	--home "$VARLIB" \
-	--shell '/bin/sh' \
+	--shell '/bin/bash' \
 	--gecos 'monkeysphere authentication user,,,' \
 	monkeysphere
 fi
diff --git a/packaging/freebsd/distinfo b/packaging/freebsd/distinfo
index d590579..26aa939 100644
--- a/packaging/freebsd/distinfo
+++ b/packaging/freebsd/distinfo
@@ -1,3 +1,3 @@
-MD5 (monkeysphere_0.16~pre.orig.tar.gz) = bda65df4e378e72f3edf02936b2b5f34
-SHA256 (monkeysphere_0.16~pre.orig.tar.gz) = d0c85ad5cdd9b7a61333adf56714e3b25f1bd619bbc40279db759347b17980fe
-SIZE (monkeysphere_0.16~pre.orig.tar.gz) = 59241
+MD5 (monkeysphere_0.16~pre.orig.tar.gz) = e94bc8371adf8ce30c58ec040e436417
+SHA256 (monkeysphere_0.16~pre.orig.tar.gz) = f8543778c6ae5a7a87dcb03e34980436f6d967edeb87ccfac2cc19c750f4e588
+SIZE (monkeysphere_0.16~pre.orig.tar.gz) = 59253
diff --git a/packaging/freebsd/pkg-install b/packaging/freebsd/pkg-install
index 92a4bbc..6783ee8 100755
--- a/packaging/freebsd/pkg-install
+++ b/packaging/freebsd/pkg-install
@@ -38,7 +38,7 @@ POST-INSTALL)
                 echo "You already have a user \"${USER}\", so I will use it."
         else
                 if pw useradd ${USER} -u ${UID} -g ${GROUP} -h - \
-                        -d "$VARLIB" -s /bin/sh -c "monkeysphere authentication user,,,"
+                        -d "$VARLIB" -s /usr/local/bin/bash -c "monkeysphere authentication user,,,"
                 then
                         echo "Added user \"${USER}\"."
                 else
diff --git a/src/monkeysphere-server b/src/monkeysphere-server
index b1cacf9..db3687b 100755
--- a/src/monkeysphere-server
+++ b/src/monkeysphere-server
@@ -67,7 +67,7 @@ EOF
 }
 
 su_monkeysphere_user() {
-    su -m "$MONKEYSPHERE_USER" -c "$@"
+    su "$MONKEYSPHERE_USER" -c "$@"
 }
 
 # function to interact with the host gnupg keyring
@@ -571,7 +571,7 @@ diagnostics() {
     warndate=$(advance_date $warnwindow +%s)
 
     if ! id monkeysphere >/dev/null ; then
-	echo "! No monkeysphere user found!  Please create a monkeysphere system user."
+	echo "! No monkeysphere user found!  Please create a monkeysphere system user with bash as its shell."
 	problemsfound=$(($problemsfound+1))
     fi
 
-- 
2.34.1