]> git.sur5r.net Git - bacula/bacula/commitdiff
kes Fix non-ssl build so that it works (add JCR *jcr to crypto structures).
authorKern Sibbald <kern@sibbald.com>
Fri, 11 May 2007 14:37:19 +0000 (14:37 +0000)
committerKern Sibbald <kern@sibbald.com>
Fri, 11 May 2007 14:37:19 +0000 (14:37 +0000)
kes  Fix sign extended editing of %p.
kes  Clean out a little old #ifdefing in cats/mysql.c

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

bacula/src/cats/mysql.c
bacula/src/dird/job.c
bacula/src/lib/bsnprintf.c
bacula/src/lib/crypto.c
bacula/src/version.h
bacula/technotes-2.1

index df58a9a0806802448513037f431df54670081107..645dbb4385481e87a963246a166c85185091740e 100644 (file)
@@ -159,7 +159,8 @@ db_open_database(JCR *jcr, B_DB *mdb)
 #ifdef xHAVE_EMBEDDED_MYSQL
 // mysql_server_init(0, NULL, NULL);
 #endif
-   mysql_init(&(mdb->mysql));
+   mysql_init(&mdb->mysql);
+
    Dmsg0(50, "mysql_init done\n");
    /* If connection fails, try at 5 sec intervals for 30 seconds. */
    for (int retry=0; retry < 6; retry++) {
@@ -200,9 +201,6 @@ db_open_database(JCR *jcr, B_DB *mdb)
       return 0;
    }
 
-#ifdef HAVE_THREAD_SAFE_MYSQL
-   my_thread_init();
-#endif
    Dmsg3(100, "opendb ref=%d connected=%d db=%p\n", mdb->ref_count,
          mdb->connected, mdb->db);
 
@@ -220,16 +218,14 @@ db_close_database(JCR *jcr, B_DB *mdb)
    P(mutex);
    sql_free_result(mdb);
    mdb->ref_count--;
-#if defined(HAVE_THREAD_SAFE_MYSQL)
-   my_thread_end();
-#endif
    Dmsg3(100, "closedb ref=%d connected=%d db=%p\n", mdb->ref_count,
          mdb->connected, mdb->db);
    if (mdb->ref_count == 0) {
       qdchain(&mdb->bq);
-      if (mdb->connected && mdb->db) {
+      if (mdb->connected) {
          Dmsg1(100, "close db=%p\n", mdb->db);
-         mysql_close(&(mdb->mysql));
+         mysql_close(&mdb->mysql);
+
 #ifdef xHAVE_EMBEDDED_MYSQL
 //       mysql_server_end();
 #endif
index bd0be764f82ba27438943b1363c4582f7c2642cf..5e6a2334210fb828f5e485e06c85186b3fc79ab7 100644 (file)
@@ -802,14 +802,14 @@ void dird_free_jcr(JCR *jcr)
       pthread_cond_destroy(&jcr->term_wait);
       jcr->term_wait_inited = false;
    }
+   if (jcr->db_batch && jcr->db_batch != jcr->db) {
+      db_close_database(jcr, jcr->db_batch);
+   }
+   jcr->db_batch = NULL;
    if (jcr->db) {
       db_close_database(jcr, jcr->db);
       jcr->db = NULL;
    }
-   if (jcr->db_batch) {
-      db_close_database(jcr, jcr->db_batch);
-      jcr->db_batch = NULL;
-   }
    if (jcr->stime) {
       Dmsg0(200, "Free JCR stime\n");
       free_pool_memory(jcr->stime);
index 07b94bb135ab2cd6ae2abb46f759275463d73cfc..1785759a0eef7404b8e9880201cd31e8dad25717 100644 (file)
@@ -327,8 +327,14 @@ int bvsnprintf(char *buffer, int32_t maxlen, const char *format, va_list args)
             break;
          case 'p':
             flags |= DP_F_UNSIGNED;
-            strvalue = va_arg(args, char *);
-            currlen = fmtint(buffer, currlen, maxlen, (long)strvalue, 16, min, max, flags);
+            if (sizeof(char *) == 4) {
+               value = va_arg(args, uint32_t);
+            } else if (sizeof(char *) == 8) {
+               value = va_arg(args, uint64_t);
+            } else {
+               value = (uint64_t)va_arg(args, char *);
+            }
+            currlen = fmtint(buffer, currlen, maxlen, value, 16, min, max, flags);
             break;
          case 'n':
             if (cflags == DP_C_INT16) {
index 77aa7bcff57e9ba5948534260dec3b32b5c98290..3e81e068fa48013a4d4c70ccc64080593a8bcd17 100644 (file)
@@ -1455,6 +1455,7 @@ int cleanup_crypto (void)
 /* Message Digest Structure */
 struct Digest {
    crypto_digest_t type;
+   JCR *jcr;
    union {
       SHA1Context sha1;
       MD5Context md5;
@@ -1463,6 +1464,7 @@ struct Digest {
 
 /* Dummy Signature Structure */
 struct Signature {
+   JCR *jcr;
 };
 
 DIGEST *crypto_digest_new(JCR *jcr, crypto_digest_t type)
index 085613c73912bf4402bacd1cd8f62c4f154d8633..12824010b9c3da0b8e3a9aab8943c94cc7c6ee75 100644 (file)
@@ -4,8 +4,8 @@
 
 #undef  VERSION
 #define VERSION "2.1.8"
-#define BDATE   "09 May 2007"
-#define LSMDATE "09May07"
+#define BDATE   "11 May 2007"
+#define LSMDATE "11May07"
 
 #define PROG_COPYRIGHT "Copyright (C) %d-2007 Free Software Foundation Europe e.V.\n"
 #define BYEAR "2007"       /* year for copyright messages in progs */
index f007b39e2d1b1104fda9f0af788c887e8bdbe0cd..70e59fac5b177e7e9ece2aca547fc0b8102140a2 100644 (file)
@@ -1,6 +1,10 @@
               Technical notes on version 2.1
 
 General:
+11May07
+kes  Fix non-ssl build so that it works (add JCR *jcr to crypto structures).
+kes  Fix sign extended editing of %p.
+kes  Clean out a little old #ifdefing in cats/mysql.c
 10May07
 kes  If time diff between DIR and FD is more than 600 seconds convert
      INFO message to WARNING.