+ if (ok) {
+ /* We are the directory owner or we are in the group owner.
+ * If we don't have a perm we need to remove it from ma_world.
+ *
+ * eg if perms are rwx--Sr-x and I'm not the user owner but I'm in the group
+ * I DON'T have read and search access on the directory.
+ */
+ if (!(ma->ma_user & AR_UWRITE))
+ ma->ma_world &= ~AR_UWRITE;
+ if (!(ma->ma_user & AR_UREAD))
+ ma->ma_world &= ~AR_UREAD;
+ if (!(ma->ma_user & AR_USEARCH))
+ ma->ma_world &= ~AR_USEARCH;
+ }
+