#endif /* HAVE_SUN_OS */
#endif /* HAVE_ACL */
-#if defined(HAVE_AFS_ACL)
-
-#include <afs/stds.h>
-#include <afs/afs.h>
-#include <afs/auth.h>
-#include <afs/venus.h>
-#include <afs/prs_fs.h>
-
-/**
- * External references to functions in the libsys library function not in current include files.
- */
-extern "C" {
-long pioctl(char *pathp, long opcode, struct ViceIoctl *blobp, int follow);
-}
-
-static bacl_exit_code afs_build_acl_streams(JCR *jcr, FF_PKT *ff_pkt)
-{
- int error;
- struct ViceIoctl vip;
- char acl_text[BUFSIZ];
- berrno be;
-
- /**
- * AFS ACLs can only be set on a directory, so no need to try to
- * request them for anything other then that.
- */
- if (ff_pkt->type != FT_DIREND) {
- return bacl_exit_ok;
- }
-
- vip.in = NULL;
- vip.in_size = 0;
- vip.out = acl_text;
- vip.out_size = sizeof(acl_text);
- memset((caddr_t)acl_text, 0, sizeof(acl_text));
-
- if ((error = pioctl(jcr->last_fname, VIOCGETAL, &vip, 0)) < 0) {
- Mmsg2(jcr->errmsg, _("pioctl VIOCGETAL error on file \"%s\": ERR=%s\n"),
- jcr->last_fname, be.bstrerror());
- Dmsg2(100, "pioctl VIOCGETAL error file=%s ERR=%s\n",
- jcr->last_fname, be.bstrerror());
- return bacl_exit_error;
- }
- jcr->acl_data->content_length = pm_strcpy(jcr->acl_data->content, acl_text);
- return send_acl_stream(jcr, STREAM_ACL_AFS_TEXT);
-}
-
-static bacl_exit_code afs_parse_acl_stream(JCR *jcr, int stream)
-{
- int error;
- struct ViceIoctl vip;
- berrno be;
-
- vip.in = jcr->acl_data->content;
- vip.in_size = jcr->acl_data->content_length;
- vip.out = NULL;
- vip.out_size = 0;
-
- if ((error = pioctl(jcr->last_fname, VIOCSETAL, &vip, 0)) < 0) {
- Mmsg2(jcr->errmsg, _("pioctl VIOCSETAL error on file \"%s\": ERR=%s\n"),
- jcr->last_fname, be.bstrerror());
- Dmsg2(100, "pioctl VIOCSETAL error file=%s ERR=%s\n",
- jcr->last_fname, be.bstrerror());
-
- return bacl_exit_error;
- }
- return bacl_exit_ok;
-}
-#endif /* HAVE_AFS_ACL */
-
-/**
+/*
* Entry points when compiled with support for ACLs on a supported platform.
*/
*/
jcr->acl_data->flags = 0;
-#if defined(HAVE_AFS_ACL)
- /**
- * AFS is a non OS specific filesystem so see if this path is on an AFS filesystem
- * Set the BACL_FLAG_SAVE_AFS flag if it is. If not set the BACL_FLAG_SAVE_NATIVE flag.
- */
- if (fstype_equals(jcr->last_fname, "afs")) {
- jcr->acl_data->flags |= BACL_FLAG_SAVE_AFS;
- } else {
- jcr->acl_data->flags |= BACL_FLAG_SAVE_NATIVE;
- }
-#else
jcr->acl_data->flags |= BACL_FLAG_SAVE_NATIVE;
-#endif
/**
* Save that we started scanning a new filesystem.
jcr->acl_data->current_dev = ff_pkt->statp.st_dev;
}
-#if defined(HAVE_AFS_ACL)
- /**
- * See if the BACL_FLAG_SAVE_AFS flag is set which lets us know if we should
- * save AFS ACLs.
- */
- if (jcr->acl_data->flags & BACL_FLAG_SAVE_AFS) {
- return afs_build_acl_streams(jcr, ff_pkt);
- }
-#endif
#if defined(HAVE_ACL)
/**
* See if the BACL_FLAG_SAVE_NATIVE flag is set which lets us know if we should
unsigned int cnt;
switch (stream) {
-#if defined(HAVE_AFS_ACL)
- case STREAM_ACL_AFS_TEXT:
- return afs_parse_acl_stream(jcr, stream);
-#endif
#if defined(HAVE_ACL)
case STREAM_UNIX_ACCESS_ACL:
case STREAM_UNIX_DEFAULT_ACL: