]> git.ipfire.org Git - thirdparty/cups.git/commitdiff
dest.c: Don't look for user config in cupsGetNamedDest as root
authorZdenek Dohnal <zdohnal@redhat.com>
Wed, 9 Oct 2024 08:31:18 +0000 (10:31 +0200)
committerZdenek Dohnal <zdohnal@redhat.com>
Wed, 9 Oct 2024 08:31:18 +0000 (10:31 +0200)
We were still looking into ~/.cups/lpoptions as root in the function,
which IMHO is not expected.

Merged from master

cups/dest.c

index b48d8f219cccea5d584c2e64ae9891794cfa697f..3eeb5093378c96176fb0acc56b0742b0347cfba5 100644 (file)
@@ -1784,7 +1784,11 @@ cupsGetNamedDest(http_t     *http,       /* I - Connection to server or @code CUPS_HTT
       else
         instance = NULL;
     }
+#if _WIN32
     else if (cg->home)
+#else
+    else if (cg->home && getuid() != 0)
+#endif
     {
      /*
       * No default in the environment, try the user's lpoptions files...
@@ -1899,7 +1903,11 @@ cupsGetNamedDest(http_t     *http,       /* I - Connection to server or @code CUPS_HTT
   snprintf(filename, sizeof(filename), "%s/lpoptions", cg->cups_serverroot);
   cups_get_dests(filename, dest_name, instance, 0, 1, 1, &dest);
 
+#if _WIN32
   if (cg->home)
+#else
+  if (cg->home && getuid() != 0)
+#endif // _WIN32
   {
 #if _WIN32
     snprintf(filename, sizeof(filename), "%s/AppData/Local/cups/lpoptions", cg->home);
@@ -3493,7 +3501,11 @@ cups_enum_dests(
   snprintf(filename, sizeof(filename), "%s/lpoptions", cg->cups_serverroot);
   data.num_dests = cups_get_dests(filename, NULL, NULL, 1, user_default != NULL, data.num_dests, &data.dests);
 
+#if _WIN32
   if (cg->home)
+#else
+  if (cg->home && getuid() != 0)
+#endif // _WIN32
   {
 #if _WIN32
     snprintf(filename, sizeof(filename), "%s/AppData/Local/cups/lpoptions", cg->home);