]> git.ipfire.org Git - thirdparty/cups.git/blobdiff - cups/adminutil.c
Update ipp documentation to reflect the behavior of configuring WiFi on IPP USB printers.
[thirdparty/cups.git] / cups / adminutil.c
index 5ecada44c9d63c80270e817bb6b1e07e8d0f8ffb..3118968c67cfb24f6e4f3b33dadedbbf8b403c98 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Administration utility API definitions for CUPS.
  *
- * Copyright © 2007-2018 by Apple Inc.
+ * Copyright © 2007-2019 by Apple Inc.
  * Copyright © 2001-2007 by Easy Software Products.
  *
  * Licensed under Apache License v2.0.  See the file "LICENSE" for more
@@ -32,12 +32,6 @@ static http_status_t get_cupsd_conf(http_t *http, _cups_globals_t *cg,
                                       time_t last_update, char *name,
                                       size_t namelen, int *remote);
 static void            invalidate_cupsd_cache(_cups_globals_t *cg);
-static void            write_option(cups_file_t *dstfp, int order,
-                                    const char *name, const char *text,
-                                    const char *attrname,
-                                    ipp_attribute_t *suppattr,
-                                    ipp_attribute_t *defattr, int defval,
-                                    int valcount);
 
 
 /*
@@ -53,6 +47,10 @@ cupsAdminCreateWindowsPPD(
     char       *buffer,                        /* I - Filename buffer */
     int        bufsize)                        /* I - Size of filename buffer */
 {
+  (void)http;
+  (void)dest;
+  (void)bufsize;
+
   if (buffer)
     *buffer = '\0';
 
@@ -75,6 +73,13 @@ cupsAdminExportSamba(
     const char *samba_password,                /* I - Samba password */
     FILE       *logfile)               /* I - Log file, if any */
 {
+  (void)dest;
+  (void)ppd;
+  (void)samba_server;
+  (void)samba_user;
+  (void)samba_password;
+  (void)logfile;
+
   return (0);
 }
 
@@ -733,13 +738,9 @@ cupsAdminSetServerSettings(
     {
       if (!wrote_browsing)
       {
-       int new_share_printers = (share_printers > 0 ||
-                                 (share_printers == -1 &&
-                                  old_share_printers > 0));
-
         wrote_browsing = 1;
 
-        if (new_share_printers)
+        if (share_printers)
        {
          const char *localp = cupsGetOption("BrowseLocalProtocols",
                                             num_settings, settings);
@@ -984,7 +985,7 @@ cupsAdminSetServerSettings(
 
       in_cancel_job = 0;
     }
-    else if ((((in_admin_location || in_conf_location || in_root_location) &&
+    else if ((((in_admin_location || in_conf_location || in_root_location || in_log_location) &&
                (remote_admin >= 0 || remote_any >= 0)) ||
               (in_root_location && share_printers >= 0)) &&
              (!_cups_strcasecmp(line, "Allow") || !_cups_strcasecmp(line, "Deny") ||
@@ -1330,88 +1331,6 @@ cupsAdminSetServerSettings(
 }
 
 
-/*
- * 'do_samba_command()' - Do a SAMBA command.
- */
-
-static int                             /* O - Status of command */
-do_samba_command(const char *command,  /* I - Command to run */
-                 const char *address,  /* I - Address for command */
-                 const char *subcmd,   /* I - Sub-command */
-                const char *authfile,  /* I - Samba authentication file */
-                FILE *logfile)         /* I - Optional log file */
-{
-#ifdef _WIN32
-  return (1);                          /* Always fail on Windows... */
-
-#else
-  int          status;                 /* Status of command */
-  int          pid;                    /* Process ID of child */
-
-
-  if (logfile)
-    _cupsLangPrintf(logfile,
-                    _("Running command: %s %s -N -A %s -c \'%s\'"),
-                   command, address, authfile, subcmd);
-
-  if ((pid = fork()) == 0)
-  {
-   /*
-    * Child goes here, redirect stdin/out/err and execute the command...
-    */
-
-    int fd = open("/dev/null", O_RDONLY);
-
-    if (fd > 0)
-    {
-      dup2(fd, 0);
-      close(fd);
-    }
-
-    if (logfile)
-      dup2(fileno(logfile), 1);
-    else if ((fd = open("/dev/null", O_WRONLY)) > 1)
-    {
-      dup2(fd, 1);
-      close(fd);
-    }
-
-    dup2(1, 2);
-
-    execlp(command, command, address, "-N", "-A", authfile, "-c", subcmd,
-           (char *)0);
-    exit(errno);
-  }
-  else if (pid < 0)
-  {
-    status = -1;
-
-    if (logfile)
-      _cupsLangPrintf(logfile, _("Unable to run \"%s\": %s"),
-                      command, strerror(errno));
-  }
-  else
-  {
-   /*
-    * Wait for the process to complete...
-    */
-
-    while (wait(&status) != pid);
-  }
-
-  if (logfile)
-    _cupsLangPuts(logfile, "");
-
-  DEBUG_printf(("9do_samba_command: status=%d", status));
-
-  if (WIFEXITED(status))
-    return (WEXITSTATUS(status));
-  else
-    return (-WTERMSIG(status));
-#endif /* _WIN32 */
-}
-
-
 /*
  * 'get_cupsd_conf()' - Get the current cupsd.conf file.
  */
@@ -1527,112 +1446,3 @@ invalidate_cupsd_cache(
   cg->cupsd_num_settings = 0;
   cg->cupsd_settings     = NULL;
 }
-
-
-/*
- * 'write_option()' - Write a CUPS option to a PPD file.
- */
-
-static void
-write_option(cups_file_t     *dstfp,   /* I - PPD file */
-             int             order,    /* I - Order dependency */
-             const char      *name,    /* I - Option name */
-            const char      *text,     /* I - Option text */
-             const char      *attrname,        /* I - Attribute name */
-             ipp_attribute_t *suppattr,        /* I - IPP -supported attribute */
-            ipp_attribute_t *defattr,  /* I - IPP -default attribute */
-            int             defval,    /* I - Default value number */
-            int             valcount)  /* I - Number of values */
-{
-  int  i;                              /* Looping var */
-
-
-  cupsFilePrintf(dstfp, "*JCLOpenUI *%s/%s: PickOne\n"
-                        "*OrderDependency: %d JCLSetup *%s\n",
-                 name, text, order, name);
-
-  if (defattr->value_tag == IPP_TAG_INTEGER)
-  {
-   /*
-    * Do numeric options with a range or list...
-    */
-
-    cupsFilePrintf(dstfp, "*Default%s: %d\n", name,
-                   defattr->values[defval].integer);
-
-    if (suppattr->value_tag == IPP_TAG_RANGE)
-    {
-     /*
-      * List each number in the range...
-      */
-
-      for (i = suppattr->values[0].range.lower;
-           i <= suppattr->values[0].range.upper;
-          i ++)
-      {
-        cupsFilePrintf(dstfp, "*%s %d: \"", name, i);
-
-        if (valcount == 1)
-         cupsFilePrintf(dstfp, "%%cupsJobTicket: %s=%d\n\"\n*End\n",
-                        attrname, i);
-        else if (defval == 0)
-         cupsFilePrintf(dstfp, "%%cupsJobTicket: %s=%d\"\n", attrname, i);
-        else if (defval < (valcount - 1))
-         cupsFilePrintf(dstfp, ",%d\"\n", i);
-        else
-         cupsFilePrintf(dstfp, ",%d\n\"\n*End\n", i);
-      }
-    }
-    else
-    {
-     /*
-      * List explicit numbers...
-      */
-
-      for (i = 0; i < suppattr->num_values; i ++)
-      {
-        cupsFilePrintf(dstfp, "*%s %d: \"", name, suppattr->values[i].integer);
-
-        if (valcount == 1)
-         cupsFilePrintf(dstfp, "%%cupsJobTicket: %s=%d\n\"\n*End\n", attrname,
-                 suppattr->values[i].integer);
-        else if (defval == 0)
-         cupsFilePrintf(dstfp, "%%cupsJobTicket: %s=%d\"\n", attrname,
-                 suppattr->values[i].integer);
-        else if (defval < (valcount - 1))
-         cupsFilePrintf(dstfp, ",%d\"\n", suppattr->values[i].integer);
-        else
-         cupsFilePrintf(dstfp, ",%d\n\"\n*End\n", suppattr->values[i].integer);
-      }
-    }
-  }
-  else
-  {
-   /*
-    * Do text options with a list...
-    */
-
-    cupsFilePrintf(dstfp, "*Default%s: %s\n", name,
-                   defattr->values[defval].string.text);
-
-    for (i = 0; i < suppattr->num_values; i ++)
-    {
-      cupsFilePrintf(dstfp, "*%s %s: \"", name,
-                     suppattr->values[i].string.text);
-
-      if (valcount == 1)
-       cupsFilePrintf(dstfp, "%%cupsJobTicket: %s=%s\n\"\n*End\n", attrname,
-               suppattr->values[i].string.text);
-      else if (defval == 0)
-       cupsFilePrintf(dstfp, "%%cupsJobTicket: %s=%s\"\n", attrname,
-               suppattr->values[i].string.text);
-      else if (defval < (valcount - 1))
-       cupsFilePrintf(dstfp, ",%s\"\n", suppattr->values[i].string.text);
-      else
-       cupsFilePrintf(dstfp, ",%s\n\"\n*End\n",
-                      suppattr->values[i].string.text);
-    }
-  }
-
-  cupsFilePrintf(dstfp, "*JCLCloseUI: *%s\n\n", name);
-}