Hello community,

here is the log from the commit of package hyper-v for openSUSE:Factory checked 
in at 2015-05-10 10:55:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/hyper-v (Old)
 and      /work/SRC/openSUSE:Factory/.hyper-v.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "hyper-v"

Changes:
--------
--- /work/SRC/openSUSE:Factory/hyper-v/hyper-v.changes  2015-04-27 
12:57:46.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.hyper-v.new/hyper-v.changes     2015-05-10 
10:55:57.000000000 +0200
@@ -1,0 +2,10 @@
+Thu Apr 30 11:25:47 UTC 2015 - [email protected]
+
+- hv: hypervvssd: call endmntent before call setmntent again 
+- remove unused bytes_written from kvp_update_file()
+- address compiler warnings for hv_kvp_daemon.c
+- kvp_daemon: make IPv6-only-injection work
+- address compiler warnings for hv_fcopy_daemon.c
+- do not add redundant '/' in hv_start_fcopy()
+
+-------------------------------------------------------------------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ hyper-v.tools.hv.hv_fcopy_daemon.c ++++++
--- /var/tmp/diff_new_pack.uqKv5q/_old  2015-05-10 10:55:58.000000000 +0200
+++ /var/tmp/diff_new_pack.uqKv5q/_new  2015-05-10 10:55:58.000000000 +0200
@@ -43,15 +43,9 @@
        int error = HV_E_FAIL;
        char *q, *p;
 
