From: Eric Bollengier Date: Mon, 20 Mar 2023 12:44:16 +0000 (+0100) Subject: Include BackupClient in list jobs, list jobmedia, list joblog X-Git-Tag: Release-13.0.3~24 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ce96d9efdc2e9070f646ac629a769147cebb938f;p=thirdparty%2Fbacula.git Include BackupClient in list jobs, list jobmedia, list joblog --- diff --git a/bacula/src/cats/sql_list.c b/bacula/src/cats/sql_list.c index 19f0e959c..cb74f1e2c 100644 --- a/bacula/src/cats/sql_list.c +++ b/bacula/src/cats/sql_list.c @@ -112,10 +112,10 @@ void BDB::bdb_list_client_records(JCR *jcr, DB_LIST_HANDLER *sendit, void *ctx, if (type == VERT_LIST || type == JSON_LIST) { Mmsg(cmd, "SELECT ClientId,Name,Uname,AutoPrune,FileRetention," "JobRetention " - "FROM Client %s ORDER BY ClientId", get_acl(DB_ACL_CLIENT, true)); + "FROM Client %s ORDER BY ClientId", get_acl(DB_ACL_BCLIENT, true)); } else { Mmsg(cmd, "SELECT ClientId,Name,FileRetention,JobRetention " - "FROM Client %s ORDER BY ClientId", get_acl(DB_ACL_CLIENT, true)); + "FROM Client %s ORDER BY ClientId", get_acl(DB_ACL_BCLIENT, true)); } if (!QueryDB(jcr, cmd)) { bdb_unlock(); @@ -401,11 +401,11 @@ void BDB::bdb_list_jobmedia_records(JCR *jcr, uint32_t JobId, char *volume, /* Get some extra SQL parameters if needed */ const char *where = get_acls(DB_ACL_BIT(DB_ACL_JOB) | DB_ACL_BIT(DB_ACL_FILESET) | - DB_ACL_BIT(DB_ACL_CLIENT), true); + DB_ACL_BIT(DB_ACL_BCLIENT), true); const char *join = *where ? get_acl_join_filter(DB_ACL_BIT(DB_ACL_JOB) | DB_ACL_BIT(DB_ACL_FILESET) | - DB_ACL_BIT(DB_ACL_CLIENT)) : ""; + DB_ACL_BIT(DB_ACL_BCLIENT)) : ""; if (*where) { where_and = "AND"; @@ -490,7 +490,6 @@ void BDB::bdb_list_filemedia_records(JCR *jcr, uint32_t JobId, uint32_t FileInde bdb_unlock(); } - void BDB::bdb_list_copies_records(JCR *jcr, uint32_t limit, char *JobIds, DB_LIST_HANDLER *sendit, void *ctx, e_list_type type) { @@ -507,8 +506,8 @@ void BDB::bdb_list_copies_records(JCR *jcr, uint32_t limit, char *JobIds, } bdb_lock(); - const char *where = get_acls(DB_ACL_BIT(DB_ACL_JOB) | DB_ACL_BIT(DB_ACL_CLIENT), false); - const char *join = *where ? get_acl_join_filter(DB_ACL_BIT(DB_ACL_CLIENT)) : ""; + const char *where = get_acls(DB_ACL_BIT(DB_ACL_JOB) | DB_ACL_BIT(DB_ACL_BCLIENT), false); + const char *join = *where ? get_acl_join_filter(DB_ACL_BIT(DB_ACL_BCLIENT)) : ""; Mmsg(cmd, "SELECT DISTINCT Job.PriorJobId AS JobId, Job.Job, " @@ -650,7 +649,9 @@ void BDB::bdb_list_joblog_records(JCR *jcr, uint32_t JobId, const char *where = get_acls(DB_ACL_BIT(DB_ACL_JOB) | DB_ACL_BIT(DB_ACL_FILESET) | - DB_ACL_BIT(DB_ACL_CLIENT), false); + DB_ACL_BIT(DB_ACL_BCLIENT) | + DB_ACL_BIT(DB_ACL_RCLIENT) + , false); const char *join = *where ? get_acl_join_filter(DB_ACL_BIT(DB_ACL_JOB) | DB_ACL_BIT(DB_ACL_FILESET) | @@ -773,7 +774,7 @@ alist *BDB::bdb_list_job_records(JCR *jcr, JOB_DBR *jr, DB_LIST_HANDLER *sendit, pm_strcat(where, where_tmp); if (*where_tmp) { - join = get_acl_join_filter(DB_ACL_BIT(DB_ACL_CLIENT) | + join = get_acl_join_filter(DB_ACL_BIT(DB_ACL_BCLIENT) | DB_ACL_BIT(DB_ACL_FILESET)); } @@ -844,8 +845,8 @@ alist *BDB::bdb_list_job_records(JCR *jcr, JOB_DBR *jr, DB_LIST_HANDLER *sendit, void BDB::bdb_list_job_totals(JCR *jcr, JOB_DBR *jr, DB_LIST_HANDLER *sendit, void *ctx) { bdb_lock(); - const char *where = get_acls(DB_ACL_BIT(DB_ACL_CLIENT) | DB_ACL_BIT(DB_ACL_JOB), true); - const char *join = *where ? get_acl_join_filter(DB_ACL_BIT(DB_ACL_CLIENT)) : ""; + const char *where = get_acls(DB_ACL_BIT(DB_ACL_BCLIENT) | DB_ACL_BIT(DB_ACL_JOB), true); + const char *join = *where ? get_acl_join_filter(DB_ACL_BIT(DB_ACL_BCLIENT)) : ""; /* List by Job */ Mmsg(cmd, "SELECT count(*) AS Jobs,sum(JobFiles) " @@ -901,11 +902,11 @@ void BDB::bdb_list_files_for_job(JCR *jcr, JobId_t jobid, int deleted, DB_LIST_H bdb_lock(); /* Get optional filters for the SQL query */ const char *where = get_acls(DB_ACL_BIT(DB_ACL_JOB) | - DB_ACL_BIT(DB_ACL_CLIENT) | + DB_ACL_BIT(DB_ACL_BCLIENT) | DB_ACL_BIT(DB_ACL_FILESET), true); const char *join = *where ? get_acl_join_filter(DB_ACL_BIT(DB_ACL_JOB) | - DB_ACL_BIT(DB_ACL_CLIENT) | + DB_ACL_BIT(DB_ACL_BCLIENT) | DB_ACL_BIT(DB_ACL_FILESET)) : ""; /* @@ -990,7 +991,7 @@ void BDB::bdb_list_snapshot_records(JCR *jcr, SNAPSHOT_DBR *sdbr, char ed1[50]; bdb_lock(); - const char *where = get_acl(DB_ACL_CLIENT, false); + const char *where = get_acl(DB_ACL_BCLIENT, false); *filter = 0; if (sdbr->Name[0]) { @@ -1164,7 +1165,7 @@ void BDB::bdb_list_jobs_for_file(JCR *jcr, const char *client, const char *fname bdb_lock(); /* Get optional filters for the SQL query */ const char *where = get_acls(DB_ACL_BIT(DB_ACL_JOB) | - DB_ACL_BIT(DB_ACL_CLIENT) | + DB_ACL_BIT(DB_ACL_BCLIENT) | DB_ACL_BIT(DB_ACL_FILESET), false); const char *join = *where ? get_acl_join_filter(DB_ACL_BIT(DB_ACL_FILESET)) : ""; diff --git a/bacula/src/dird/ua_prune.c b/bacula/src/dird/ua_prune.c index 109b981e1..a96648066 100644 --- a/bacula/src/dird/ua_prune.c +++ b/bacula/src/dird/ua_prune.c @@ -426,7 +426,7 @@ int prune_files(UAContext *ua, CLIENT *client, POOL *pool) } if (!client) { - table |= DB_ACL_BIT(DB_ACL_CLIENT); + table |= DB_ACL_BIT(DB_ACL_BCLIENT); } if (!pool) { table |= DB_ACL_BIT(DB_ACL_POOL); @@ -436,7 +436,7 @@ int prune_files(UAContext *ua, CLIENT *client, POOL *pool) /* Get optional filters for the SQL query */ const char *where = ua->db->get_acls(DB_ACL_BIT(DB_ACL_JOB) | DB_ACL_BIT(DB_ACL_POOL) | - DB_ACL_BIT(DB_ACL_CLIENT), false); + DB_ACL_BIT(DB_ACL_BCLIENT), false); /* The join can be added by prune_set_filter() */ const char *join = (*where && table) ? ua->db->get_acl_join_filter(table) : ""; diff --git a/bacula/src/dird/ua_purge.c b/bacula/src/dird/ua_purge.c index a8c23b7c9..6c96ba962 100644 --- a/bacula/src/dird/ua_purge.c +++ b/bacula/src/dird/ua_purge.c @@ -239,11 +239,11 @@ static int purge_files_from_client(UAContext *ua, CLIENT *client) { /* Get optional filters for the SQL query */ const char *where = ua->db->get_acls(DB_ACL_BIT(DB_ACL_JOB) | - DB_ACL_BIT(DB_ACL_CLIENT) | + DB_ACL_BIT(DB_ACL_BCLIENT) | DB_ACL_BIT(DB_ACL_FILESET), false); const char *join = *where ? ua->db->get_acl_join_filter(DB_ACL_BIT(DB_ACL_JOB) | - DB_ACL_BIT(DB_ACL_CLIENT) | + DB_ACL_BIT(DB_ACL_BCLIENT) | DB_ACL_BIT(DB_ACL_FILESET)) : ""; Mmsg(query, select_jobsfiles_from_client, join, edit_int64(cr.ClientId, ed1), where); @@ -303,10 +303,10 @@ static int purge_jobs_from_client(UAContext *ua, CLIENT *client, char* job) { /* Get optional filters for the SQL query */ const char *where = ua->db->get_acls(DB_ACL_BIT(DB_ACL_JOB) | - DB_ACL_BIT(DB_ACL_CLIENT) | + DB_ACL_BIT(DB_ACL_BCLIENT) | DB_ACL_BIT(DB_ACL_FILESET), false); - const char *join = *where ? ua->db->get_acl_join_filter(DB_ACL_BIT(DB_ACL_CLIENT) | + const char *join = *where ? ua->db->get_acl_join_filter(DB_ACL_BIT(DB_ACL_BCLIENT) | DB_ACL_BIT(DB_ACL_FILESET)) : ""; if (job) {