]> git.ipfire.org Git - thirdparty/bacula.git/commitdiff
Include BackupClient in list jobs, list jobmedia, list joblog
authorEric Bollengier <eric@baculasystems.com>
Mon, 20 Mar 2023 12:44:16 +0000 (13:44 +0100)
committerEric Bollengier <eric@baculasystems.com>
Tue, 2 May 2023 07:07:18 +0000 (09:07 +0200)
bacula/src/cats/sql_list.c
bacula/src/dird/ua_prune.c
bacula/src/dird/ua_purge.c

index 19f0e959cb7e4b12008e38b1f5893eff7b28fae7..cb74f1e2cc643e0979cdc4ac065a45f965e0a4c7 100644 (file)
@@ -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)) : "";
index 109b981e17e50b7b130abbb614fe15ea0362bd91..a9664806651fa2d176102da779e1483d6c9b1474 100644 (file)
@@ -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) : "";
index a8c23b7c9b0eb4e6658eb6dec64386023edbe64b..6c96ba9624a460b057bc67767004a9e1075133f5 100644 (file)
@@ -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) {