-       /*
-        * If possile append a path seperator to the path.
-        */
-       if (strlen((char *)smsg->path_name) < (W_MAX_PATH - 2))
-               strcat((char *)smsg->path_name, "/");
-
        p = (char *)smsg->path_name;
        snprintf(target_fname, sizeof(target_fname), "%s/%s",
-               (char *)smsg->path_name, smsg->file_name);
+                (char *)smsg->path_name, (char *)smsg->file_name);
 
        syslog(LOG_INFO, "Target file name: %s", target_fname);
        /*
@@ -137,7 +131,7 @@
 
 int main(int argc, char *argv[])
 {
-       int fd, fcopy_fd, len;
+       int fcopy_fd, len;
        int error;
        int daemonize = 1, long_index = 0, opt;
        int version = FCOPY_CURRENT_VERSION;

++++++ hyper-v.tools.hv.hv_kvp_daemon.c ++++++
--- /var/tmp/diff_new_pack.uqKv5q/_old  2015-05-10 10:55:58.000000000 +0200
+++ /var/tmp/diff_new_pack.uqKv5q/_new  2015-05-10 10:55:58.000000000 +0200
@@ -148,7 +148,6 @@
 static void kvp_update_file(int pool)
 {
        FILE *filep;
-       size_t bytes_written;
 
        /*
         * We are going to write our in-memory registry out to
@@ -164,8 +163,7 @@
                exit(EXIT_FAILURE);
        }
 
-       bytes_written = fwrite(kvp_file_info[pool].records,
-                               sizeof(struct kvp_record),
+       fwrite(kvp_file_info[pool].records, sizeof(struct kvp_record),
                                kvp_file_info[pool].num_records, filep);
 
        if (ferror(filep) || fclose(filep)) {
@@ -311,7 +309,7 @@
        return 0;
 }
 
-static int kvp_key_delete(int pool, const char *key, int key_size)
+static int kvp_key_delete(int pool, const __u8 *key, int key_size)
 {
        int i;
        int j, k;
@@ -354,8 +352,8 @@
        return 1;
 }
 
-static int kvp_key_add_or_modify(int pool, const char *key, int key_size, 
const char *value,
-                       int value_size)
+static int kvp_key_add_or_modify(int pool, const __u8 *key, int key_size,
+                                const __u8 *value, int value_size)
 {
        int i;
        int num_records;
@@ -408,7 +406,7 @@
        return 0;
 }
 
-static int kvp_get_value(int pool, const char *key, int key_size, char *value,
+static int kvp_get_value(int pool, const __u8 *key, int key_size, __u8 *value,
                        int value_size)
 {
        int i;
@@ -440,8 +438,8 @@
        return 1;
 }
 
-static int kvp_pool_enumerate(int pool, int index, char *key, int key_size,
-                               char *value, int value_size)
+static int kvp_pool_enumerate(int pool, int index, __u8 *key, int key_size,
+                               __u8 *value, int value_size)
 {
        struct kvp_record *record;
 
@@ -662,7 +660,7 @@
        char    *p, *x;
        char    buf[256];
        char addr_file[256];
-       int i;
+       unsigned int i;
        char *mac_addr = NULL;
 
        snprintf(addr_file, sizeof(addr_file), "%s%s%s", "/sys/class/net/",
@@ -701,7 +699,7 @@
        char    buf[256];
        char *kvp_net_dir = "/sys/class/net/";
        char dev_id[256];
-       int i;
+       unsigned int i;
 
        dir = opendir(kvp_net_dir);
        if (dir == NULL)
@@ -751,7 +749,7 @@
 
 
 static void kvp_process_ipconfig_file(char *cmd,
-                                       char *config_buf, int len,
+                                       char *config_buf, unsigned int len,
                                        int element_size, int offset)
 {
        char buf[256];
@@ -769,7 +767,7 @@
        if (offset == 0)
                memset(config_buf, 0, len);
        while ((p = fgets(buf, sizeof(buf), file)) != NULL) {
-               if ((len - strlen(config_buf)) < (element_size + 1))
+               if (len < strlen(config_buf) + element_size + 1)
                        break;
 
                x = strchr(p, '\n');
@@ -917,7 +915,7 @@
 
 static int
 kvp_get_ip_info(int family, char *if_name, int op,
-                void  *out_buffer, int length)
+                void  *out_buffer, unsigned int length)
 {
        struct ifaddrs *ifap;
        struct ifaddrs *curp;
@@ -1020,8 +1018,7 @@
                                        weight += hweight32(&w[i]);
 
                                sprintf(cidr_mask, "/%d", weight);
-                               if ((length - sn_offset) <
-                                       (strlen(cidr_mask) + 1))
+                               if (length < sn_offset + strlen(cidr_mask) + 1)
                                        goto gather_ipaddr;
 
                                if (sn_offset == 0)
@@ -1309,16 +1306,17 @@
        if (error)
                goto setval_error;
 
+       /*
+        * The dhcp_enabled flag is only for IPv4. In the case the host only
+        * injects an IPv6 address, the flag is true, but we still need to
+        * proceed to parse and pass the IPv6 information to the
+        * disto-specific script hv_set_ifconfig.
+        */
        if (new_val->dhcp_enabled) {
                error = kvp_write_file(file, "BOOTPROTO", "", "dhcp");
                if (error)
                        goto setval_error;
 
-               /*
-                * We are done!.
-                */
-               goto setval_done;
-
        } else {
                error = kvp_write_file(file, "BOOTPROTO", "", "none");
                if (error)
@@ -1346,7 +1344,6 @@
        if (error)
                goto setval_error;
 
-setval_done:
        fclose(file);
 
        /*

++++++ hyper-v.tools.hv.hv_vss_daemon.c ++++++
--- /var/tmp/diff_new_pack.uqKv5q/_old  2015-05-10 10:55:58.000000000 +0200
+++ /var/tmp/diff_new_pack.uqKv5q/_new  2015-05-10 10:55:58.000000000 +0200
@@ -82,6 +82,7 @@
        char match[] = "/dev/";
        FILE *mounts;
        struct mntent *ent;
+       char errdir[1024] = {0};
        unsigned int cmd;
        int error = 0, root_seen = 0, save_errno = 0;
 
@@ -116,6 +117,8 @@
                        goto err;
        }
 
+       endmntent(mounts);
+
        if (root_seen) {
                error |= vss_do_freeze("/", cmd);
                if (error && operation == VSS_OP_FREEZE)
@@ -125,16 +128,19 @@
        goto out;
 err:
        save_errno = errno;
+       if (ent) {
+               strncpy(errdir, ent->mnt_dir, sizeof(errdir)-1);
+               endmntent(mounts);
+       }
        vss_operate(VSS_OP_THAW);
        /* Call syslog after we thaw all filesystems */
        if (ent)
                syslog(LOG_ERR, "FREEZE of %s failed; error:%d %s",
-                      ent->mnt_dir, save_errno, strerror(save_errno));
+                      errdir, save_errno, strerror(save_errno));
        else
                syslog(LOG_ERR, "FREEZE of / failed; error:%d %s", save_errno,
                       strerror(save_errno));
 out:
-       endmntent(mounts);
        return error;
 }
 


Reply via email to