• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Configuration file for CUPS and Xcode.
3  *
4  * Copyright 2007-2019 by Apple Inc.
5  * Copyright 1997-2007 by Easy Software Products.
6  *
7  * Licensed under Apache License v2.0.  See the file "LICENSE" for more information.
8  */
9 
10 #ifndef _CUPS_CONFIG_H_
11 #define _CUPS_CONFIG_H_
12 
13 #include <AvailabilityMacros.h>
14 #include <TargetConditionals.h>
15 
16 
17 /*
18  * Version of software...
19  */
20 
21 #define CUPS_SVERSION "CUPS v2.3.3"
22 #define CUPS_MINIMAL "CUPS/2.3.3"
23 
24 
25 /*
26  * Default user and groups...
27  */
28 
29 #define CUPS_DEFAULT_USER "_lp"
30 #define CUPS_DEFAULT_GROUP "_lp"
31 #define CUPS_DEFAULT_SYSTEM_GROUPS "admin"
32 #define CUPS_DEFAULT_PRINTOPERATOR_AUTH "@AUTHKEY(system.print.operator) @admin @lpadmin"
33 #define CUPS_DEFAULT_SYSTEM_AUTHKEY "system.print.admin"
34 
35 
36 /*
37  * Default file permissions...
38  */
39 
40 #define CUPS_DEFAULT_CONFIG_FILE_PERM 0644
41 #define CUPS_DEFAULT_LOG_FILE_PERM 0644
42 
43 
44 /*
45  * Default logging settings...
46  */
47 
48 #define CUPS_DEFAULT_LOG_LEVEL "warn"
49 #define CUPS_DEFAULT_ACCESS_LOG_LEVEL "none"
50 
51 
52 /*
53  * Default fatal error settings...
54  */
55 
56 #define CUPS_DEFAULT_FATAL_ERRORS "config"
57 
58 
59 /*
60  * Default browsing settings...
61  */
62 
63 #define CUPS_DEFAULT_BROWSING 1
64 #define CUPS_DEFAULT_BROWSE_LOCAL_PROTOCOLS "dnssd"
65 #define CUPS_DEFAULT_DEFAULT_SHARED 1
66 
67 
68 /*
69  * Default IPP port...
70  */
71 
72 #define CUPS_DEFAULT_IPP_PORT 631
73 
74 
75 /*
76  * Default printcap file...
77  */
78 
79 #define CUPS_DEFAULT_PRINTCAP "/Library/Preferences/org.cups.printers.plist"
80 
81 
82 /*
83  * Default Samba and LPD config files...
84  */
85 
86 #define CUPS_DEFAULT_SMB_CONFIG_FILE ""
87 #define CUPS_DEFAULT_LPD_CONFIG_FILE "launchd:///System/Library/LaunchDaemons/org.cups.cups-lpd.plist"
88 
89 
90 /*
91  * Default MaxCopies value...
92  */
93 
94 #define CUPS_DEFAULT_MAX_COPIES 9999
95 
96 
97 /*
98  * Do we have domain socket support, and if so what is the default one?
99  */
100 
101 #define CUPS_DEFAULT_DOMAINSOCKET "/private/var/run/cupsd"
102 
103 
104 /*
105  * Default WebInterface value...
106  */
107 
108 #define CUPS_DEFAULT_WEBIF 0
109 
110 
111 /*
112  * Where are files stored?
113  *
114  * Note: These are defaults, which can be overridden by environment
115  *       variables at run-time...
116  */
117 
118 #define CUPS_BINDIR "/usr/bin"
119 #define CUPS_CACHEDIR "/private/var/spool/cups/cache"
120 #define CUPS_DATADIR "/usr/share/cups"
121 #define CUPS_DOCROOT "/usr/share/doc/cups"
122 #define CUPS_FONTPATH "/usr/share/cups/fonts"
123 #define CUPS_LOCALEDIR "/usr/share/locale"
124 #define CUPS_LOGDIR "/private/var/log/cups"
125 #define CUPS_REQUESTS "/private/var/spool/cups"
126 #define CUPS_SBINDIR "/usr/sbin"
127 #define CUPS_SERVERBIN "/usr/libexec/cups"
128 #define CUPS_SERVERROOT "/private/etc/cups"
129 #define CUPS_STATEDIR "/private/etc/cups"
130 
131 
132 /*
133  * Do we have posix_spawn?
134  */
135 
136 #define HAVE_POSIX_SPAWN 1
137 
138 
139 /*
140  * Do we have ZLIB?
141  */
142 
143 #define HAVE_LIBZ 1
144 #define HAVE_INFLATECOPY 1
145 
146 
147 /*
148  * Do we have PAM stuff?
149  */
150 
151 #if TARGET_OS_OSX
152 #  define HAVE_LIBPAM 1
153 /* #undef HAVE_PAM_PAM_APPL_H */
154 #  define HAVE_PAM_SET_ITEM 1
155 #  define HAVE_PAM_SETCRED 1
156 #endif /* TARGET_OS_OSX */
157 
158 
159 /*
160  * Do we have <shadow.h>?
161  */
162 
163 /* #undef HAVE_SHADOW_H */
164 
165 
166 /*
167  * Do we have <crypt.h>?
168  */
169 
170 /* #undef HAVE_CRYPT_H */
171 
172 
173 /*
174  * Use <stdint.h>?
175  */
176 
177 #define HAVE_STDINT_H 1
178 
179 
180 /*
181  * Use <string.h>, <strings.h>, and/or <bstring.h>?
182  */
183 
184 #define HAVE_STRING_H 1
185 #define HAVE_STRINGS_H 1
186 /* #undef HAVE_BSTRING_H */
187 
188 
189 /*
190  * Do we have the long long type?
191  */
192 
193 #define HAVE_LONG_LONG 1
194 
195 #ifdef HAVE_LONG_LONG
196 #  define CUPS_LLFMT	"%lld"
197 #  define CUPS_LLCAST	(long long)
198 #else
199 #  define CUPS_LLFMT	"%ld"
200 #  define CUPS_LLCAST	(long)
201 #endif /* HAVE_LONG_LONG */
202 
203 
204 /*
205  * Do we have the strtoll() function?
206  */
207 
208 #define HAVE_STRTOLL 1
209 
210 #ifndef HAVE_STRTOLL
211 #  define strtoll(nptr,endptr,base) strtol((nptr), (endptr), (base))
212 #endif /* !HAVE_STRTOLL */
213 
214 
215 /*
216  * Do we have the strXXX() functions?
217  */
218 
219 #define HAVE_STRDUP 1
220 #define HAVE_STRLCAT 1
221 #define HAVE_STRLCPY 1
222 
223 
224 /*
225  * Do we have the geteuid() function?
226  */
227 
228 #define HAVE_GETEUID 1
229 
230 
231 /*
232  * Do we have the setpgid() function?
233  */
234 
235 #define HAVE_SETPGID 1
236 
237 
238 /*
239  * Do we have the vsyslog() function?
240  */
241 
242 #define HAVE_VSYSLOG 1
243 
244 
245 /*
246  * Do we have the systemd journal functions?
247  */
248 
249 /* #undef HAVE_SYSTEMD_SD_JOURNAL_H */
250 
251 
252 /*
253  * Do we have the (v)snprintf() functions?
254  */
255 
256 #define HAVE_SNPRINTF 1
257 #define HAVE_VSNPRINTF 1
258 
259 
260 /*
261  * What signal functions to use?
262  */
263 
264 #define HAVE_SIGSET 1
265 #define HAVE_SIGACTION 1
266 
267 
268 /*
269  * What wait functions to use?
270  */
271 
272 #define HAVE_WAITPID 1
273 #define HAVE_WAIT3 1
274 
275 
276 /*
277  * Do we have the mallinfo function and malloc.h?
278  */
279 
280 /* #undef HAVE_MALLINFO */
281 /* #undef HAVE_MALLOC_H */
282 
283 
284 /*
285  * Do we have the POSIX ACL functions?
286  */
287 
288 #define HAVE_ACL_INIT 1
289 
290 
291 /*
292  * Do we have the langinfo.h header file?
293  */
294 
295 #define HAVE_LANGINFO_H 1
296 
297 
298 /*
299  * Which encryption libraries do we have?
300  */
301 
302 #define HAVE_CDSASSL 1
303 /* #undef HAVE_GNUTLS */
304 /* #undef HAVE_SSPISSL */
305 #define HAVE_SSL 1
306 
307 
308 /*
309  * Do we have the gnutls_transport_set_pull_timeout_function function?
310  */
311 
312 /* #undef HAVE_GNUTLS_TRANSPORT_SET_PULL_TIMEOUT_FUNCTION */
313 
314 
315 /*
316  * Do we have the gnutls_priority_set_direct function?
317  */
318 
319 /* #undef HAVE_GNUTLS_PRIORITY_SET_DIRECT */
320 
321 
322 /*
323  * What Security framework headers do we have?
324  */
325 
326 #if TARGET_OS_OSX
327 #  define HAVE_AUTHORIZATION_H 1
328 #endif /* TARGET_OS_OSX */
329 
330 #define HAVE_SECCERTIFICATE_H 1
331 #define HAVE_SECITEM_H 1
332 #define HAVE_SECPOLICY_H 1
333 
334 
335 /*
336  * Do we have the SecGenerateSelfSignedCertificate function?
337  */
338 
339 #if !TARGET_OS_OSX
340 #  define HAVE_SECGENERATESELFSIGNEDCERTIFICATE 1
341 #endif /* !TARGET_OS_OSX */
342 
343 
344 /*
345  * Do we have libpaper?
346  */
347 
348 /* #undef HAVE_LIBPAPER */
349 
350 
351 /*
352  * Do we have mDNSResponder for DNS Service Discovery (aka Bonjour)?
353  */
354 
355 #define HAVE_DNSSD 1
356 
357 
358 /*
359  * Do we have Avahi for DNS Service Discovery (aka Bonjour)?
360  */
361 
362 /* #undef HAVE_AVAHI */
363 
364 
365 /*
366  * Do we have <sys/ioctl.h>?
367  */
368 
369 #define HAVE_SYS_IOCTL_H 1
370 
371 
372 /*
373  * Does the "stat" structure contain the "st_gen" member?
374  */
375 
376 #define HAVE_ST_GEN 1
377 
378 
379 /*
380  * Does the "tm" structure contain the "tm_gmtoff" member?
381  */
382 
383 #define HAVE_TM_GMTOFF 1
384 
385 
386 /*
387  * Do we have rresvport_af()?
388  */
389 
390 #define HAVE_RRESVPORT_AF 1
391 
392 
393 /*
394  * Do we have getaddrinfo()?
395  */
396 
397 #define HAVE_GETADDRINFO 1
398 
399 
400 /*
401  * Do we have getnameinfo()?
402  */
403 
404 #define HAVE_GETNAMEINFO 1
405 
406 
407 /*
408  * Do we have getifaddrs()?
409  */
410 
411 #define HAVE_GETIFADDRS 1
412 
413 
414 /*
415  * Do we have hstrerror()?
416  */
417 
418 #define HAVE_HSTRERROR 1
419 
420 
421 /*
422  * Do we have res_init()?
423  */
424 
425 #define HAVE_RES_INIT 1
426 
427 
428 /*
429  * Do we have <resolv.h>
430  */
431 
432 #define HAVE_RESOLV_H 1
433 
434 
435 /*
436  * Do we have the <sys/sockio.h> header file?
437  */
438 
439 #define HAVE_SYS_SOCKIO_H 1
440 
441 
442 /*
443  * Does the sockaddr structure contain an sa_len parameter?
444  */
445 
446 /* #undef HAVE_STRUCT_SOCKADDR_SA_LEN */
447 
448 
449 /*
450  * Do we have pthread support?
451  */
452 
453 #define HAVE_PTHREAD_H 1
454 
455 
456 /*
457  * Do we have on-demand support (launchd/systemd/upstart)?
458  */
459 
460 #define HAVE_ONDEMAND 1
461 
462 
463 /*
464  * Do we have launchd support?
465  */
466 
467 #define HAVE_LAUNCH_H 1
468 #define HAVE_LAUNCHD 1
469 
470 
471 /*
472  * Do we have systemd support?
473  */
474 
475 /* #undef HAVE_SYSTEMD */
476 
477 
478 /*
479  * Do we have upstart support?
480  */
481 
482 /* #undef HAVE_UPSTART */
483 
484 
485 /*
486  * Do we have CoreFoundation public headers?
487  */
488 
489 #define HAVE_COREFOUNDATION_H 1
490 
491 
492 /*
493  * Do we have ApplicationServices public headers?
494  */
495 
496 #if TARGET_OS_OSX
497 #  define HAVE_APPLICATIONSERVICES_H 1
498 #endif /* TARGET_OS_OSX */
499 
500 
501 /*
502  * Do we have the SCDynamicStoreCopyComputerName function?
503  */
504 
505 #if TARGET_OS_OSX
506 #  define HAVE_SCDYNAMICSTORECOPYCOMPUTERNAME 1
507 #endif /* TARGET_OS_OSX */
508 
509 
510 /*
511  * Do we have the getgrouplist() function?
512  */
513 
514 #define HAVE_GETGROUPLIST 1
515 
516 
517 /*
518  * Do we have macOS 10.4's mbr_XXX functions?
519  */
520 
521 #define HAVE_MEMBERSHIP_H 1
522 #define HAVE_MBR_UID_TO_UUID 1
523 
524 
525 /*
526  * Do we have Darwin's notify_post header and function?
527  */
528 
529 #define HAVE_NOTIFY_H 1
530 #define HAVE_NOTIFY_POST 1
531 
532 
533 /*
534  * Do we have DBUS?
535  */
536 
537 /* #undef HAVE_DBUS */
538 /* #undef HAVE_DBUS_MESSAGE_ITER_INIT_APPEND */
539 /* #undef HAVE_DBUS_THREADS_INIT */
540 
541 
542 /*
543  * Do we have the GSSAPI support library (for Kerberos support)?
544  */
545 
546 #if TARGET_OS_OSX
547 #  define HAVE_GSS_ACQUIRED_CRED_EX_F 1
548 #  define HAVE_GSS_C_NT_HOSTBASED_SERVICE 1
549 #  define HAVE_GSS_GSSAPI_H 1
550 /* #undef HAVE_GSS_GSSAPI_SPI_H */
551 #  define HAVE_GSSAPI 1
552 /* #undef HAVE_GSSAPI_GSSAPI_H */
553 /* #undef HAVE_GSSAPI_H */
554 #endif /* TARGET_OS_OSX */
555 
556 
557 /*
558  * Default GSS service name...
559  */
560 
561 #define CUPS_DEFAULT_GSSSERVICENAME "host"
562 
563 
564 /*
565  * Select/poll interfaces...
566  */
567 
568 #define HAVE_POLL 1
569 /* #undef HAVE_EPOLL */
570 #define HAVE_KQUEUE 1
571 
572 
573 /*
574  * Do we have the <dlfcn.h> header?
575  */
576 
577 #define HAVE_DLFCN_H 1
578 
579 
580 /*
581  * Do we have <sys/param.h>?
582  */
583 
584 #define HAVE_SYS_PARAM_H 1
585 
586 
587 /*
588  * Do we have <sys/ucred.h>?
589  */
590 
591 #define HAVE_SYS_UCRED_H 1
592 
593 
594 /*
595  * Do we have removefile()?
596  */
597 
598 #define HAVE_REMOVEFILE 1
599 
600 
601 /*
602  * Do we have <sandbox.h>?
603  */
604 
605 #define HAVE_SANDBOX_H 1
606 
607 
608 /*
609  * Which random number generator function to use...
610  */
611 
612 #define HAVE_ARC4RANDOM 1
613 #define HAVE_RANDOM 1
614 #define HAVE_LRAND48 1
615 
616 #ifdef HAVE_ARC4RANDOM
617 #  define CUPS_RAND() arc4random()
618 #  define CUPS_SRAND(v)
619 #elif defined(HAVE_RANDOM)
620 #  define CUPS_RAND() random()
621 #  define CUPS_SRAND(v) srandom(v)
622 #elif defined(HAVE_LRAND48)
623 #  define CUPS_RAND() lrand48()
624 #  define CUPS_SRAND(v) srand48(v)
625 #else
626 #  define CUPS_RAND() rand()
627 #  define CUPS_SRAND(v) srand(v)
628 #endif /* HAVE_ARC4RANDOM */
629 
630 
631 /*
632  * Do we have libusb?
633  */
634 
635 /* #undef HAVE_LIBUSB */
636 
637 
638 /*
639  * Do we have libwrap and tcpd.h?
640  */
641 
642 /* #undef HAVE_TCPD_H */
643 
644 
645 /*
646  * Do we have <iconv.h>?
647  */
648 
649 #define HAVE_ICONV_H 1
650 
651 
652 /*
653  * Do we have statfs or statvfs and one of the corresponding headers?
654  */
655 
656 #define HAVE_STATFS 1
657 #define HAVE_STATVFS 1
658 #define HAVE_SYS_MOUNT_H 1
659 /* #undef HAVE_SYS_STATFS_H */
660 #define HAVE_SYS_STATVFS_H 1
661 /* #undef HAVE_SYS_VFS_H */
662 
663 
664 /*
665  * Location of localization bundle, if any.
666  */
667 
668 #if TARGET_OS_OSX
669 #  define CUPS_BUNDLEDIR "/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/PrintCore.framework/Versions/A"
670 #else
671 #  define CUPS_BUNDLEDIR "/System/Library/PrivateFrameworks/PrintKit.framework/Versions/A"
672 #endif /* TARGET_OS_OSX */
673 
674 
675 /*
676  * Do we have XPC?
677  */
678 
679 #define HAVE_XPC 1
680 
681 
682 /*
683  * Do we have the C99 abs() function?
684  */
685 
686 #define HAVE_ABS 1
687 #if !defined(HAVE_ABS) && !defined(abs)
688 #  if defined(__GNUC__) || __STDC_VERSION__ >= 199901L
689 #    define abs(x) _cups_abs(x)
_cups_abs(int i)690 static inline int _cups_abs(int i) { return (i < 0 ? -i : i); }
691 #  elif defined(_MSC_VER)
692 #    define abs(x) _cups_abs(x)
_cups_abs(int i)693 static __inline int _cups_abs(int i) { return (i < 0 ? -i : i); }
694 #  else
695 #    define abs(x) ((x) < 0 ? -(x) : (x))
696 #  endif /* __GNUC__ || __STDC_VERSION__ */
697 #endif /* !HAVE_ABS && !abs */
698 
699 #endif /* !_CUPS_CONFIG_H_ */
700