Leif Rilbe created MASSEMBLY-647:
------------------------------------

             Summary: Archiver drops file/directory mode most significant bits
                 Key: MASSEMBLY-647
                 URL: https://jira.codehaus.org/browse/MASSEMBLY-647
             Project: Maven 2.x Assembly Plugin
          Issue Type: Bug
          Components: maven-archiver
    Affects Versions: 2.4
            Reporter: Leif Rilbe


Problem detected when trying to build a zip assembly with directories having 
the setgid bit set.
Wanted directory mode: drwxrws---

Archiver config:
<archiverConfig>
    <!-- (rwxrws===) = 2770(oct) -->
    <directoryMode>1528</directoryMode>
    <defaultDirectoryMode>1528</defaultDirectoryMode>
</archiverConfig>

FileSet config in assembly descriptor:
<fileSet>
    <directory>${project.build.directory}</directory>
    <includes>
        <include>./</include>
    </includes>
    <outputDirectory>/</outputDirectory>
    <directoryMode>2770</directoryMode>
</fileSet>

Actual directory mode: drwxrwx---

If I do not specify <directoryMode> in the assembly descriptor, the modes from 
the archiverConfig prevale, thus yielding the wanted directory mode. However, 
this behaviour seems brittle and possibly any use of <fileMode> or 
<directoryMode> in the assembly descriptors seems to "break" the use of the 
archiverConfig modes.

>From source code analysis it seems to me that fileset modes are handled by 
>means of the org.codehaus.plexus.components.io.attributes.FileAttributes 
>class. This class seems to not handle the most significant file mode bits 
>(i.e. setuid/setgid/sticky bits). It seems that the assembly plugin sometimes 
>routes permission through this class and sometimes not, which causes the most 
>significant bits to be sometimes lost and sometimes not.

Perhaps the best route would be to add handling of the setuid/setgid/sticky 
bits to the org.codehaus.plexus.components.io.attributes.FileAttributes class?



--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to