CRUX

Welcome to CRUX bug tracking.
Tasklist

FS#1010 - httpup breaks ACL mask inheritance

Attached to Project: CRUX
Opened by Oleksii Tkachuk (alexta) - Monday, 28 April 2014, 16:21 GMT
Last edited by Juergen Daubert (jue) - Thursday, 01 May 2014, 11:27 GMT
Task Type Bug Report
Category tools
Status New
Assigned To Johannes Winkelmann (jw)
Operating System CRUX
Severity Low
Priority Normal
Reported Version 3.0
Due in Version Undecided
Due Date Undecided
Percent Complete 0%
Votes 0
Private No

Details

I noticed strange behavior of synchronization httpup collections that looks like a bug: ACL mask is always set to r-x on port dir creation, ignoring default mask from parent.

For example, I create directory /usr/ports/jw where I want to sync Johannes's port collection and setup default rwx rights for the group wheel (so default ACL mask is rwx):

alexta /usr/ports $ getfacl jw
# file: jw
# owner: root
# group: root
user::rwx
group::r-x
mask::r-x
other::r-x
default:user::rwx
default:group::r-x
default:group:wheel:rwx
default:mask::rwx
default:other::r-x

After ports syncing by calling sudo ports -u I get following ACL attributes for port glew (effective ACL mask is r-x, while expecting rwx):

alexta /usr/ports/jw $ getfacl glew
# file: glew
# owner: root
# group: root
user::rwx
group::r-x
group:wheel:rwx #effective:r-x
mask::r-x #SHOULD BE rwx
other::r-x
default:user::rwx
default:group::r-x
default:group:wheel:rwx
default:mask::rwx
default:other::r-x

I looked into the code and found, that httpup calls mkdir with creation mode set to 0755, so this ends up changing the effective mask ACL entry on the directory. It seems, that httpup should call mkdir(dir, 0777) and let the umask take care of the default permissions.

Attached patch fixes this behavior.
This task depends upon

Loading...