]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/cats/sql_create.c
Important protocol change -- see kes29Oct02
[bacula/bacula] / bacula / src / cats / sql_create.c
index 16370169a163567eb547de2f6bd7570b9fbc1938..348ede4035d8126d308db05564b932c1ddd5ca36 100644 (file)
@@ -276,7 +276,7 @@ int db_create_client_record(B_DB *mdb, CLIENT_DBR *cr)
    char ed1[30], ed2[30];
 
    db_lock(mdb);
-   Mmsg(&mdb->cmd, "SELECT ClientId FROM Client WHERE Name='%s'", cr->Name);
+   Mmsg(&mdb->cmd, "SELECT ClientId,Uname FROM Client WHERE Name='%s'", cr->Name);
 
    cr->ClientId = 0;
    if (QUERY_DB(mdb, mdb->cmd)) {
@@ -297,6 +297,12 @@ int db_create_client_record(B_DB *mdb, CLIENT_DBR *cr)
            return 0;
         }
         cr->ClientId = atoi(row[0]);
+        if (row[1]) {
+           strncpy(cr->Uname, row[1], sizeof(cr->Uname)-2);
+           cr->Uname[sizeof(cr->Uname)-1] = 0;
+        } else {
+           cr->Uname[0] = 0;         /* no name */
+        }
         sql_free_result(mdb);
         db_unlock(mdb);
         return 1;
@@ -430,7 +436,7 @@ int db_create_file_attributes_record(B_DB *mdb, ATTR_DBR *ar)
    /* For the moment, we only handle Unix attributes.  Note, we are
     * also getting any MD5 signature that was computed.
     */
-   if (ar->Stream != STREAM_UNIX_ATTRIBUTES) {
+   if (!(ar->Stream == STREAM_UNIX_ATTRIBUTES || ar->Stream == STREAM_WIN32_ATTRIBUTES)) {
       Mmsg0(&mdb->errmsg, _("Attempt to put non-attributes into catalog\n"));
       Jmsg(mdb->jcr, M_ERROR, 0, "%s", mdb->errmsg);
       return 0;