author | Jiri Sasek <Jiri.Sasek@Oracle.COM> |
Thu, 16 Apr 2015 05:10:57 -0700 | |
changeset 4334 | e30c463e2895 |
permissions | -rw-r--r-- |
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 |