author | Jiri Sasek <Jiri.Sasek@Sun.COM> |
Mon, 09 May 2011 15:26:57 -0700 | |
changeset 220 | 3ff562b51ff5 |
permissions | -rw-r--r-- |
220
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
1 |
--- Makedefs.in.orig Mon Aug 31 23:17:04 2009 |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
2 |
+++ Makedefs.in Mon Aug 31 23:17:04 2009 |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
3 |
@@ -124,7 +124,7 @@ |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
4 |
BACKLIBS = @BACKLIBS@ |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
5 |
BANNERTOPS = @BANNERTOPS@ |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
6 |
CFLAGS = @CPPFLAGS@ @CFLAGS@ |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
7 |
-COMMONLIBS = @LIBS@ |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
8 |
+COMMONLIBS = @LIBS@ -lscf |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
9 |
CUPSDLIBS = @CUPSDLIBS@ |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
10 |
CXXFLAGS = @CPPFLAGS@ @CXXFLAGS@ |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
11 |
CXXLIBS = @CXXLIBS@ |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
12 |
--- cups/http.c.orig Mon Aug 9 23:15:55 2010 |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
13 |
+++ cups/http.c Tue Dec 7 01:16:04 2010 |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
14 |
@@ -396,7 +396,35 @@ |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
15 |
return (httpConnectEncrypt(host, port, HTTP_ENCRYPT_IF_REQUESTED)); |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
16 |
} |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
17 |
|
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
18 |
+/* |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
19 |
+ * Test to see if CUPS is the "active" print service on Solaris by looking for |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
20 |
+ * a special "general/active" boolean property in the CUPS service instance |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
21 |
+ * svc:/application/cups/scheduler:default. If it exists and is true, CUPS |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
22 |
+ * is the active print service. |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
23 |
+ */ |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
24 |
+#include <libscf.h> |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
25 |
|
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
26 |
+static int |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
27 |
+cups_is_active() |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
28 |
+{ |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
29 |
+ int active = 0; |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
30 |
+ |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
31 |
+ scf_simple_prop_t *prop = scf_simple_prop_get(NULL, |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
32 |
+ "svc:/application/cups/scheduler:default", |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
33 |
+ "general", "active"); |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
34 |
+ |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
35 |
+ if ((prop != NULL) && (scf_simple_prop_numvalues(prop) > 0)) { |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
36 |
+ uint8_t *value = scf_simple_prop_next_boolean(prop); |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
37 |
+ |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
38 |
+ if (value != NULL) |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
39 |
+ active = *value; |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
40 |
+ } |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
41 |
+ |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
42 |
+ scf_simple_prop_free(prop); |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
43 |
+ |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
44 |
+ return (active); |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
45 |
+} |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
46 |
+ |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
47 |
/* |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
48 |
* 'httpConnectEncrypt()' - Connect to a HTTP server using encryption. |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
49 |
*/ |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
50 |
@@ -460,6 +488,10 @@ |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
51 |
if (!host) |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
52 |
return (NULL); |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
53 |
|
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
54 |
+ /* Check to see if CUPS is the "active" print service on Solaris */ |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
55 |
+ if (cups_is_active() == 0) |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
56 |
+ return (NULL); |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
57 |
+ |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
58 |
httpInitialize(); |
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
59 |
|
3ff562b51ff5
7040638 CUPS (Common Unix Printing System) should move to Userland.
Jiri Sasek <Jiri.Sasek@Sun.COM>
parents:
diff
changeset
|
60 |
/* |