From: Michael R Sweet Date: Sat, 13 Feb 2021 01:35:43 +0000 (-0500) Subject: Merge Apple CUPS changes from macOS 11.2. X-Git-Tag: v2.4b1~264 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=176d1d61c1d40afdb3f682ee4bb5ee57d1260259;p=thirdparty%2Fcups.git Merge Apple CUPS changes from macOS 11.2. Bump OpenPrinting version to 2.3.4op1. --- diff --git a/CHANGES.md b/CHANGES.md index df7289268c..ee2ed141be 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,6 +1,11 @@ -CHANGES - 2.3.3 - 2020-04-24 +CHANGES - 2.3.4 - 2020-11-18 ============================ +Changes in CUPS v2.3.4 +---------------------- + +- CVE-20XX-YYYY: TODO rdar://61415567 embargo + Changes in CUPS v2.3.3 ---------------------- diff --git a/INSTALL.md b/INSTALL.md index e37ee4d3a7..05ec03fd10 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -1,4 +1,4 @@ -INSTALL - CUPS v2.3.3op2 - 2021-02-01 +INSTALL - CUPS v2.3.4op1 - 2021-02-01 ===================================== This file describes how to compile and install CUPS from source code. For more diff --git a/README.md b/README.md index 2d07e08807..dfcf5f0a91 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -README - CUPS v2.3.3op2 - 2021-02-01 +README - CUPS v2.3.4op1 - 2021-02-01 ==================================== ![Version](https://img.shields.io/github/v/release/openprinting/cups?include_prereleases) @@ -168,7 +168,7 @@ LEGAL STUFF ----------- Copyright © 2020-2021 by Michael R Sweet -Copyright © 2007-2019 by Apple Inc. +Copyright © 2007-2020 by Apple Inc. Copyright © 1997-2007 by Easy Software Products. CUPS is provided under the terms of the Apache License, Version 2.0 with diff --git a/backend/usb-darwin.c b/backend/usb-darwin.c index 1c412da6f5..bea182c6b7 100644 --- a/backend/usb-darwin.c +++ b/backend/usb-darwin.c @@ -288,11 +288,11 @@ static void status_timer_cb(CFRunLoopTimerRef timer, void *info); #define IS_64BIT 1 #define IS_NOT_64BIT 0 -#if defined(__i386__) || defined(__x86_64__) +#if defined(__arm64e__) static pid_t child_pid; /* Child PID */ -static void run_legacy_backend(int argc, char *argv[], int fd) _CUPS_NORETURN; /* Starts child backend process running as a ppc executable */ -#endif /* __i386__ || __x86_64__ */ -static void sigterm_handler(int sig); /* SIGTERM handler */ +static void run_legacy_backend(int argc, char *argv[], int fd) _CUPS_NORETURN; /* Starts child backend process running as a x86_64 executable */ +static void sigterm_handler(int sig); /* SIGTERM handler */ +#endif /* __arm64e__ */ static void sigquit_handler(int sig, siginfo_t *si, void *unused) _CUPS_NORETURN; #ifdef PARSE_PS_ERRORS @@ -436,18 +436,18 @@ print_device(const char *uri, /* I - Device URI */ status = registry_open(&driverBundlePath); -#if defined(__i386__) || defined(__x86_64__) +#if defined(__arm64e__) /* * If we were unable to load the class drivers for this printer it's - * probably because they're ppc or i386. In this case try to run this - * backend as i386 or ppc executables so we can use them... + * probably because they're x86_64 (or older). In this case try to run this + * backend as x86_64 so we can use them... */ if (status == -2) { run_legacy_backend(argc, argv, print_fd); /* Never returns here */ } -#endif /* __i386__ || __x86_64__ */ +#endif /* __arm64e__ */ if (status == -2) { @@ -2053,11 +2053,11 @@ static void setup_cfLanguage(void) } #pragma mark - -#if defined(__i386__) || defined(__x86_64__) +#if defined(__arm64e__) /*! * @function run_legacy_backend * - * @abstract Starts child backend process running as a ppc or i386 executable. + * @abstract Starts child backend process running as a x86_64 executable. * * @result Never returns; always calls exit(). * @@ -2076,18 +2076,14 @@ static void run_legacy_backend(int argc, /* - * If we're running as x86_64 or i386 and couldn't load the class driver - * (because it's ppc or i386), then try to re-exec ourselves in ppc or i386 - * mode to try again. If we don't have a ppc or i386 architecture we may be + * If we're running as ARM and couldn't load the class driver + * (because it's x86_64, i386 or ppc), then try to re-exec ourselves in x86_64 + * mode to try again. If we don't have that architecture we may be * running with the same architecture again so guard against this by setting * and testing an environment variable... */ -# ifdef __x86_64__ - usb_legacy_status = getenv("USB_I386_STATUS"); -# else - usb_legacy_status = getenv("USB_PPC_STATUS"); -# endif /* __x86_64__ */ + usb_legacy_status = getenv("USB_LEGACY_STATUS"); if (!usb_legacy_status) { @@ -2116,21 +2112,13 @@ static void run_legacy_backend(int argc, * Set the environment variable... */ -# ifdef __x86_64__ - setenv("USB_I386_STATUS", "1", false); -# else - setenv("USB_PPC_STATUS", "1", false); -# endif /* __x86_64__ */ + setenv("USB_LEGACY_STATUS", "1", false); /* * Tell the kernel to use the specified CPU architecture... */ -# ifdef __x86_64__ - cpu_type_t cpu = CPU_TYPE_I386; -# else - cpu_type_t cpu = CPU_TYPE_POWERPC; -# endif /* __x86_64__ */ + cpu_type_t cpu = CPU_TYPE_X86_64; size_t ocount = 1; posix_spawnattr_t attrs; @@ -2139,11 +2127,7 @@ static void run_legacy_backend(int argc, posix_spawnattr_setsigdefault(&attrs, &oldmask); if (posix_spawnattr_setbinpref_np(&attrs, 1, &cpu, &ocount) || ocount != 1) { -# ifdef __x86_64__ - perror("DEBUG: Unable to set binary preference to i386"); -# else - perror("DEBUG: Unable to set binary preference to ppc"); -# endif /* __x86_64__ */ + perror("DEBUG: Unable to set binary preference to X86_64"); _cupsLangPrintFilter(stderr, "ERROR", _("Unable to use legacy USB class driver.")); exit(CUPS_BACKEND_STOP); @@ -2217,8 +2201,6 @@ static void run_legacy_backend(int argc, exit(exitstatus); } -#endif /* __i386__ || __x86_64__ */ - /* * 'sigterm_handler()' - SIGTERM handler. @@ -2227,7 +2209,6 @@ static void run_legacy_backend(int argc, static void sigterm_handler(int sig) /* I - Signal */ { -#if defined(__i386__) || defined(__x86_64__) /* * If we started a child process pass the signal on to it... */ @@ -2253,8 +2234,8 @@ sigterm_handler(int sig) /* I - Signal */ _exit(CUPS_BACKEND_STOP); } } -#endif /* __i386__ || __x86_64__ */ } +#endif /* __arm64e__ */ /* diff --git a/configure b/configure index 00c61d1d6d..016ca0659d 100755 --- a/configure +++ b/configure @@ -1,11 +1,12 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.70 for CUPS 2.3.3op3. +# Generated by GNU Autoconf 2.71 for CUPS 2.3.4op1. # # Report bugs to . # # -# Copyright (C) 1992-1996, 1998-2017, 2020 Free Software Foundation, Inc. +# Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation, +# Inc. # # # This configure script is free software; the Free Software Foundation @@ -610,8 +611,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='CUPS' PACKAGE_TARNAME='cups' -PACKAGE_VERSION='2.3.3op3' -PACKAGE_STRING='CUPS 2.3.3op3' +PACKAGE_VERSION='2.3.4op1' +PACKAGE_STRING='CUPS 2.3.4op1' PACKAGE_BUGREPORT='https://github.com/openprinting/cups/issues' PACKAGE_URL='https://openprinting.github.io/' @@ -1508,7 +1509,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures CUPS 2.3.3op3 to adapt to many kinds of systems. +\`configure' configures CUPS 2.3.4op1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1574,7 +1575,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of CUPS 2.3.3op3:";; + short | recursive ) echo "Configuration of CUPS 2.3.4op1:";; esac cat <<\_ACEOF @@ -1759,10 +1760,10 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -CUPS configure 2.3.3op3 -generated by GNU Autoconf 2.70 +CUPS configure 2.3.4op1 +generated by GNU Autoconf 2.71 -Copyright (C) 2020 Free Software Foundation, Inc. +Copyright (C) 2021 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF @@ -2114,8 +2115,8 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by CUPS $as_me 2.3.3op3, which was -generated by GNU Autoconf 2.70. Invocation command line was +It was created by CUPS $as_me 2.3.4op1, which was +generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -3235,7 +3236,7 @@ done ac_config_headers="$ac_config_headers config.h" -CUPS_VERSION="2.3.3op3" +CUPS_VERSION="2.3.4op1" CUPS_REVISION="" CUPS_BUILD="cups-$CUPS_VERSION" @@ -3840,7 +3841,10 @@ else CFLAGS= fi fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 +ac_prog_cc_stdc=no +if test x$ac_prog_cc_stdc = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C11 features" >&5 printf %s "checking for $CC option to enable C11 features... " >&6; } if test ${ac_cv_prog_cc_c11+y} then : @@ -3864,28 +3868,28 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam done rm -f conftest.$ac_ext CC=$ac_save_CC - fi -# AC_CACHE_VAL -ac_prog_cc_stdc_options= -case "x$ac_cv_prog_cc_c11" in #( - x) : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -printf "%s\n" "none needed" >&6; } ;; #( - xno) : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -printf "%s\n" "unsupported" >&6; } ;; #( - *) : - ac_prog_cc_stdc_options=" $ac_cv_prog_cc_c11" - CC="$CC$ac_prog_cc_stdc_options" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 -printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c11" != xno + +if test "x$ac_cv_prog_cc_c11" = xno then : - ac_prog_cc_stdc=c11 - ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c11" >&5 +printf "%s\n" "$ac_cv_prog_cc_c11" >&6; } + CC="$CC $ac_cv_prog_cc_c11" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c11 + ac_prog_cc_stdc=c11 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C99 features" >&5 printf %s "checking for $CC option to enable C99 features... " >&6; } if test ${ac_cv_prog_cc_c99+y} @@ -3896,9 +3900,9 @@ else $as_nop ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ -$ac_c_conftest_c89_program +$ac_c_conftest_c99_program _ACEOF -for ac_arg in '' -std=gnu99 -std=c99 -c99 -AC99 -D_STDC_C99= -qlanglvl=extc1x -qlanglvl=extc99 +for ac_arg in '' -std=gnu99 -std=c99 -c99 -qlanglvl=extc1x -qlanglvl=extc99 -AC99 -D_STDC_C99= do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO" @@ -3910,28 +3914,28 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam done rm -f conftest.$ac_ext CC=$ac_save_CC - fi -# AC_CACHE_VAL -ac_prog_cc_stdc_options= -case "x$ac_cv_prog_cc_c99" in #( - x) : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -printf "%s\n" "none needed" >&6; } ;; #( - xno) : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -printf "%s\n" "unsupported" >&6; } ;; #( - *) : - ac_prog_cc_stdc_options=" $ac_cv_prog_cc_c99" - CC="$CC$ac_prog_cc_stdc_options" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 -printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c99" != xno + +if test "x$ac_cv_prog_cc_c99" = xno then : - ac_prog_cc_stdc=c99 - ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } else $as_nop + if test "x$ac_cv_prog_cc_c99" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 +printf "%s\n" "$ac_cv_prog_cc_c99" >&6; } + CC="$CC $ac_cv_prog_cc_c99" +fi + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 + ac_prog_cc_stdc=c99 +fi +fi +if test x$ac_prog_cc_stdc = xno +then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CC option to enable C89 features" >&5 printf %s "checking for $CC option to enable C89 features... " >&6; } if test ${ac_cv_prog_cc_c89+y} @@ -3944,8 +3948,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_c_conftest_c89_program _ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO" @@ -3957,34 +3960,25 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam done rm -f conftest.$ac_ext CC=$ac_save_CC - fi -# AC_CACHE_VAL -ac_prog_cc_stdc_options= -case "x$ac_cv_prog_cc_c89" in #( - x) : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -printf "%s\n" "none needed" >&6; } ;; #( - xno) : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -printf "%s\n" "unsupported" >&6; } ;; #( - *) : - ac_prog_cc_stdc_options=" $ac_cv_prog_cc_c89" - CC="$CC$ac_prog_cc_stdc_options" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 -printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c89" != xno + +if test "x$ac_cv_prog_cc_c89" = xno then : - ac_prog_cc_stdc=c89 - ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cc_c89" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } else $as_nop - ac_prog_cc_stdc=no - ac_cv_prog_cc_stdc=no + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +printf "%s\n" "$ac_cv_prog_cc_c89" >&6; } + CC="$CC $ac_cv_prog_cc_c89" fi - + ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 + ac_prog_cc_stdc=c89 fi - fi ac_ext=c @@ -4400,19 +4394,22 @@ else CXXFLAGS= fi fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 +ac_prog_cxx_stdcxx=no +if test x$ac_prog_cxx_stdcxx = xno +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++11 features" >&5 printf %s "checking for $CXX option to enable C++11 features... " >&6; } -if test ${ac_cv_prog_cxx_cxx11+y} +if test ${ac_cv_prog_cxx_11+y} then : printf %s "(cached) " >&6 else $as_nop - ac_cv_prog_cxx_cxx11=no + ac_cv_prog_cxx_11=no ac_save_CXX=$CXX cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_cxx_conftest_cxx11_program _ACEOF -for ac_arg in '' -std=gnu++11 -std=c++11 -std=gnu++0x -std=c++0x -qlanglvl=extended0x -AA +for ac_arg in '' -std=gnu++11 -std=gnu++0x -std=c++11 -std=c++0x -qlanglvl=extended0x -AA do CXX="$ac_save_CXX $ac_arg" if ac_fn_cxx_try_compile "$LINENO" @@ -4424,36 +4421,35 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam done rm -f conftest.$ac_ext CXX=$ac_save_CXX - fi -# AC_CACHE_VAL -ac_prog_cxx_stdcxx_options= -case "x$ac_cv_prog_cxx_cxx11" in #( - x) : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -printf "%s\n" "none needed" >&6; } ;; #( - xno) : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -printf "%s\n" "unsupported" >&6; } ;; #( - *) : - ac_prog_cxx_stdcxx_options=" $ac_cv_prog_cxx_cxx11" - CXX=$CXX$ac_prog_cxx_stdcxx_options - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5 -printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; } ;; -esac -if test "x$ac_cv_prog_cxx_cxx11" != xno + +if test "x$ac_cv_prog_cxx_cxx11" = xno then : - ac_prog_cxx_stdcxx=cxx11 - ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 - ac_cv_prog_cxx_cxx98=$ac_cv_prog_cxx_cxx11 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } else $as_nop + if test "x$ac_cv_prog_cxx_cxx11" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } +else $as_nop + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx11" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx11" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx11" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx11 + ac_prog_cxx_stdcxx=cxx11 +fi +fi +if test x$ac_prog_cxx_stdcxx = xno +then : { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $CXX option to enable C++98 features" >&5 printf %s "checking for $CXX option to enable C++98 features... " >&6; } -if test ${ac_cv_prog_cxx_cxx98+y} +if test ${ac_cv_prog_cxx_98+y} then : printf %s "(cached) " >&6 else $as_nop - ac_cv_prog_cxx_cxx98=no + ac_cv_prog_cxx_98=no ac_save_CXX=$CXX cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -4471,32 +4467,25 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam done rm -f conftest.$ac_ext CXX=$ac_save_CXX - fi -# AC_CACHE_VAL -ac_prog_cxx_stdcxx_options= -case "x$ac_cv_prog_cxx_cxx98" in #( - x) : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -printf "%s\n" "none needed" >&6; } ;; #( - xno) : - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -printf "%s\n" "unsupported" >&6; } ;; #( - *) : - ac_prog_cxx_stdcxx_options=" $ac_cv_prog_cxx_cxx98" - CXX=$CXX$ac_prog_cxx_stdcxx_options - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5 -printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; } ;; -esac -if test "x$ac_cv_prog_cxx_cxx98" != xno + +if test "x$ac_cv_prog_cxx_cxx98" = xno then : - ac_prog_cxx_stdcxx=cxx98 - ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +printf "%s\n" "unsupported" >&6; } +else $as_nop + if test "x$ac_cv_prog_cxx_cxx98" = x +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +printf "%s\n" "none needed" >&6; } else $as_nop - ac_prog_cxx_stdcxx=no - ac_cv_prog_cxx_stdcxx=no + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_cxx98" >&5 +printf "%s\n" "$ac_cv_prog_cxx_cxx98" >&6; } + CXX="$CXX $ac_cv_prog_cxx_cxx98" +fi + ac_cv_prog_cxx_stdcxx=$ac_cv_prog_cxx_cxx98 + ac_prog_cxx_stdcxx=cxx98 fi - fi ac_ext=c @@ -11237,8 +11226,8 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by CUPS $as_me 2.3.3op3, which was -generated by GNU Autoconf 2.70. Invocation command line was +This file was extended by CUPS $as_me 2.3.4op1, which was +generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@ -11302,11 +11291,11 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -CUPS config.status 2.3.3op3 -configured by $0, generated by GNU Autoconf 2.70, +CUPS config.status 2.3.4op1 +configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" -Copyright (C) 2020 Free Software Foundation, Inc. +Copyright (C) 2021 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." diff --git a/configure.ac b/configure.ac index f896f3e862..f3f12cc1de 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ dnl dnl Configuration script for CUPS. dnl dnl Copyright © 2020-2021 by Michael R Sweet -dnl Copyright © 2007-2019 by Apple Inc. +dnl Copyright © 2007-2020 by Apple Inc. dnl Copyright © 1997-2007 by Easy Software Products, all rights reserved. dnl dnl Licensed under Apache License v2.0. See the file "LICENSE" for more @@ -13,7 +13,7 @@ dnl We need at least autoconf 2.60... AC_PREREQ(2.60) dnl Package name and version... -AC_INIT([CUPS], [2.3.3op3], [https://github.com/openprinting/cups/issues], [cups], [https://openprinting.github.io/]) +AC_INIT([CUPS], [2.3.4op1], [https://github.com/openprinting/cups/issues], [cups], [https://openprinting.github.io/]) sinclude(config-scripts/cups-opsys.m4) sinclude(config-scripts/cups-common.m4) diff --git a/cups/cups.h b/cups/cups.h index 74955ebd6f..3793dfbe8e 100644 --- a/cups/cups.h +++ b/cups/cups.h @@ -1,7 +1,7 @@ /* * API definitions for CUPS. * - * Copyright © 2007-2019 by Apple Inc. + * Copyright © 2007-2020 by Apple Inc. * Copyright © 1997-2007 by Easy Software Products. * * Licensed under Apache License v2.0. See the file "LICENSE" for more @@ -42,10 +42,10 @@ extern "C" { * Constants... */ -# define CUPS_VERSION 2.0303 +# define CUPS_VERSION 2.0304 # define CUPS_VERSION_MAJOR 2 # define CUPS_VERSION_MINOR 3 -# define CUPS_VERSION_PATCH 3 +# define CUPS_VERSION_PATCH 4 # define CUPS_BC_FD 3 /* Back-channel file descriptor for diff --git a/cups/cupspm.md b/cups/cupspm.md index b6e09baa97..f271c89d36 100644 --- a/cups/cupspm.md +++ b/cups/cupspm.md @@ -1,8 +1,8 @@ --- title: CUPS Programming Manual author: Michael R Sweet -copyright: Copyright © 2007-2019 by Apple Inc. All Rights Reserved. -version: 2.3.3 +copyright: Copyright © 2007-2020 by Apple Inc. All Rights Reserved. +version: 2.3.4 ... > Please [file issues on Github](https://github.com/apple/cups/issues) to diff --git a/cups/ppd.c b/cups/ppd.c index a82c8a5840..1d92a21f3a 100644 --- a/cups/ppd.c +++ b/cups/ppd.c @@ -2391,8 +2391,16 @@ ppd_add_attr(ppd_file_t *ppd, /* I - PPD file data */ * Copy data over... */ + if (!_cups_strcasecmp(spec, "custom") || !_cups_strncasecmp(spec, "custom.", 7)) + { + temp->spec[0] = '_'; + strlcpy(temp->spec + 1, spec, sizeof(temp->spec) - 1); + } + else { + strlcpy(temp->spec, spec, sizeof(temp->spec)); + } + strlcpy(temp->name, name, sizeof(temp->name)); - strlcpy(temp->spec, spec, sizeof(temp->spec)); strlcpy(temp->text, text, sizeof(temp->text)); temp->value = (char *)value; diff --git a/doc/help/cupspm.html b/doc/help/cupspm.html index fbe4f6d88c..e9a80d9c3f 100644 --- a/doc/help/cupspm.html +++ b/doc/help/cupspm.html @@ -7,8 +7,8 @@ - - + +