resolve symlinks when checking path permissions
authorJameson Graef Rollins <jrollins@finestructure.net>
Mon, 29 Jun 2009 15:29:52 +0000 (11:29 -0400)
committerJameson Graef Rollins <jrollins@finestructure.net>
Mon, 29 Jun 2009 15:29:52 +0000 (11:29 -0400)
Thanks to Silvio Rhatto for the patch.  This should close MS bug #917

packaging/debian/changelog
src/share/common

index e8e535a2ac886476fdcbf196470035de6c70d723..aa279a6b367790fc24877dc6d80c1646be334eca 100644 (file)
@@ -1,4 +1,4 @@
-monkeysphere (0.25-1~pre) UNRELEASED; urgency=low
+Monkeysphere (0.25-1~pre) UNRELEASED; urgency=low
 
   * New upstream release:
     - update/fix the marginal ui output
@@ -12,9 +12,10 @@ 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)
   * update Standard-Version to 3.8.1
 
- -- Daniel Kahn Gillmor <dkg@fifthhorseman.net>  Thu, 21 May 2009 13:04:10 -0400
+ -- Jameson Graef Rollins <jrollins@finestructure.net>  Mon, 29 Jun 2009 11:27:33 -0400
 
 monkeysphere (0.24-1) unstable; urgency=low
 
index 11e7969952f2b8dfb2cca4f1f87cd4959ca38f89..bd887d39b410d333badc6048b08d5e777322ce4b 100644 (file)
@@ -425,6 +425,12 @@ check_key_file_permissions() {
 
     log debug "checking path permission '$path'..."
 
+    # rewrite path if it points to a symlink
+    if [ -h "$path" ] ; then
+       path=$(readlink -f "$path")
+       log debug "checking path symlink '$path'..."
+    fi
+
     # return 255 if cannot stat file
     if ! stat=$(ls -ld "$path" 2>/dev/null) ; then
         log error "could not stat path '$path'."