[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
[redhat-lspp] Updated cups-lspp.patch
- From: Matt Anderson <mra hp com>
- To: redhat-lspp redhat com
- Cc: Tim Waugh <twaugh redhat com>, Daniel J Walsh <dwalsh redhat com>
- Subject: [redhat-lspp] Updated cups-lspp.patch
- Date: Tue, 18 Jul 2006 19:51:32 -0400
Attached is an updated cups lspp patch.
The file also exists at:
http://free.linux.hp.com/~mra/patches/cups-lspp.patch
http://free.linux.hp.com/~mra/rpms/cups.spec
http://free.linux.hp.com/~mra/rpms/cups-1.2.1-18.1lspp.src.rpm
http://free.linux.hp.com/~mra/rpms/cups-1.2.1-18.1lspp.i386.rpm
http://free.linux.hp.com/~mra/rpms/cups-1.2.1-18.1lspp.ia64.rpm
http://free.linux.hp.com/~mra/rpms/cups-1.2.1-18.1lspp.x86_64.rpm
I've addressed the problems Linda and I were seeing, and made changes
based on some initial feedback from Dan Walsh.
The same configuration notes apply:
/etc/cups/client.conf
ServerName /var/run/cups/cups.sock
and in /etc/cups/cupsd.conf you'll want to comment out the line
#Listen localhost:631
Listen /var/run/cups/cups.sock
Additionally you may want to set
Browsing No
FileDevices Yes
Classification mls
I'll probably end up posting a document which could be used as the basis
of an evaluated configuration guide later in the week.
-matt
diff -ur cups-1.2.1-orig/config.h.in cups-1.2.1/config.h.in
--- cups-1.2.1-orig/config.h.in 2006-07-14 16:15:21.000000000 -0400
+++ cups-1.2.1/config.h.in 2006-07-14 17:45:42.000000000 -0400
@@ -443,6 +443,13 @@
#undef HAVE_APPLETALK_AT_PROTO_H
+/*
+ * Are we trying to meet LSPP requirements?
+ */
+
+#undef WITH_LSPP
+
+
#endif /* !_CUPS_CONFIG_H_ */
/*
diff -ur cups-1.2.1-orig/configure.in cups-1.2.1/configure.in
--- cups-1.2.1-orig/configure.in 2006-07-14 16:15:21.000000000 -0400
+++ cups-1.2.1/configure.in 2006-07-14 17:45:43.000000000 -0400
@@ -47,6 +47,8 @@
sinclude(config-scripts/cups-pdf.m4)
sinclude(config-scripts/cups-scripting.m4)
+sinclude(config-scripts/cups-lspp.m4)
+
INSTALL_LANGUAGES=""
UNINSTALL_LANGUAGES=""
LANGFILES=""
diff -ur cups-1.2.1-orig/cups/cups.h cups-1.2.1/cups/cups.h
--- cups-1.2.1-orig/cups/cups.h 2006-03-05 22:39:28.000000000 -0500
+++ cups-1.2.1/cups/cups.h 2006-07-10 12:24:47.000000000 -0400
@@ -24,6 +24,8 @@
* This file is subject to the Apple OS-Developed Software exception.
*/
+/* Copyright (C) 2005 Trusted Computer Solutions, Inc. */
+
#ifndef _CUPS_CUPS_H_
# define _CUPS_CUPS_H_
@@ -68,6 +70,12 @@
# define CUPS_DATE_ANY -1
+# ifdef WITH_LSPP
+# define MLS_CONFIG "mls"
+# define TE_CONFIG "te"
+# define SELINUX_CONFIG "SELinux"
+# define UNKNOWN_SL "UNKNOWN SL"
+# endif /* WITH_LSPP */
/*
* Types and structures...
*/
diff -ur cups-1.2.1-orig/data/Makefile cups-1.2.1/data/Makefile
--- cups-1.2.1-orig/data/Makefile 2006-03-18 22:23:34.000000000 -0500
+++ cups-1.2.1/data/Makefile 2006-06-28 19:39:12.000000000 -0400
@@ -34,7 +34,10 @@
secret \
standard \
topsecret \
- unclassified
+ unclassified \
+ selinux \
+ mls \
+ te
CHARMAPS = \
euc-cn.txt \
diff -ur cups-1.2.1-orig/Makedefs.in cups-1.2.1/Makedefs.in
--- cups-1.2.1-orig/Makedefs.in 2006-07-14 16:15:50.000000000 -0400
+++ cups-1.2.1/Makedefs.in 2006-07-14 17:45:45.000000000 -0400
@@ -135,7 +135,7 @@
@LDFLAGS@ @RELROFLAG@ @PIEFLAGS@ $(OPTIM)
LINKCUPS = @LINKCUPS@ $(SSLLIBS)
LINKCUPSIMAGE = @LINKCUPSIMAGE@
-LIBS = $(LINKCUPS) $(COMMONLIBS)
+LIBS = $(LINKCUPS) $(COMMONLIBS) @LIBAUDIT@ @LIBSELINUX@
OPTIM = @OPTIM@
OPTIONS =
PAMLIBS = @PAMLIBS@
diff -ur cups-1.2.1-orig/scheduler/client.c cups-1.2.1/scheduler/client.c
--- cups-1.2.1-orig/scheduler/client.c 2006-07-14 16:15:22.000000000 -0400
+++ cups-1.2.1/scheduler/client.c 2006-07-14 17:45:45.000000000 -0400
@@ -43,12 +43,17 @@
* make_certificate() - Make a self-signed SSL/TLS certificate.
* pipe_command() - Pipe the output of a command to the remote client.
* write_file() - Send a file via HTTP.
+ * client_pid_to_auid() - Get the audit login uid of the client.
*/
+/* Copyright (C) 2005 Trusted Computer Solutions, Inc. */
+/* (c) Copyright 2005-2006 Hewlett-Packard Development Company, L.P. */
+
/*
* Include necessary headers...
*/
+#define _GNU_SOURCE
#include <cups/http-private.h>
#include "cupsd.h"
@@ -64,6 +69,11 @@
# include <gnutls/x509.h>
#endif /* HAVE_GNUTLS */
+#ifdef WITH_LSPP
+#include <selinux/selinux.h>
+#include <fcntl.h>
+#endif /* WITH_LSPP */
+
/*
* Local functions...
@@ -380,6 +390,45 @@
"cupsdAcceptClient: %d connected to server on %s:%d",
con->http.fd, con->servername, con->serverport);
+#ifdef WITH_LSPP
+ if (is_lspp_config())
+ {
+ struct ucred cr;
+ unsigned int cl=sizeof(cr);
+
+ if (getsockopt(con->http.fd, SOL_SOCKET, SO_PEERCRED, &cr, &cl)==0) {
+ /*
+ * client_pid_to_auid() can be racey
+ * In this case the pid is based on a socket connected to the client
+ */
+ con->auid = client_pid_to_auid(cr.pid);
+ cupsdLogMessage(CUPSD_LOG_INFO, "cupsdAcceptClient: peer's pid=%d, uid=%d, gid=%d, auid=%d",
+ cr.pid, cr.uid, cr.gid, con->auid);
+ } else {
+ close(con->http.fd);
+ cupsdLogMessage(CUPSD_LOG_ERROR, "cupsdAcceptClient: getsockopt() failed");
+ return (cupsdCloseClient(con));
+ }
+
+ /*
+ * get the context of the peer connection
+ */
+ if (getpeercon(con->http.fd, &con->scon))
+ {
+ cupsdLogMessage(CUPSD_LOG_ERROR, "cupsdAcceptClient: getpeercon() failed");
+ cupsdSetString(&con->scon, UNKNOWN_SL);
+ }
+
+ cupsdLogMessage(CUPSD_LOG_INFO, "cupsdAcceptClient: client context=%s", con->scon);
+
+ }
+ else
+ {
+ cupsdLogMessage(CUPSD_LOG_ERROR, "cupsdAcceptClient: skipping getpeercon()");
+ cupsdSetString(&con->scon, UNKNOWN_SL);
+ }
+#endif /* WITH_LSPP */
+
/*
* Using TCP_NODELAY improves responsiveness, especially on systems
* with a slow loopback interface... Since we write large buffers
@@ -3485,6 +3535,48 @@
}
#endif /* HAVE_GNUTLS */
+#ifdef WITH_LSPP
+/*
+ * 'client_pid_to_auid()' - Using the client's pid, read /proc and determine the loginuid.
+ */
+
+uid_t client_pid_to_auid(pid_t clipid)
+{
+ uid_t uid;
+ int len, in;
+ char buf[16] = {0};
+ char fname[32] = {0};
+
+
+ /*
+ * Hopefully this pid is still the one we are interested in.
+ */
+ snprintf(fname, 32, "/proc/%d/loginuid", clipid);
+ in = open(fname, O_NOFOLLOW|O_RDONLY);
+
+ if (in < 0)
+ return -1;
+
+ errno = 0;
+
+ do {
+ len = read(in, buf, sizeof(buf));
+ } while (len < 0 && errno == EINTR);
+
+ close(in);
+
+ if (len < 0 || len >= sizeof(buf))
+ return -1;
+
+ buf[len] = 0;
+ uid = strtol(buf, 0, 10);
+
+ if (errno != 0)
+ return -1;
+ else
+ return uid;
+}
+#endif /* WITH_LSPP */
/*
* 'pipe_command()' - Pipe the output of a command to the remote client.
diff -ur cups-1.2.1-orig/scheduler/client.h cups-1.2.1/scheduler/client.h
--- cups-1.2.1-orig/scheduler/client.h 2006-03-17 22:05:12.000000000 -0500
+++ cups-1.2.1/scheduler/client.h 2006-06-29 16:39:50.000000000 -0400
@@ -22,6 +22,13 @@
* WWW: http://www.cups.org
*/
+/* Copyright (C) 2005 Trusted Computer Solutions, Inc. */
+/* (c) Copyright 2005-2006 Hewlett-Packard Development Company, L.P. */
+
+#ifdef WITH_LSPP
+#include <selinux/selinux.h>
+#endif /* WITH_LSPP */
+
/*
* HTTP client structure...
*/
@@ -55,6 +62,10 @@
http_addr_t clientaddr; /* Client address */
char servername[256];/* Server name for connection */
int serverport; /* Server port for connection */
+#ifdef WITH_LSPP
+ security_context_t scon; /* Security context of connection */
+ uid_t auid; /* Audit loginuid of the client */
+#endif /* WITH_LSPP */
};
#define HTTP(con) &((con)->http)
@@ -118,6 +129,9 @@
extern void cupsdStopListening(void);
extern void cupsdUpdateCGI(void);
extern int cupsdWriteClient(cupsd_client_t *con);
+#ifdef WITH_LSPP
+extern uid_t client_pid_to_auid(pid_t clipid);
+#endif /* WITH_LSPP */
/*
diff -ur cups-1.2.1-orig/scheduler/conf.c cups-1.2.1/scheduler/conf.c
--- cups-1.2.1-orig/scheduler/conf.c 2006-07-14 16:15:21.000000000 -0400
+++ cups-1.2.1/scheduler/conf.c 2006-07-14 17:45:46.000000000 -0400
@@ -35,6 +35,7 @@
* read_configuration() - Read a configuration file.
* read_location() - Read a <Location path> definition.
* read_policy() - Read a <Policy name> definition.
+ * is_lspp_config() - Is the system configured for LSPP
*/
/*
@@ -60,6 +61,9 @@
# define INADDR_NONE 0xffffffff
#endif /* !INADDR_NONE */
+#ifdef WITH_LSPP
+# include <libaudit.h>
+#endif /* WITH_LSPP */
/*
* Configuration variable structure...
@@ -161,6 +165,9 @@
{ "ServerKey", &ServerKey, CUPSD_VARTYPE_STRING },
# endif /* HAVE_LIBSSL || HAVE_GNUTLS */
#endif /* HAVE_SSL */
+#ifdef WITH_LSPP
+ { "AuditLog", &AuditLog, CUPSD_VARTYPE_INTEGER },
+#endif /* WITH_LSPP */
#ifdef HAVE_LAUNCHD
{ "LaunchdTimeout", &LaunchdTimeout, CUPSD_VARTYPE_INTEGER },
{ "LaunchdConf", &LaunchdConf, CUPSD_VARTYPE_STRING },
@@ -223,6 +230,9 @@
*old_requestroot; /* Old RequestRoot */
const char *tmpdir; /* TMPDIR environment variable */
struct stat tmpinfo; /* Temporary directory info */
+#ifdef WITH_LSPP
+ char *audit_message; /* Audit message string */
+#endif /* WITH_LSPP */
/*
@@ -377,6 +387,16 @@
}
}
+#ifdef WITH_LSPP
+ /*
+ * ClassifyOverride is set during read_configuration, if its on, report it now
+ */
+ if (ClassifyOverride)
+ audit_log_user_message(AuditLog, AUDIT_USYS_CONFIG,
+ "[Config] ClassifyOverride=enabled Users can override print banners",
+ ServerName, NULL, NULL, 1);
+#endif /* WITH_LSPP */
+
/*
* Numeric options...
*/
@@ -779,7 +799,16 @@
cupsdClearString(&Classification);
if (Classification)
+ {
cupsdLogMessage(CUPSD_LOG_INFO, "Security set to \"%s\"", Classification);
+#ifdef WITH_LSPP
+ audit_message = NULL;
+ cupsdSetStringf(&audit_message, "[Config] Security level=%s", Classification);
+ audit_log_user_message(AuditLog, AUDIT_LABEL_LEVEL_CHANGE, audit_message,
+ ServerName, NULL, NULL, 1);
+ free(audit_message);
+#endif /* WITH_LSPP */
+ }
/*
* Update the MaxClientsPerHost value, as needed...
@@ -2215,7 +2244,6 @@
cupsd_dirsvc_addr_t *dira; /* New browse address array */
-
if (NumBrowsers == 0)
dira = malloc(sizeof(cupsd_dirsvc_addr_t));
else
@@ -3263,6 +3291,18 @@
return (0);
}
+#ifdef WITH_LSPP
+int is_lspp_config()
+{
+ if (Classification != NULL)
+ return ((strcasecmp(Classification, MLS_CONFIG) == 0)
+ || (strcasecmp(Classification, TE_CONFIG) == 0)
+ || (strcasecmp(Classification, SELINUX_CONFIG) == 0));
+ else
+ return 0;
+}
+#endif /* WITH_LSPP */
+
/*
* End of "$Id: conf.c 5696 2006-06-26 18:34:20Z mike $".
diff -ur cups-1.2.1-orig/scheduler/conf.h cups-1.2.1/scheduler/conf.h
--- cups-1.2.1-orig/scheduler/conf.h 2006-07-14 16:15:21.000000000 -0400
+++ cups-1.2.1/scheduler/conf.h 2006-07-14 17:45:46.000000000 -0400
@@ -182,7 +182,6 @@
/* Number of MIME types */
VAR const char **MimeTypes VALUE(NULL);
/* Array of MIME types */
-
#ifdef HAVE_SSL
VAR char *ServerCertificate VALUE(NULL);
/* Server certificate file */
@@ -191,6 +190,10 @@
/* Server key file */
# endif /* HAVE_LIBSSL || HAVE_GNUTLS */
#endif /* HAVE_SSL */
+#ifdef WITH_LSPP
+VAR int AuditLog VALUE(-1);
+ /* File descriptor for audit */
+#endif /* WITH_LSPP */
#ifdef HAVE_LAUNCHD
VAR int LaunchdTimeout VALUE(DEFAULT_TIMEOUT);
@@ -213,6 +216,9 @@
;
extern int cupsdLogPage(cupsd_job_t *job, const char *page);
+#ifdef WITH_LSPP
+extern int is_lspp_config(void);
+#endif /* WITH_LSPP */
/*
* End of "$Id: conf.h 5696 2006-06-26 18:34:20Z mike $".
diff -ur cups-1.2.1-orig/scheduler/job.h cups-1.2.1/scheduler/job.h
--- cups-1.2.1-orig/scheduler/job.h 2006-04-14 14:17:18.000000000 -0400
+++ cups-1.2.1/scheduler/job.h 2006-06-29 03:33:19.000000000 -0400
@@ -22,6 +22,13 @@
* WWW: http://www.cups.org
*/
+/* Copyright (C) 2005 Trusted Computer Solutions, Inc. */
+/* (c) Copyright 2005-2006 Hewlett-Packard Development Company, L.P. */
+
+#ifdef WITH_LSPP
+#include <selinux/selinux.h>
+#endif /* WITH_LSPP */
+
/*
* Job request structure...
*/
@@ -55,6 +62,10 @@
int status; /* Status code from filters */
cupsd_printer_t *printer; /* Printer this job is assigned to */
int tries; /* Number of tries for this job */
+#ifdef WITH_LSPP
+ security_context_t scon; /* Security context of job */
+ uid_t auid; /* Audit loginuid for this job */
+#endif /* WITH_LSPP */
} cupsd_job_t;
diff -ur cups-1.2.1-orig/scheduler/main.c cups-1.2.1/scheduler/main.c
--- cups-1.2.1-orig/scheduler/main.c 2006-07-14 16:15:22.000000000 -0400
+++ cups-1.2.1/scheduler/main.c 2006-07-14 17:45:47.000000000 -0400
@@ -47,6 +47,8 @@
* usage() - Show scheduler usage.
*/
+/* (c) Copyright 2005-2006 Hewlett-Packard Development Company, L.P. */
+
/*
* Include necessary headers...
*/
@@ -69,6 +71,9 @@
# include <notify.h>
#endif /* HAVE_NOTIFY_H */
+#ifdef WITH_LSPP
+# include <libaudit.h>
+#endif /* WITH_LSPP */
/*
* Local functions...
@@ -351,6 +356,17 @@
#endif /* DEBUG */
}
+#ifdef WITH_LSPP
+ if ((AuditLog = audit_open()) < 0 )
+ {
+ if (is_lspp_config())
+ {
+ fprintf(stderr, "cupsd: unable to start auditing");
+ return -1;
+ }
+ }
+#endif /* WITH_LSPP */
+
/*
* Set the timezone info...
*/
@@ -1115,6 +1131,10 @@
free(input);
free(output);
+#ifdef WITH_LSPP
+ audit_close(AuditLog);
+#endif /* WITH_LSPP */
+
return (!stop_scheduler);
}
diff -ur cups-1.2.1-orig/scheduler/Makefile cups-1.2.1/scheduler/Makefile
--- cups-1.2.1-orig/scheduler/Makefile 2006-03-05 11:48:12.000000000 -0500
+++ cups-1.2.1/scheduler/Makefile 2006-07-14 17:45:47.000000000 -0400
@@ -54,6 +54,7 @@
OBJS = \
$(CUPSDOBJS) \
$(MIMEOBJS) \
+ access.o \
cups-deviced.o \
cups-driverd.o \
cups-lpd.o \
@@ -63,6 +64,7 @@
testspeed.o \
util.o
TARGETS = \
+ access \
cupsd \
cups-deviced \
cups-driverd \
@@ -111,7 +113,8 @@
$(INSTALL_DIR) -m 755 $(SERVERBIN)
echo Creating $(SERVERBIN)/daemon...
$(INSTALL_DIR) -m 755 $(SERVERBIN)/daemon
- echo Installing cups-deviced, cups-driverd, cups-lpd, and cups-polld in $(SERVERBIN)/daemon...
+ echo Installing access cups-deviced, cups-driverd, cups-lpd, and cups-polld in $(SERVERBIN)/daemon...
+ $(INSTALL_BIN) access $(SERVERBIN)/daemon
$(INSTALL_BIN) cups-deviced $(SERVERBIN)/daemon
$(INSTALL_BIN) cups-driverd $(SERVERBIN)/daemon
$(INSTALL_BIN) cups-lpd $(SERVERBIN)/daemon
@@ -154,6 +157,7 @@
uninstall: all
$(RM) $(SBINDIR)/cupsd
+ $(RM) $(SERVERBIN)/daemon/access
$(RM) $(SERVERBIN)/daemon/cups-deviced
$(RM) $(SERVERBIN)/daemon/cups-driverd
$(RM) $(SERVERBIN)/daemon/cups-lpd
diff -ur cups-1.2.1-orig/scheduler/printers.c cups-1.2.1/scheduler/printers.c
--- cups-1.2.1-orig/scheduler/printers.c 2006-07-14 16:15:21.000000000 -0400
+++ cups-1.2.1/scheduler/printers.c 2006-07-14 17:45:47.000000000 -0400
@@ -57,6 +57,8 @@
* printing desktop tools.
*/
+/* (c) Copyright 2005-2006 Hewlett-Packard Development Company, L.P. */
+
/*
* Include necessary headers...
*/
@@ -79,6 +81,9 @@
static void write_irix_state(cupsd_printer_t *p);
#endif /* __sgi */
+#ifdef WITH_LSPP
+# include <libaudit.h>
+#endif /* WITH_LSPP */
/*
* 'cupsdAddPrinter()' - Add a printer to the system.
@@ -1467,6 +1472,9 @@
"two-sided-long-edge",
"two-sided-short-edge"
};
+#ifdef WITH_LSPP
+ char *audit_message; /* Audit message string */
+#endif /* WITH_LSPP */
DEBUG_printf(("cupsdSetPrinterAttrs: entering name = %s, type = %x\n", p->name,
@@ -1573,6 +1581,14 @@
attr->values[1].string.text = _cupsStrAlloc(Classification ?
Classification : p->job_sheets[1]);
}
+#ifdef WITH_LSPP
+ audit_message = NULL;
+ cupsdSetStringf(&audit_message, "[Config] printer=%s uri=%s banners set to %s %s",
+ p->name, p->device_uri, p->job_sheets[0], p->job_sheets[1]);
+ audit_log_user_message(AuditLog, AUDIT_LABEL_LEVEL_CHANGE, audit_message,
+ ServerName, NULL, NULL, 1);
+ free(audit_message);
+#endif /* WITH_LSPP */
}
printer_type = p->type;
diff -ur cups-1.2.1-orig/data/te cups-1.2.1/data/te
--- cups-1.2.1-orig/data/te 2006-07-14 16:15:21.000000000 -0400
+++ cups-1.2.1/data/te 2006-06-28 19:38:23.000000000 -0400
@@ -0,0 +1,277 @@
+%!PS-Adobe-3.0
+%%BoundingBox: 0 0 612 792
+%%Pages: 1
+%%LanguageLevel: 1
+%%DocumentData: Clean7Bit
+%%DocumentSuppliedResources: procset bannerprint/1.0
+%%DocumentNeededResources: font Helvetica Helvetica-Bold Times-Roman
+%%Creator: Michael Sweet, Easy Software Products
+%%CreationDate: May 10, 2000
+%%Title: Test Page
+%%EndComments
+%%BeginProlog
+%%BeginResource procset bannerprint 1.1 0
+%
+% PostScript banner page for the Common UNIX Printing System ("CUPS").
+%
+% Copyright 1993-2005 by Easy Software Products
+%
+% These coded instructions, statements, and computer programs are the
+% property of Easy Software Products and are protected by Federal
+% copyright law. Distribution and use rights are outlined in the file
+% "LICENSE.txt" which should have been included with this file. If this
+% file is missing or damaged please contact Easy Software Products
+% at:
+%
+% Attn: CUPS Licensing Information
+% Easy Software Products
+% 44141 Airport View Drive, Suite 204
+% Hollywood, Maryland 20636 USA
+%
+% Voice: (301) 373-9600
+% EMail: cups-info cups org
+% WWW: http://www.cups.org
+%
+/CENTER { % Draw centered text
+ % (name) CENTER -
+ dup stringwidth pop % Get the width of the string
+ 0.5 mul neg 0 rmoveto % Shift left 1/2 of the distance
+ show % Show the string
+} bind def
+/RIGHT { % Draw right-justified text
+ % (name) RIGHT -
+ dup stringwidth pop % Get the width of the string
+ neg 0 rmoveto % Shift left the entire distance
+ show % Show the string
+} bind def
+/NUMBER { % Draw a number
+ % power n NUMBER -
+ 1 index 1 eq { % power == 1?
+ round cvi exch pop % Convert "n" to integer
+ } {
+ 1 index mul round exch div % Truncate extra decimal places
+ } ifelse
+ 100 string cvs show % Convert to a string and show it...
+} bind def
+/CUPSLOGO { % Draw the CUPS logo
+ % height CUPSLOGO
+ % Start with a big C...
+ /Helvetica findfont 1 index scalefont setfont
+ 0 setgray
+ 0 0 moveto
+ (C) show
+
+ % Then "UNIX Printing System" much smaller...
+ /Helvetica-Bold findfont 1 index 9 div scalefont setfont
+ 0.25 mul
+ dup dup 2.0 mul moveto
+ (UNIX) show
+ dup dup 1.6 mul moveto
+ (Printing) show
+ dup 1.2 mul moveto
+ (System) show
+} bind def
+/ESPLOGO { % Draw the ESP logo
+ % height ESPLOGO
+ % Compute the size of the logo...
+ 0 0
+ 2 index 1.5 mul 3 index
+
+ % Do the "metallic" fill from 10% black to 40% black...
+ 1 -0.001 0 {
+ dup % loopval
+ -0.15 mul % loopval * -0.15
+ 0.9 add % 0.9 - loopval * 0.15
+ setgray % set gray shade
+
+ 0 % x
+ 1 index neg % loopval
+ 1 add % 1 - loopval
+ 3 index % height
+ mul % height * (1 - loopval)
+ moveto % starting point
+
+ dup % loopval
+ 3 index % width
+ mul % loopval * width
+ 2 index % height
+ lineto % Next point
+
+ 0 % x
+ 2 index % height
+ lineto % Next point
+
+ closepath
+ fill
+
+ dup % loopval
+ 0.15 mul % loopval * 0.15
+ 0.6 add % 0.6 + loopval * 0.15
+ setgray
+
+ dup % loopval
+ neg 1 add % 1 - loopval
+ 3 index % width
+ mul % (1 - loopval) * width
+ 0 % y
+ moveto % Starting point
+
+ 2 index % width
+ exch % loopval
+ 2 index % height
+ mul % loopval * height
+ lineto % Next point
+
+ 1 index % width
+ 0 % y
+ lineto % Next point
+
+ closepath
+ fill
+ } for
+
+ 0 setgray rectstroke
+
+ /Helvetica-BoldOblique findfont 1 index 3 div scalefont setfont
+ dup 40 div
+
+ dup 4 mul 1 index 25 mul moveto (E) show
+ dup 10 mul 1 index 15 mul moveto (S) show
+ dup 16 mul 1 index 5 mul moveto (P) show
+
+ /Helvetica-BoldOblique findfont 2 index 5 div scalefont setfont
+ dup 14 mul 1 index 29 mul moveto (asy) show
+ dup 20 mul 1 index 19 mul moveto (oftware) show
+ dup 26 mul 1 index 9 mul moveto (roducts) show
+
+ pop
+} bind def
+%%EndResource
+%%EndProlog
+%%Page: 1 1
+gsave
+
+ % Determine the imageable area and device resolution...
+ initclip newpath clippath pathbbox % Get bounding rectangle
+ 72 div /pageTop exch def % Get top margin in inches
+ 72 div /pageRight exch def % Get right margin in inches
+ 72 div /pageBottom exch def % Get bottom margin in inches
+ 72 div /pageLeft exch def % Get left margin in inches
+
+ /pageWidth pageRight pageLeft sub def % pageWidth = pageRight - pageLeft
+ /pageHeight pageTop pageBottom sub def% pageHeight = pageTop - pageBottom
+
+ /boxWidth % width of text box
+ pageWidth pageHeight lt
+ { pageWidth 54 mul }
+ { pageHeight 42 mul }
+ ifelse def
+
+ newpath % Clear bounding path
+
+ % Create fonts...
+ /bigFont /Helvetica-Bold findfont % bigFont = Helvetica-Bold
+ pageHeight 3 mul scalefont def % size = pageHeight * 3 (nominally 33)
+
+ /mediumFont /Helvetica findfont % mediumFont = Helvetica
+ pageHeight 1.5 mul scalefont def % size = pageHeight * 1.5 (nominally 16.5)
+
+ % Offset page to account for lower-left margin...
+ pageLeft 72 mul
+ pageBottom 72 mul
+ translate
+
+ % Draw the label at the top and bottom...
+ 0 setgray % Color
+
+ pageWidth 36 mul % Center of page
+ pageHeight 72 mul % Top of page
+ pageWidth -7 mul add % - 2 lines
+ moveto % Position text
+ bigFont setfont % Font
+ ({mls-label}) CENTER % Show text centered
+
+ pageWidth 36 mul % Center of page
+ pageHeight 6 mul % Bottom of page
+ moveto % Position text
+ bigFont setfont % Font
+ ({mls-label}) CENTER % Show text centered
+
+ % Job information box...
+ pageWidth 36 mul 9 add % x = pageWidth * 1/2 * 72 + 9
+ boxWidth 0.5 mul sub % x-= 1/2 box width
+ pageHeight 30 mul 9 sub % y = pageHeight * 1/2 * 72 - 9
+ boxWidth % w = box width
+ pageHeight 14 mul % h = pageHeight * 1/2 * 72
+ 0.5 setgray rectfill % Draw a shadow
+
+ pageWidth 36 mul % x = pageWidth * 1/2 * 72
+ boxWidth 0.5 mul sub % x-= 1/2 box width
+ pageHeight 30 mul % y = pageHeight * 1/4 * 72
+ boxWidth % w = box width
+ pageHeight 14 mul % h = pageHeight * 1/2 * 72
+
+ 4 copy 1 setgray rectfill % Clear the box to white
+ 0 setgray rectstroke % Draw a black box around it...
+
+ % Job information text...
+ mediumFont setfont % Medium sized font
+
+ pageWidth 36 mul % x = pageWidth * 1/2 * 72
+ pageHeight 36 mul % y = pageHeight * 1/2 * 72
+ pageHeight 5 mul add % y += 2 lines
+ 2 copy % Copy X & Y
+ moveto
+ (Job ID: ) RIGHT
+ moveto
+ ({printer-name}-{job-id}) show
+
+ pageWidth 36 mul % x = pageWidth * 1/2 * 72
+ pageHeight 36 mul % y = pageHeight * 1/2 * 72
+ pageHeight 2 mul add % y += 1 line
+ 2 copy % Copy X & Y
+ moveto
+ (Title: ) RIGHT
+ moveto
+ ({job-name}) show
+
+ pageWidth 36 mul % x = pageWidth * 1/2 * 72
+ pageHeight 36 mul % y = pageHeight * 1/2 * 72
+ pageHeight -1 mul add % y -= 1 line
+ 2 copy % Copy X & Y
+ moveto
+ (Requesting User: ) RIGHT
+ moveto
+ ({job-originating-user-name}) show
+
+ pageWidth 36 mul % x = pageWidth * 1/2 * 72
+ pageHeight 36 mul % y = pageHeight * 1/2 * 72
+ pageHeight -4 mul add % y -= 2 lines
+ 2 copy % Copy X & Y
+ moveto
+ (Billing Info: ) RIGHT
+ moveto
+ ({?job-billing}) show
+
+ % Then the CUPS logo....
+ gsave
+ pageWidth 4 mul
+ pageWidth 6 mul
+ translate
+ pageWidth 9 mul CUPSLOGO
+ grestore
+
+ % And the ESP logo....
+ gsave
+ pageWidth 59 mul
+ pageWidth 6 mul
+ translate
+ pageWidth 6 mul ESPLOGO
+ grestore
+% Show the page...
+grestore
+showpage
+%
+% End of "$Id: mls_template,v 1.1 2005/06/27 18:44:46 colmo Exp $".
+%
+%%EOF
diff -ur cups-1.2.1-orig/data/selinux cups-1.2.1/data/selinux
--- cups-1.2.1-orig/data/selinux 2006-07-14 16:15:21.000000000 -0400
+++ cups-1.2.1/data/selinux 2006-06-28 19:38:23.000000000 -0400
@@ -0,0 +1,277 @@
+%!PS-Adobe-3.0
+%%BoundingBox: 0 0 612 792
+%%Pages: 1
+%%LanguageLevel: 1
+%%DocumentData: Clean7Bit
+%%DocumentSuppliedResources: procset bannerprint/1.0
+%%DocumentNeededResources: font Helvetica Helvetica-Bold Times-Roman
+%%Creator: Michael Sweet, Easy Software Products
+%%CreationDate: May 10, 2000
+%%Title: Test Page
+%%EndComments
+%%BeginProlog
+%%BeginResource procset bannerprint 1.1 0
+%
+% PostScript banner page for the Common UNIX Printing System ("CUPS").
+%
+% Copyright 1993-2005 by Easy Software Products
+%
+% These coded instructions, statements, and computer programs are the
+% property of Easy Software Products and are protected by Federal
+% copyright law. Distribution and use rights are outlined in the file
+% "LICENSE.txt" which should have been included with this file. If this
+% file is missing or damaged please contact Easy Software Products
+% at:
+%
+% Attn: CUPS Licensing Information
+% Easy Software Products
+% 44141 Airport View Drive, Suite 204
+% Hollywood, Maryland 20636 USA
+%
+% Voice: (301) 373-9600
+% EMail: cups-info cups org
+% WWW: http://www.cups.org
+%
+/CENTER { % Draw centered text
+ % (name) CENTER -
+ dup stringwidth pop % Get the width of the string
+ 0.5 mul neg 0 rmoveto % Shift left 1/2 of the distance
+ show % Show the string
+} bind def
+/RIGHT { % Draw right-justified text
+ % (name) RIGHT -
+ dup stringwidth pop % Get the width of the string
+ neg 0 rmoveto % Shift left the entire distance
+ show % Show the string
+} bind def
+/NUMBER { % Draw a number
+ % power n NUMBER -
+ 1 index 1 eq { % power == 1?
+ round cvi exch pop % Convert "n" to integer
+ } {
+ 1 index mul round exch div % Truncate extra decimal places
+ } ifelse
+ 100 string cvs show % Convert to a string and show it...
+} bind def
+/CUPSLOGO { % Draw the CUPS logo
+ % height CUPSLOGO
+ % Start with a big C...
+ /Helvetica findfont 1 index scalefont setfont
+ 0 setgray
+ 0 0 moveto
+ (C) show
+
+ % Then "UNIX Printing System" much smaller...
+ /Helvetica-Bold findfont 1 index 9 div scalefont setfont
+ 0.25 mul
+ dup dup 2.0 mul moveto
+ (UNIX) show
+ dup dup 1.6 mul moveto
+ (Printing) show
+ dup 1.2 mul moveto
+ (System) show
+} bind def
+/ESPLOGO { % Draw the ESP logo
+ % height ESPLOGO
+ % Compute the size of the logo...
+ 0 0
+ 2 index 1.5 mul 3 index
+
+ % Do the "metallic" fill from 10% black to 40% black...
+ 1 -0.001 0 {
+ dup % loopval
+ -0.15 mul % loopval * -0.15
+ 0.9 add % 0.9 - loopval * 0.15
+ setgray % set gray shade
+
+ 0 % x
+ 1 index neg % loopval
+ 1 add % 1 - loopval
+ 3 index % height
+ mul % height * (1 - loopval)
+ moveto % starting point
+
+ dup % loopval
+ 3 index % width
+ mul % loopval * width
+ 2 index % height
+ lineto % Next point
+
+ 0 % x
+ 2 index % height
+ lineto % Next point
+
+ closepath
+ fill
+
+ dup % loopval
+ 0.15 mul % loopval * 0.15
+ 0.6 add % 0.6 + loopval * 0.15
+ setgray
+
+ dup % loopval
+ neg 1 add % 1 - loopval
+ 3 index % width
+ mul % (1 - loopval) * width
+ 0 % y
+ moveto % Starting point
+
+ 2 index % width
+ exch % loopval
+ 2 index % height
+ mul % loopval * height
+ lineto % Next point
+
+ 1 index % width
+ 0 % y
+ lineto % Next point
+
+ closepath
+ fill
+ } for
+
+ 0 setgray rectstroke
+
+ /Helvetica-BoldOblique findfont 1 index 3 div scalefont setfont
+ dup 40 div
+
+ dup 4 mul 1 index 25 mul moveto (E) show
+ dup 10 mul 1 index 15 mul moveto (S) show
+ dup 16 mul 1 index 5 mul moveto (P) show
+
+ /Helvetica-BoldOblique findfont 2 index 5 div scalefont setfont
+ dup 14 mul 1 index 29 mul moveto (asy) show
+ dup 20 mul 1 index 19 mul moveto (oftware) show
+ dup 26 mul 1 index 9 mul moveto (roducts) show
+
+ pop
+} bind def
+%%EndResource
+%%EndProlog
+%%Page: 1 1
+gsave
+
+ % Determine the imageable area and device resolution...
+ initclip newpath clippath pathbbox % Get bounding rectangle
+ 72 div /pageTop exch def % Get top margin in inches
+ 72 div /pageRight exch def % Get right margin in inches
+ 72 div /pageBottom exch def % Get bottom margin in inches
+ 72 div /pageLeft exch def % Get left margin in inches
+
+ /pageWidth pageRight pageLeft sub def % pageWidth = pageRight - pageLeft
+ /pageHeight pageTop pageBottom sub def% pageHeight = pageTop - pageBottom
+
+ /boxWidth % width of text box
+ pageWidth pageHeight lt
+ { pageWidth 54 mul }
+ { pageHeight 42 mul }
+ ifelse def
+
+ newpath % Clear bounding path
+
+ % Create fonts...
+ /bigFont /Helvetica-Bold findfont % bigFont = Helvetica-Bold
+ pageHeight 3 mul scalefont def % size = pageHeight * 3 (nominally 33)
+
+ /mediumFont /Helvetica findfont % mediumFont = Helvetica
+ pageHeight 1.5 mul scalefont def % size = pageHeight * 1.5 (nominally 16.5)
+
+ % Offset page to account for lower-left margin...
+ pageLeft 72 mul
+ pageBottom 72 mul
+ translate
+
+ % Draw the label at the top and bottom...
+ 0 setgray % Color
+
+ pageWidth 36 mul % Center of page
+ pageHeight 72 mul % Top of page
+ pageWidth -7 mul add % - 2 lines
+ moveto % Position text
+ bigFont setfont % Font
+ ({mls-label}) CENTER % Show text centered
+
+ pageWidth 36 mul % Center of page
+ pageHeight 6 mul % Bottom of page
+ moveto % Position text
+ bigFont setfont % Font
+ ({mls-label}) CENTER % Show text centered
+
+ % Job information box...
+ pageWidth 36 mul 9 add % x = pageWidth * 1/2 * 72 + 9
+ boxWidth 0.5 mul sub % x-= 1/2 box width
+ pageHeight 30 mul 9 sub % y = pageHeight * 1/2 * 72 - 9
+ boxWidth % w = box width
+ pageHeight 14 mul % h = pageHeight * 1/2 * 72
+ 0.5 setgray rectfill % Draw a shadow
+
+ pageWidth 36 mul % x = pageWidth * 1/2 * 72
+ boxWidth 0.5 mul sub % x-= 1/2 box width
+ pageHeight 30 mul % y = pageHeight * 1/4 * 72
+ boxWidth % w = box width
+ pageHeight 14 mul % h = pageHeight * 1/2 * 72
+
+ 4 copy 1 setgray rectfill % Clear the box to white
+ 0 setgray rectstroke % Draw a black box around it...
+
+ % Job information text...
+ mediumFont setfont % Medium sized font
+
+ pageWidth 36 mul % x = pageWidth * 1/2 * 72
+ pageHeight 36 mul % y = pageHeight * 1/2 * 72
+ pageHeight 5 mul add % y += 2 lines
+ 2 copy % Copy X & Y
+ moveto
+ (Job ID: ) RIGHT
+ moveto
+ ({printer-name}-{job-id}) show
+
+ pageWidth 36 mul % x = pageWidth * 1/2 * 72
+ pageHeight 36 mul % y = pageHeight * 1/2 * 72
+ pageHeight 2 mul add % y += 1 line
+ 2 copy % Copy X & Y
+ moveto
+ (Title: ) RIGHT
+ moveto
+ ({job-name}) show
+
+ pageWidth 36 mul % x = pageWidth * 1/2 * 72
+ pageHeight 36 mul % y = pageHeight * 1/2 * 72
+ pageHeight -1 mul add % y -= 1 line
+ 2 copy % Copy X & Y
+ moveto
+ (Requesting User: ) RIGHT
+ moveto
+ ({job-originating-user-name}) show
+
+ pageWidth 36 mul % x = pageWidth * 1/2 * 72
+ pageHeight 36 mul % y = pageHeight * 1/2 * 72
+ pageHeight -4 mul add % y -= 2 lines
+ 2 copy % Copy X & Y
+ moveto
+ (Billing Info: ) RIGHT
+ moveto
+ ({?job-billing}) show
+
+ % Then the CUPS logo....
+ gsave
+ pageWidth 4 mul
+ pageWidth 6 mul
+ translate
+ pageWidth 9 mul CUPSLOGO
+ grestore
+
+ % And the ESP logo....
+ gsave
+ pageWidth 59 mul
+ pageWidth 6 mul
+ translate
+ pageWidth 6 mul ESPLOGO
+ grestore
+% Show the page...
+grestore
+showpage
+%
+% End of "$Id: mls_template,v 1.1 2005/06/27 18:44:46 colmo Exp $".
+%
+%%EOF
diff -ur cups-1.2.1-orig/data/mls cups-1.2.1/data/mls
--- cups-1.2.1-orig/data/mls 2006-07-14 16:15:21.000000000 -0400
+++ cups-1.2.1/data/mls 2006-06-28 19:38:23.000000000 -0400
@@ -0,0 +1,277 @@
+%!PS-Adobe-3.0
+%%BoundingBox: 0 0 612 792
+%%Pages: 1
+%%LanguageLevel: 1
+%%DocumentData: Clean7Bit
+%%DocumentSuppliedResources: procset bannerprint/1.0
+%%DocumentNeededResources: font Helvetica Helvetica-Bold Times-Roman
+%%Creator: Michael Sweet, Easy Software Products
+%%CreationDate: May 10, 2000
+%%Title: Test Page
+%%EndComments
+%%BeginProlog
+%%BeginResource procset bannerprint 1.1 0
+%
+% PostScript banner page for the Common UNIX Printing System ("CUPS").
+%
+% Copyright 1993-2005 by Easy Software Products
+%
+% These coded instructions, statements, and computer programs are the
+% property of Easy Software Products and are protected by Federal
+% copyright law. Distribution and use rights are outlined in the file
+% "LICENSE.txt" which should have been included with this file. If this
+% file is missing or damaged please contact Easy Software Products
+% at:
+%
+% Attn: CUPS Licensing Information
+% Easy Software Products
+% 44141 Airport View Drive, Suite 204
+% Hollywood, Maryland 20636 USA
+%
+% Voice: (301) 373-9600
+% EMail: cups-info cups org
+% WWW: http://www.cups.org
+%
+/CENTER { % Draw centered text
+ % (name) CENTER -
+ dup stringwidth pop % Get the width of the string
+ 0.5 mul neg 0 rmoveto % Shift left 1/2 of the distance
+ show % Show the string
+} bind def
+/RIGHT { % Draw right-justified text
+ % (name) RIGHT -
+ dup stringwidth pop % Get the width of the string
+ neg 0 rmoveto % Shift left the entire distance
+ show % Show the string
+} bind def
+/NUMBER { % Draw a number
+ % power n NUMBER -
+ 1 index 1 eq { % power == 1?
+ round cvi exch pop % Convert "n" to integer
+ } {
+ 1 index mul round exch div % Truncate extra decimal places
+ } ifelse
+ 100 string cvs show % Convert to a string and show it...
+} bind def
+/CUPSLOGO { % Draw the CUPS logo
+ % height CUPSLOGO
+ % Start with a big C...
+ /Helvetica findfont 1 index scalefont setfont
+ 0 setgray
+ 0 0 moveto
+ (C) show
+
+ % Then "UNIX Printing System" much smaller...
+ /Helvetica-Bold findfont 1 index 9 div scalefont setfont
+ 0.25 mul
+ dup dup 2.0 mul moveto
+ (UNIX) show
+ dup dup 1.6 mul moveto
+ (Printing) show
+ dup 1.2 mul moveto
+ (System) show
+} bind def
+/ESPLOGO { % Draw the ESP logo
+ % height ESPLOGO
+ % Compute the size of the logo...
+ 0 0
+ 2 index 1.5 mul 3 index
+
+ % Do the "metallic" fill from 10% black to 40% black...
+ 1 -0.001 0 {
+ dup % loopval
+ -0.15 mul % loopval * -0.15
+ 0.9 add % 0.9 - loopval * 0.15
+ setgray % set gray shade
+
+ 0 % x
+ 1 index neg % loopval
+ 1 add % 1 - loopval
+ 3 index % height
+ mul % height * (1 - loopval)
+ moveto % starting point
+
+ dup % loopval
+ 3 index % width
+ mul % loopval * width
+ 2 index % height
+ lineto % Next point
+
+ 0 % x
+ 2 index % height
+ lineto % Next point
+
+ closepath
+ fill
+
+ dup % loopval
+ 0.15 mul % loopval * 0.15
+ 0.6 add % 0.6 + loopval * 0.15
+ setgray
+
+ dup % loopval
+ neg 1 add % 1 - loopval
+ 3 index % width
+ mul % (1 - loopval) * width
+ 0 % y
+ moveto % Starting point
+
+ 2 index % width
+ exch % loopval
+ 2 index % height
+ mul % loopval * height
+ lineto % Next point
+
+ 1 index % width
+ 0 % y
+ lineto % Next point
+
+ closepath
+ fill
+ } for
+
+ 0 setgray rectstroke
+
+ /Helvetica-BoldOblique findfont 1 index 3 div scalefont setfont
+ dup 40 div
+
+ dup 4 mul 1 index 25 mul moveto (E) show
+ dup 10 mul 1 index 15 mul moveto (S) show
+ dup 16 mul 1 index 5 mul moveto (P) show
+
+ /Helvetica-BoldOblique findfont 2 index 5 div scalefont setfont
+ dup 14 mul 1 index 29 mul moveto (asy) show
+ dup 20 mul 1 index 19 mul moveto (oftware) show
+ dup 26 mul 1 index 9 mul moveto (roducts) show
+
+ pop
+} bind def
+%%EndResource
+%%EndProlog
+%%Page: 1 1
+gsave
+
+ % Determine the imageable area and device resolution...
+ initclip newpath clippath pathbbox % Get bounding rectangle
+ 72 div /pageTop exch def % Get top margin in inches
+ 72 div /pageRight exch def % Get right margin in inches
+ 72 div /pageBottom exch def % Get bottom margin in inches
+ 72 div /pageLeft exch def % Get left margin in inches
+
+ /pageWidth pageRight pageLeft sub def % pageWidth = pageRight - pageLeft
+ /pageHeight pageTop pageBottom sub def% pageHeight = pageTop - pageBottom
+
+ /boxWidth % width of text box
+ pageWidth pageHeight lt
+ { pageWidth 54 mul }
+ { pageHeight 42 mul }
+ ifelse def
+
+ newpath % Clear bounding path
+
+ % Create fonts...
+ /bigFont /Helvetica-Bold findfont % bigFont = Helvetica-Bold
+ pageHeight 3 mul scalefont def % size = pageHeight * 3 (nominally 33)
+
+ /mediumFont /Helvetica findfont % mediumFont = Helvetica
+ pageHeight 1.5 mul scalefont def % size = pageHeight * 1.5 (nominally 16.5)
+
+ % Offset page to account for lower-left margin...
+ pageLeft 72 mul
+ pageBottom 72 mul
+ translate
+
+ % Draw the label at the top and bottom...
+ 0 setgray % Color
+
+ pageWidth 36 mul % Center of page
+ pageHeight 72 mul % Top of page
+ pageWidth -7 mul add % - 2 lines
+ moveto % Position text
+ bigFont setfont % Font
+ ({mls-label}) CENTER % Show text centered
+
+ pageWidth 36 mul % Center of page
+ pageHeight 6 mul % Bottom of page
+ moveto % Position text
+ bigFont setfont % Font
+ ({mls-label}) CENTER % Show text centered
+
+ % Job information box...
+ pageWidth 36 mul 9 add % x = pageWidth * 1/2 * 72 + 9
+ boxWidth 0.5 mul sub % x-= 1/2 box width
+ pageHeight 30 mul 9 sub % y = pageHeight * 1/2 * 72 - 9
+ boxWidth % w = box width
+ pageHeight 14 mul % h = pageHeight * 1/2 * 72
+ 0.5 setgray rectfill % Draw a shadow
+
+ pageWidth 36 mul % x = pageWidth * 1/2 * 72
+ boxWidth 0.5 mul sub % x-= 1/2 box width
+ pageHeight 30 mul % y = pageHeight * 1/4 * 72
+ boxWidth % w = box width
+ pageHeight 14 mul % h = pageHeight * 1/2 * 72
+
+ 4 copy 1 setgray rectfill % Clear the box to white
+ 0 setgray rectstroke % Draw a black box around it...
+
+ % Job information text...
+ mediumFont setfont % Medium sized font
+
+ pageWidth 36 mul % x = pageWidth * 1/2 * 72
+ pageHeight 36 mul % y = pageHeight * 1/2 * 72
+ pageHeight 5 mul add % y += 2 lines
+ 2 copy % Copy X & Y
+ moveto
+ (Job ID: ) RIGHT
+ moveto
+ ({printer-name}-{job-id}) show
+
+ pageWidth 36 mul % x = pageWidth * 1/2 * 72
+ pageHeight 36 mul % y = pageHeight * 1/2 * 72
+ pageHeight 2 mul add % y += 1 line
+ 2 copy % Copy X & Y
+ moveto
+ (Title: ) RIGHT
+ moveto
+ ({job-name}) show
+
+ pageWidth 36 mul % x = pageWidth * 1/2 * 72
+ pageHeight 36 mul % y = pageHeight * 1/2 * 72
+ pageHeight -1 mul add % y -= 1 line
+ 2 copy % Copy X & Y
+ moveto
+ (Requesting User: ) RIGHT
+ moveto
+ ({job-originating-user-name}) show
+
+ pageWidth 36 mul % x = pageWidth * 1/2 * 72
+ pageHeight 36 mul % y = pageHeight * 1/2 * 72
+ pageHeight -4 mul add % y -= 2 lines
+ 2 copy % Copy X & Y
+ moveto
+ (Billing Info: ) RIGHT
+ moveto
+ ({?job-billing}) show
+
+ % Then the CUPS logo....
+ gsave
+ pageWidth 4 mul
+ pageWidth 6 mul
+ translate
+ pageWidth 9 mul CUPSLOGO
+ grestore
+
+ % And the ESP logo....
+ gsave
+ pageWidth 59 mul
+ pageWidth 6 mul
+ translate
+ pageWidth 6 mul ESPLOGO
+ grestore
+% Show the page...
+grestore
+showpage
+%
+% End of "$Id: mls_template,v 1.1 2005/06/27 18:44:46 colmo Exp $".
+%
+%%EOF
diff -ur cups-1.2.1-orig/config-scripts/cups-lspp.m4 cups-1.2.1/config-script/cups-lspp.m4
--- cups-1.2.1-orig/config-scripts/cups-lspp.m4 2006-07-14 22:21:54.787457000 -0400
+++ cups-1.2.1/config-scripts/cups-lspp.m4 2006-06-28 15:58:49.000000000 -0400
@@ -0,0 +1,36 @@
+dnl
+dnl LSPP code for the Common UNIX Printing System (CUPS).
+dnl
+dnl Copyright 2005-2006 by Hewlett-Packard Development Company, L.P.
+dnl
+dnl This program is free software; you can redistribute it and/or modify
+dnl it under the terms of the GNU General Public License as published by
+dnl the Free Software Foundation; version 2.
+dnl
+dnl This program is distributed in the hope that it will be useful, but
+dnl WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+dnl General Public License for more details.
+dnl
+dnl You should have received a copy of the GNU General Public License
+dnl along with this program; if not, write to the Free Software Foundation,
+dnl Inc., 51 Franklin Street, Fifth Floor Boston, MA 02110-1301 USA
+dnl
+
+dnl Are we trying to meet LSPP requirements
+AC_ARG_ENABLE(lspp, [ --enable-lspp turn on auditing and label support, default=no])
+
+if test x"$enable_lspp" != xno; then
+ case "$uname" in
+ Linux)
+ AC_CHECK_LIB(audit,audit_log_user_message, [LIBAUDIT="-laudit" AC_SUBST(LIBAUDIT)])
+ AC_CHECK_HEADER(libaudit.h)
+ AC_CHECK_LIB(selinux,getpeercon, [LIBSELINUX="-lselinux" AC_SUBST(LIBSELINUX)])
+ AC_CHECK_HEADER(selinux/selinux.h)
+ AC_DEFINE(WITH_LSPP)
+ ;;
+ *)
+ # All others
+ ;;
+ esac
+fi
diff -ur cups-1.2.1-orig/scheduler/access.c cups-1.2.1/scheduler/access.c
--- cups-1.2.1-orig/scheduler/access.c 2006-07-14 22:49:45.299233000 -0400
+++ cups-1.2.1/scheduler/access.c 2006-07-12 14:09:40.000000000 -0400
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) Hewlett-Packard Development Company, L.P., 2006
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
+ * the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ * Contents:
+ *
+ * main() - Main entry for the access checker.
+ */
+
+#include <stdio.h>
+#include <unistd.h>
+#include <string.h>
+
+int main(int argc, char *argv[]) {
+ int status = -1;
+ char filename[FILENAME_MAX+1] = {0};
+
+ if (argc < 2)
+ {
+ printf("Check for access to which file? ");
+ scanf("%s", (char *)&filename);
+ }
+ else
+ {
+ strncpy(filename, argv[1], FILENAME_MAX);
+ }
+
+ status = access(filename, R_OK|W_OK);
+
+ if (argc < 2)
+ {
+ /*
+ * Assume the user would like to hear the answer on the terminal
+ * since the filename was received interactively.
+ */
+ if (status != 0)
+ printf("Unable to access that file.\n");
+ else
+ printf("Access Granted\n");
+ }
+
+ return status;
+}
diff -ur cups-1.2.1-orig/scheduler/job.c cups-1.2.1/scheduler/job.c
--- cups-1.2.1-orig/scheduler/job.c 2006-07-14 22:12:44.000000000 -0400
+++ cups-1.2.1/scheduler/job.c 2006-07-18 12:38:24.000000000 -0400
@@ -68,6 +68,9 @@
* unload_job() - Unload a job from memory.
*/
+/* Copyright (C) 2005 Trusted Computer Solutions, Inc. */
+/* (c) Copyright 2005-2006 Hewlett-Packard Development Company, L.P. */
+
/*
* Include necessary headers...
*/
@@ -77,6 +80,11 @@
#include <cups/backend.h>
#include <cups/dir.h>
+#ifdef WITH_LSPP
+#include <selinux/selinux.h>
+#include <selinux/context.h>
+#include <libaudit.h>
+#endif /* WITH_LSPP */
/*
* Local globals...
@@ -985,6 +993,23 @@
cupsdSetString(&job->dest, dest);
}
+#ifdef WITH_LSPP
+ if ((attr = ippFindAttribute(job->attrs, "security-context", IPP_TAG_NAME)) != NULL)
+ cupsdSetString(&job->scon, attr->values[0].string.text);
+ else if (is_lspp_config())
+ {
+ /*
+ * There was no security context so delete the job
+ */
+ cupsdLogMessage(CUPSD_LOG_ERROR, "LoadAllJobs: Missing or bad security-context attribute in control file \"%s\"!",
+ jobfile);
+ ippDelete(job->attrs);
+ job->attrs = NULL;
+ unlink(jobfile);
+ return;
+ }
+#endif /* WITH_LSPP */
+
job->sheets = ippFindAttribute(job->attrs, "job-media-sheets-completed",
IPP_TAG_INTEGER);
job->job_sheets = ippFindAttribute(job->attrs, "job-sheets", IPP_TAG_NAME);
@@ -2428,6 +2453,17 @@
int remote_job; /* Remote print job? */
static char *options = NULL;/* Full list of options */
static int optlength = 0; /* Length of option buffer */
+#ifdef WITH_LSPP
+ int acstatus = 0; /* return value of the access check */
+ pid_t acpid = -1; /* pid for the access check */
+ const char *mls_label = NULL; /* SL to put in classification env var */
+ char *audit_message = NULL; /* Audit message string */
+ char *printerfile = NULL; /* Device file pointed to by the printer */
+ char *acargv[3]; /* Command line args */
+ char buffer[1024] = {0}; /* argv[0] buffer */
+ char *acenvp[MAX_ENV]; /* Environment */
+ context_t job_context; /* SELinux context of the job */
+#endif /* WITH_LSPP */
cupsdLogMessage(CUPSD_LOG_DEBUG2, "start_job: id = %d, file = %d/%d",
@@ -2709,6 +2745,76 @@
cupsdLogMessage(CUPSD_LOG_DEBUG, "banner_page = %d", banner_page);
+#ifdef WITH_LSPP
+ if (is_lspp_config())
+ {
+ /*
+ * Perform an access check before printing, but only if the printer starts with /dev/
+ */
+ printerfile = strdup(printer->device_uri);
+ if ((printerfile = strrchr(printer->device_uri, '=')) == NULL)
+ {
+ if ((printerfile = strrchr(printer->device_uri, ':')) == NULL)
+ {
+ cupsdLogMessage(CUPSD_LOG_ERROR, "StartJob: Unable to determine printer device file");
+ cupsdCancelJob(job, 0);
+ return;
+ }
+ }
+
+ printerfile++;
+ if (strncmp(printerfile, "/dev/", 5) == 0)
+ {
+ if (setexeccon(job->scon) != 0)
+ {
+ cupsdLogMessage(CUPSD_LOG_ERROR, "StartJob: Unable to setexeccon to %s", job->scon);
+ cupsdCancelJob(job, 0);
+ return;
+ }
+
+ cupsdLogMessage(CUPSD_LOG_DEBUG, "StartJob: Attempting to check access on printer device %s",
+ printerfile);
+
+ snprintf(buffer, sizeof(buffer), "%s/daemon/access", ServerBin);
+ acargv[0] = "access";
+ acargv[1] = printerfile;
+ acargv[2] = NULL;
+
+ cupsdLoadEnv(acenvp, (int)(sizeof(acenvp) / sizeof(acenvp[0])));
+
+ if (!cupsdStartProcess(buffer, acargv, acenvp, -1, -1, -1, -1, 0, &acpid))
+ {
+ waitpid(acpid, &acstatus, 0);
+ if (WIFEXITED(acstatus))
+ {
+ if (WEXITSTATUS(acstatus) != 0)
+ {
+ /*
+ * The access check failed, so cancel the job and send an audit message
+ */
+ audit_message = NULL;
+ cupsdSetStringf(&audit_message, "job=%d auid=%u acct=%s obj=%s cancelled,"
+ " unable to access printer=%s",
+ job->id, job->auid, job->username, job->scon, printer->name);
+ audit_log_user_message(AuditLog, AUDIT_USER_LABELED_EXPORT, audit_message,
+ ServerName, NULL, NULL, 0);
+ free(audit_message);
+
+ cupsdCancelJob(job, 0);
+
+ return;
+ }
+ else
+ {
+ cupsdLogMessage(CUPSD_LOG_DEBUG, "StartJob: access check succeeded (returned %d)",
+ WEXITSTATUS(acstatus));
+ }
+ }
+ }
+ }
+ }
+#endif /* WITH_LSPP */
+
/*
* Building the options string is harder than it needs to be, but
* for the moment we need to pass strings for command-line args and
@@ -3026,6 +3132,41 @@
envp[envc ++] = final_content_type;
}
+#ifdef WITH_LSPP
+ if (is_lspp_config())
+ {
+ if (job->scon == NULL)
+ {
+ audit_message = NULL;
+ cupsdSetStringf(&audit_message, "job=%d auid=%u acct=%s printer=%s",
+ job->id, job->auid, job->username, printer->name);
+ audit_log_user_message(AuditLog, AUDIT_USER_UNLABELED_EXPORT, audit_message,
+ ServerName, NULL, NULL, 1);
+ free(audit_message);
+ }
+ else
+ {
+ job_context = context_new(job->scon);
+ if (strcasecmp(Classification, MLS_CONFIG) == 0)
+ mls_label = context_range_get(job_context);
+ else if (strcasecmp(Classification, TE_CONFIG) == 0)
+ mls_label = context_type_get(job_context);
+ else // default is SELinux which means print the whole context
+ mls_label = context_str(job_context);
+ snprintf(classification, sizeof(classification), "CLASSIFICATION=%s",
+ mls_label);
+ envp[envc ++] = classification;
+ audit_message = NULL;
+ cupsdSetStringf(&audit_message, "job=%d auid=%u acct=%s printer=%s obj=%s",
+ job->id, job->auid, job->username, printer->name, job->scon);
+ audit_log_user_message(AuditLog, AUDIT_USER_LABELED_EXPORT, audit_message,
+ ServerName, NULL, NULL, 1);
+ context_free(job_context);
+ free(audit_message);
+ }
+ }
+ else
+#endif /* WITH_LSPP */
if (Classification && !banner_page)
{
if ((attr = ippFindAttribute(job->attrs, "job-sheets",
diff -ur cups-1.2.1-orig/scheduler/ipp.c cups-1.2.1/scheduler/ipp.c
--- cups-1.2.1-orig/scheduler/ipp.c 2006-07-14 22:12:44.000000000 -0400
+++ cups-1.2.1/scheduler/ipp.c 2006-07-18 12:55:08.000000000 -0400
@@ -96,6 +96,9 @@
* validate_user() - Validate the user for the request.
*/
+/* Copyright (C) 2005 Trusted Computer Solutions, Inc. */
+/* (c) Copyright 2005-2006 Hewlett-Packard Development Company, L.P. */
+
/*
* Include necessary headers...
*/
@@ -106,6 +109,14 @@
# include <paper.h>
#endif /* HAVE_LIBPAPER */
+#ifdef WITH_LSPP
+#include <libaudit.h>
+#include <selinux/selinux.h>
+#include <selinux/context.h>
+#include <selinux/avc.h>
+#include <selinux/flask.h>
+#include <selinux/av_permissions.h>
+#endif /* WITH_LSPP */
/*
* PPD default choice structure...
@@ -1166,6 +1177,15 @@
int kbytes; /* Size of print file */
int i; /* Looping var */
int lowerpagerange; /* Page range bound */
+#ifdef WITH_LSPP
+ char *argv[3]; /* Command line args */
+ char *envp[MAX_ENV]; /* Environment */
+ char *audit_message; /* Audit message string */
+ char buffer[1024] = {0}; /* argv[0] buffer */
+ int acstatus; /* return value of the access check */
+ pid_t acpid; /* pid for the access check */
+ char *printerfile; /* device file pointed to by the printer */
+#endif /* WITH_LSPP */
cupsdLogMessage(CUPSD_LOG_DEBUG2, "add_job(%p[%d], %s)", con,
@@ -1342,6 +1362,97 @@
return (NULL);
}
+#ifdef WITH_LSPP
+ if (is_lspp_config())
+ {
+ if (!con->scon || strlen(con->scon) == 0)
+ {
+ cupsdLogMessage(CUPSD_LOG_ERROR, "add_job: missing classification for connection \'%s\'!", dest);
+ send_ipp_status(con, IPP_INTERNAL_ERROR, _("Missing required secuirty attributes."));
+ return (NULL);
+ }
+ else
+ {
+ /*
+ * duplicate the security context and auid of the connection into the job structure
+ */
+ job->scon = strdup(con->scon);
+ job->auid = con->auid;
+
+ /*
+ * add the security context to the request so that on a restart the security
+ * attributes will be able to be restored
+ */
+ ippAddString(con->request, IPP_TAG_JOB, IPP_TAG_NAME, "security-context",
+ NULL, job->scon);
+ }
+
+ /*
+ * Perform an access check so that if the user gets feedback at enqueue time
+ */
+
+ printerfile = strdup(printer->device_uri);
+ if ((printerfile = strrchr(printer->device_uri, '=')) == NULL)
+ {
+ if ((printerfile = strrchr(printer->device_uri, ':')) == NULL)
+ {
+ cupsdLogMessage(CUPSD_LOG_ERROR, "add_job: Unable to determine printer device file");
+ send_ipp_status(con, IPP_INTERNAL_ERROR, _("Unable to perform printer access check"));
+ return (NULL);
+ }
+ }
+
+ printerfile++;
+ if (strncmp(printerfile, "/dev/", 5) == 0)
+ {
+ cupsdLogMessage(CUPSD_LOG_DEBUG, "add_job: Attempting an access check on printer device %s",
+ printerfile);
+
+ if (setexeccon(job->scon) != 0)
+ {
+ cupsdLogMessage(CUPSD_LOG_ERROR, "add_job: Unable to setexeccon to %s", job->scon);
+ send_ipp_status(con, IPP_INTERNAL_ERROR, _("Internal SELinux error"));
+ return (NULL);
+ }
+
+ snprintf(buffer, sizeof(buffer), "%s/daemon/access", ServerBin);
+ argv[0] = "access";
+ argv[1] = printerfile;
+ argv[2] = NULL;
+
+ cupsdLoadEnv(envp, (int)(sizeof(envp) / sizeof(envp[0])));
+
+ if (!cupsdStartProcess(buffer, argv, envp, -1, -1, -1, -1, 0, &acpid))
+ {
+ waitpid(acpid, &acstatus, 0);
+ if (WIFEXITED(acstatus))
+ {
+ if (WEXITSTATUS(acstatus) != 0)
+ {
+ /*
+ * The access check failed, so cancel the job and send an audit message
+ */
+ audit_message = NULL;
+ cupsdSetStringf(&audit_message, "job=%d auid=%u acct=%s obj=%s refused, unable to access printer=%s",
+ job->id, con->auid, con->username, con->scon, printer->name);
+ audit_log_user_message(AuditLog, AUDIT_USER_LABELED_EXPORT, audit_message,
+ ServerName, NULL, NULL, 0);
+ free(audit_message);
+
+ send_ipp_status(con, IPP_NOT_AUTHORIZED, _("SELinux prohibits access to the printer"));
+ return (NULL);
+ }
+ else
+ {
+ cupsdLogMessage(CUPSD_LOG_DEBUG, "add_job: access check succeeded (returned %d)",
+ WEXITSTATUS(acstatus));
+ }
+ }
+ }
+ }
+ }
+#endif /* WITH_LSPP */
+
job->dtype = dtype;
job->attrs = con->request;
con->request = NULL;
@@ -1553,6 +1664,19 @@
if (ClassifyOverride)
{
+#ifdef WITH_LSPP
+ /*
+ * The configuration allows for user's to Override the banner, so let them
+ */
+ audit_message = NULL;
+ cupsdSetStringf(&audit_message, "job=%d user supplied classification \"%s\" \"%s\"",
+ job->id,
+ (attr->values[0].string.text)?attr->values[0].string.text:"none",
+ (attr->values[1].string.text)?attr->values[1].string.text:"none");
+ audit_log_user_message(AuditLog, AUDIT_LABEL_OVERRIDE, audit_message,
+ ServerName, NULL, NULL, 1);
+ free(audit_message);
+#endif /* WITH_LSPP */
if (!strcmp(attr->values[0].string.text, "none") &&
(attr->num_values == 1 ||
!strcmp(attr->values[1].string.text, "none")))
@@ -3501,6 +3613,11 @@
char attrname[255], /* Name of attribute */
*s; /* Pointer into name */
ipp_attribute_t *attr; /* Attribute */
+#ifdef WITH_LSPP
+ const char *mls_label = NULL; /* SL of print job */
+ context_t job_context; /* SELinux context of the job */
+#endif /* WITH_LSPP */
+
cupsdLogMessage(CUPSD_LOG_DEBUG2, "copy_banner(%p[%d], %p[%d], %s)",
@@ -3628,6 +3745,24 @@
else
s = attrname;
+#ifdef WITH_LSPP
+ if (strcmp(s, "mls-label") == 0)
+ {
+ if (con->scon != NULL && strcmp(con->scon, UNKNOWN_SL) != 0)
+ {
+ job_context = context_new(con->scon);
+ if (strcasecmp(name, MLS_CONFIG) == 0)
+ mls_label = context_range_get(job_context);
+ else if (strcasecmp(name, TE_CONFIG) == 0)
+ mls_label = context_type_get(job_context);
+ else // default to using the whole context string
+ mls_label = context_str(job_context);
+ cupsFilePuts(out, mls_label);
+ context_free(job_context);
+ }
+ continue;
+ }
+#endif /* WITH_LSPP */
if (!strcmp(s, "printer-name"))
{
cupsFilePuts(out, job->dest);
@@ -5351,6 +5486,15 @@
cupsd_printer_t *printer; /* Printer */
cups_array_t *list; /* Which job list... */
cups_array_t *ra; /* Requested attributes array */
+#ifdef WITH_LSPP
+ int selinuxcheck; /* perform the SELinux access check? */
+ security_id_t clisid; /* SELinux SID of the client */
+ security_id_t jobsid; /* SELinux SID of the job */
+ struct av_decision avd; /* SELinux decision stuct */
+ struct avc_entry_ref avcref; /* AVC entry cache pointer */
+ security_class_t tclass; /* SELinux security class */
+ access_vector_t avr; /* SELinux access being queried */
+#endif /* WITH_LSPP */
cupsdLogMessage(CUPSD_LOG_DEBUG2, "get_jobs(%p[%d], %s)", con, con->http.fd,
@@ -5468,6 +5612,40 @@
ra = create_requested_array(con->request);
+#ifdef WITH_LSPP
+ /*
+ * Determine outside the loop if we are concerned about SELinux
+ */
+ selinuxcheck = is_lspp_config();
+ if (selinuxcheck)
+ {
+ selinuxcheck = security_getenforce();
+ if (selinuxcheck == -1)
+ {
+ cupsdLogMessage(CUPSD_LOG_ERROR, "get_jobs: unable to determine SELinux enforcement");
+ send_ipp_status(con, IPP_INTERNAL_ERROR, _("Internal SELinux error (getenforce)."));
+ return;
+ }
+ if (avc_init("cups", NULL, NULL, NULL, NULL) < 0)
+ {
+ cupsdLogMessage(CUPSD_LOG_ERROR, "get_jobs: unable avc_init");
+ send_ipp_status(con, IPP_INTERNAL_ERROR, _("Internal SELinux error (avc_init)."));
+ return;
+ }
+ if (avc_context_to_sid(con->scon, &clisid) != 0)
+ {
+ cupsdLogMessage(CUPSD_LOG_ERROR, "get_jobs: unable to convert %s to SELinux sid", con->scon);
+ send_ipp_status(con, IPP_INTERNAL_ERROR, _("Internal SELinux error (avc_context_to_sid)."));
+ return;
+ }
+ cupsdLogMessage(CUPSD_LOG_DEBUG, "get_jobs: client context %s", con->scon);
+
+ avr = FILE__READ;
+ tclass = SECCLASS_FILE;
+ }
+#endif /* WITH_LSPP */
+
+
/*
* OK, build a list of jobs for this printer...
*/
@@ -5505,6 +5683,19 @@
if (count > 0)
ippAddSeparator(con->response);
+#ifdef WITH_LSPP
+ if (selinuxcheck)
+ {
+ cupsdLogMessage(CUPSD_LOG_DEBUG, "get_jobs: job context %s", job->scon);
+
+ avc_context_to_sid(job->scon, &jobsid);
+ avc_entry_ref_init(&avcref);
+
+ if (avc_has_perm_noaudit(clisid, jobsid, tclass, avr, &avcref, &avd) != 0)
+ continue;
+ }
+#endif /* WITH_LSPP */
+
count ++;
cupsdLogMessage(CUPSD_LOG_DEBUG2, "get_jobs: count = %d", count);
@@ -7933,12 +8137,22 @@
* See if we need to add the ending sheet...
*/
+#ifdef WITH_LSPP
+ if (printer &&
+ ( is_lspp_config() ||
+ !(printer->type & (CUPS_PRINTER_REMOTE | CUPS_PRINTER_IMPLICIT)) ) &&
+ (attr = ippFindAttribute(job->attrs, "job-sheets",
+ IPP_TAG_ZERO)) != NULL &&
+ attr->num_values > 1)
+ {
+#else /* !WITH_LSPP */
if (printer &&
!(printer->type & (CUPS_PRINTER_REMOTE | CUPS_PRINTER_IMPLICIT)) &&
(attr = ippFindAttribute(job->attrs, "job-sheets",
IPP_TAG_ZERO)) != NULL &&
attr->num_values > 1)
{
+#endif /* WITH_LSPP */
/*
* Yes...
*/
%define initdir /etc/rc.d/init.d
%define use_alternatives 1
%define build_as_lspp 1
%define cups_serverbin %{_exec_prefix}/lib/cups
Summary: Common Unix Printing System
Name: cups
Version: 1.2.1
Release: 18.1lspp
License: GPL
Group: System Environment/Daemons
Source: ftp://ftp.easysw.com/pub/cups/%{version}/cups-%{version}-source.tar.bz2
Source1: cups.init
Source2: cupsprinter.png
Source5: cups-lpd
Source6: pstoraster
Source7: pstoraster.convs
Source8: postscript.ppd.gz
Source9: cups.logrotate
Source10: ncp.backend
Source11: cups.conf
Source12: cups.cron
Source13: pdftops.conf
Patch0: cups-svn5706.patch
Patch1: cups-1.1.15-initscript.patch
Patch2: cups-no-gzip-man.patch
Patch3: cups-1.1.16-system-auth.patch
Patch4: cups-multilib.patch
Patch5: cups-ext.patch
Patch6: cups-includeifexists.patch
Patch7: cups-banners.patch
Patch8: cups-str1705.patch
Patch11: cups-serverbin-compat.patch
Patch12: cups-locale.patch
Patch16: cups-no-export-ssllibs.patch
Patch17: cups-paps.patch
Patch18: cups-language.patch
Patch20: cups-direct-usb.patch
Patch22: cups-dest-cache-v2.patch
Patch24: cups-maxlogsize.patch
Patch32: cups-pid.patch
Patch41: cups-relro.patch
%if %build_as_lspp
Patch42: cups-lspp.patch
%endif
Epoch: 1
Url: http://www.cups.org/
BuildRoot: %{_tmppath}/%{name}-root
PreReq: /sbin/chkconfig /sbin/service
Requires: %{name}-libs = %{epoch}:%{version}
%if %use_alternatives
Provides: /usr/bin/lpq /usr/bin/lpr /usr/bin/lp /usr/bin/cancel /usr/bin/lprm /usr/bin/lpstat
Prereq: /usr/sbin/alternatives
%endif
# Unconditionally obsolete LPRng so that upgrades work properly.
Obsoletes: lpd lpr LPRng <= 3.8.15-3
Provides: lpd lpr LPRng = 3.8.15-3
# kdelibs conflict for bug #192585.
Conflicts: kdelibs < 6:3.5.2-6
BuildPrereq: pam-devel pkgconfig
BuildPrereq: gnutls-devel libacl-devel
BuildRequires: openldap-devel
BuildRequires: make >= 1:3.80
BuildRequires: php-devel, aspell-devel, pcre-devel
BuildRequires: libjpeg-devel
BuildRequires: libpng-devel
BuildRequires: libtiff-devel
%if %build_as_lspp
BuildPrereq: libselinux-devel >= 1.23
BuildPrereq: audit-libs-devel >= 1.1
Requires: audit-libs-devel >= 1.1
Requires: libselinux >= 1.23
%endif
# -fstack-protector-all requires GCC 4.0.1
BuildRequires: gcc >= 4.0.1
BuildPrereq: dbus-devel >= 0.60
Requires: dbus >= 0.60
# The paps package uses pango to render UTF-8 text to PostScript.
Requires: paps >= 0.6.6-9
%package devel
Summary: Common Unix Printing System - development environment
Group: Development/Libraries
Requires: %{name}-libs = %{epoch}:%{version}
Requires: gnutls-devel
%package libs
Summary: Common Unix Printing System - libraries
Group: System Environment/Libraries
%package lpd
Summary: Common Unix Printing System - lpd emulation
Group: System Environment/Daemons
Requires: %{name} = %{epoch}:%{version} xinetd
%description
The Common UNIX Printing System provides a portable printing layer for
UNIX® operating systems. It has been developed by Easy Software Products
to promote a standard printing solution for all UNIX vendors and users.
CUPS provides the System V and Berkeley command-line interfaces.
%description devel
The Common UNIX Printing System provides a portable printing layer for
UNIX® operating systems. This is the development package for creating
additional printer drivers, and other CUPS services.
%description libs
The Common UNIX Printing System provides a portable printing layer for
UNIX® operating systems. It has been developed by Easy Software Products
to promote a standard printing solution for all UNIX vendors and users.
CUPS provides the System V and Berkeley command-line interfaces.
The cups-libs package provides libraries used by applications to use CUPS
natively, without needing the lp/lpr commands.
%description lpd
The Common UNIX Printing System provides a portable printing layer for
UNIX® operating systems. This is the package that provices standard
lpd emulation.
%prep
%setup -q -n %{name}-%{version}
%patch0 -p1 -b .svn5706
%patch1 -p1 -b .noinit
%patch2 -p1 -b .no-gzip-man
%patch3 -p1 -b .system-auth
%patch4 -p1 -b .multilib
%patch5 -p1 -b .ext
%patch6 -p1 -b .includeifexists
%patch7 -p1 -b .banners
%patch8 -p1 -b .str1705
%patch11 -p1 -b .serverbin-compat
%patch12 -p1 -b .locale
%patch16 -p1 -b .no-export-ssllibs
%patch17 -p1 -b .paps
%patch18 -p1 -b .language
%patch20 -p1 -b .direct-usb
%patch22 -p1 -b .dest-cache-v2
%patch24 -p1 -b .maxlogsize
%patch32 -p1 -b .pid
%patch41 -p1 -b .relro
%if %build_as_lspp
%patch42 -p1 -b .lspp
%endif
perl -pi -e 's,^#(Printcap\s+/etc/printcap),$1,' conf/cupsd.conf.in
aclocal -I config-scripts
autoconf
cp %{SOURCE5} cups-lpd.real
perl -pi -e "s,\ LIBDIR\@,%{_libdir},g" cups-lpd.real
# Let's look at the compilation command lines.
perl -pi -e "s,^.SILENT:,," Makedefs.in
%build
export CFLAGS="-DLDAP_DEPRECATED=1"
%if %build_as_lspp
%configure --with-docdir=%{_docdir}/cups-%{version} \
--with-optim="$RPM_OPT_FLAGS $CFLAGS -fstack-protector-all" \
--with-log-file-perm=0700 --enable-pie --enable-lspp
%else
%configure --with-docdir=%{_docdir}/cups-%{version} \
--with-optim="$RPM_OPT_FLAGS $CFLAGS -fstack-protector-all" \
--with-log-file-perm=0700 --enable-pie
%endif
# If we got this far, all prerequisite libraries must be here.
make
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT%{initdir}
make BUILDROOT=$RPM_BUILD_ROOT install
install -m 755 $RPM_SOURCE_DIR/cups.init $RPM_BUILD_ROOT%{initdir}/cups
find $RPM_BUILD_ROOT/usr/share/cups/model -name "*.ppd" |xargs gzip -n9f
%if %use_alternatives
pushd $RPM_BUILD_ROOT%{_bindir}
for i in cancel lp lpq lpr lprm lpstat; do
mv $i $i.cups
done
cd $RPM_BUILD_ROOT%{_sbindir}
mv lpc lpc.cups
cd $RPM_BUILD_ROOT%{_mandir}/man1
for i in lp lpq lpr lprm lpstat; do
mv $i.1 $i-cups.1
done
rm -f $RPM_BUILD_ROOT%{_mandir}/man1/cancel.1
ln -s lp-cups.1 $RPM_BUILD_ROOT%{_mandir}/man1/cancel-cups.1
cd $RPM_BUILD_ROOT%{_mandir}/man8
mv lpc.8 lpc-cups.8
popd
%endif
mkdir -p $RPM_BUILD_ROOT%{_datadir}/pixmaps $RPM_BUILD_ROOT%{_sysconfdir}/X11/sysconfig $RPM_BUILD_ROOT%{_sysconfdir}/X11/applnk/System $RPM_BUILD_ROOT%{_sysconfdir}/xinetd.d $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d $RPM_BUILD_ROOT%{_sysconfdir}/cron.daily
install -c -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_datadir}/pixmaps
install -c -m 644 cups-lpd.real $RPM_BUILD_ROOT%{_sysconfdir}/xinetd.d/cups-lpd
install -c -m 644 %{SOURCE9} $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/cups
install -c -m 755 %{SOURCE10} $RPM_BUILD_ROOT%{cups_serverbin}/backend/ncp
install -c -m 755 %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/cron.daily/cups
install -c -m 644 %{SOURCE13} $RPM_BUILD_ROOT%{_sysconfdir}/cups/pdftops.conf
ln -s ../doc/%{name}-%{version} $RPM_BUILD_ROOT%{_datadir}/%{name}/doc
# Deal with users trying to access the admin tool at
# /usr/share/doc/cups-%{version}/index.html rather than the
# correct http://localhost:631/
for i in admin classes jobs printers; do
mkdir -p $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/$i
cat >$RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/$i/index.html <<EOF
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/transitional.dtd">
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="refresh" content="2; URL=http://localhost:631/$i" />
<title>CUPS $i</title>
</head>
<body bgcolor="#cccc99" text="#000000" link="#0000ff" vlink="#ff00ff">
<p>You are trying to access the CUPS admin frontend through reading the files.
The correct way to access the CUPS admin frontend is pointing your browser at
<a href="http://localhost:631/">http://localhost:631/</a>.</p>
<p>You should be automatically redirected to the correct URL in 2 seconds.
If your browser does not support redirection, please use
<a href="http://localhost:631/$i">this link</a>.</p>
</body>
</html>
EOF
done
cat >$RPM_BUILD_ROOT%{_sysconfdir}/cups/snmp.conf <<"EOF"
#Address @LOCAL
#Community public
#DebugLevel 0
#HostNameLookups off
EOF
# Ship pstoraster (bug #69573).
install -c -m 755 %{SOURCE6} $RPM_BUILD_ROOT%{cups_serverbin}/filter
install -c -m 644 %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/cups
# Ship a generic postscript PPD file (#73061)
install -c -m 644 %{SOURCE8} $RPM_BUILD_ROOT%{_datadir}/cups/model
# Ship a printers.conf file, and a client.conf file. That way, they get
# their SELinux file contexts set correctly.
touch $RPM_BUILD_ROOT%{_sysconfdir}/cups/printers.conf
touch $RPM_BUILD_ROOT%{_sysconfdir}/cups/classes.conf
touch $RPM_BUILD_ROOT%{_sysconfdir}/cups/client.conf
# Ship an SSL directory
mkdir $RPM_BUILD_ROOT%{_sysconfdir}/cups/ssl
# Remove unshipped files.
rm -rf $RPM_BUILD_ROOT%{_mandir}/cat? $RPM_BUILD_ROOT%{_mandir}/*/cat?
rm -f $RPM_BUILD_ROOT%{_datadir}/applications/cups.desktop
rm -rf $RPM_BUILD_ROOT%{_datadir}/icons
%post
/sbin/chkconfig --del cupsd 2>/dev/null || true # Make sure old versions aren't there anymore
/sbin/chkconfig --add cups || true
# Remove old-style certs directory; new-style is /var/run
# (see bug #194581 for why this is necessary).
/bin/rm -rf /etc/cups/certs
%if %use_alternatives
/usr/sbin/alternatives --install %{_bindir}/lpr print %{_bindir}/lpr.cups 40 \
--slave %{_bindir}/lp print-lp %{_bindir}/lp.cups \
--slave %{_bindir}/lpq print-lpq %{_bindir}/lpq.cups \
--slave %{_bindir}/lprm print-lprm %{_bindir}/lprm.cups \
--slave %{_bindir}/lpstat print-lpstat %{_bindir}/lpstat.cups \
--slave %{_bindir}/cancel print-cancel %{_bindir}/cancel.cups \
--slave %{_sbindir}/lpc print-lpc %{_sbindir}/lpc.cups \
--slave %{_mandir}/man1/cancel.1.gz print-cancelman %{_mandir}/man1/cancel-cups.1.gz \
--slave %{_mandir}/man1/lp.1.gz print-lpman %{_mandir}/man1/lp-cups.1.gz \
--slave %{_mandir}/man8/lpc.8.gz print-lpcman %{_mandir}/man8/lpc-cups.8.gz \
--slave %{_mandir}/man1/lpq.1.gz print-lpqman %{_mandir}/man1/lpq-cups.1.gz \
--slave %{_mandir}/man1/lpr.1.gz print-lprman %{_mandir}/man1/lpr-cups.1.gz \
--slave %{_mandir}/man1/lprm.1.gz print-lprmman %{_mandir}/man1/lprm-cups.1.gz \
--slave %{_mandir}/man1/lpstat.1.gz print-lpstatman %{_mandir}/man1/lpstat-cups.1.gz \
--initscript cups
%endif
if [ $1 -eq 1 ]; then
# First install. Build ppds.dat.
/sbin/service cups reload >/dev/null 2>&1 || :
fi
exit 0
%post libs -p /sbin/ldconfig
%postun libs -p /sbin/ldconfig
%preun
if [ "$1" = "0" ]; then
/sbin/service cups stop > /dev/null 2>&1
/sbin/chkconfig --del cups
%if %use_alternatives
/usr/sbin/alternatives --remove print %{_bindir}/lpr.cups
%endif
fi
exit 0
%postun
if [ "$1" -ge "1" ]; then
/sbin/service cups condrestart > /dev/null 2>&1
fi
exit 0
%triggerin -- samba-client
ln -sf ../../../bin/smbspool %{cups_serverbin}/backend/smb || :
exit 0
%triggerun -- samba-client
[ $2 = 0 ] || exit 0
rm -f %{cups_serverbin}/backend/smb
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root)
%dir %attr(0755,root,lp) /etc/cups
%dir %attr(0755,root,lp) /var/run/cups
%dir %attr(0511,lp,sys) /var/run/cups/certs
%config(noreplace) %attr(0640,root,lp) /etc/cups/cupsd.conf
%attr(0640,root,lp) /etc/cups/cupsd.conf.default
%config(noreplace) %attr(0644,root,lp) /etc/cups/client.conf
%config(noreplace) %attr(0644,root,lp) /etc/cups/classes.conf
%config(noreplace) %attr(0600,root,lp) /etc/cups/printers.conf
%config(noreplace) %attr(0644,root,lp) /etc/cups/pdftops.conf
%config(noreplace) %attr(0644,root,lp) /etc/cups/snmp.conf
/etc/cups/interfaces
%config(noreplace) /etc/cups/mime.types
%config(noreplace) /etc/cups/mime.convs
%dir %attr(0755,root,lp) /etc/cups/ppd
%dir %attr(0700,root,lp) /etc/cups/ssl
/etc/cups/pstoraster.convs
%config(noreplace) /etc/pam.d/cups
%dir %{_docdir}/cups-%{version}
%{_docdir}/cups-%{version}/favicon.ico
%{_docdir}/cups-%{version}/images
%{_docdir}/cups-%{version}/ja
%{_docdir}/cups-%{version}/es
%{_docdir}/cups-%{version}/sv
%{_docdir}/cups-%{version}/pl
%{_docdir}/cups-%{version}/*.css
%{_docdir}/cups-%{version}/admin
%{_docdir}/cups-%{version}/classes
%{_docdir}/cups-%{version}/jobs
%{_docdir}/cups-%{version}/printers
%doc %{_docdir}/cups-%{version}/index.html
%doc %{_docdir}/cups-%{version}/help
%doc %{_docdir}/cups-%{version}/robots.txt
%config(noreplace) %{initdir}/cups
%{_bindir}/cupstestppd
%{_bindir}/cupstestdsc
%{_bindir}/cancel*
%{_bindir}/lp*
%dir %{cups_serverbin}
%{cups_serverbin}/backend
%{cups_serverbin}/cgi-bin
%dir %{cups_serverbin}/daemon
%if %build_as_lspp
%{cups_serverbin}/daemon/access
%endif
%{cups_serverbin}/daemon/cups-polld
%{cups_serverbin}/daemon/cups-deviced
%{cups_serverbin}/daemon/cups-driverd
%{cups_serverbin}/notifier/mailto
%{cups_serverbin}/notifier/testnotify
%{cups_serverbin}/filter
%{cups_serverbin}/monitor
%{cups_serverbin}/driver
%{_mandir}/man?/*
%{_sbindir}/*
%dir %{_datadir}/cups
%dir %{_datadir}/cups/banners
%config(noreplace) %{_datadir}/cups/banners/*
%{_datadir}/cups/charsets
%{_datadir}/cups/charmaps
%{_datadir}/cups/data
%{_datadir}/cups/doc
%{_datadir}/cups/fonts
%{_datadir}/cups/model
%{_datadir}/cups/templates
%{_datadir}/locale/*/*
%dir %attr(1770,root,lp) /var/spool/cups/tmp
%dir %attr(0710,root,lp) /var/spool/cups
%dir %attr(0755,lp,sys) /var/log/cups
%config(noreplace) %{_sysconfdir}/logrotate.d/cups
%{_datadir}/pixmaps/cupsprinter.png
%{_sysconfdir}/cron.daily/cups
%{_sysconfdir}/dbus-1/system.d/cups.conf
%{_libdir}/php/modules/*.so
%files libs
%defattr(-,root,root)
%{_libdir}/*.so.*
%files devel
%defattr(-,root,root)
%{_bindir}/cups-config
%{_libdir}/*.so
%{_includedir}/cups
%files lpd
%defattr(-,root,root)
%config(noreplace) %{_sysconfdir}/xinetd.d/cups-lpd
%dir %{cups_serverbin}
%dir %{cups_serverbin}/daemon
%{cups_serverbin}/daemon/cups-lpd
%changelog
* Fri Jul 14 2006 Matt Anderson <mra hp com> - 1:1.2.1-18.1lspp
- include lspp additions
* Fri Jul 7 2006 Tim Waugh <twaugh redhat com> 1:1.2.1-18
- Ship with an empty classes.conf file.
* Tue Jul 4 2006 Tim Waugh <twaugh redhat com> 1:1.2.1-17
- Sync with svn5706.
- No longer need localhost, str1740, str1758, str1736, str1776 patches.
* Thu Jun 29 2006 Tim Waugh <twaugh redhat com> 1:1.2.1-16
- Bumped paps requirement.
- Don't use texttopaps for application/* MIME types (bug #197214).
* Thu Jun 29 2006 Tim Waugh <twaugh redhat com> 1:1.2.1-15
- Require paps and use it for printing text (bug #197214).
* Thu Jun 15 2006 Tim Waugh <twaugh redhat com> 1:1.2.1-14
- Don't export in SSLLIBS to cups-config.
* Thu Jun 15 2006 Tim Waugh <twaugh redhat com> 1:1.2.1-13
- Fixed cupsd network default printer crash (STR #1776).
* Wed Jun 14 2006 Tomas Mraz <tmraz redhat com> - 1:1.2.1-12
- rebuilt with new gnutls
* Tue Jun 13 2006 Tim Waugh <twaugh redhat com> 1:1.2.1-11
- Remove certs directory in %%post, not %%postun.
* Tue Jun 13 2006 Tim Waugh <twaugh redhat com> 1:1.2.1-10
- Remove old-style certs directory after upgrade (bug #194581).
* Wed Jun 7 2006 Tim Waugh <twaugh redhat com> 1:1.2.1-9
- Prevent 'too many open files' error (STR #1736, bug #194368).
* Wed Jun 7 2006 Tim Waugh <twaugh redhat com> 1:1.2.1-8
- Fix 'Allow from @IF(...)' (STR #1758, bug #187703).
* Wed Jun 7 2006 Tim Waugh <twaugh redhat com> 1:1.2.1-7
- ServerBin compatibility patch (bug #194005).
* Fri Jun 2 2006 Tim Waugh <twaugh redhat com> 1:1.2.1-6
- Applied upstream patch to fix STR #1740 (bug #192809).
* Thu Jun 1 2006 Tim Waugh <twaugh redhat com> 1:1.2.1-5
- Fixed group ownerships again (bug #192880).
* Thu Jun 1 2006 Tim Waugh <twaugh redhat com> 1:1.2.1-4
- Fixed 'service cups reload' not to give an error message.
* Thu May 25 2006 Tim Waugh <twaugh redhat com> 1:1.2.1-3
- Fix 'localhost' fallback in httpAddrGetList() (bug #192628, STR #1723).
* Mon May 22 2006 Tim Waugh <twaugh redhat com> 1:1.2.1-2
- 1.2.1.
- Another STR #1705 fix (bug #192034).
- Fixed devel package multilib conflict (bug #192664).
* Mon May 22 2006 Tim Waugh <twaugh redhat com> 1:1.2.0-7
- Sync to svn5568. No longer need rpath patch.
- Added a 'conflicts:' for kdelibs to prevent bug #192548.
* Sat May 20 2006 Tim Waugh <twaugh redhat com> 1:1.2.0-6
- Sync to svn5555. No longer need str1670 or str1705 patches.
* Fri May 19 2006 Tim Waugh <twaugh redhat com> 1:1.2.0-5
- Sync to svn5545.
- Ship a driver directory.
* Thu May 18 2006 Tim Waugh <twaugh redhat com> 1:1.2.0-4
- Disable back-channel data in the usb backend (STR #1705, bug #192034).
- Fix for 'browsing stops on reload', STR #1670 (bug #191217).
* Wed May 16 2006 Tim Waugh <twaugh redhat com>
- Sync to svn5538.
- Added 'restartlog' to initscript, for clearing out error_log. Useful
for problem diagnosis.
- Initscript no longer needs to check for printconf-backend.
* Tue May 16 2006 Tim Waugh <twaugh redhat com> 1:1.2.0-3
- Added image library build requirements.
- The devel package requires gnutls-devel (bug #191908).
* Mon May 8 2006 Tim Waugh <twaugh redhat com> 1:1.2.0-2
- 1.2.0.
* Fri May 5 2006 Tim Waugh <twaugh redhat com> 1:1.2-0.5.rc3.4
- Sync to svn5493.
* Fri May 5 2006 Tim Waugh <twaugh redhat com> 1:1.2-0.5.rc3.3
- Sync to svn5491.
* Fri Apr 28 2006 Tim Waugh <twaugh redhat com>
- Sync to svn5470.
- No longer need link, CAN-2005-0064, or no-propagate-ipp-port patches.
- Switch to upstream PIE implementation (every single binary is PIE).
- Extend relro to all binaries.
- Better rpath patch.
* Wed Apr 26 2006 Tim Waugh <twaugh redhat com>
- No longer need backend, rcp, or ppdsdat patches.
- Use configure switch for LogFilePerm default instead of patch.
* Tue Apr 25 2006 Tim Waugh <twaugh redhat com>
- Own /var/run/cups (bug #189561).
- Sync from svn5460 to svn5462.
* Tue Apr 25 2006 Tim Waugh <twaugh redhat com> 1:1.2-0.5.rc3.2
- Patch pdftops to understand 'includeifexists', and use that in the
pdftops.conf file (bug #189809).
* Mon Apr 24 2006 Tim Waugh <twaugh redhat com> 1:1.2-0.5.rc3.1
- 1.2rc3.
- Ship an snmp.conf.
* Fri Apr 21 2006 Tim Waugh <twaugh redhat com> 1:1.2-0.4.rc2.2
- Updated to svn 5446.
* Wed Apr 19 2006 Tim Waugh <twaugh redhat com>
- Ignore .rpmnew and .rpmsave banner files.
* Tue Apr 11 2006 Tim Waugh <twaugh redhat com>
- Ship a /etc/cups/pdftops.conf file (bug #188583).
* Fri Apr 7 2006 Tim Waugh <twaugh redhat com>
- Build requires libacl-devel.
* Fri Apr 7 2006 Tim Waugh <twaugh redhat com> 1:1.2-0.4.rc2.1
- 1.2rc2.
* Fri Apr 7 2006 Tim Waugh <twaugh redhat com> 1:1.2-0.2.rc1.9
- Sync scheduler/* with svn 5383.
* Fri Apr 7 2006 Tim Waugh <twaugh redhat com> 1:1.2-0.2.rc1.8
- No longer need openssl-devel.
- Build with LDAP_DEPRECATED=1, to pick up declarations of ldap_init() etc.
- Only warn about ACLs once (STR #1532).
- Fix imagetops filter (STR #1533).
- Sync pstops.c with svn 5382.
* Thu Apr 6 2006 Tim Waugh <twaugh redhat com> 1:1.2-0.2.rc1.7
- Build requires openldap-devel.
- Sync pstops.c with svn 5372.
* Tue Apr 4 2006 Tim Waugh <twaugh redhat com> 1:1.2-0.2.rc1.6
- Tweak to allow 'usb:/dev/usb/lp0'-style URIs again.
* Sun Apr 2 2006 Tim Waugh <twaugh redhat com> 1:1.2-0.2.rc1.5
- Backported svn 5365:5366 change for mutex-protected stringpool (STR #1530).
* Sat Apr 1 2006 Tim Waugh <twaugh redhat com>
- Fixed _cupsStrFree() (STR #1529).
* Fri Mar 31 2006 Tim Waugh <twaugh redhat com> 1:1.2-0.2.rc1.4
- Fixed interaction with CUPS 1.1 servers (STR #1528).
* Wed Mar 29 2006 Tim Waugh <twaugh redhat com> 1:1.2-0.2.rc1.3
- Fix group list of non-root backends (STR #1521, bug #186954).
* Tue Mar 28 2006 Tim Waugh <twaugh redhat com> 1:1.2-0.2.rc1.2
- Fix lpq -h (STR#1515, bug #186686).
* Mon Mar 27 2006 Tim Waugh <twaugh redhat com> 1:1.2-0.2.rc1.1
- Ship a printers.conf file, and a client.conf file. That way, they get
their SELinux file contexts set correctly.
* Mon Mar 27 2006 Tim Waugh <twaugh redhat com> 1:1.2-0.2.rc1.0
- 1.2rc1.
* Fri Mar 24 2006 Tim Waugh <twaugh redhat com> 1:1.2-0.1.b2.6
- Add KDE compatibility symbols _ipp_add_attr/_ipp_free_attr to ipp.h, with
a comment saying why they shouldn't be used.
* Fri Mar 24 2006 Tim Waugh <twaugh redhat com> 1:1.2-0.1.b2.5
- Fix KDE compatibility symbols _ipp_add_attr/_ipp_free_attr.
* Fri Mar 24 2006 Tim Waugh <twaugh redhat com> 1:1.2-0.1.b2.4
- Update to svn snapshot.
* Thu Mar 23 2006 Tim Waugh <twaugh redhat com> 1:1.2-0.1.b2.3
- Update to svn snapshot. No longer need users or policy patches.
* Fri Mar 17 2006 Tim Waugh <twaugh redhat com> 1:1.2-0.1.b2.2
- Rebuilt.
* Tue Mar 14 2006 Tim Waugh <twaugh redhat com> 1:1.2-0.1.b2.1
- Build requires gnutls-devel.
- Fixed default policy name.
- Fixed 'set-allowed-users' in web UI.
* Mon Mar 13 2006 Tim Waugh <twaugh redhat com> 1:1.2-0.1.b2.0
- 1.2b2.
- Use new CUPS_SERVERBIN location (/usr/lib/cups even on 64-bit hosts).
* Fri Mar 10 2006 Tim Waugh <twaugh redhat com>
- Fixed some permissions.
* Fri Mar 10 2006 Tim Waugh <twaugh redhat com> 1:1.2-0.1.b1.1
- Ship /etc/cups/ssl directory.
* Thu Mar 9 2006 Tim Waugh <twaugh redhat com> 1:1.2-0.1.b1.0
- 1.2b1. No longer need devid patch.
* Wed Mar 8 2006 Tim Waugh <twaugh redhat com> 1:1.2-0.0.svn5238.2
- Fixed 'device-id' attribute in GET_DEVICES requests (STR #1467).
* Tue Mar 7 2006 Tim Waugh <twaugh redhat com> 1:1.2-0.0.svn5238.1
- New svn snapshot.
- No longer need browse or raw patches.
* Wed Mar 1 2006 Tim Waugh <twaugh redhat com> 1:1.2-0.0.svn5137.1
- Fixed raw printing.
- Removed (unapplied) session printing patch.
- Fixed browse info.
* Thu Feb 23 2006 Tim Waugh <twaugh redhat com> 1:1.2-0.0.svn5137.0
- New svn snapshot.
* Fri Feb 17 2006 Tim Waugh <twaugh redhat com> 1:1.2-0.0.svn5102.0
- New svn snapshot.
- No longer need enabledisable patch.
- Fixed double-free in scheduler/policy.c (STR #1428).
* Fri Feb 10 2006 Tim Waugh <twaugh redhat com> 1:1.2-0.0.svn5083.0
- New svn snapshot.
* Wed Jan 25 2006 Tim Waugh <twaugh redhat com> 1:1.2-0.0.svn4964.0
- Use -fPIE not -fpie in PIE patch.
- Fix link patch.
- Patch in PIE instead of using --enable-pie, since that doesn't work.
* Fri Jan 20 2006 Tim Waugh <twaugh redhat com>
- 1.2 svn snapshot.
- No longer need doclink, str1023, pdftops, sanity, lpstat, str1068,
sigchld, gcc34, gcc4, slow, CAN-2004-0888, CAN-2005-2097, finddest,
str1249, str1284, str1290, str1301, CVE-2005-3625,6,7 patches.
- Removed autodetect-tag patch.
* Tue Jan 17 2006 Tim Waugh <twaugh redhat com> 1:1.1.23-30
- Include 'Autodetected' tag for better integration with autodetection tools.
* Tue Jan 10 2006 Tim Waugh <twaugh redhat com> 1:1.1.23-29
- Apply dest-cache-v2 patch (bug #175847).
* Wed Jan 4 2006 Tim Waugh <twaugh redhat com> 1:1.1.23-28
- Apply patch to fix CVE-2005-3625, CVE-2005-3626, CVE-2005-3627
(bug #176868).
* Mon Dec 19 2005 Tim Waugh <twaugh redhat com> 1:1.1.23-27
- Link pdftops with -z relro.
* Fri Dec 09 2005 Jesse Keating <jkeating redhat com>
- rebuilt
* Thu Dec 01 2005 John (J5) Palmieri <johnp redhat com> - 1:1.1.23-26
- rebuild for new dbus
* Tue Nov 8 2005 Tomas Mraz <tmraz redhat com> 1:1.1.23-25
- rebuilt with new openssl
* Thu Oct 20 2005 Tim Waugh <twaugh redhat com> 1:1.1.23-24
- Build with -fstack-protector-all.
* Sat Oct 15 2005 Florian La Roche <laroche redhat com> 1:1.1.23-23
- link libcupsimage.so against libcups
* Tue Oct 11 2005 Tim Waugh <twaugh redhat com> 1:1.1.23-22
- Apply patch to fix STR #1301 (bug #169979).
* Thu Oct 6 2005 Tim Waugh <twaugh redhat com> 1:1.1.23-21
- Apply patch to fix STR #1290.
* Wed Oct 5 2005 Tim Waugh <twaugh redhat com> 1:1.1.23-20
- Apply upstream patch for STR #1249.
* Fri Sep 30 2005 Tim Waugh <twaugh redhat com> 1:1.1.23-19
- Use upstream patch for STR #1284.
* Fri Sep 30 2005 Tomas Mraz <tmraz redhat com>
- use include instead of pam_stack in pam config
* Thu Sep 29 2005 Tim Waugh <twaugh redhat com> 1:1.1.23-18
- Raise IPP_MAX_VALUES to 100 (bug #164232). STR #1284.
- Made FindDest better behaved in some instances (bug #164232). STR #1283.
* Fri Sep 2 2005 Tim Waugh <twaugh redhat com> 1:1.1.23-17
- Fixed CAN-2005-2097 (bug #164510).
* Thu Jun 16 2005 Tim Waugh <twaugh redhat com> 1:1.1.23-16
- Make DeletePrinterFromClass faster (bug #160620).
* Thu Mar 31 2005 Tim Waugh <twaugh redhat com> 1:1.1.23-15
- Don't require exact dbus version, just minimum.
* Thu Mar 10 2005 Tim Waugh <twaugh redhat com> 1:1.1.23-14
- Fixed up dbus patch so that it compiles.
* Wed Mar 9 2005 John (J5) Palmieri <johnp redhat com>
- Fix up dbus patch
* Mon Mar 7 2005 John (J5) Palmieri <johnp redhat com> 1:1.1.23-13
- Fixed up dbus patch to work with dbus 0.31
* Tue Mar 1 2005 Tomas Mraz <tmraz redhat com> 1:1.1.23-12
- rebuild for openssl-0.9.7e
* Tue Feb 22 2005 Tim Waugh <twaugh redhat com> 1:1.1.23-11
- UTF-8-ify spec file (bug #149293).
* Fri Feb 18 2005 Tim Waugh <twaugh redhat com> 1:1.1.23-10
- Fixed build with GCC 4.
* Thu Feb 10 2005 Tim Waugh <twaugh redhat com> 1:1.1.23-9
- Back to old DBUS API since new DBUS isn't built yet.
* Mon Feb 7 2005 Tim Waugh <twaugh redhat com>
- Use upstream patch for STR #1068.
- Apply patch to fix remainder of CAN-2004-0888 (bug #135378).
* Wed Feb 2 2005 Tim Waugh <twaugh redhat com>
- Applied patch to prevent occasional cupsd crash on reload (bug #146850).
* Tue Feb 1 2005 Tim Waugh <twaugh redhat com> 1:1.1.23-8
- New DBUS API.
* Tue Feb 1 2005 Tim Waugh <twaugh redhat com> 1:1.1.23-7
- Applied patch to prevent file descriptor confusion (STR #1068).
* Fri Jan 28 2005 Tim Waugh <twaugh redhat com>
- Build does not require XFree86-devel (bug #146397).
* Thu Jan 27 2005 Tim Waugh <twaugh redhat com>
- Corrected directory modes so that they reflect what cupsd sets them to.
* Mon Jan 24 2005 Tim Waugh <twaugh redhat com> 1:1.1.23-6
- Build against new dbus.
* Fri Jan 21 2005 Tim Waugh <twaugh redhat com> 1:1.1.23-5
- Use tmpwatch to remove unused files in the spool temporary directory
(bug #110026).
* Thu Jan 20 2005 Tim Waugh <twaugh redhat com>
- Use gzip's -n flag for the PPDs.
* Thu Jan 20 2005 Tim Waugh <twaugh redhat com> 1:1.1.23-4
- Mark the initscript noreplace (bug #145629).
* Wed Jan 19 2005 Tim Waugh <twaugh redhat com> 1:1.1.23-3
- Applied patch to fix CAN-2005-0064.
* Thu Jan 6 2005 Tim Waugh <twaugh redhat com> 1:1.1.23-2
- Fixed patch from STR #1023.
* Tue Jan 4 2005 Tim Waugh <twaugh redhat com> 1:1.1.23-1
- 1.1.23.
* Mon Dec 20 2004 Tim Waugh <twaugh redhat com> 1:1.1.23-0.rc1.1
- 1.1.23rc1.
- No longer need ioctl, ref-before-use, str1023 or str1024 patches.
* Fri Dec 17 2004 Tim Waugh <twaugh redhat com> 1:1.1.22-6
- Use upstream patches for bug #143086.
* Thu Dec 16 2004 Tim Waugh <twaugh redhat com> 1:1.1.22-5
- Fixed STR #1023 (part of bug #143086).
- Fixed STR #1024 (rest of bug #143086).
* Thu Dec 9 2004 Tim Waugh <twaugh redhat com>
- Not all files in the doc directory are pure documentation (bug #67337).
* Thu Dec 9 2004 Tim Waugh <twaugh redhat com>
- Fixed ioctl parameter size in usb backend. Spotted by David A. Marlin.
* Fri Dec 3 2004 Tim Waugh <twaugh redhat com> 1:1.1.22-4
- Convert de and fr .tmpl files into UTF-8 (bug #136177).
* Thu Dec 2 2004 Tim Waugh <twaugh redhat com> 1:1.1.22-3
- Fix ref-before-use bug in debug output (bug #141585).
* Mon Nov 29 2004 Tim Waugh <twaugh redhat com>
- Copied "ext" patch over from xpdf RPM package.
* Mon Nov 22 2004 Tim Waugh <twaugh redhat com> 1:1.1.22-2
- Fixed cups-lpd file mode (bug #137325).
- Convert all man pages to UTF-8 (bug #107118). Patch from Miloslav Trmac.
* Mon Nov 8 2004 Tim Waugh <twaugh redhat com>
- New lpd subpackage, from patch by Matthew Galgoci (bug #137325).
* Tue Nov 2 2004 Tim Waugh <twaugh redhat com> 1:1.1.22-1
- 1.1.22.
- No longer need ippfail, overread or str970 patches.
* Tue Oct 26 2004 Tim Waugh <twaugh redhat com> 1:1.1.22-0.rc2.1
- Make cancel-cups(1) man page point to lp-cups(1) not lp(1) (bug #136973).
- Use upstream patch for STR #953.
- 1.1.22rc2.
* Wed Oct 20 2004 Tim Waugh <twaugh redhat com> 1:1.1.22-0.rc1.7
- Prevent filters generating incorrect PS in locales where "," is the
decimal separator (bug #136102). Patch from STR #970.
* Thu Oct 14 2004 Tim Waugh <twaugh redhat com> 1:1.1.22-0.rc1.5
- Fixed another typo in last patch!
* Thu Oct 14 2004 Tim Waugh <twaugh redhat com> 1:1.1.22-0.rc1.4
- Fixed typo in last patch.
* Thu Oct 14 2004 Tim Waugh <twaugh redhat com> 1:1.1.22-0.rc1.3
- Another attempt at fixing bug #135502.
* Wed Oct 13 2004 Tim Waugh <twaugh redhat com> 1:1.1.22-0.rc1.2
- Fail better when receiving corrupt IPP responses (bug #135502).
* Mon Oct 11 2004 Tim Waugh <twaugh redhat com> 1:1.1.22-0.rc1.1
- 1.1.22rc1.
* Tue Oct 5 2004 Tim Waugh <twaugh redhat com> 1:1.1.21-7
- Set LogFilePerm 0600 in default config file.
* Tue Oct 5 2004 Tim Waugh <twaugh redhat com> 1:1.1.21-6
- Apply patch to fix CAN-2004-0923 (bug #134601).
* Mon Oct 4 2004 Tim Waugh <twaugh redhat com> 1:1.1.21-5
- Fixed reload logic (bug #134080).
* Wed Sep 29 2004 Warren Togami <wtogami redhat com> 1:1.1.21-4
- Remove .pdf from docs, fix links
* Fri Sep 24 2004 Tim Waugh <twaugh redhat com> 1:1.1.21-3
- Write a pid file (bug #132987).
* Thu Sep 23 2004 Tim Waugh <twaugh redhat com> 1:1.1.21-2
- 1.1.21.
* Thu Sep 9 2004 Tim Waugh <twaugh redhat com> 1:1.1.21-1.rc2.2
- Updated DBUS patch (from Colin Walters).
* Tue Aug 24 2004 Tim Waugh <twaugh redhat com> 1:1.1.21-1.rc2.1
- 1.1.21rc2.
- No longer need state, reload-timeout or str743 patches.
- httpnBase64 patch no longer applies; alternate method implemented
upstream.
- Fix single byte overread in usersys.c (spotted by Colin Walters).
* Wed Aug 18 2004 Tim Waugh <twaugh redhat com>
- Applied httpnEncode64 patch from Colin Walters.
* Sun Aug 15 2004 Tim Waugh <twaugh redhat com>
- Session printing patch (Colin Walters). Disabled for now.
* Sun Aug 15 2004 Tim Waugh <twaugh redhat com> 1:1.1.21-1.rc1.9
- Shorter reload timeout (Colin Walters).
- Updated DBUS patch from Colin Walters.
* Fri Aug 13 2004 Tim Waugh <twaugh redhat com>
- Updated IPP backend IPP_PORT patch from Colin Walters.
* Fri Aug 13 2004 Tim Waugh <twaugh redhat com> 1:1.1.21-1.rc1.8
- Preserve DBUS_SESSION_BUS_ADDRESS in environment (Colin Walters).
- Fixed enabledisable patch.
* Fri Aug 13 2004 Tim Waugh <twaugh redhat com> 1:1.1.21-1.rc1.7
- Bumped DBUS version to 0.22.
* Fri Aug 6 2004 Tim Waugh <twaugh redhat com> 1:1.1.21-1.rc1.6
- Patch from Colin Walters to prevent IPP backend using non-standard
IPP port.
* Sun Aug 1 2004 Tim Waugh <twaugh redhat com> 1:1.1.21-1.rc1.5
- Really bumped DBUS version.
* Fri Jul 30 2004 Tim Waugh <twaugh redhat com> 1:1.1.21-1.rc1.4
- Bumped DBUS version.
* Fri Jul 16 2004 Tim Waugh <twaugh redhat com>
- Added version to LPRng obsoletes: tag (bug #128024).
* Thu Jul 8 2004 Tim Waugh <twaugh redhat com> 1:1.1.21-1.rc1.3
- Updated DBUS patch.
* Tue Jun 29 2004 Tim Waugh <twaugh redhat com> 1:1.1.21-1.rc1.2
- Apply patch from STR #743 (bug #114999).
* Fri Jun 25 2004 Tim Waugh <twaugh redhat com> 1:1.1.21-1.rc1.1
- Fix permissions on logrotate script (bug #126426).
* Tue Jun 15 2004 Elliot Lee <sopwith redhat com>
- rebuilt
* Fri Jun 4 2004 Tim Waugh <twaugh redhat com> 1:1.1.21-0.rc1.2
- Build for dbus-0.21.
- Fix SetPrinterState().
* Thu Jun 3 2004 Tim Waugh <twaugh redhat com>
- Use configure's --with-optim parameter instead of setting OPTIM at
make time (bug #125228).
* Thu Jun 3 2004 Tim Waugh <twaugh redhat com> 1:1.1.21-0.rc1.1
- 1.1.21rc1.
- No longer need str716, str718, authtype or encryption patches.
* Wed Jun 2 2004 Tim Waugh <twaugh redhat com> 1:1.1.20-15
- Build on ppc and ppc64 again.
* Wed Jun 2 2004 Tim Waugh <twaugh redhat com> 1:1.1.20-14
- ExcludeArch ppc, ppc64.
- More D-BUS changes.
* Tue Jun 1 2004 Tim Waugh <twaugh redhat com> 1:1.1.20-13
- Enable optimizations on ia64 again.
* Thu May 27 2004 Tim Waugh <twaugh redhat com> 1:1.1.20-12
- D-BUS changes.
* Wed May 26 2004 Tim Waugh <twaugh redhat com> 1:1.1.20-11
- Build requires make >= 3.80 (bug #124472).
* Wed May 26 2004 Tim Waugh <twaugh redhat com> 1:1.1.20-10
- Finish fix for cupsenable/cupsdisable (bug #102490).
- Fix MaxLogSize setting (bug #123003).
* Tue May 25 2004 Tim Waugh <twaugh redhat com> 1:1.1.20-9
- Apply patches from CVS (authtype) to fix STR #434, STR #611, and as a
result STR #719. This fixes several problems including those noted in
bug #114999.
* Mon May 24 2004 Tim Waugh <twaugh redhat com>
- Use upstream patch for exit code fix for bug #110135 [STR 718].
* Wed May 19 2004 Tim Waugh <twaugh redhat com> 1:1.1.20-8
- If cupsd fails to start, make it exit with an appropriate code so that
initlog notifies the user (bug #110135).
* Thu May 13 2004 Tim Waugh <twaugh redhat com>
- Fix cups/util.c:get_num_sdests() to use encryption when it is necessary
or requested (bug #118982).
- Use upstream patch for the HTTP/1.1 Continue bug (from STR716).
* Tue May 11 2004 Tim Waugh <twaugh redhat com> 1:1.1.20-7
- Fix non-conformance with HTTP/1.1, which caused failures when printing
to a Xerox Phaser 8200 via IPP (bug #122352).
- Make lppasswd(1) PIE.
- Rotate logs within cupsd (instead of relying on logrotate) if we start
to approach the filesystem file size limit (bug #123003).
* Tue Apr 6 2004 Tim Waugh <twaugh redhat com> 1:1.1.20-6
- Fix pie patch (bug #120078).
* Fri Apr 2 2004 Tim Waugh <twaugh redhat com>
- Fix rcp patch for new system-config-printer name.
* Tue Mar 02 2004 Elliot Lee <sopwith redhat com>
- rebuilt
* Fri Feb 13 2004 Elliot Lee <sopwith redhat com>
- rebuilt
* Fri Feb 6 2004 Tim Waugh <twaugh redhat com> 1:1.1.20-4
- Tracked D-BUS API changes.
- Updated D-BUS configuration file.
- Symlinks to avoid conflicting with bash builtins (bug #102490).
* Thu Feb 5 2004 Tim Waugh <twaugh redhat com> 1:1.1.20-3
- Improved PIE patch.
- Fixed compilation with GCC 3.4.
* Thu Jan 29 2004 Tim Waugh <twaugh redhat com>
- Don't ship cupsconfig now that nothing uses it.
* Wed Jan 7 2004 Tim Waugh <twaugh redhat com> 1:1.1.20-2
- Try harder to find a translated page for the web interface (bug #107619).
- Added build_as_pie conditional to spec file to facilitate debugging.
* Mon Dec 1 2003 Tim Waugh <twaugh redhat com> 1:1.1.20-1
- 1.1.20.
- No longer need idefense, str226 patches.
- Updated sanity patch.
- The devel sub-package requires openssl-devel (bug #110772).
* Wed Nov 26 2003 Thomas Woerner <twoerner redhat com> 1:1.1.19-16
- removed -Wl,-rpath from cups-sharedlibs.m4 (replaced old no_rpath patch)
* Tue Nov 25 2003 Thomas Woerner <twoerner redhat com> 1:1.1.19-15
- no rpath in cups-config anymore
* Thu Nov 20 2003 Tim Waugh <twaugh redhat com> 1:1.1.19-14
- Enable PIE for cupsd.
* Fri Nov 14 2003 Tim Waugh <twaugh redhat com>
- Don't ignore the file descriptor when ShutdownClient is called: it
might get closed before we next try to read it (bug #107787).
* Tue Oct 14 2003 Tim Waugh <twaugh redhat com>
- Removed busy-loop patch; 1.1.19 has its own fix for this.
* Thu Oct 2 2003 Tim Waugh <twaugh redhat com> 1:1.1.19-13
- Apply patch from STR 226 to make CUPS reload better behaved (bug #101507).
* Wed Sep 10 2003 Tim Waugh <twaugh redhat com> 1:1.1.19-12
- Prevent a libcups busy loop (bug #97958).
* Thu Aug 14 2003 Tim Waugh <twaugh redhat com> 1:1.1.19-11
- Another attempt to fix bug #100984.
* Wed Aug 13 2003 Tim Waugh <twaugh redhat com> 1:1.1.19-10
- Pass correct attributes-natural-language through even in the absence
of translations for that language (bug #100984).
- Show compilation command lines.
* Wed Jul 30 2003 Tim Waugh <twaugh redhat com> 1:1.1.19-9
- Prevent lpstat displaying garbage.
* Mon Jul 21 2003 Tim Waugh <twaugh redhat com>
- Mark mime.convs and mime.types as config files (bug #99461).
* Mon Jun 23 2003 Tim Waugh <twaugh redhat com> 1:1.1.19-8
- Start cupsd before nfs server processes (bug #97767).
* Tue Jun 17 2003 Tim Waugh <twaugh redhat com> 1:1.1.19-7
- Add some %if %use_dbus / %endif's to make it compile without dbus
(bug #97397). Patch from Jos Vos.
* Mon Jun 16 2003 Tim Waugh <twaugh redhat com> 1:1.1.19-6
- Don't busy loop in the client if the IPP port is in use by another
app (bug #97468).
* Tue Jun 10 2003 Tim Waugh <twaugh redhat com> 1:1.1.19-5
- Mark pam.d/cups as config file not to be replaced (bug #92236).
* Wed Jun 04 2003 Elliot Lee <sopwith redhat com>
- rebuilt
* Tue Jun 3 2003 Tim Waugh <twaugh redhat com> 1:1.1.19-3
- Provide a version for LPRng (bug #92145).
* Thu May 29 2003 Tim Waugh <twaugh redhat com> 1:1.1.19-2
- Obsolete LPRng now.
* Tue May 27 2003 Tim Waugh <twaugh redhat com> 1:1.1.19-1
- 1.1.19. No longer need optparse patch.
* Sat May 17 2003 Tim Waugh <twaugh redhat com> 1:1.1.19-0.rc5.4
- Ship configuration file for D-BUS.
* Fri May 16 2003 Tim Waugh <twaugh redhat com> 1:1.1.19-0.rc5.3
- Rebuild for dbus-0.11 API changes.
- Fix ownership in file manifest (bug #90840).
* Wed May 14 2003 Tim Waugh <twaugh redhat com> 1:1.1.19-0.rc5.2
- Fix option parsing in lpq (bug #90823).
* Tue May 13 2003 Tim Waugh <twaugh redhat com> 1:1.1.19-0.rc5.1
- 1.1.19rc5.
* Thu May 8 2003 Tim Waugh <twaugh redhat com> 1:1.1.19-0.rc4.1
- 1.1.19rc4. Ported initscript, idefense, ppdsdat, dbus patches.
- No longer need error, sigchld patches.
- Ship cupstestppd.
* Thu Apr 24 2003 Tim Waugh <twaugh redhat com>
- Mark banners as config files (bug #89069).
* Sat Apr 12 2003 Havoc Pennington <hp redhat com> 1:1.1.18-4
- adjust dbus patch - dbus_bus_get() sends the hello for you,
and there were a couple of memleaks
- buildprereq dbus 0.9
- rebuild for new dbus
- hope it works, I'm ssh'd in with no way to test. ;-)
* Thu Apr 10 2003 Tim Waugh <twaugh redhat com> 1.1.18-3
- Get on D-BUS.
* Fri Mar 28 2003 Tim Waugh <twaugh redhat com> 1.1.18-2
- Fix translation in the init script (bug #87551).
* Wed Mar 26 2003 Tim Waugh <twaugh redhat com> 1.1.18-1.1
- Turn off optimization on ia64 until bug #87383 is fixed.
* Wed Mar 26 2003 Tim Waugh <twaugh redhat com> 1.1.18-1
- 1.1.18.
- No longer need uninit patch.
- Some parts of the iDefense and pdftops patches seem to have been
picked up, but not others.
* Wed Feb 12 2003 Tim Waugh <twaugh redhat com> 1.1.17-13
- Don't set SIGCHLD to SIG_IGN when using wait4 (via pclose) (bug #84101).
* Tue Feb 4 2003 Tim Waugh <twaugh redhat com> 1.1.17-12
- Fix cups-lpd (bug #83452).
* Fri Jan 31 2003 Tim Waugh <twaugh redhat com> 1.1.17-11
- Build ppds.dat on first install.
* Fri Jan 24 2003 Tim Waugh <twaugh redhat com> 1.1.17-10
- Add support for rebuilding ppds.dat without running the scheduler
proper (for bug #82500).
* Wed Jan 22 2003 Tim Powers <timp redhat com> 1.1.17-9
- rebuilt
* Wed Jan 22 2003 Tim Waugh <twaugh redhat com> 1.1.17-8
- Warn against editing queues managed by redhat-config-printer
(bug #82267).
* Wed Jan 22 2003 Tim Waugh <twaugh redhat com> 1.1.17-7
- Fix up error reporting in lpd backend.
* Thu Jan 9 2003 Tim Waugh <twaugh redhat com> 1.1.17-6
- Add epoch to internal requirements.
- Make 'condrestart' return success exit code when daemon isn't running.
* Tue Jan 7 2003 Nalin Dahyabhai <nalin redhat com> 1.1.17-5
- Use pkg-config information to find SSL libraries.
* Thu Dec 19 2002 Tim Waugh <twaugh redhat com> 1.1.17-4
- Security fixes.
- Make 'service cups reload' update the configuration first (bug #79953).
* Tue Dec 10 2002 Tim Waugh <twaugh redhat com> 1.1.17-3
- Fix cupsd startup hang (bug #79346).
* Mon Dec 9 2002 Tim Waugh <twaugh redhat com> 1.1.17-2
- Fix parallel backend behaviour when cancelling jobs.
* Mon Dec 9 2002 Tim Waugh <twaugh redhat com> 1.1.17-1
- 1.1.17.
- No longer need libdir patch.
- Fix logrotate script (bug #76791).
* Wed Nov 20 2002 Tim Waugh <twaugh redhat com>
- Build requires XFree86-devel (bug #78362).
* Wed Nov 20 2002 Tim Waugh <twaugh redhat com>
- 1.1.16.
- Updated system-auth patch.
- Add ncp backend script.
* Wed Nov 13 2002 Tim Waugh <twaugh redhat com> 1.1.15-15
- Set alternatives priority to 40.
* Mon Nov 11 2002 Nalin Dahyabhai <nalin redhat com> 1.1.15-14
- Buildrequire pam-devel.
- Patch default PAM config file to remove directory names from module paths,
allowing the configuration files to work equally well on multilib systems.
- Patch default PAM config file to use system-auth, require the file at build-
time because that's what data/Makefile checks for.
* Fri Nov 8 2002 Tim Waugh <twaugh redhat com> 1.1.15-13
- Use logrotate for log rotation (bug #76791).
- No longer need cups.desktop, since redhat-config-printer handles it.
* Thu Oct 17 2002 Tim Waugh <twaugh redhat com> 1.1.15-12
- Revert to libdir for CUPS_SERVERBIN.
* Thu Oct 17 2002 Tim Waugh <twaugh redhat com> 1.1.15-11
- Use %%configure for multilib correctness.
- Use libexec instead of lib for CUPS_SERVERBIN.
- Ship translated man pages.
- Remove unshipped files.
- Fix file list permissions (bug #59021, bug #74738).
- Fix messy initscript output (bug #65857).
- Add 'reload' to initscript (bug #76114).
* Fri Aug 30 2002 Bernhard Rosenkraenzer <bero redhat de> 1.1.15-10
- Add generic postscript PPD file (#73061)
* Mon Aug 19 2002 Tim Waugh <twaugh redhat com> 1.1.15-9
- Fix prefix in pstoraster (bug #69573).
* Mon Aug 19 2002 Tim Waugh <twaugh redhat com> 1.1.15-8
- Disable cups-lpd by default (bug #71712).
- No need for fread patch now that glibc is fixed.
* Thu Aug 15 2002 Tim Waugh <twaugh redhat com> 1.1.15-7
- Really add cups-lpd xinetd file (bug #63919).
- Ship pstoraster (bug #69573).
- Prevent fread from trying to read from beyond EOF (fixes a segfault
with new glibc).
* Sat Aug 10 2002 Elliot Lee <sopwith redhat com> 1.1.15-6
- rebuilt with gcc-3.2 (we hope)
* Mon Aug 5 2002 Bernhard Rosenkraenzer <bero redhat com> 1.1.15-5
- Add cups-lpd xinetd file (#63919)
* Tue Jul 23 2002 Florian La Roche <Florian LaRoche redhat de> 1.1.15-4
- add a "exit 0" to postun script
* Tue Jul 2 2002 Bernhard Rosenkraenzer <bero redhat com> 1.1.15-3
- Add a symlink /usr/share/cups/doc -> /usr/share/doc/cups-devel-1.1.15
because some applications expect to find the cups docs in
/usr/share/cups/doc
* Fri Jun 21 2002 Tim Powers <timp redhat com>
- automated rebuild
* Fri Jun 21 2002 Bernhard Rosenkraenzer <bero redhat com> 1.1.15-1
- 1.1.15-1
- Fix up smb printing trigger (samba-client, not samba-clients)
- Start cupsd earlier, apparently it needs to be running before samba
starts up for smb printing to work.
* Thu May 23 2002 Tim Powers <timp redhat com>
- automated rebuild
* Tue May 7 2002 Bernhard Rosenkraenzer <bero redhat com> 1.1.14-17
- Rebuild in current environment
- [-16 never existed because of build system breakage]
* Wed Apr 17 2002 Bernhard Rosenkraenzer <bero redhat com> 1.1.14-15
- Fix bug #63387
* Mon Apr 15 2002 Bernhard Rosenkraenzer <bero redhat com> 1.1.14-14
- Fix dangling symlink created by samba-clients trigger
* Wed Apr 10 2002 Bernhard Rosenkraenzer <bero redhat com> 1.1.14-13
- Add desktop file and icon for CUPS configuration
* Wed Apr 3 2002 Bernhard Rosenkraenzer <bero redhat com> 1.1.14-12
- Support SMB printing (#62407)
- Add HTML redirections to doc files to work around users mistaking
/usr/share/doc/cups-1.1.14 for the web frontend (#62405)
* Tue Apr 2 2002 Bill Nottingham <notting redhat com> 1.1.14-11
- fix subsys in initscript (#59206)
- don't strip binaries
* Mon Mar 11 2002 Bernhard Rosenkraenzer <bero redhat com> 1.1.14-10
- Make initscript use killproc instead of killall
* Fri Mar 8 2002 Bill Nottingham <notting redhat com> 1.1.14-9
- use alternatives --initscript support
* Mon Mar 4 2002 Bill Nottingham <notting redhat com> 1.1.14-8
- use the right path for the lpc man page, duh
* Thu Feb 28 2002 Bill Nottingham <notting redhat com> 1.1.14-7
- lpc man page is alternative too
- run ldconfig in -libs %post/%postun, not main
- remove alternatives in %preun
* Wed Feb 27 2002 Bill Nottingham <notting redhat com> 1.1.14-6
- don't source /etc/sysconfig/network in cups.init, we don't use any
values from it
* Tue Feb 26 2002 Bernhard Rosenkraenzer <bero redhat com> 1.1.14-4
- Fix bugs #60220 and #60352
* Thu Feb 21 2002 Tim Powers <timp redhat com>
- rebuild against correct version of openssl (0.9.6b)
* Wed Feb 20 2002 Bernhard Rosenkraenzer <bero redhat com> 1.1.14-2
- Add all man pages to alternatives (#59943)
- Update to real 1.1.14
* Tue Feb 12 2002 Bernhard Rosenkraenzer <bero redhat com> 1.1.14-1
- Update to almost-1.1.14
* Mon Feb 11 2002 Bernhard Rosenkraenzer <bero redhat com> 1.1.13-5
- Move cups-config to cups-devel subpackage
- Make alternatives usage a %%define to simplify builds for earlier
releases
- Explicitly provide things we're supplying through alternatives
to shut up kdeutils dependencies
* Tue Feb 5 2002 Tim Powers <timp redhat com>
- shut the alternatives stuff up for good
* Fri Feb 1 2002 Bernhard Rosenkraenzer <bero redhat com> 1.1.13-3
- Fix alternatives stuff
- Don't display error messages in %%post
* Wed Jan 30 2002 Bernhard Rosenkraenzer <bero redhat com> 1.1.13-2
- alternatives stuff
* Tue Jan 29 2002 Bernhard Rosenkraenzer <bero redhat com> 1.1.13-1
- 1.1.13
- Add patch for koi8-{r,u} and iso8859-8 encodings (#59018)
- Rename init scripts so we can safely "killall cupsd" from there
* Sat Jan 26 2002 Bernhard Rosenkraenzer <bero redhat com> 1.1.12-1
- Initial (conflicting, since alternatives isn't there yet) packaging for
Red Hat Linux
* Sat Jan 19 2002 Bernhard Rosenkraenzer <bero redhat com>
- 1.1.12
* Mon Nov 5 2001 Bernhard Rosenkraenzer <bero redhat com> 1.1.10-3
- Compress PPD files
- Fix build with gcc 3.1
- Fix init script
* Tue Sep 4 2001 Bernhard Rosenkraenzer <bero redhat com> 1.1.10-2
- Fix URL
- Generate printcap
- s/Copyright/License/g
* Tue Sep 4 2001 Than Ngo <than redhat com> 1.1.10-1
- update to 1.1.10-1 for ExtraBinge 7.2
* Tue May 29 2001 Michael Stefaniuc <mstefani redhat com>
- update to 1.1.8
- changed cupsd.conf to generate /etc/printcap
* Tue May 15 2001 Than Ngo <than redhat com>
- update to 1.1.7, bugfixes
* Thu Dec 14 2000 Than Ngo <than redhat com>
- fixed package dependency with lpr and LPRng
* Wed Oct 25 2000 Than Ngo <than redhat com>
- remove man/cat
* Tue Oct 24 2000 Than Ngo <than redhat com>
- don't start cupsd service in level 0, fixed
* Thu Oct 19 2000 Than Ngo <than redhat com>
- update to 1.1.4
- fix CUPS_DOCROOT (Bug #18717)
* Fri Aug 11 2000 Than Ngo <than redhat de>
- update to 1.1.2 (Bugfix release)
* Fri Aug 4 2000 Than Ngo <than redhat de>
- fix, cupsd read config file under /etc/cups (Bug #15432)
- add missing cups filters
* Wed Aug 2 2000 Tim Powers <timp redhat com>
- rebuilt against libpng-1.0.8
* Tue Aug 01 2000 Than Ngo <than redhat de>
- fix permission, add missing ldconfig in %post and %postun (Bug #14963)
* Sat Jul 29 2000 Bernhard Rosenkraenzer <bero redhat com>
- 1.1.1 (this has some major bugfixes)
- Fix a typo in initscript (it's $?, not ?$)
- Fix /usr/etc vs. /etc trouble, don't insist on /usr/var (YUCK!)
- Create the spool dir
* Fri Jul 28 2000 Than Ngo <than redhat de>
- fix unclean code for building against gcc-2.96
- add missing restart function in startup script
* Fri Jul 28 2000 Tim Powers <timp redhat com>
- fixed initscript so that conrestart doesn't return 1 if the test fails
* Mon Jul 24 2000 Prospector <prospector redhat com>
- rebuilt
* Wed Jul 19 2000 Than Ngo <than redhat de>
- using service to fire them up
- fix Prereq section
* Mon Jul 17 2000 Tim Powers <timp redhat com>
- added defattr to the devel package
* Sun Jul 16 2000 Than Ngo <than redhat de>
- add cups config files
* Sat Jul 15 2000 Than Ngo <than redhat de>
- update to 1.1 release
- move back to /etc/rc.d/init.d
- fix cupsd.init to work with /etc/init.d and /etc/rc.d/init.d
- split cups
* Wed Jul 12 2000 Than Ngo <than redhat de>
- rebuilt
* Thu Jul 06 2000 Tim Powers <timp redhat com>
- fixed broken PreReq to now require /etc/init.d
* Tue Jun 27 2000 Tim Powers <timp redhat com>
- PreReq initscripts >= 5.20
* Mon Jun 26 2000 Tim Powers <timp redhat com>
- started changelog
- fixed init.d script location
- changed script in init.d quite a bit and made more like the rest of our
startup scripts
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]