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