]> git.ipfire.org Git - thirdparty/cups.git/blobdiff - scheduler/classes.c
Merge changes from CUPS 1.5svn-r9313.
[thirdparty/cups.git] / scheduler / classes.c
index fca0d18b179eb2870328478c400f5b5a465be5d1..72b5dbff0d50e4f0ed9da594e58270aaccd432c0 100644 (file)
@@ -41,6 +41,7 @@ cupsd_printer_t *                     /* O - New class */
 cupsdAddClass(const char *name)                /* I - Name of class */
 {
   cupsd_printer_t      *c;             /* New class */
+  char                 uri[1024];      /* Class URI */
 
 
  /*
@@ -55,8 +56,10 @@ cupsdAddClass(const char *name)              /* I - Name of class */
 
     c->type = CUPS_PRINTER_CLASS;
 
-    cupsdSetStringf(&c->uri, "ipp://%s:%d/classes/%s", ServerName, RemotePort,
-                    name);
+    httpAssembleURIf(HTTP_URI_CODING_ALL, uri, sizeof(uri), "ipp", NULL,
+                    ServerName, RemotePort, "/classes/%s", name);
+    cupsdSetString(&c->uri, uri);
+
     cupsdSetString(&c->error_policy, "retry-current-job");
   }
 
@@ -722,7 +725,7 @@ cupsdSaveAllClasses(void)
   */
 
   fchown(cupsFileNumber(fp), RunUser, Group);
-  fchmod(cupsFileNumber(fp), 0600);
+  fchmod(cupsFileNumber(fp), ConfigFilePerm);
 
  /*
   * Write a small header to the file...