components/cups/patches/CVE-2014-8166.patch
author Jiri Sasek <Jiri.Sasek@Oracle.COM>
Thu, 16 Apr 2015 05:10:57 -0700
changeset 4334 e30c463e2895
permissions -rw-r--r--
20761796 problem in UTILITY/CUPS
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4334
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
     1
Source:
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
     2
http://openwall.com/lists/oss-security/2015/03/24/2
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
     3
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
     4
diff -up cups-1.4.2/scheduler/dirsvc.c.ansi cups-1.4.2/scheduler/dirsvc.c
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
     5
--- scheduler/dirsvc.c.ansi	2014-07-09 13:15:37.087313176 +0100
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
     6
+++ scheduler/dirsvc.c	2014-07-09 13:25:51.415720934 +0100
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
     7
@@ -3288,6 +3288,11 @@ process_browse_data(
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
     8
   if (hptr && !*hptr)
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
     9
     *hptr = '.';			/* Resource FQDN */
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    10
 
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    11
+  if (!cupsdValidateName(name)) {
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    12
+    cupsdLogMessage(CUPSD_LOG_DEBUG, "process_browse_data: invalid name...");
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    13
+    return;
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    14
+  }
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    15
+
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    16
   if ((p = cupsdFindDest(name)) == NULL && BrowseShortNames)
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    17
   {
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    18
    /*
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    19
diff -up cups-1.4.2/scheduler/ipp.c.ansi cups-1.4.2/scheduler/ipp.c
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    20
--- scheduler/ipp.c.ansi	2014-07-09 13:13:41.878674069 +0100
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    21
+++ scheduler/ipp.c	2014-07-09 13:20:03.451790768 +0100
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    22
@@ -98,8 +98,6 @@
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    23
  *   url_encode_string()         - URL-encode a string.
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    24
  *   user_allowed()              - See if a user is allowed to print to a queue.
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    25
  *   validate_job()              - Validate printer options and destination.
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    26
- *   validate_name()             - Make sure the printer name only contains
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    27
- *                                 valid chars.
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    28
  *   validate_user()             - Validate the user for the request.
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    29
  */
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    30
 
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    31
@@ -248,7 +246,6 @@ static void	url_encode_attr(ipp_attribut
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    32
 static char	*url_encode_string(const char *s, char *buffer, int bufsize);
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    33
 static int	user_allowed(cupsd_printer_t *p, const char *username);
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    34
 static void	validate_job(cupsd_client_t *con, ipp_attribute_t *uri);
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    35
-static int	validate_name(const char *name);
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    36
 static int	validate_user(cupsd_job_t *job, cupsd_client_t *con,
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    37
 		              const char *owner, char *username,
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    38
 		              int userlen);
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    39
@@ -985,7 +982,7 @@ add_class(cupsd_client_t  *con,		/* I -
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    40
   * Do we have a valid printer name?
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    41
   */
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    42
 
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    43
-  if (!validate_name(resource + 9))
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    44
+  if (!cupsdValidateName(resource + 9))
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    45
   {
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    46
    /*
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    47
     * No, return an error...
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    48
@@ -2577,7 +2574,7 @@ add_printer(cupsd_client_t  *con,	/* I -
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    49
   * Do we have a valid printer name?
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    50
   */
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    51
 
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    52
-  if (!validate_name(resource + 10))
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    53
+  if (!cupsdValidateName(resource + 10))
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    54
   {
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    55
    /*
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    56
     * No, return an error...
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    57
@@ -11842,32 +11839,6 @@ validate_job(cupsd_client_t  *con,	/* I
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    58
 }
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    59
 
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    60
 
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    61
-/*
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    62
- * 'validate_name()' - Make sure the printer name only contains valid chars.
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    63
- */
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    64
-
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    65
-static int			/* O - 0 if name is no good, 1 if good */
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    66
-validate_name(const char *name)	/* I - Name to check */
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    67
-{
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    68
-  const char	*ptr;		/* Pointer into name */
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    69
-
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    70
-
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    71
- /*
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    72
-  * Scan the whole name...
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    73
-  */
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    74
-
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    75
-  for (ptr = name; *ptr; ptr ++)
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    76
-    if ((*ptr > 0 && *ptr <= ' ') || *ptr == 127 || *ptr == '/' || *ptr == '#')
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    77
-      return (0);
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    78
-
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    79
- /*
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    80
-  * All the characters are good; validate the length, too...
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    81
-  */
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    82
-
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    83
-  return ((ptr - name) < 128);
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    84
-}
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    85
-
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    86
-
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    87
 /*
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    88
  * 'validate_user()' - Validate the user for the request.
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    89
  */
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    90
diff -up cups-1.4.2/scheduler/printers.c.ansi cups-1.4.2/scheduler/printers.c
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    91
--- scheduler/printers.c.ansi	2014-07-09 13:15:28.635266291 +0100
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    92
+++ scheduler/printers.c	2014-07-09 13:19:59.450768573 +0100
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    93
@@ -38,6 +38,8 @@
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    94
  *   cupsdUpdatePrinterPPD()    - Update keywords in a printer's PPD file.
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    95
  *   cupsdUpdatePrinters()      - Update printers after a partial reload.
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    96
  *   cupsdValidateDest()        - Validate a printer/class destination.
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    97
+ *   cupsdValidateName()        - Make sure the printer name only contains
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    98
+ *                                valid chars.
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
    99
  *   cupsdWritePrintcap()       - Write a pseudo-printcap file for older
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   100
  *                                applications that need it...
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   101
  *   add_printer_defaults()     - Add name-default attributes to the printer
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   102
@@ -3265,6 +3267,32 @@ cupsdValidateDest(
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   103
 }
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   104
 
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   105
 
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   106
+/*
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   107
+ * 'cupsdValidateName()' - Make sure the printer name only contains valid chars.
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   108
+ */
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   109
+
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   110
+int			/* O - 0 if name is no good, 1 if good */
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   111
+cupsdValidateName(const char *name)	/* I - Name to check */
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   112
+{
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   113
+  const char	*ptr;		/* Pointer into name */
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   114
+
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   115
+
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   116
+ /*
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   117
+  * Scan the whole name...
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   118
+  */
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   119
+
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   120
+  for (ptr = name; *ptr; ptr ++)
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   121
+    if ((*ptr > 0 && *ptr <= ' ') || *ptr == 127 || *ptr == '/' || *ptr == '#')
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   122
+      return (0);
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   123
+
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   124
+ /*
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   125
+  * All the characters are good; validate the length, too...
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   126
+  */
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   127
+
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   128
+  return ((ptr - name) < 128);
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   129
+}
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   130
+
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   131
+
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   132
 /*
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   133
  * 'cupsdWritePrintcap()' - Write a pseudo-printcap file for older applications
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   134
  *                          that need it...
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   135
diff -up cups-1.4.2/scheduler/printers.h.ansi cups-1.4.2/scheduler/printers.h
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   136
--- scheduler/printers.h.ansi	2014-07-09 13:14:09.982829975 +0100
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   137
+++ scheduler/printers.h	2014-07-09 13:17:38.719987911 +0100
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   138
@@ -175,6 +175,7 @@ extern cupsd_quota_t	*cupsdUpdateQuota(c
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   139
 extern const char	*cupsdValidateDest(const char *uri,
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   140
 			        	   cups_ptype_t *dtype,
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   141
 					   cupsd_printer_t **printer);
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   142
+extern int		cupsdValidateName(const char *name);
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   143
 extern void		cupsdWritePrintcap(void);
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   144
 
e30c463e2895 20761796 problem in UTILITY/CUPS
Jiri Sasek <Jiri.Sasek@Oracle.COM>
parents:
diff changeset
   145