From ebdd06ced6ac17b77a54e25f9735dff0e62585b3 Mon Sep 17 00:00:00 2001 From: Kern Sibbald Date: Wed, 2 Apr 2008 20:37:26 +0000 Subject: [PATCH] 02Apr08 kes Apply patch from bug #1069 that corrects spurious error messages when ACLs enabled on SGI but no ACL exists. git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@6729 91ce42f0-d328-0410-95d8-f526ca767f89 --- bacula/src/filed/acl.c | 20 +++++++++++++++++++- bacula/src/version.h | 6 +++--- bacula/technotes-2.3 | 2 ++ 3 files changed, 24 insertions(+), 4 deletions(-) diff --git a/bacula/src/filed/acl.c b/bacula/src/filed/acl.c index 0c9ce046c7..9eb017ebb0 100644 --- a/bacula/src/filed/acl.c +++ b/bacula/src/filed/acl.c @@ -1,7 +1,7 @@ /* Bacula® - The Network Backup Solution - Copyright (C) 2004-2007 Free Software Foundation Europe e.V. + Copyright (C) 2004-2008 Free Software Foundation Europe e.V. The main author of Bacula is Kern Sibbald, with contributions from many others, a complete list can be found in the file AUTHORS. @@ -176,6 +176,24 @@ int bacl_get(JCR *jcr, int acltype) acl = acl_get_file(jcr->last_fname, ostype); if (acl) { +#if defined(HAVE_IRIX_OS) + /* + * From observation, IRIX's acl_get_file() seems to return a + * non-NULL acl with a count field of -1 when a file has no ACL + * defined, while IRIX's acl_to_text() returns NULL when presented + * with such an ACL. + * + * Checking the count in the acl structure before calling + * acl_to_text() lets us avoid error messages about files + * with no ACLs, without modifying the flow of the code used for + * other operating systems, and it saves making some calls + * to acl_to_text() besides. + */ + if (acl->acl_cnt <= 0) { + acl_free(acl); + return 0; + } +#endif if ((acl_text = acl_to_text(acl, NULL)) != NULL) { len = pm_strcpy(jcr->acl_text, acl_text); acl_free(acl); diff --git a/bacula/src/version.h b/bacula/src/version.h index b619bfc928..7bb1abf370 100644 --- a/bacula/src/version.h +++ b/bacula/src/version.h @@ -3,9 +3,9 @@ */ #undef VERSION -#define VERSION "2.3.14" -#define BDATE "01 April 2008" -#define LSMDATE "01Apr08" +#define VERSION "2.3.15" +#define BDATE "02 April 2008" +#define LSMDATE "02Apr08" #define PROG_COPYRIGHT "Copyright (C) %d-2008 Free Software Foundation Europe e.V.\n" #define BYEAR "2008" /* year for copyright messages in progs */ diff --git a/bacula/technotes-2.3 b/bacula/technotes-2.3 index fa9941d5d0..a69baf6b68 100644 --- a/bacula/technotes-2.3 +++ b/bacula/technotes-2.3 @@ -25,6 +25,8 @@ Add long term statistics job table General: 02Apr08 +kes Apply patch from bug #1069 that corrects spurious error messages + when ACLs enabled on SGI but no ACL exists. ebl Fix small segfault in bacula-sd when debug level is 500 kes Modify run_program() and run_program_full_output() to use call by reference for the results string. This corrects a long -- 2.39.5