CUPS 1.2svn Weekly Snapshot, r4658

Created at 21:00 Sep 16, 2005 by mike, last modified at 21:00 Sep 16, 2005

A new weekly snapshot of CUPS 1.2svn (r4658) is now available on the download page:

    http://www.cups.org/software.php

This snapshot contains pre-release software and should not be used on production systems.

Commit Log:

------------------------------------------------------------------------
r4658 | mike | 2005-09-16 23:48:43 -0400 (Fri, 16 Sep 2005) | 30 lines

Added new cupsBackchannelRead() and cupsBackchannelWrite()
functions, as well as backchannel support to the parallel,
serial, socket, and USB backends (STR #1252)

The parallel and USB backends now treat a "no space available"
error as an out-of-paper condition (STR #1225)

backend/ipp.c:
    - report_printer_state(): Cleanup printer status handling.

backend/parallel.c:
    - main(): Add backchannel support, and check for ENOSPC
      error.

backend/serial.c:
    - main(): Add backchannel support.

backend/socket.c:
    - main(): Add backchannel support.

backend/usb-unix.c:
    - print_device(): Add backchannel support, and check for
      ENOSPC error.

cups/backchannel.c:
    - Add cupsBackchannelRead() and cupsBackchannelWrite() functions.

cups/cups.h:
    - Add cupsBackchannelRead() and cupsBackchannelWrite() functions.

------------------------------------------------------------------------
r4657 | mike | 2005-09-16 17:50:48 -0400 (Fri, 16 Sep 2005) | 4 lines

The "lpc" command now supports the "status all" command (STR
#1004)


------------------------------------------------------------------------
r4656 | mike | 2005-09-16 17:46:06 -0400 (Fri, 16 Sep 2005) | 9 lines

Add a workaround for Linux's buggy getaddrinfo() function.

cups/http-addr.c:
    - httpGetHostByName(): Limit AF_INET addresses to 4 bytes,
      even if getaddrinfo() says the address length is 16 bytes.

cups/testhttp.c:
    - main(): Add address function tests.

------------------------------------------------------------------------
r4655 | mike | 2005-09-16 17:11:16 -0400 (Fri, 16 Sep 2005) | 2 lines

Allow IPv4 connections to IPv6 loopback and wildcard addresses.

------------------------------------------------------------------------
r4654 | mike | 2005-09-16 16:51:20 -0400 (Fri, 16 Sep 2005) | 2 lines

OSX compile fixes.

------------------------------------------------------------------------
r4653 | mike | 2005-09-16 16:13:58 -0400 (Fri, 16 Sep 2005) | 70 lines

Fix up IPv6 support, and remove remaining dirent checks.

backend/lpd.c:
    - lpd_queue(): Use http_addr_t, httpAddrLoad(), and loop
      through addresses.

backend/socket.c:
    - main(): Use http_addr_t, httpAddrLoad(), and loop through
      addresses.


config.h.in:
    - Add HAVE_GETADDRINFO.
    - Replace HAVE_RRESVPORT with HAVE_RRESVPORT_AF.
    - Remove dirent defines.

config-scripts/cups-common.m4:
    - Remove AC_DIRENT.

config-scripts/cups-network.m4:
    - Add check for getaddrinfo.
    - Replace check for rresvport with check for rresvport_af.

cups/http.c:
    - httpConnect(): Change "encrypt" to "encryption".
    - httpConnectEncrypt(): Change "encrypt" to "encryption".

cups/http.h:
    - httpConnectEncrypt(): Change "encrypt" to "encryption".

cups/http-addr.c:
    - httpAddrLocalhost(): Treat unspecified IPv6 address as
      local.
    - httpAddrString(): Change IPv6 address format to [x:x:x:x].
    - httpAddrGetHostByName(): Support [x:x:x:x] format for IPv6
      addresses and use getaddrinfo() if available.

cups/http-support.c:
    - httpSeparate(): Change method to scheme.
    - httpSeparate2(): Change method to scheme, methodlen to
      schemelen, support IPv6 addresses using the [x:x:x:x]
      format, and decode all resources for the shortcut forms.

pdftops/gfile.h:
    - Remove DIRENT checks.

scheduler/auth.c:
    - CheckAuth(): Make IPv6 variables conditional.
    - cupsdIsAuthorized(): Load IPv4 address using 0:0:0 prefix.

scheduler/client.c:
    - AcceptClient(): Only do lookup after checking localhost and
      server address.

scheduler/conf.c:
    - get_address(): Support [x:x:x:x] format for IPv6 addresses,
      and load IPv4 addresses using 0:0:0 prefix.
    - get_addr_and_mask(): Support [x:x:x:x] format for IPv6 addresses,
      and load IPv4 addresses using 0:0:0 prefix.
    - read_configuration(): Add experimental code to double up
      IPv6 + IPv4 for wildcard address (commented, since it isn't
      needed for Linux, but we need to test other OS's...)

scheduler/listen.c:
    - StartListening(): Automatically try binding IPv4 versions
      of IPv6 loopback and "any" addresses, in case the local
      system does not have IPv6 enabled at run time.



------------------------------------------------------------------------
r4652 | mike | 2005-09-16 10:44:00 -0400 (Fri, 16 Sep 2005) | 12 lines

ippReadIO() did not read collections properly (STR #1249)

cups/ipp.c:
    - ippReadIO(): Decrement attr->num_values when handling an
      IPP_TAG_MEMBERNAME attribute, since collection members are
      encoded differently than regular attributes.

cups/testipp.c:
    - main(): Add more tests to confirm that attributes are read
      correctly, and separate file tests from memory tests.


------------------------------------------------------------------------
r4651 | mike | 2005-09-15 20:13:03 -0400 (Thu, 15 Sep 2005) | 4 lines

The "make test" script now creates the test files in
"/tmp/cups-$USER" instead of "/tmp/$USER" (STR #981)


------------------------------------------------------------------------
r4650 | mike | 2005-09-15 16:30:42 -0400 (Thu, 15 Sep 2005) | 5 lines

All backends now abort on error when printing a job to a class -
this allows the next printer in the class to print the job (STR
#1084)


------------------------------------------------------------------------
r4649 | mike | 2005-09-15 16:16:59 -0400 (Thu, 15 Sep 2005) | 5 lines

The scheduler now verifies that a printer supports Letter or A4
media sizes before setting them as the initial default (STR
#1250)


------------------------------------------------------------------------
r4648 | mike | 2005-09-15 15:31:32 -0400 (Thu, 15 Sep 2005) | 4 lines

The cupstestppd program now flags bad Resolution options (STR
#1269)


------------------------------------------------------------------------
r4647 | mike | 2005-09-15 15:15:32 -0400 (Thu, 15 Sep 2005) | 4 lines

The USB backend now retries printing when the printer is
disconnected or turned off (STR #1267)


------------------------------------------------------------------------
r4646 | mike | 2005-09-15 15:10:34 -0400 (Thu, 15 Sep 2005) | 5 lines

Added new httpGetHostname() function to CUPS API, and use it
instead of gethostname() so that the web interface will work
correctly on systems whose hostname is not the FQDN (STR #1266)


------------------------------------------------------------------------
r4645 | mike | 2005-09-15 14:56:05 -0400 (Thu, 15 Sep 2005) | 4 lines

The scheduler now stops printers if the backend for the queue is
missing on startup (STR #1265)


------------------------------------------------------------------------
r4644 | mike | 2005-09-15 14:43:06 -0400 (Thu, 15 Sep 2005) | 6 lines

The configure script now supports "--disable-library" to disable
particular image file format support libraries, even if they are
available on the build system (STR #1248)

Also fix spelling error for "Renew-Subscription" operation.

------------------------------------------------------------------------
r4643 | mike | 2005-09-15 14:09:46 -0400 (Thu, 15 Sep 2005) | 2 lines

Fix address/count netmask problem in 1.2 (STR #1257)

------------------------------------------------------------------------
r4642 | mike | 2005-09-15 13:27:19 -0400 (Thu, 15 Sep 2005) | 4 lines

The IPP backend did not always report on the total number of
pages that were printed (STR #1251)


------------------------------------------------------------------------
r4641 | mike | 2005-09-15 13:23:36 -0400 (Thu, 15 Sep 2005) | 4 lines

The lpstat program could display garbage date and time values for
locales whose date format exceeded 31 characters (STR #1263)


------------------------------------------------------------------------
r4640 | mike | 2005-09-15 13:20:24 -0400 (Thu, 15 Sep 2005) | 4 lines

The cupstestppd program would segfault when testing certain
broken PPD files (STR #1268)


------------------------------------------------------------------------
r4639 | mike | 2005-09-15 12:01:32 -0400 (Thu, 15 Sep 2005) | 16 lines

Fix inefficient class management issues.

scheduler/classes.c:
    - AddPrinterToClass(): Don't call SetPrinterAttrs(), as it is called
      elsewhere as needed.

scheduler/dirsvc.c:
    - ProcessBrowseData(): Log printer/class renames, send the
      appropriate events (delete old, add new), and track implicit
      class updates so that we don't call SetPrinterAttrs() more
      than once for the class.

scheduler/printers.c:
    - SetPrinterAttrs(): Only add raw filter for real printers - classes
      and remote printers just need the "raw" flag set on the queue.

------------------------------------------------------------------------
r4638 | mike | 2005-09-15 10:13:19 -0400 (Thu, 15 Sep 2005) | 21 lines

Change CUPS_PRINTER_SHARED to CUPS_PRINTER_NOT_SHARED so that we are still
compatible with older CUPS servers.  Also fix some logic problems with the
browse checks.

cups/cups.h:
    - CUPS_PRINTER_SHARED -> CUPS_PRINTER_NOT_SHARED.

scheduler/cups-polld.c:
    - poll_server(): Check for CUPS_PRINTER_NOT_SHARED set to 0.

scheduler/dirsvc.c:
    - UpdateCUPSBrowse(): Use the BrowseOrder setting to determine the
      default allowed/denied setting, and check both the hostname and
      port when determining whether to ignore the browse packet (this
      needs further updating to just use the Listen hosts and ports)

scheduler/printers.c:
    - SetPrinterAttrs(): Invert handling for CUPS_PRINTER_NOT_SHARED
      (set when printer-is-shared is false)


------------------------------------------------------------------------
r4637 | mike | 2005-09-14 15:26:44 -0400 (Wed, 14 Sep 2005) | 4 lines

Add httpGetDateString2() API to replace httpGetDateString().  The new
API accepts a string buffer pointer and length instead of returning
a value from static storage.

------------------------------------------------------------------------
r4636 | mike | 2005-09-14 15:21:51 -0400 (Wed, 14 Sep 2005) | 16 lines

Rewrite httpGetDateTime() to not use mktime(), since that function uses
the current timezone setting instead of UTC.

cups/http.c:
    - Rename days[] and months[] to http_days[] and http_months[] to
      avoid namespace issues.
    - httpGetDateString(): Use new http_days[] and http_months[].
    - httpGetDateTime(): Convert string to UTC using some
      relatively simple math instead of mktime().

cups/testhttp.c:
    - main(): Add tests for httpGetDateString() and
      httpGetDateTime() to verify that the new implementation
      works.


------------------------------------------------------------------------
r4635 | mike | 2005-09-14 10:50:49 -0400 (Wed, 14 Sep 2005) | 39 lines

Drop CUPS-Add-Device and CUPS-Delete-Device, and clean up bad operation
name code.

cups/ipp.h:
    - Remove CUPS_ADD_DEVICE and CUPS_DELETE_DEVICE enumerations.

cups/ipp-support.c:
    - Remove CUPS-Add-Device and CUPS-Delete-Device operation strings.
    - ippOpString(): Last CUPS operation is CUPS_MOVE_JOB now.

scheduler/auth.c:
    - AddName(), AllowHost(), AllowIP(), DenyHost(), DenyIP():
      New debug2 log message.
    - AllowIP(), DenyIP(): Copy all of address and netmask, not just
      the sizeof(pointer)...
    - cupsdIsAuthorized(): Cleanup and add debug2 log messages with
      constant names to simplify debugging.
    - cupsdIsAuthorized(): Don't special-case "no allow/deny lines"
      configuration - just use Order directive to allow/deny by
      default.
    - cupsdIsAuthorized(): Use DefaultAuthType when no AuthType is
      specified for a location.

scheduler/auth.h:
    - Add DefaultAuthType (again)

scheduler/client.c:
    - SendHeader(): Use DefaultAuthType when best authentication
      type is not available or undefined.

scheduler/conf.c:
    - ReadConfiguration(): Set DefaultAuthType, remove
      CUPS_ADD_DEVICE and CUPS_DELETE_DEVICE from default policy.
    - read_configuration(): Add DefaultAuthType parsing code.

scheduler/policy.c:
    - cupsdFindPolicyOp(): Add debug2 log messages.


------------------------------------------------------------------------
r4634 | mike | 2005-09-14 08:30:12 -0400 (Wed, 14 Sep 2005) | 2 lines

Check for "All" operation in policy Limit separately.

------------------------------------------------------------------------
r4633 | mike | 2005-09-13 22:04:15 -0400 (Tue, 13 Sep 2005) | 14 lines

Fix config files with leading spaces, and do testing for new
auth/policy stuff.

cups/file.c:
    - cupsFileGetConf(): Support leading whitespace on a line.

scheduler/policy.c:
    - cupsdAddPolicyOp(): Fix AuthType inheritance.

scheduler/auth.c:
    - cupsdIsAuthorized(): Add more debug stuff, and handle optional
      authentication for IPP operations.


------------------------------------------------------------------------
r4632 | mike | 2005-09-13 20:31:14 -0400 (Tue, 13 Sep 2005) | 2 lines

Fix test suite to work with new policy stuff.

------------------------------------------------------------------------
r4631 | mike | 2005-09-13 20:12:05 -0400 (Tue, 13 Sep 2005) | 2 lines

Finish policy update (now compiles... :)

------------------------------------------------------------------------
r4630 | mike | 2005-09-13 17:06:17 -0400 (Tue, 13 Sep 2005) | 3 lines

Save work on upgraded policy stuff (warning, integration is not yet
completed
and will not compile...)

------------------------------------------------------------------------
Download  ·  Home Page  ·  Listing

Comments

Submit Comment