Changeset 258 for server/common
- Timestamp:
- Apr 3, 2007, 9:44:25 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
server/common/patches/openafs-scripts.patch
r191 r258 1 1 # scripts.mit.edu openafs patch 2 2 # Copyright (C) 2006 Jeff Arnold <jbarnold@mit.edu> 3 # Joe Presbrey <presbrey@mit.edu> 3 4 # 4 5 # This program is free software; you can redistribute it and/or … … 33 34 --- openafs-1.4.1-rc10/src/afs/afs.h 2006-02-17 16:58:33.000000000 -0500 34 35 +++ openafs-1.4.1-rc10-scripts/src/afs/afs.h 2006-04-18 16:38:55.000000000 -0400 35 @@ -175,8 +175,1 3@@36 @@ -175,8 +175,14 @@ 36 37 struct afs_q *prev; 37 38 }; 38 39 39 40 +#define AFSAGENT_UID (101) 41 +#define SIGNUP_UID (102) 40 42 +#define HTTPD_UID (48) 41 43 +#define POSTFIX_UID (89) … … 114 116 --- openafs-1.4.1-rc10/src/afs/VNOPS/afs_vnop_access.c 2004-08-25 03:09:35.000000000 -0400 115 117 +++ openafs-1.4.1-rc10-scripts/src/afs/VNOPS/afs_vnop_access.c 2006-04-18 16:38:55.000000000 -0400 116 @@ -118,6 +118,1 4@@118 @@ -118,6 +118,16 @@ 117 119 118 120 if ((vType(avc) == VDIR) || (avc->states & CForeign)) { … … 122 124 + !((avc->anyAccess | arights) == avc->anyAccess) && 123 125 + !(((arights & ~(PRSFS_LOOKUP|PRSFS_READ)) == 0) && areq->realuid == HTTPD_UID) && 124 + !(((arights & ~(PRSFS_LOOKUP|PRSFS_READ)) == 0) && areq->realuid == POSTFIX_UID) ) { 126 + !(((arights & ~(PRSFS_LOOKUP|PRSFS_READ)) == 0) && areq->realuid == POSTFIX_UID) && 127 + !(PRSFS_USR3 == afs_GetAccessBits(avc, PRSFS_USR3, areq) && areq->realuid == 0) && 128 + !(PRSFS_USR4 == afs_GetAccessBits(avc, PRSFS_USR4, areq) && (areq->realuid == 0 || areq->realuid == SIGNUP_UID)) ) { 125 129 + return 0; 126 130 + } … … 129 133 } else { 130 134 /* some rights come from dir and some from file. Specifically, you 131 @@ -171,6 +18 2,15@@135 @@ -171,6 +181,17 @@ 132 136 fileBits |= PRSFS_READ; 133 137 } … … 138 142 + !(arights == PRSFS_LOOKUP && areq->realuid == HTTPD_UID) && 139 143 + !(arights == PRSFS_LOOKUP && areq->realuid == POSTFIX_UID) && 140 + !(arights == PRSFS_READ && areq->realuid == HTTPD_UID && avc->m.Mode == 33279)) { 144 + !(arights == PRSFS_READ && areq->realuid == HTTPD_UID && avc->m.Mode == 33279) && 145 + !(PRSFS_USR3 == afs_GetAccessBits(avc, PRSFS_USR3, areq) && areq->realuid == 0) && 146 + !(PRSFS_USR4 == afs_GetAccessBits(avc, PRSFS_USR4, areq) && (areq->realuid == 0 || areq->realuid == SIGNUP_UID)) ) { 141 147 + return 0; 142 148 + } … … 145 151 } 146 152 } 147 @@ -192,6 +21 8,7 @@153 @@ -192,6 +213,7 @@ 148 154 OSI_VC_CONVERT(avc); 149 155
Note: See TracChangeset
for help on using the changeset viewer.