Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package usbmuxd for openSUSE:Factory checked 
in at 2025-12-09 12:48:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/usbmuxd (Old)
 and      /work/SRC/openSUSE:Factory/.usbmuxd.new.1939 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "usbmuxd"

Tue Dec  9 12:48:12 2025 rev:40 rq:1321526 version:1.1.1+git72.3ded00c

Changes:
--------
--- /work/SRC/openSUSE:Factory/usbmuxd/usbmuxd.changes  2025-02-27 
14:53:56.063988493 +0100
+++ /work/SRC/openSUSE:Factory/.usbmuxd.new.1939/usbmuxd.changes        
2025-12-09 12:55:49.129726411 +0100
@@ -1,0 +2,8 @@
+Mon Dec  8 08:22:27 UTC 2025 - Wolfgang Frisch <[email protected]>
+
+- Update to version 1.1.1+git72.3ded00c:
+  - Allow specifying configuration directory to use
+  - conf: Make sure to sanitize input for SavePairRecord command (bsc#1254302)
+- Refresh harden_usbmuxd.service.patch.
+
+-------------------------------------------------------------------

Old:
----
  usbmuxd-1.1.1+git69.523f700.tar.gz

New:
----
  usbmuxd-1.1.1+git72.3ded00c.tar.gz

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

Other differences:
------------------
++++++ usbmuxd.spec ++++++
--- /var/tmp/diff_new_pack.HL83hS/_old  2025-12-09 12:55:55.225983570 +0100
+++ /var/tmp/diff_new_pack.HL83hS/_new  2025-12-09 12:55:55.229983739 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package usbmuxd
 #
-# Copyright (c) 2025 SUSE LLC
+# Copyright (c) 2025 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
 
 %{!?_udevrulesdir: %global _udevrulesdir %(pkg-config --variable=udevdir 
udev)/rules.d}
 Name:           usbmuxd
-Version:        1.1.1+git69.523f700
+Version:        1.1.1+git72.3ded00c
 Release:        0
 Summary:        A socket daemon to multiplex connections from and to iOS 
devices
 License:        GPL-2.0-only OR GPL-3.0-only

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.HL83hS/_old  2025-12-09 12:55:55.289986270 +0100
+++ /var/tmp/diff_new_pack.HL83hS/_new  2025-12-09 12:55:55.293986439 +0100
@@ -1,6 +1,5 @@
 <servicedata>
 <service name="tar_scm">
                 <param 
name="url">https://github.com/libimobiledevice/usbmuxd</param>
-              <param 
name="changesrevision">523f7004dce885fe38b4f80e34a8f76dc8ea98b5</param></service></servicedata>
-(No newline at EOF)
+              <param 
name="changesrevision">3ded00c9985a5108cfc7591a309f9a23d57a8cba</param></service></servicedata>
 

++++++ harden_usbmuxd.service.patch ++++++
--- /var/tmp/diff_new_pack.HL83hS/_old  2025-12-09 12:55:55.317987451 +0100
+++ /var/tmp/diff_new_pack.HL83hS/_new  2025-12-09 12:55:55.321987620 +0100
@@ -1,7 +1,7 @@
-Index: usbmuxd-1.1.1+git69.523f700/systemd/usbmuxd.service.in
+Index: usbmuxd-1.1.1+git72.3ded00c/systemd/usbmuxd.service.in
 ===================================================================
---- usbmuxd-1.1.1+git69.523f700.orig/systemd/usbmuxd.service.in
-+++ usbmuxd-1.1.1+git69.523f700/systemd/usbmuxd.service.in
+--- usbmuxd-1.1.1+git72.3ded00c.orig/systemd/usbmuxd.service.in
++++ usbmuxd-1.1.1+git72.3ded00c/systemd/usbmuxd.service.in
 @@ -3,5 +3,16 @@ Description=Socket daemon for the usbmux
  Documentation=man:usbmuxd(8)
  

++++++ usbmuxd-1.1.1+git69.523f700.tar.gz -> usbmuxd-1.1.1+git72.3ded00c.tar.gz 
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/usbmuxd-1.1.1+git69.523f700/.github/FUNDING.yml 
new/usbmuxd-1.1.1+git72.3ded00c/.github/FUNDING.yml
--- old/usbmuxd-1.1.1+git69.523f700/.github/FUNDING.yml 1970-01-01 
01:00:00.000000000 +0100
+++ new/usbmuxd-1.1.1+git72.3ded00c/.github/FUNDING.yml 2025-12-06 
02:13:05.000000000 +0100
@@ -0,0 +1,3 @@
+github: nikias
+patreon: nikias
+custom: ["https://www.paypal.me/NikiasBassen";]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/usbmuxd-1.1.1+git69.523f700/src/conf.c 
new/usbmuxd-1.1.1+git72.3ded00c/src/conf.c
--- old/usbmuxd-1.1.1+git69.523f700/src/conf.c  2025-02-01 21:07:39.000000000 
+0100
+++ new/usbmuxd-1.1.1+git72.3ded00c/src/conf.c  2025-12-06 02:13:05.000000000 
+0100
@@ -34,10 +34,7 @@
 #include <libgen.h>
 #include <sys/stat.h>
 #include <errno.h>
-
-#ifdef WIN32
-#include <shlobj.h>
-#endif
+#include <ctype.h>
 
 #include <libimobiledevice-glue/utils.h>
 #include <plist/plist.h>
@@ -47,6 +44,8 @@
 #include "log.h"
 
 #ifdef WIN32
+#include <shlobj.h>
+
 #define DIR_SEP '\\'
 #define DIR_SEP_S "\\"
 #else
@@ -180,13 +179,26 @@
 /**
  * Creates a freedesktop compatible configuration directory.
  */
-static void config_create_config_dir(void)
+static int config_create_config_dir(void)
 {
        const char *config_path = config_get_config_dir();
        struct stat st;
-       if (stat(config_path, &st) != 0) {
-               mkdir_with_parents(config_path, 0755);
+       int res = stat(config_path, &st);
+       if (res != 0) {
+               res = mkdir_with_parents(config_path, 0755);
+       }
+       return res;
+}
+
+int config_set_config_dir(const char* path)
+{
+       if (!path) {
+               return -1;
        }
+       free(__config_dir);
+       __config_dir = strdup(path);
+       usbmuxd_log(LL_DEBUG, "Setting config_dir to %s", __config_dir);
+       return config_create_config_dir();
 }
 
 static int get_rand(int min, int max)
@@ -270,7 +282,10 @@
        char *config_file = NULL;
 
        /* Make sure config directory exists */
-       config_create_config_dir();
+       if (config_create_config_dir() < 0) {
+               usbmuxd_log(LL_ERROR, "ERROR: Failed to create config 
directory\n");
+               return -1;
+       }
 
        config_path = config_get_config_dir();
        config_file = string_concat(config_path, DIR_SEP_S, CONFIG_FILE, NULL);
@@ -342,7 +357,10 @@
        if (!udid) return 0;
 
        /* ensure config directory exists */
-       config_create_config_dir();
+       if (config_create_config_dir() < 0) {
+               usbmuxd_log(LL_ERROR, "ERROR: Failed to create config 
directory\n");
+               return -1;
+       }
 
        /* build file path */
        const char *config_path = config_get_config_dir();
@@ -408,13 +426,19 @@
        if (!udid || !record_data || record_size < 8)
                return -EINVAL;
 
-       plist_t plist = NULL;
-       if (memcmp(record_data, "bplist00", 8) == 0) {
-               plist_from_bin(record_data, record_size, &plist);
-       } else {
-               plist_from_xml(record_data, record_size, &plist);
+       /* verify udid input */
+       const char* u = udid;
+       while (*u != '\0') {
+               if (!isalnum(*u) && (*u != '-')) {
+                       usbmuxd_log(LL_ERROR, "ERROR: %s: udid contains invalid 
character.\n", __func__);
+                       return -EINVAL;
+               }
+               u++;
        }
 
+       plist_t plist = NULL;
+       plist_from_memory(record_data, record_size, &plist, NULL);
+
        if (!plist || plist_get_node_type(plist) != PLIST_DICT) {
                if (plist)
                        plist_free(plist);
@@ -422,7 +446,10 @@
        }
 
        /* ensure config directory exists */
-       config_create_config_dir();
+       if (config_create_config_dir() < 0) {
+               usbmuxd_log(LL_ERROR, "ERROR: Failed to create config 
directory\n");
+               return -1;
+       }
 
        /* build file path */
        const char *config_path = config_get_config_dir();
@@ -458,7 +485,10 @@
        int res = 0;
 
        /* ensure config directory exists */
-       config_create_config_dir();
+       if (config_create_config_dir() < 0) {
+               usbmuxd_log(LL_ERROR, "ERROR: Failed to create config 
directory\n");
+               return -1;
+       }
 
        /* build file path */
        const char *config_path = config_get_config_dir();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/usbmuxd-1.1.1+git69.523f700/src/conf.h 
new/usbmuxd-1.1.1+git72.3ded00c/src/conf.h
--- old/usbmuxd-1.1.1+git69.523f700/src/conf.h  2025-02-01 21:07:39.000000000 
+0100
+++ new/usbmuxd-1.1.1+git72.3ded00c/src/conf.h  2025-12-06 02:13:05.000000000 
+0100
@@ -27,6 +27,7 @@
 #include <plist/plist.h>
 
 const char *config_get_config_dir();
+int config_set_config_dir(const char* path);
 
 void config_get_system_buid(char **system_buid);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/usbmuxd-1.1.1+git69.523f700/src/main.c 
new/usbmuxd-1.1.1+git72.3ded00c/src/main.c
--- old/usbmuxd-1.1.1+git69.523f700/src/main.c  2025-02-01 21:07:39.000000000 
+0100
+++ new/usbmuxd-1.1.1+git72.3ded00c/src/main.c  2025-12-06 02:13:05.000000000 
+0100
@@ -517,6 +517,7 @@
 #ifdef HAVE_SYSTEMD
        printf("  -s, --systemd\t\tRun in systemd operation mode (implies -z 
and -f).\n");
 #endif
+       printf("  -C, --config-dir PATH\tSpecify different configuration 
directory.\n");
        printf("  -S, --socket ADDR:PORT | PATH   Specify source ADDR and PORT 
or a UNIX\n");
        printf("            \t\tsocket PATH to use for the listening 
socket.\n");
        printf("            \t\tDefault: %s\n", socket_path);
@@ -549,6 +550,7 @@
 #ifdef HAVE_SYSTEMD
                {"systemd", no_argument, NULL, 's'},
 #endif
+               {"config-dir", required_argument, NULL, 'C'},
                {"socket", required_argument, NULL, 'S'},
                {"pidfile", required_argument, NULL, 'P'},
                {"exit", no_argument, NULL, 'x'},
@@ -560,11 +562,11 @@
        int c;
 
 #ifdef HAVE_SYSTEMD
-       const char* opts_spec = "hfvVuU:xXsnzl:pS:P:";
+       const char* opts_spec = "hfvVuU:xXsnzl:pC:S:P:";
 #elif HAVE_UDEV
-       const char* opts_spec = "hfvVuU:xXnzl:pS:P:";
+       const char* opts_spec = "hfvVuU:xXnzl:pC:S:P:";
 #else
-       const char* opts_spec = "hfvVU:xXnzl:pS:P:";
+       const char* opts_spec = "hfvVU:xXnzl:pC:S:P:";
 #endif
 
        while (1) {
@@ -611,6 +613,14 @@
                case 'z':
                        opt_enable_exit = 1;
                        break;
+               case 'C':
+                       if (!*optarg) {
+                               usbmuxd_log(LL_FATAL, "ERROR: --config-dir 
requires an argument");
+                               usage();
+                               exit(2);
+                       }
+                       config_set_config_dir(optarg);
+                       break;
                case 'S':
                        if (!*optarg || *optarg == '-') {
                                usbmuxd_log(LL_FATAL, "ERROR: --socket requires 
an argument");
@@ -796,11 +806,12 @@
 
 #ifdef HAVE_LIBIMOBILEDEVICE
        const char* userprefdir = config_get_config_dir();
+       usbmuxd_log(LL_NOTICE, "Configuration directory: %s", userprefdir);
        struct stat fst;
        memset(&fst, '\0', sizeof(struct stat));
        if (stat(userprefdir, &fst) < 0) {
                if (mkdir(userprefdir, 0775) < 0) {
-                       usbmuxd_log(LL_FATAL, "Failed to create required 
directory '%s': %s", userprefdir, strerror(errno));
+                       usbmuxd_log(LL_FATAL, "Failed to create configuration 
directory '%s': %s", userprefdir, strerror(errno));
                        res = -1;
                        goto terminate;
                }

Reply via email to