]> git.sur5r.net Git - bacula/bacula/commitdiff
kes Remove fnmatch() in SD that permitted wild card specifications.
authorKern Sibbald <kern@sibbald.com>
Sat, 4 Aug 2007 16:46:32 +0000 (16:46 +0000)
committerKern Sibbald <kern@sibbald.com>
Sat, 4 Aug 2007 16:46:32 +0000 (16:46 +0000)
     This fixes bug #914.

git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@5282 91ce42f0-d328-0410-95d8-f526ca767f89

bacula/src/stored/dircmd.c
bacula/src/stored/job.c
bacula/src/stored/match_bsr.c
bacula/src/stored/reserve.c
bacula/src/version.h
bacula/technotes-2.1

index cb99f95bef94cf7dc2f099c2bd62012eb7955163..205fe140df3566000f74e09f5e30d77ebe67efa3 100644 (file)
@@ -563,7 +563,7 @@ static DCR *find_device(JCR *jcr, POOL_MEM &devname, int drive)
    unbash_spaces(devname);
    foreach_res(device, R_DEVICE) {
       /* Find resource, and make sure we were able to open it */
-      if (fnmatch(device->hdr.name, devname.c_str(), 0) == 0) {
+      if (strcmp(device->hdr.name, devname.c_str()) == 0) {
          if (!device->dev) {
             device->dev = init_dev(jcr, device);
          }
@@ -581,7 +581,7 @@ static DCR *find_device(JCR *jcr, POOL_MEM &devname, int drive)
    if (!found) {
       foreach_res(changer, R_AUTOCHANGER) {
          /* Find resource, and make sure we were able to open it */
-         if (fnmatch(devname.c_str(), changer->hdr.name, 0) == 0) {
+         if (strcmp(devname.c_str(), changer->hdr.name) == 0) {
             /* Try each device in this AutoChanger */
             foreach_alist(device, changer->device) {
                Dmsg1(100, "Try changer device %s\n", device->hdr.name);
index 8215000b83d5eb756a89e38062457dd4249e665d..f3d08a168587a73c0edbdd4f63e85152b8267eb8 100644 (file)
@@ -265,7 +265,7 @@ bool query_cmd(JCR *jcr)
       unbash_spaces(dev_name);
       foreach_res(device, R_DEVICE) {
          /* Find resource, and make sure we were able to open it */
-         if (fnmatch(dev_name.c_str(), device->hdr.name, 0) == 0) {
+         if (strcmp(dev_name.c_str(), device->hdr.name) == 0) {
             if (!device->dev) {
                device->dev = init_dev(jcr, device);
             }
@@ -283,7 +283,7 @@ bool query_cmd(JCR *jcr)
       }
       foreach_res(changer, R_AUTOCHANGER) {
          /* Find resource, and make sure we were able to open it */
-         if (fnmatch(dev_name.c_str(), changer->hdr.name, 0) == 0) {
+         if (strcmp(dev_name.c_str(), changer->hdr.name) == 0) {
             if (!changer->device || changer->device->size() == 0) {
                continue;              /* no devices */
             }
index ae54260f43b1b28ce192d7665da507104c50af02..e8dbdc2fdd2e33616801bfe89a144f17ddb0265c 100644 (file)
@@ -433,7 +433,7 @@ static int match_client(BSR *bsr, BSR_CLIENT *client, SESSION_LABEL *sessrec, bo
    if (!client) {
       return 1;                       /* no specification matches all */
    }
-   if (fnmatch(client->ClientName, sessrec->ClientName, 0) == 0) {
+   if (strcmp(client->ClientName, sessrec->ClientName) == 0) {
       return 1;
    }
    if (client->next) {
@@ -447,7 +447,7 @@ static int match_job(BSR *bsr, BSR_JOB *job, SESSION_LABEL *sessrec, bool done)
    if (!job) {
       return 1;                       /* no specification matches all */
    }
-   if (fnmatch(job->Job, sessrec->Job, 0) == 0) {
+   if (strcmp(job->Job, sessrec->Job) == 0) {
       return 1;
    }
    if (job->next) {
index 9f140ab0fdb50e9061e33e0dd0b04cf1deb63317..349aa29592073efa3bdb95628292ea98a362008f 100644 (file)
@@ -796,7 +796,7 @@ static bool is_vol_in_autochanger(RCTX &rctx, VOLRES *vol)
    AUTOCHANGER *changer = vol->dev->device->changer_res;
 
    /* Find resource, and make sure we were able to open it */
-   if (fnmatch(rctx.device_name, changer->hdr.name, 0) == 0) {
+   if (strcmp(rctx.device_name, changer->hdr.name) == 0) {
       Dmsg2(dbglvl, "jid=%u Found changer device %s\n",
                      (int)rctx.jcr->JobId, vol->dev->device->hdr.name);
       return true;
@@ -988,7 +988,7 @@ int search_res_for_device(RCTX &rctx)
    foreach_res(changer, R_AUTOCHANGER) {
       Dmsg2(dbglvl, "jid=%u Try match changer res=%s\n", (int)rctx.jcr->JobId, changer->hdr.name);
       /* Find resource, and make sure we were able to open it */
-      if (fnmatch(rctx.device_name, changer->hdr.name, 0) == 0) {
+      if (strcmp(rctx.device_name, changer->hdr.name) == 0) {
          /* Try each device in this AutoChanger */
          foreach_alist(rctx.device, changer->device) {
             Dmsg2(dbglvl, "jid=%u Try changer device %s\n", (int)rctx.jcr->JobId, 
@@ -1017,7 +1017,7 @@ int search_res_for_device(RCTX &rctx)
       foreach_res(rctx.device, R_DEVICE) {
          Dmsg2(dbglvl, "jid=%u Try match res=%s\n", (int)rctx.jcr->JobId, rctx.device->hdr.name);
          /* Find resource, and make sure we were able to open it */
-         if (fnmatch(rctx.device_name, rctx.device->hdr.name, 0) == 0) {
+         if (strcmp(rctx.device_name, rctx.device->hdr.name) == 0) {
             stat = reserve_device(rctx);
             if (stat != 1) {             /* try another device */
                continue;
index 2674f5bf874ae45574eed8c1bc73e88dbf037518..4715735305f6b320244cc6d984f39509832d5927 100644 (file)
@@ -4,8 +4,8 @@
 
 #undef  VERSION
 #define VERSION "2.1.29"
-#define BDATE   "31 July 2007"
-#define LSMDATE "31Jul07"
+#define BDATE   "04 August 2007"
+#define LSMDATE "04Aug07"
 
 #define PROG_COPYRIGHT "Copyright (C) %d-2007 Free Software Foundation Europe e.V.\n"
 #define BYEAR "2007"       /* year for copyright messages in progs */
index 89cd8d4e1459ececdaf380aa27c2a7f66933c896..0fae8c96de30b28a374c4df5a8c76ef019ffc9cf 100644 (file)
@@ -1,6 +1,9 @@
               Technical notes on version 2.1
 
 General:
+04Aug07
+kes  Remove fnmatch() in SD that permitted wild card specifications.
+     This fixes bug #914.
 31Jul07
 kes  Fix %g in filename returned by SQL for browse tree reported by
      Dirk.