Merge commit 'mlcastle/master'
authorJameson Graef Rollins <jrollins@finestructure.net>
Sat, 11 Jul 2009 20:26:26 +0000 (16:26 -0400)
committerJameson Graef Rollins <jrollins@finestructure.net>
Sat, 11 Jul 2009 20:26:26 +0000 (16:26 -0400)
packaging/debian/changelog
src/monkeysphere-authentication
src/monkeysphere-host
src/share/common
src/share/ma/setup
src/share/mh/add_revoker
src/share/mh/publish_key

index f4efc0d614e41430b5d63e60f52754595f7ee665..0219aa442e9ca65ff42bbc6ebc2794aa25110d8a 100644 (file)
@@ -12,10 +12,13 @@ monkeysphere (0.25-1~pre) UNRELEASED; urgency=low
     - some portability improvements
     - properly handle translation of keys with fingerprints with leading
       all-zero bytes.
-    - resolve symlinks when checking paths (thanks Silvio Rhatto) (closes MS #917)
+    - resolve symlinks when checking paths (thanks Silvio Rhatto)
+      (closes MS #917)
+    - explicitly set and use MONKEYSPHERE_GROUP from system "groups"
+      (closes #534008)
   * update Standard-Version to 3.8.1
 
- -- Jameson Graef Rollins <jrollins@finestructure.net>  Mon, 29 Jun 2009 11:27:33 -0400
+ -- Jameson Graef Rollins <jrollins@finestructure.net>  Sat, 11 Jul 2009 16:06:09 -0400
 
 monkeysphere (0.24-1) unstable; urgency=low
 
index 5b981537db831c2c26f280662b8f61b5ff594ee5..5b30628a188341d2e8c64dbc339d377220caa2f7 100755 (executable)
@@ -120,6 +120,7 @@ LOG_LEVEL=${MONKEYSPHERE_LOG_LEVEL:=$LOG_LEVEL}
 KEYSERVER=${MONKEYSPHERE_KEYSERVER:=$KEYSERVER}
 CHECK_KEYSERVER=${MONKEYSPHERE_CHECK_KEYSERVER:=$CHECK_KEYSERVER}
 MONKEYSPHERE_USER=${MONKEYSPHERE_MONKEYSPHERE_USER:=$MONKEYSPHERE_USER}
+MONKEYSPHERE_GROUP=$(get_primary_group "$MONKEYSPHERE_USER")
 PROMPT=${MONKEYSPHERE_PROMPT:=$PROMPT}
 AUTHORIZED_USER_IDS=${MONKEYSPHERE_AUTHORIZED_USER_IDS:=$AUTHORIZED_USER_IDS}
 RAW_AUTHORIZED_KEYS=${MONKEYSPHERE_RAW_AUTHORIZED_KEYS:=$RAW_AUTHORIZED_KEYS}
@@ -137,6 +138,7 @@ export MODE
 export LOG_LEVEL
 export KEYSERVER
 export MONKEYSPHERE_USER
+export MONKEYSPHERE_GROUP
 export PROMPT
 export CHECK_KEYSERVER
 export REQUIRED_USER_KEY_CAPABILITY
index 507b47f8f73eabfd6a62e7d9feaf4d53d12bca84..ebd29c81754bf7103e0b6f21f9cb51914add333d 100755 (executable)
@@ -226,6 +226,7 @@ LOG_LEVEL=${MONKEYSPHERE_LOG_LEVEL:=$LOG_LEVEL}
 KEYSERVER=${MONKEYSPHERE_KEYSERVER:=$KEYSERVER}
 CHECK_KEYSERVER=${MONKEYSPHERE_CHECK_KEYSERVER:=$CHECK_KEYSERVER}
 MONKEYSPHERE_USER=${MONKEYSPHERE_MONKEYSPHERE_USER:=$MONKEYSPHERE_USER}
+MONKEYSPHERE_GROUP=$(get_primary_group "$MONKEYSPHERE_USER")
 PROMPT=${MONKEYSPHERE_PROMPT:=$PROMPT}
 
 # other variables
@@ -238,6 +239,7 @@ export LOG_LEVEL
 export KEYSERVER
 export CHECK_KEYSERVER
 export MONKEYSPHERE_USER
+export MONKEYSPHERE_GROUP
 export PROMPT
 export GNUPGHOME_HOST
 export GNUPGHOME
index c88857e44adabca90d57bb02358bcce92d16f67d..8e2232d659350558e472bd5f37c365d050317b8d 100644 (file)
@@ -484,6 +484,12 @@ get_homedir() {
     eval "echo ~${uname}"
 }
 
+# return the primary group of a user
+get_primary_group() {
+    local uname=${1:-`whoami`}
+    groups "$uname" | sed 's/^..* : //' | awk '{ print $1 }'
+}
+
 ### CONVERSION UTILITIES
 
 # output the ssh key for a given key ID
index 4c87009dc9235b7de4231d582da221f1472663ee..0ed0406c3335d924f98044ecd22cf237bba5a428 100644 (file)
@@ -16,10 +16,10 @@ setup() {
     log debug "checking authentication directory structure..."
     mkdir -p "${MADATADIR}"
     chmod 0750 "${MADATADIR}"
-    chgrp "$MONKEYSPHERE_USER" "${MADATADIR}"
+    chgrp "$MONKEYSPHERE_GROUP" "${MADATADIR}"
     mkdir -p "${MATMPDIR}"
     chmod 0750 "${MATMPDIR}"
-    chgrp "$MONKEYSPHERE_USER" "${MATMPDIR}"
+    chgrp "$MONKEYSPHERE_GROUP" "${MATMPDIR}"
     mkdir -p "${GNUPGHOME_CORE}"
     chmod 0700 "${GNUPGHOME_CORE}"
     mkdir -p "${GNUPGHOME_SPHERE}"
@@ -48,7 +48,7 @@ EOF
     # make sure the monkeysphere user owns everything in the sphere
     # gnupghome
     log debug "fixing sphere gnupg home ownership..."
-    chown "$MONKEYSPHERE_USER:$MONKEYSPHERE_USER" "${GNUPGHOME_SPHERE}" "${GNUPGHOME_SPHERE}"/gpg.conf
+    chown "$MONKEYSPHERE_USER:$MONKEYSPHERE_GROUP" "${GNUPGHOME_SPHERE}" "${GNUPGHOME_SPHERE}"/gpg.conf
 
     # get fingerprint of core key.  this should be empty on unconfigured systems.
     local CORE_FPR=$(core_fingerprint)
index e58995b3cff28acbb35ef0341d1308d046db3e7c..89e6fcf03210bc6d83da36b883b01a2d7b947f1e 100644 (file)
@@ -64,7 +64,7 @@ else
     # fix permissions and ownership on temporary directory which will
     # be used by monkeysphere user for storing the downloaded key
     chmod 0700 "$tmpDir"
-    chown "$MONKEYSPHERE_USER":"$MONKEYSPHERE_USER" "$tmpDir"
+    chown "$MONKEYSPHERE_USER":"$MONKEYSPHERE_GROUP" "$tmpDir"
 
     # download the key from the keyserver as the monkeysphere user
     log verbose "searching keyserver $KEYSERVER for keyID $keyID..."
index f6e1c0f9b322cfaf3f623767189691d053c6d4a8..48e4cbb16169222895fb0902aa171a8647c17879 100644 (file)
@@ -30,7 +30,7 @@ fi
 # create a temporary gnupg directory from which to publish the key
 export GNUPGHOME=$(msmktempdir)
 chmod 0700 "$GNUPGHOME"
-chown "$MONKEYSPHERE_USER":"$MONKEYSPHERE_USER" "$GNUPGHOME"
+chown "$MONKEYSPHERE_USER":"$MONKEYSPHERE_GROUP" "$GNUPGHOME"
 
 # trap to remove tmp dir if break
 trap "rm -rf $GNUPGHOME" EXIT