At 8:25 AM -0500 7/29/07, John E. Malmberg wrote: >In VMS 8.3, support for symbolic links has been added to the CRTL. > >Unfortunately the support is broken for the unlink(), remove(), delete(), and >probably rmdir() and rename() unless one of the Posix compliant modes is >activated. > >This patch works around this issue for remove() and rmdir() by using the RMS >erase call. > >The extra code in vms.c to make remove() and rmdir() behave according to the >UNIX security model needed modifications so that it would put the ACL on the >symbolic link and not the link target.
I see a lot of ACL-handling code being removed, but I don't yet see what replaces it. Do we still modify the ACL if that's what's needed to delete a file? In other words, are we preserving existing behavior for cases where there is no link involved? >Also added a logical name PERL_VMS_UNLINK_ALL_VERSIONS which allows a runtime >setting of the feature. > >TODO: Add a wrapper to rename so that it will handle symbolic links correctly >if that bug is present, and to also remove the extra versions of the file. > >With this patch, 107 tests now are passed or skipped in t/op/stat.t > > >Can someone with a VMS support contract could file an official bug report >about the CRTL? > >With the DECC features set to default: remove() currently removes the >symbolic link target, not the link as expected. unlink() and delete() are the >same as remove(). > >DCL and RMS get this right, only the CRTL has it wrong. > >While blead perl is now patched for this case, this could affect other >programs that discover that symlink() is actually creating links instead of >returning ENOSYS, as it did in prior versions of the CRTL. > >As for the possible work around for enabling the POSIX compliant modes, until >the restriction about logical names is removed, you may find them very hard to >use for linking against any existing library written in C. I think there are probably quite a few things that now need to be sandwiched between calls to decc$feature_set. -- ________________________________________ Craig A. Berry mailto:[EMAIL PROTECTED] "... getting out of a sonnet is much more difficult than getting in." Brad Leithauser