Created at 21:00 Sep 30, 2005 by mike, last modified at 21:00 Sep 30, 2005
A new weekly snapshot of CUPS 1.2svn (r4738) 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:
------------------------------------------------------------------------ r4738 | mike | 2005-09-30 23:42:51 -0400 (Fri, 30 Sep 2005) | 2 lines Tweak rulers and text. ------------------------------------------------------------------------ r4737 | mike | 2005-09-30 23:22:41 -0400 (Fri, 30 Sep 2005) | 4 lines Update test page to include rules (inches and centimeters) along the sides of the page, and eliminate extra data on the stack because of extra copy operators... ------------------------------------------------------------------------ r4736 | mike | 2005-09-30 22:19:04 -0400 (Fri, 30 Sep 2005) | 2 lines Update test page with new ESP logo and contact information. ------------------------------------------------------------------------ r4735 | mike | 2005-09-30 21:45:18 -0400 (Fri, 30 Sep 2005) | 13 lines The classes web page now provides links to each of the member printers (STR #307) cgi-bin/ipp-var.c: - ippSetCGIVars(): Embed hyperlinks for member_uris variable. cgi-bin/template.c: - cgi_puts(): Detect hyperlinks and pass them. templates/classes.tmpl: - Use member_uris instead of member_names. ------------------------------------------------------------------------ r4734 | mike | 2005-09-30 21:03:34 -0400 (Fri, 30 Sep 2005) | 11 lines CUPS now handles HTTP request/response lines up to 32k in length; this is mainly for better cookie support (STR #1274) cups/http.c: - httpGets(): Redo implementation to support lines longer than HTTP_BUFFER_SIZE. - httpUpdate(): Increase line buffer to 32k. scheduler/client.c: - pipe_command(): Increase cookie buffer size to 32k. ------------------------------------------------------------------------ r4733 | mike | 2005-09-30 20:34:49 -0400 (Fri, 30 Sep 2005) | 6 lines Added support for the Apache PassEnv and SetEnv directives to cupsd.conf (STR #853) scheduler/conf.c: - read_configuration(): Add code to parse PassEnv and SetEnv. ------------------------------------------------------------------------ r4732 | mike | 2005-09-30 19:23:25 -0400 (Fri, 30 Sep 2005) | 2 lines Only set _FILE_OFFSET_BITS and _LARGE_FILES as needed. ------------------------------------------------------------------------ r4731 | mike | 2005-09-30 19:11:10 -0400 (Fri, 30 Sep 2005) | 2 lines Fix compile warnings from testipp. ------------------------------------------------------------------------ r4730 | mike | 2005-09-30 17:45:34 -0400 (Fri, 30 Sep 2005) | 94 lines Added large file (64-bit) support (STR #541) and job abort code to lpd backend. backend/lpd.c: - Add abort_job global to track when SIGTERM is received. - lpd_command(), lpd_write(): Check for abort_job. - lpd_queue(): Increase buffer size to 64k, and use off_t and CUPS_LLFMT/CUPS_LLCAST to handle large files. - sigterm_handler(): Set abort_job instead of exiting. berkeley/lpq.c: - show_jobs(): Update job-k-octets code to handle large files. config.h.in: - Add "long long" configure definitions. config-scripts/cups-compiler.m4: - Fix comment header. config-scripts/cups-largefile.m4: - Added. configure.in: - Include cups-largefile.m4. cups/http.c: - httpGetLength(): Call httpGetLength2() and return _data_remaining. - httpGetLength2(): Added. - httpRead(): Use stroll() to get chunk length, and mirror data_remaining to _data_remaining. - httpSetLength(): Added. - httpUpdate(): Use httpGetLength2(). - http_send(): Use httpGetLength2(). cups/http.h: - Add new off_t data_remaining member to http_t. - Rename int data_remaining member in http_t to _data_remaining. - Add prototypes for httpGetLength2() and httpSetLength(). cups/ipp.c: - ippRead(): Update debug printf for large file sizes. - ipp_read_http(): Mirror data_remaining to _data_remaining. cups/testhttp.c: - main(): Use off_t, CUPS_LLFMT/CUPS_LLCAST, and httpGetLength2(). cups/util.c: - cupsDoFileRequest(): Use off_t, CUPS_LLFMT/CUPS_LLCAST, and httpGetLength2(), increase buffer size to 64k. cups.spec: - Add missing cancel man page, and move backend and filter backends to -devel package. Makedefs.in: - Add @LARGEFILE@ to CFLAGS and CXXFLAGS. pdftops/SecurityHandler.cxx: - SecurityHandler::make(): #ifdef xsh variable definition. scheduler/client.c: - cupsdReadClient(): Intialize _data_remaining member, use off_t and CUPS_LLFMT/CUPS_LLCAST to support large files. - cupsdSendFile(): Use CUPS_LLFMT/CUPS_LLCAST to support large files. - check_if_modified(): Use strtoll() and CUPS_LLFMT/CUPS_LLCAST to support large files. - pipe_command(): Use CUPS_LLFMT/CUPS_LLCAST to support large files. scheduler/client.h: - Change bytes member in cupsd_client_t to off_t. scheduler/cups-lpd.c: - send_state(): Change job-k-octets handling to support large files. scheduler/ipp.c: - cupsdProcessIPPRequest(): Update Content-Length code to support large files and mirror data_remaining to _data_remaining. scheduler/log.c: - cupsdLogRequest(): Use CUPS_LLFMT/CUPS_LLCAST to log large file sizes. systemv/lpstat.c: - show_jobs(): Change job-k-octets handling to support large files. ------------------------------------------------------------------------ r4729 | mike | 2005-09-30 13:46:19 -0400 (Fri, 30 Sep 2005) | 3 lines Change cupsdJob*() functions to use cupsd_job_t * arguments, all except cupsdFindJob()... ------------------------------------------------------------------------ r4728 | mike | 2005-09-30 10:52:11 -0400 (Fri, 30 Sep 2005) | 25 lines Fix another bug in the cups_find() code, and add optimizations and performance testing. cups/array.c: - Add insert member to _cups_array_s structure to track last insertion point. - cupsArrayAdd(): Use/update insert member, and add debug stuff to show elements array. - cupsArrayClear(): Initialize current and insert. - cupsArrayDup(): Initialize current and insert. - cupsArrayFind(): Pass current read index to cups_find(). - cupsArrayNew(): Intiailize current and insert. - cupsArrayRemove(): Pass current read index to cups_find() and update current and insert indices as needed. - cups_find(): Add "prev" argument to track the last read/insert position, optimize for match on either end of the elements array, and fix overflow on final match check. cups/testarray.c: - Add get_seconds() and load_words() functions. - main(): Add cupsArrayClear() test and a performance test which loads unique words from all of the CUPS API source files and verifies the final load is properly sorted. ------------------------------------------------------------------------ r4727 | mike | 2005-09-29 22:03:12 -0400 (Thu, 29 Sep 2005) | 2 lines Optimize cups_find() to start from the current element, if any. ------------------------------------------------------------------------ r4726 | mike | 2005-09-29 21:56:36 -0400 (Thu, 29 Sep 2005) | 10 lines Fix implementation of cupsArray. cups/array.c: - Add debug printf's. - cupsArrayAdd(): Use cups_find() index directly. - cups_find(): Fix termination of binary search. cups/testarray.c: - Add debug printf's. ------------------------------------------------------------------------ r4725 | mike | 2005-09-29 17:09:46 -0400 (Thu, 29 Sep 2005) | 2 lines Add test program for cupsArray* functions. ------------------------------------------------------------------------ r4724 | mike | 2005-09-29 16:00:39 -0400 (Thu, 29 Sep 2005) | 20 lines Fix a performance problem with ippReadIO() and resizing of attributes (STR #1284) cups/ipp.c: - ippFindNextAttribute(): Update ipp->prev based on found attribute. - ippReadIO(): Use ipp->prev to track the previous attribute in the list behind ipp->current; also require IPP_MAX_VALUES to be a power of two and start by allocating only 1 value. cups/ipp.h: - Change IPP_MAX_VALUES to 8, and document that we need a power of 2 value. - Add "prev" member to ipp_t structure. scheduler/testspeed.c: - Add "-v" option to limit default verbosity so that the test results are not skewed by terminal output delays. ------------------------------------------------------------------------ r4723 | mike | 2005-09-29 13:38:32 -0400 (Thu, 29 Sep 2005) | 7 lines Fixed a performance issue with the scheduler's implicit class implementation (STR #1283) scheduler/dirsvc.c: - cupsdProcessBrowseData(): Don't lookup destination if we already have it. ------------------------------------------------------------------------ r4722 | mike | 2005-09-29 13:23:33 -0400 (Thu, 29 Sep 2005) | 7 lines Fix browsing crash... scheduler/dirsvc.c: - cupsdSendBrowseList(): Find BrowseNext, not BrowseNext->name. - cupsdStartBrowsing(): Initialize BrowseNext to NULL. ------------------------------------------------------------------------ r4721 | mike | 2005-09-29 09:53:30 -0400 (Thu, 29 Sep 2005) | 6 lines Fix crash in browsing code. scheduler/dirsvc.c: - cupsdSendBrowseList(): Don't reference BrowseNext unless it is set... ------------------------------------------------------------------------ r4720 | mike | 2005-09-28 17:36:30 -0400 (Wed, 28 Sep 2005) | 2 lines Add "Set Allowed Users" button to classes template. ------------------------------------------------------------------------ r4719 | mike | 2005-09-28 17:12:44 -0400 (Wed, 28 Sep 2005) | 10 lines Cleanup. cups/language.h: - Move new 1.2 functions so they are declared separately with a corresponding documentation string. scheduler/*: - Cleanup function/structure renaming and code formatting/documentation. ------------------------------------------------------------------------ r4718 | mike | 2005-09-28 12:35:47 -0400 (Wed, 28 Sep 2005) | 2 lines Fix cupsaddsmb - was using cupsdrv6.dll instead of cupsps6.dll. ------------------------------------------------------------------------ r4717 | mike | 2005-09-28 11:10:59 -0400 (Wed, 28 Sep 2005) | 2 lines Rename all types and functions to use cupsd prefix. ------------------------------------------------------------------------ r4716 | mike | 2005-09-28 09:54:55 -0400 (Wed, 28 Sep 2005) | 2 lines Change _str suffix on structure types to _s. ------------------------------------------------------------------------ r4715 | mike | 2005-09-27 16:31:25 -0400 (Tue, 27 Sep 2005) | 35 lines Replace jobs list with two sorted job arrays - Jobs and ActiveJobs. scheduler/classes.c: - DeleteAllClasses(), SaveAllClasses(): Don't need NULL check for Printers array anymore. scheduler/ipp.c: - cancel_job(): Use new cupsArray*() API for job list. - create_job(), print_job(): Replace NumJobs with cupsArrayCount(). - get_jobs(): Use new cupsArray*() API for job list, add support for an "all" keyword for "which-jobs", and add a "first" attribute to support "paging". scheduler/job.c: - Replace all of the linked-list stuff with cupsArray*() calls. scheduler/job.h: - Remove "next" member from job_t structure. - Remove NumJobs variable and replace Jobs and ActiveJobs variables with cups_array_t *'s. scheduler/main.c: - main(), process_children(), select_timeout(): Use new cupsArray*() API for job lists. scheduler/printers.c: - DeleteAllPrinters(), FindDest(), SaveAllPrinters(): Don't need NULL check for Printers array anymore. scheduler/printers.h: - Fix "printers" member scheduler/quotas.c: - UpdateQuota(): Use new cupsArray*() API for job lists. ------------------------------------------------------------------------ r4714 | mike | 2005-09-27 16:11:15 -0400 (Tue, 27 Sep 2005) | 3 lines Update all cupsArray*() functions to handle NULL pointers in a logical manner. ------------------------------------------------------------------------ r4713 | mike | 2005-09-27 15:02:56 -0400 (Tue, 27 Sep 2005) | 2 lines Remove incorrectly merged code. ------------------------------------------------------------------------ r4712 | mike | 2005-09-27 15:02:16 -0400 (Tue, 27 Sep 2005) | 34 lines Use cupsArray*() API to manage sorted list of printers and classes. scheduler/classes.c: - DeletePrinterFromClasses(), DeleteAllClasses(), SaveAllClasses(), UpdateImplicitClasses(): Use cupsArray*() functions to traverse printer list. - FindClass(): Use FindDest() to get matching printer_t entry. scheduler/cupsd.h: - Include <cups/array.h>. scheduler/Dependencies: - scheduler/dirsvc.c: - scheduler/ipp.c: - scheduler/main.c: - scheduler/printers.c: - DeleteAllPrinters(), DeletePrinter(), SaveAllPrinters(): Use cupsArray*() functions to traverse printer list. - scheduler/printers.h: - Remove "next" member from printer_t. - Remove NumPrinters. - Change Printers to cups_array_t *. ------------------------------------------------------------------------ r4711 | mike | 2005-09-27 14:45:40 -0400 (Tue, 27 Sep 2005) | 5 lines Fix binary search bug. cups/array.c: - cups_find(): Terminate binary search when (right - left) <= 1. ------------------------------------------------------------------------ r4710 | mike | 2005-09-27 08:07:00 -0400 (Tue, 27 Sep 2005) | 2 lines Fix cups_strcpy() call - should be _cups_strcpy()... ------------------------------------------------------------------------ r4709 | mike | 2005-09-26 23:49:07 -0400 (Mon, 26 Sep 2005) | 2 lines Fix log file links. ------------------------------------------------------------------------ r4708 | mike | 2005-09-26 23:44:29 -0400 (Mon, 26 Sep 2005) | 2 lines Change /admin/ to /admin (without the trailing slash) ------------------------------------------------------------------------ r4707 | mike | 2005-09-26 23:37:52 -0400 (Mon, 26 Sep 2005) | 14 lines Fix httpWrite() bug which caused a variety of errors. cups/http.c: - httpConnectEncrypt(): Update DEBUG_printf. - httpPrintf(): Check return value of httpFlushWrite(). - httpUpdate(): Check return value of httpFlushWrite(). - httpWrite(): Save bytes written in "bytes" instead of "length" and update DEBUG_printf's. - http_write_chunk(): Add DEBUG_printf's. scheduler/client.c: - CloseClient(): Close pipes and files before socket. - WriteClient(): Add L_DEBUG2 log messages. ------------------------------------------------------------------------ r4706 | mike | 2005-09-26 20:51:04 -0400 (Mon, 26 Sep 2005) | 2 lines Add /var/log/cups to spec file. ------------------------------------------------------------------------ r4705 | mike | 2005-09-26 20:30:17 -0400 (Mon, 26 Sep 2005) | 3 lines Add missing cancel man page to spec file, and move backend and filter backends to -devel package. ------------------------------------------------------------------------ r4704 | mike | 2005-09-26 16:59:15 -0400 (Mon, 26 Sep 2005) | 62 lines Add support for cached authentication on a per-job basis. The information is stored in a file that is readable only by the root user. The username and password are Base-64 encoded, each on a separate line, followed by random number (up to 1024) of newlines to limit the amount of information that is exposed. Because of the potential for exposing of authentication information, this functionality is only enabled when running cupsd as root. This caching only works for the Basic and BasicDigest authentication types. Digest authentication cannot be cached this way, and in the future Kerberos authentication may make all of this obsolete. Authentication information is saved whenever an authenticated Print-Job, Create-Job, or CUPS-Authenticate-Job operation is performed. This information is deleted after a job is completed or canceled, so reprints may require subsequent re-authentication. backend/ipp.c: - main(): If no authentication information is in the device URI, try reading it from the auth cache file. conf/cupsd.conf.in: templates/edit-config.tmpl.in: - Add CUPS-Authenticate-Job policy. cups/ipp.h: - Add CUPS_AUTHENTICATE_JOB operation. cups/ipp-support.c: - Add CUPS-Authenticate-Job operation string. scheduler/conf.c: - ReadConfiguration(): Add CUPS_AUTHENTICATE_JOB operation to the default policy. scheduler/env.c: - cupsInitEnv(): Add CUPS_REQUESTROOT environment variable. scheduler/ipp.c: - ProcessIPPRequest(): Add CUPS_AUTHENTICATE_JOB operation. - authenticate_job(): Added. - create_job(), print_job(): Call save_auth_info() when the request is authenticated and require authentication if the printer-type CUPS_PRINTER_AUTHENTICATED bit is set. - save_auth_info(): Added. scheduler/job.c: - CancelJob(): Remove authentication cache file. - FinishJob(): Add job-stopped event when authentication is required. scheduler/printers.c: - CreateCommonData(): Update operations-supported list. - SetPrinterAttrs(): Use both Location and Policy limits to mark whether authentication is required. ------------------------------------------------------------------------ r4703 | mike | 2005-09-26 15:33:58 -0400 (Mon, 26 Sep 2005) | 45 lines Add standard backend exit codes. Also remove out-of-date French man pages. backend/ieee1394-linux.c: backend/ipp.c: backend/lpd.c: backend/parallel.c: backend/scsi.c: backend/scsi-irix.c: backend/scsi-linux.c: backend/serial.c: backend/socket.c: backend/usb.c: backend/usb-unix.c: - Use CUPS_BACKEND_* constants instead of 0 or 1 for exit codes. cups/backend.h: - Added. cups/cups.h: - Add CUPS_PRINTER_AUTHENTICATED bit to printer types. man/backend.man: - Add exit codes and log messages to man page. scheduler/conf.h: - Add L_ATTR constant. scheduler/ipp.c: - print_job(), create_job(): Return IPP_ATTRIBUTES for a copies value that is out-of-range. scheduler/job.c: - FinishJob(): Use exit code constants to control what happens to the job and/or printer. scheduler/statbuf.c: - cupsdStatBufUpdate(): Add ATTR: prefix. templates/trailer.tmpl: - Fix bad colspan value. ------------------------------------------------------------------------ r4702 | mike | 2005-09-26 11:10:15 -0400 (Mon, 26 Sep 2005) | 18 lines More web UI cleanup. cgi-bin/admin.c: - do_menu(): Free list of printer devices. doc/cups.css: - Update background colors for better contrast/visibility. doc/images/hdr-top-right.gif: doc/images/hdr-top-left.gif: doc/images/hdr-bottom-right.gif: doc/images/hdr-bottom-left.gif: - Update for new page background. templates/classes.tmpl: templates/printers.tmpl: - Change "Default Destination" to "Server Default Destination". ------------------------------------------------------------------------ r4701 | mike | 2005-09-26 10:44:19 -0400 (Mon, 26 Sep 2005) | 5 lines Log stderr from cups-driverd... scheduler/ipp.c: - copy_model(): Use CGIPipes to support stderr logging. ------------------------------------------------------------------------ r4700 | mike | 2005-09-26 10:34:25 -0400 (Mon, 26 Sep 2005) | 10 lines Fix PPD copy bug, and add check for MIME database. scheduler/conf.c: - ReadConfiguration(): Add check for NULL MIME database (due to misconfiguration or missing ServerRoot...) scheduler/ipp.c: - copy_model(): Use select() with timeout and pipe to catch when the cups-driverd process is done. ------------------------------------------------------------------------Download · Home Page · Listing