rpms/cups/devel cups-lspp.patch, 1.25, 1.26 cups.spec, 1.355, 1.356 sources, 1.36, 1.37
Tim Waugh (twaugh)
fedora-extras-commits at redhat.com
Mon Sep 17 16:10:59 UTC 2007
Author: twaugh
Update of /cvs/pkgs/rpms/cups/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv17087
Modified Files:
cups-lspp.patch cups.spec sources
Log Message:
* Mon Sep 17 2007 Tim Waugh <twaugh at redhat.com> 1:1.3.1-1
- 1.3.1.
cups-lspp.patch:
Index: cups-lspp.patch
===================================================================
RCS file: /cvs/pkgs/rpms/cups/devel/cups-lspp.patch,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -r1.25 -r1.26
--- cups-lspp.patch 31 Jul 2007 12:28:40 -0000 1.25
+++ cups-lspp.patch 17 Sep 2007 16:10:57 -0000 1.26
@@ -1,5 +1,177 @@
---- /dev/null 2007-07-31 09:03:12.827706703 +0100
-+++ cups-1.3rc2/config-scripts/cups-lspp.m4 2007-07-31 12:28:32.000000000 +0100
+diff -up cups-1.3.1/filter/common.c.lspp cups-1.3.1/filter/common.c
+--- cups-1.3.1/filter/common.c.lspp 2007-07-11 22:46:42.000000000 +0100
++++ cups-1.3.1/filter/common.c 2007-09-17 16:48:23.000000000 +0100
+@@ -30,6 +30,12 @@
+ * Include necessary headers...
+ */
+
++#include "config.h"
++#ifdef WITH_LSPP
++#define _GNU_SOURCE
++#include <string.h>
++#endif /* WITH_LSPP */
++
+ #include "common.h"
+ #include <locale.h>
+
+@@ -312,6 +318,18 @@ WriteLabelProlog(const char *label, /* I
+ {
+ const char *classification; /* CLASSIFICATION environment variable */
+ const char *ptr; /* Temporary string pointer */
++#ifdef WITH_LSPP
++ int i, /* counter */
++ n, /* counter */
++ lines, /* number of lines needed */
++ line_len, /* index into tmp_label */
++ label_len, /* length of the label in characters */
++ label_index, /* index into the label */
++ longest, /* length of the longest line */
++ longest_line, /* index to the longest line */
++ max_width; /* maximum width in characters */
++ char **wrapped_label; /* label with line breaks */
++#endif /* WITH_LSPP */
+
+
+ /*
+@@ -334,6 +352,124 @@ WriteLabelProlog(const char *label, /* I
+ return;
+ }
+
++#ifdef WITH_LSPP
++ if (strncmp(classification, "LSPP:", 5) == 0 && label == NULL)
++ {
++ /*
++ * Based on the 12pt fixed width font below determine the max_width
++ */
++ max_width = width / 8;
++ longest_line = 0;
++ longest = 0;
++ classification += 5; // Skip the "LSPP:"
++ label_len = strlen(classification);
++
++ if (label_len > max_width)
++ {
++ lines = 1 + (int)(label_len / max_width);
++ line_len = (int)(label_len / lines);
++ wrapped_label = malloc(sizeof(wrapped_label) * lines);
++ label_index = i = n = 0;
++ while (classification[label_index])
++ {
++ if ((label_index + line_len) > label_len)
++ break;
++ switch (classification[label_index + line_len + i])
++ {
++ case ':':
++ case ',':
++ case '-':
++ i++;
++ wrapped_label[n++] = strndup(&classification[label_index], (line_len + i));
++ label_index += line_len + i;
++ i = 0;
++ break;
++ default:
++ i++;
++ break;
++ }
++ if ((i + line_len) == max_width)
++ {
++ wrapped_label[n++] = strndup(&(classification[label_index]), (line_len + i));
++ label_index = label_index + line_len + i;
++ i = 0;
++ }
++ }
++ wrapped_label[n] = strndup(&classification[label_index], label_len - label_index);
++ }
++ else
++ {
++ lines = 1;
++ wrapped_label = malloc(sizeof(wrapped_label));
++ wrapped_label[0] = (char*)classification;
++ }
++
++ for (n = 0; n < lines; n++ )
++ {
++ printf("userdict/ESPp%c(", ('a' + n));
++ for (ptr = wrapped_label[n], i = 0; *ptr; ptr ++, i++)
++ if (*ptr < 32 || *ptr > 126)
++ printf("\\%03o", *ptr);
++ else
++ {
++ if (*ptr == '(' || *ptr == ')' || *ptr == '\\')
++ putchar('\\');
++
++ printf("%c", *ptr);
++ }
++ if (i > longest)
++ {
++ longest = i;
++ longest_line = n;
++ }
++ printf(")put\n");
++ }
++
++ /*
++ * For LSPP use a fixed width font so that line wrapping can be calculated
++ */
++
++ puts("userdict/ESPlf /Nimbus-Mono findfont 12 scalefont put");
++
++ /*
++ * Finally, the procedure to write the labels on the page...
++ */
++
++ printf("userdict/ESPwl{\n"
++ " ESPlf setfont\n");
++ printf(" ESPp%c stringwidth pop dup 12 add exch -0.5 mul %.0f add\n ",
++ 'a' + longest_line, width * 0.5f);
++ for (n = 1; n < lines; n++)
++ printf(" dup");
++ printf("\n 1 setgray\n");
++ printf(" dup 6 sub %.0f %d index %.0f ESPrf\n",
++ (bottom - 2.0), (2 + lines), 6.0 + (16.0 * lines));
++ printf(" dup 6 sub %.0f %d index %.0f ESPrf\n",
++ (top - 6.0 - (16.0 * lines)), (2 + lines), 4.0 + (16.0 * lines));
++ printf(" 0 setgray\n");
++ printf(" dup 6 sub %.0f %d index %.0f ESPrs\n",
++ (bottom - 2.0), (2 + lines), 6.0 + (16.0 * lines));
++ printf(" dup 6 sub %.0f %d index %.0f ESPrs\n",
++ (top - 6.0 - (16.0 * lines)), (2 + lines), 4.0 + (16.0 * lines));
++ for (n = 0; n < lines; n ++)
++ {
++ printf(" dup %.0f moveto ESPp%c show\n",
++ bottom + 6.0 + ((lines - (n+1)) * 16.0), 'a' + n);
++ printf(" %.0f moveto ESPp%c show\n", top + 2.0 - ((n + 1) * 16.0), 'a' + n);
++ }
++ printf(" pop\n"
++ "}bind put\n");
++
++ /*
++ * Do some clean up at the end of the LSPP special case
++ */
++ free(wrapped_label);
++
++ }
++ else
++ {
++#endif /* !WITH_LSPP */
++
+ /*
+ * Set the classification + page label string...
+ */
+@@ -414,7 +550,10 @@ WriteLabelProlog(const char *label, /* I
+ printf(" %.0f moveto ESPpl show\n", top - 14.0);
+ puts("pop");
+ puts("}bind put");
++ }
++#ifdef WITH_LSPP
+ }
++#endif /* WITH_LSPP */
+
+
+ /*
+diff -up /dev/null cups-1.3.1/config-scripts/cups-lspp.m4
+--- /dev/null 2007-09-17 08:47:57.586358512 +0100
++++ cups-1.3.1/config-scripts/cups-lspp.m4 2007-09-17 16:48:23.000000000 +0100
@@ -0,0 +1,36 @@
+dnl
+dnl LSPP code for the Common UNIX Printing System (CUPS).
@@ -37,33 +209,9 @@
+ ;;
+ esac
+fi
---- cups-1.3rc2/cups/cups.h.lspp 2007-07-13 02:13:26.000000000 +0100
-+++ cups-1.3rc2/cups/cups.h 2007-07-31 12:28:32.000000000 +0100
-@@ -15,6 +15,9 @@
- * This file is subject to the Apple OS-Developed Software exception.
- */
-
-+/* Copyright (C) 2005 Trusted Computer Solutions, Inc. */
-+/* (c) Copyright 2005-2006 Hewlett-Packard Development Company, L.P. */
-+
- #ifndef _CUPS_CUPS_H_
- # define _CUPS_CUPS_H_
-
-@@ -66,6 +69,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...
- */
---- /dev/null 2007-07-31 09:03:12.827706703 +0100
-+++ cups-1.3rc2/data/mls 2007-07-31 12:28:32.000000000 +0100
+diff -up /dev/null cups-1.3.1/data/mls
+--- /dev/null 2007-09-17 08:47:57.586358512 +0100
++++ cups-1.3.1/data/mls 2007-09-17 16:48:23.000000000 +0100
@@ -0,0 +1,261 @@
+%!PS-Adobe-3.0
+%%BoundingBox: 0 0 612 792
@@ -326,8 +474,9 @@
+% End of "$Id$".
+%
+%%EOF
---- /dev/null 2007-07-31 09:03:12.827706703 +0100
-+++ cups-1.3rc2/data/selinux 2007-07-31 12:28:32.000000000 +0100
+diff -up /dev/null cups-1.3.1/data/selinux
+--- /dev/null 2007-09-17 08:47:57.586358512 +0100
++++ cups-1.3.1/data/selinux 2007-09-17 16:48:23.000000000 +0100
@@ -0,0 +1,261 @@
+%!PS-Adobe-3.0
+%%BoundingBox: 0 0 612 792
@@ -590,9 +739,10 @@
+% End of "$Id$".
+%
+%%EOF
---- cups-1.3rc2/data/Makefile.lspp 2007-07-11 22:46:42.000000000 +0100
-+++ cups-1.3rc2/data/Makefile 2007-07-31 12:28:32.000000000 +0100
-@@ -25,7 +25,10 @@
+diff -up cups-1.3.1/data/Makefile.lspp cups-1.3.1/data/Makefile
+--- cups-1.3.1/data/Makefile.lspp 2007-07-11 22:46:42.000000000 +0100
++++ cups-1.3.1/data/Makefile 2007-09-17 16:48:23.000000000 +0100
+@@ -25,7 +25,10 @@ BANNERS = \
secret \
standard \
topsecret \
@@ -604,8 +754,9 @@
CHARMAPS = \
euc-cn.txt \
---- /dev/null 2007-07-31 09:03:12.827706703 +0100
-+++ cups-1.3rc2/data/te 2007-07-31 12:28:32.000000000 +0100
+diff -up /dev/null cups-1.3.1/data/te
+--- /dev/null 2007-09-17 08:47:57.586358512 +0100
++++ cups-1.3.1/data/te 2007-09-17 16:48:23.000000000 +0100
@@ -0,0 +1,261 @@
+%!PS-Adobe-3.0
+%%BoundingBox: 0 0 612 792
@@ -868,178 +1019,9 @@
+% End of "$Id$".
+%
+%%EOF
---- cups-1.3rc2/filter/common.c.lspp 2007-07-11 22:46:42.000000000 +0100
-+++ cups-1.3rc2/filter/common.c 2007-07-31 12:28:32.000000000 +0100
-@@ -30,6 +30,12 @@
- * Include necessary headers...
- */
-
-+#include "config.h"
-+#ifdef WITH_LSPP
-+#define _GNU_SOURCE
-+#include <string.h>
-+#endif /* WITH_LSPP */
-+
- #include "common.h"
- #include <locale.h>
-
-@@ -312,6 +318,18 @@
- {
- const char *classification; /* CLASSIFICATION environment variable */
- const char *ptr; /* Temporary string pointer */
-+#ifdef WITH_LSPP
-+ int i, /* counter */
-+ n, /* counter */
-+ lines, /* number of lines needed */
-+ line_len, /* index into tmp_label */
-+ label_len, /* length of the label in characters */
-+ label_index, /* index into the label */
-+ longest, /* length of the longest line */
-+ longest_line, /* index to the longest line */
-+ max_width; /* maximum width in characters */
-+ char **wrapped_label; /* label with line breaks */
-+#endif /* WITH_LSPP */
-
-
- /*
-@@ -334,6 +352,124 @@
- return;
- }
-
-+#ifdef WITH_LSPP
-+ if (strncmp(classification, "LSPP:", 5) == 0 && label == NULL)
-+ {
-+ /*
-+ * Based on the 12pt fixed width font below determine the max_width
-+ */
-+ max_width = width / 8;
-+ longest_line = 0;
-+ longest = 0;
-+ classification += 5; // Skip the "LSPP:"
-+ label_len = strlen(classification);
-+
-+ if (label_len > max_width)
-+ {
-+ lines = 1 + (int)(label_len / max_width);
-+ line_len = (int)(label_len / lines);
-+ wrapped_label = malloc(sizeof(wrapped_label) * lines);
-+ label_index = i = n = 0;
-+ while (classification[label_index])
-+ {
-+ if ((label_index + line_len) > label_len)
-+ break;
-+ switch (classification[label_index + line_len + i])
-+ {
-+ case ':':
-+ case ',':
-+ case '-':
-+ i++;
-+ wrapped_label[n++] = strndup(&classification[label_index], (line_len + i));
-+ label_index += line_len + i;
-+ i = 0;
-+ break;
-+ default:
-+ i++;
-+ break;
-+ }
-+ if ((i + line_len) == max_width)
-+ {
-+ wrapped_label[n++] = strndup(&(classification[label_index]), (line_len + i));
-+ label_index = label_index + line_len + i;
-+ i = 0;
-+ }
-+ }
-+ wrapped_label[n] = strndup(&classification[label_index], label_len - label_index);
-+ }
-+ else
-+ {
-+ lines = 1;
-+ wrapped_label = malloc(sizeof(wrapped_label));
-+ wrapped_label[0] = (char*)classification;
-+ }
-+
-+ for (n = 0; n < lines; n++ )
-+ {
-+ printf("userdict/ESPp%c(", ('a' + n));
-+ for (ptr = wrapped_label[n], i = 0; *ptr; ptr ++, i++)
-+ if (*ptr < 32 || *ptr > 126)
-+ printf("\\%03o", *ptr);
-+ else
-+ {
-+ if (*ptr == '(' || *ptr == ')' || *ptr == '\\')
-+ putchar('\\');
-+
-+ printf("%c", *ptr);
-+ }
-+ if (i > longest)
-+ {
-+ longest = i;
-+ longest_line = n;
-+ }
-+ printf(")put\n");
-+ }
-+
-+ /*
-+ * For LSPP use a fixed width font so that line wrapping can be calculated
-+ */
-+
-+ puts("userdict/ESPlf /Nimbus-Mono findfont 12 scalefont put");
-+
-+ /*
-+ * Finally, the procedure to write the labels on the page...
-+ */
-+
-+ printf("userdict/ESPwl{\n"
-+ " ESPlf setfont\n");
-+ printf(" ESPp%c stringwidth pop dup 12 add exch -0.5 mul %.0f add\n ",
-+ 'a' + longest_line, width * 0.5f);
-+ for (n = 1; n < lines; n++)
-+ printf(" dup");
-+ printf("\n 1 setgray\n");
-+ printf(" dup 6 sub %.0f %d index %.0f ESPrf\n",
-+ (bottom - 2.0), (2 + lines), 6.0 + (16.0 * lines));
-+ printf(" dup 6 sub %.0f %d index %.0f ESPrf\n",
-+ (top - 6.0 - (16.0 * lines)), (2 + lines), 4.0 + (16.0 * lines));
-+ printf(" 0 setgray\n");
-+ printf(" dup 6 sub %.0f %d index %.0f ESPrs\n",
-+ (bottom - 2.0), (2 + lines), 6.0 + (16.0 * lines));
-+ printf(" dup 6 sub %.0f %d index %.0f ESPrs\n",
-+ (top - 6.0 - (16.0 * lines)), (2 + lines), 4.0 + (16.0 * lines));
-+ for (n = 0; n < lines; n ++)
-+ {
-+ printf(" dup %.0f moveto ESPp%c show\n",
-+ bottom + 6.0 + ((lines - (n+1)) * 16.0), 'a' + n);
-+ printf(" %.0f moveto ESPp%c show\n", top + 2.0 - ((n + 1) * 16.0), 'a' + n);
-+ }
-+ printf(" pop\n"
-+ "}bind put\n");
-+
-+ /*
-+ * Do some clean up at the end of the LSPP special case
-+ */
-+ free(wrapped_label);
-+
-+ }
-+ else
-+ {
-+#endif /* !WITH_LSPP */
-+
- /*
- * Set the classification + page label string...
- */
-@@ -414,7 +550,10 @@
- printf(" %.0f moveto ESPpl show\n", top - 14.0);
- puts("pop");
- puts("}bind put");
-+ }
-+#ifdef WITH_LSPP
- }
-+#endif /* WITH_LSPP */
-
-
- /*
---- cups-1.3rc2/scheduler/client.h.lspp 2007-07-11 22:46:42.000000000 +0100
-+++ cups-1.3rc2/scheduler/client.h 2007-07-31 12:28:32.000000000 +0100
+diff -up cups-1.3.1/scheduler/client.h.lspp cups-1.3.1/scheduler/client.h
+--- cups-1.3.1/scheduler/client.h.lspp 2007-09-12 22:09:49.000000000 +0100
++++ cups-1.3.1/scheduler/client.h 2007-09-17 16:48:23.000000000 +0100
@@ -17,6 +17,13 @@
# include <Security/Authorization.h>
#endif /* HAVE_AUTHORIZATION_H */
@@ -1054,7 +1036,7 @@
/*
* HTTP client structure...
*/
-@@ -62,6 +69,10 @@
+@@ -61,6 +68,10 @@ struct cupsd_client_s
#ifdef HAVE_AUTHORIZATION_H
AuthorizationRef authref; /* Authorization ref */
#endif /* HAVE_AUTHORIZATION_H */
@@ -1065,7 +1047,7 @@
};
#define HTTP(con) &((con)->http)
-@@ -127,6 +138,9 @@
+@@ -128,6 +139,9 @@ extern void cupsdStartListening(void);
extern void cupsdStopListening(void);
extern void cupsdUpdateCGI(void);
extern void cupsdWriteClient(cupsd_client_t *con);
@@ -1075,8 +1057,9 @@
/*
---- cups-1.3rc2/scheduler/conf.c.lspp 2007-07-31 12:28:32.000000000 +0100
-+++ cups-1.3rc2/scheduler/conf.c 2007-07-31 12:28:32.000000000 +0100
+diff -up cups-1.3.1/scheduler/conf.c.lspp cups-1.3.1/scheduler/conf.c
+--- cups-1.3.1/scheduler/conf.c.lspp 2007-09-17 16:48:23.000000000 +0100
++++ cups-1.3.1/scheduler/conf.c 2007-09-17 16:50:08.000000000 +0100
@@ -26,6 +26,7 @@
* read_configuration() - Read a configuration file.
* read_location() - Read a <Location path> definition.
@@ -1095,9 +1078,9 @@
/*
* Configuration variable structure...
-@@ -158,6 +162,10 @@
+@@ -160,6 +164,10 @@ static cupsd_var_t variables[] =
# if defined(HAVE_LIBSSL) || defined(HAVE_GNUTLS)
- { "ServerKey", &ServerKey, CUPSD_VARTYPE_STRING },
+ { "ServerKey", &ServerKey, CUPSD_VARTYPE_PATHNAME },
# endif /* HAVE_LIBSSL || HAVE_GNUTLS */
+#ifdef WITH_LSPP
+ { "AuditLog", &AuditLog, CUPSD_VARTYPE_INTEGER },
@@ -1105,18 +1088,18 @@
+#endif /* WITH_LSPP */
#endif /* HAVE_SSL */
{ "ServerName", &ServerName, CUPSD_VARTYPE_STRING },
- { "ServerRoot", &ServerRoot, CUPSD_VARTYPE_STRING },
-@@ -348,6 +356,9 @@
- *old_requestroot; /* Old RequestRoot */
+ { "ServerRoot", &ServerRoot, CUPSD_VARTYPE_PATHNAME },
+@@ -352,6 +360,9 @@ cupsdReadConfiguration(void)
const char *tmpdir; /* TMPDIR environment variable */
struct stat tmpinfo; /* Temporary directory info */
+ cupsd_policy_t *p; /* Policy */
+#ifdef WITH_LSPP
+ char *audit_message; /* Audit message string */
+#endif /* WITH_LSPP */
/*
-@@ -609,6 +620,25 @@
+@@ -616,6 +627,25 @@ cupsdReadConfiguration(void)
RunUser = getuid();
@@ -1142,7 +1125,7 @@
/*
* See if the ServerName is an IP address...
*/
-@@ -883,11 +913,23 @@
+@@ -890,11 +920,23 @@ cupsdReadConfiguration(void)
if (MaxActiveJobs > (MaxFDs / 3))
MaxActiveJobs = MaxFDs / 3;
@@ -1167,7 +1150,7 @@
/*
* Update the MaxClientsPerHost value, as needed...
-@@ -3343,6 +3385,18 @@
+@@ -3393,6 +3435,18 @@ read_policy(cups_file_t *fp, /* I - Con
return (0);
}
@@ -1186,8 +1169,9 @@
/*
* End of "$Id$".
---- cups-1.3rc2/scheduler/client.c.lspp 2007-07-26 20:08:40.000000000 +0100
-+++ cups-1.3rc2/scheduler/client.c 2007-07-31 12:28:32.000000000 +0100
+diff -up cups-1.3.1/scheduler/client.c.lspp cups-1.3.1/scheduler/client.c
+--- cups-1.3.1/scheduler/client.c.lspp 2007-08-15 19:36:14.000000000 +0100
++++ cups-1.3.1/scheduler/client.c 2007-09-17 16:48:23.000000000 +0100
@@ -39,12 +39,14 @@
* pipe_command() - Pipe the output of a command to the remote client.
* write_file() - Send a file via HTTP.
@@ -1203,7 +1187,7 @@
#include <cups/http-private.h>
#include "cupsd.h"
-@@ -76,6 +78,12 @@
+@@ -76,6 +78,12 @@ extern const char *cssmErrorString(int e
# include <gnutls/x509.h>
#endif /* HAVE_GNUTLS */
@@ -1216,7 +1200,7 @@
/*
* Local functions...
-@@ -335,6 +343,57 @@
+@@ -339,6 +347,57 @@ cupsdAcceptClient(cupsd_listener_t *lis)
}
}
@@ -1274,7 +1258,7 @@
#ifdef AF_INET6
if (con->http.hostaddr->addr.sa_family == AF_INET6)
cupsdLogMessage(CUPSD_LOG_DEBUG, "cupsdAcceptClient: %d from %s:%d (IPv6)",
-@@ -717,6 +776,13 @@
+@@ -721,6 +780,13 @@ cupsdReadClient(cupsd_client_t *con) /*
mime_type_t *type; /* MIME type of file */
cupsd_printer_t *p; /* Printer */
static unsigned request_id = 0; /* Request ID for temp files */
@@ -1288,7 +1272,7 @@
status = HTTP_CONTINUE;
-@@ -1989,6 +2055,67 @@
+@@ -1993,6 +2059,67 @@ cupsdReadClient(cupsd_client_t *con) /*
fchmod(con->file, 0640);
fchown(con->file, RunUser, Group);
fcntl(con->file, F_SETFD, fcntl(con->file, F_GETFD) | FD_CLOEXEC);
@@ -1356,7 +1340,7 @@
}
if (con->http.state != HTTP_POST_SEND)
-@@ -4157,6 +4284,50 @@
+@@ -4197,6 +4324,50 @@ make_certificate(cupsd_client_t *con) /*
#endif /* HAVE_SSL */
@@ -1407,8 +1391,9 @@
/*
* 'pipe_command()' - Pipe the output of a command to the remote client.
*/
---- cups-1.3rc2/scheduler/main.c.lspp 2007-07-31 12:28:32.000000000 +0100
-+++ cups-1.3rc2/scheduler/main.c 2007-07-31 12:28:32.000000000 +0100
+diff -up cups-1.3.1/scheduler/main.c.lspp cups-1.3.1/scheduler/main.c
+--- cups-1.3.1/scheduler/main.c.lspp 2007-09-17 16:48:23.000000000 +0100
++++ cups-1.3.1/scheduler/main.c 2007-09-17 16:48:23.000000000 +0100
@@ -35,6 +35,8 @@
* usage() - Show scheduler usage.
*/
@@ -1428,7 +1413,7 @@
/*
* Local functions...
-@@ -150,6 +155,9 @@
+@@ -150,6 +155,9 @@ main(int argc, /* I - Number of comm
int launchd_idle_exit;
/* Idle exit on select timeout? */
#endif /* HAVE_LAUNCHD */
@@ -1437,8 +1422,8 @@
+#endif /* WITH_LSPP */
- /*
-@@ -368,6 +376,25 @@
+ #ifdef HAVE_GETEUID
+@@ -385,6 +393,25 @@ main(int argc, /* I - Number of comm
#endif /* DEBUG */
}
@@ -1464,7 +1449,7 @@
/*
* Set the timezone info...
*/
-@@ -1019,6 +1046,11 @@
+@@ -1094,6 +1121,11 @@ main(int argc, /* I - Number of comm
cupsdStopSelect();
@@ -1476,9 +1461,10 @@
return (!stop_scheduler);
}
---- cups-1.3rc2/scheduler/conf.h.lspp 2007-07-31 12:28:32.000000000 +0100
-+++ cups-1.3rc2/scheduler/conf.h 2007-07-31 12:28:32.000000000 +0100
-@@ -190,6 +190,12 @@
+diff -up cups-1.3.1/scheduler/conf.h.lspp cups-1.3.1/scheduler/conf.h
+--- cups-1.3.1/scheduler/conf.h.lspp 2007-09-17 16:48:23.000000000 +0100
++++ cups-1.3.1/scheduler/conf.h 2007-09-17 16:48:23.000000000 +0100
+@@ -190,6 +190,12 @@ VAR char *ServerKey VALUE(NULL);
/* Server key file */
# endif /* HAVE_LIBSSL || HAVE_GNUTLS */
#endif /* HAVE_SSL */
@@ -1491,7 +1477,7 @@
#ifdef HAVE_LAUNCHD
VAR int LaunchdTimeout VALUE(DEFAULT_TIMEOUT);
-@@ -208,6 +214,9 @@
+@@ -208,6 +214,9 @@ VAR char *SystemGroupAuthKey VALUE(NULL
/* System group auth key */
#endif /* HAVE_AUTHORIZATION_H */
@@ -1501,8 +1487,9 @@
/*
* Prototypes...
---- cups-1.3rc2/scheduler/ipp.c.lspp 2007-07-31 12:28:32.000000000 +0100
-+++ cups-1.3rc2/scheduler/ipp.c 2007-07-31 12:29:34.000000000 +0100
+diff -up cups-1.3.1/scheduler/ipp.c.lspp cups-1.3.1/scheduler/ipp.c
+--- cups-1.3.1/scheduler/ipp.c.lspp 2007-09-17 16:48:23.000000000 +0100
++++ cups-1.3.1/scheduler/ipp.c 2007-09-17 16:48:23.000000000 +0100
@@ -36,6 +36,7 @@
* cancel_all_jobs() - Cancel all print jobs.
* cancel_job() - Cancel a print job.
@@ -1511,7 +1498,7 @@
* check_quotas() - Check quotas for a printer and user.
* copy_attribute() - Copy a single attribute.
* copy_attrs() - Copy attributes from one request to another.
-@@ -93,6 +94,9 @@
+@@ -94,6 +95,9 @@
* validate_user() - Validate the user for the request.
*/
@@ -1521,7 +1508,7 @@
/*
* Include necessary headers...
*/
-@@ -120,6 +124,14 @@
+@@ -117,6 +121,14 @@ extern int mbr_check_membership_by_id(uu
# endif /* HAVE_MEMBERSHIPPRIV_H */
#endif /* __APPLE__ */
@@ -1536,7 +1523,7 @@
/*
* Local functions...
-@@ -144,6 +156,9 @@
+@@ -141,6 +153,9 @@ static void authenticate_job(cupsd_clien
static void cancel_all_jobs(cupsd_client_t *con, ipp_attribute_t *uri);
static void cancel_job(cupsd_client_t *con, ipp_attribute_t *uri);
static void cancel_subscription(cupsd_client_t *con, int id);
@@ -1546,7 +1533,7 @@
static int check_quotas(cupsd_client_t *con, cupsd_printer_t *p);
static ipp_attribute_t *copy_attribute(ipp_t *to, ipp_attribute_t *attr,
int quickcopy);
-@@ -1235,6 +1250,21 @@
+@@ -1237,6 +1252,21 @@ add_job(cupsd_client_t *con, /* I - Cl
int kbytes; /* Size of print file */
int i; /* Looping var */
int lowerpagerange; /* Page range bound */
@@ -1568,7 +1555,7 @@
cupsdLogMessage(CUPSD_LOG_DEBUG2, "add_job(%p[%d], %p(%s), %p(%s/%s))",
-@@ -1421,6 +1451,104 @@
+@@ -1423,6 +1453,104 @@ add_job(cupsd_client_t *con, /* I - Cl
ippAddString(con->request, IPP_TAG_JOB, IPP_TAG_NAME, "job-name", NULL,
title = "Untitled");
@@ -1673,7 +1660,7 @@
if ((job = cupsdAddJob(priority, printer->name)) == NULL)
{
send_ipp_status(con, IPP_INTERNAL_ERROR,
-@@ -1429,6 +1557,32 @@
+@@ -1431,6 +1559,32 @@ add_job(cupsd_client_t *con, /* I - Cl
return (NULL);
}
@@ -1706,7 +1693,7 @@
job->dtype = printer->type & (CUPS_PRINTER_CLASS | CUPS_PRINTER_IMPLICIT |
CUPS_PRINTER_REMOTE);
job->attrs = con->request;
-@@ -1645,6 +1799,29 @@
+@@ -1647,6 +1801,29 @@ add_job(cupsd_client_t *con, /* I - Cl
attr->values[0].string.text = _cupsStrAlloc(printer->job_sheets[0]);
attr->values[1].string.text = _cupsStrAlloc(printer->job_sheets[1]);
}
@@ -1736,7 +1723,7 @@
job->job_sheets = attr;
-@@ -1675,6 +1852,9 @@
+@@ -1677,6 +1854,9 @@ add_job(cupsd_client_t *con, /* I - Cl
"job-sheets=\"%s,none\", "
"job-originating-user-name=\"%s\"",
job->id, Classification, job->username);
@@ -1746,7 +1733,7 @@
}
else if (attr->num_values == 2 &&
strcmp(attr->values[0].string.text,
-@@ -1693,6 +1873,9 @@
+@@ -1695,6 +1875,9 @@ add_job(cupsd_client_t *con, /* I - Cl
"job-originating-user-name=\"%s\"",
job->id, attr->values[0].string.text,
attr->values[1].string.text, job->username);
@@ -1756,7 +1743,7 @@
}
else if (strcmp(attr->values[0].string.text, Classification) &&
strcmp(attr->values[0].string.text, "none") &&
-@@ -1713,6 +1896,9 @@
+@@ -1715,6 +1898,9 @@ add_job(cupsd_client_t *con, /* I - Cl
"job-originating-user-name=\"%s\"",
job->id, attr->values[0].string.text,
attr->values[1].string.text, job->username);
@@ -1766,7 +1753,7 @@
}
}
else if (strcmp(attr->values[0].string.text, Classification) &&
-@@ -1753,9 +1939,52 @@
+@@ -1755,9 +1941,52 @@ add_job(cupsd_client_t *con, /* I - Cl
"job-sheets=\"%s\", "
"job-originating-user-name=\"%s\"",
job->id, Classification, job->username);
@@ -1819,7 +1806,7 @@
/*
* See if we need to add the starting sheet...
*/
-@@ -3317,6 +3546,103 @@
+@@ -3333,6 +3562,103 @@ cancel_subscription(
}
@@ -1923,7 +1910,7 @@
/*
* 'check_quotas()' - Check quotas for a printer and user.
*/
-@@ -3845,6 +4171,15 @@
+@@ -3861,6 +4187,15 @@ copy_banner(cupsd_client_t *con, /* I -
char attrname[255], /* Name of attribute */
*s; /* Pointer into name */
ipp_attribute_t *attr; /* Attribute */
@@ -1939,7 +1926,7 @@
cupsdLogMessage(CUPSD_LOG_DEBUG2, "copy_banner(%p[%d], %p[%d], %s)",
-@@ -3879,6 +4214,81 @@
+@@ -3895,6 +4230,81 @@ copy_banner(cupsd_client_t *con, /* I -
fchmod(cupsFileNumber(out), 0640);
fchown(cupsFileNumber(out), RunUser, Group);
@@ -2021,7 +2008,7 @@
/*
* Try the localized banner file under the subdirectory...
-@@ -3973,6 +4383,24 @@
+@@ -3989,6 +4399,24 @@ copy_banner(cupsd_client_t *con, /* I -
else
s = attrname;
@@ -2046,7 +2033,7 @@
if (!strcmp(s, "printer-name"))
{
cupsFilePuts(out, job->dest);
-@@ -5694,6 +6122,22 @@
+@@ -5858,6 +6286,22 @@ get_job_attrs(cupsd_client_t *con, /* I
return;
}
@@ -2069,7 +2056,7 @@
/*
* Copy attributes...
*/
-@@ -5893,6 +6337,11 @@
+@@ -6057,6 +6501,11 @@ get_jobs(cupsd_client_t *con, /* I - C
if (count > 0)
ippAddSeparator(con->response);
@@ -2081,7 +2068,7 @@
count ++;
cupsdLogMessage(CUPSD_LOG_DEBUG2, "get_jobs: count = %d", count);
-@@ -9881,6 +10330,11 @@
+@@ -10080,6 +10529,11 @@ validate_user(cupsd_job_t *job, /* I
strlcpy(username, get_username(con), userlen);
@@ -2093,8 +2080,9 @@
/*
* Check the username against the owner...
*/
---- cups-1.3rc2/scheduler/job.c.lspp 2007-07-31 12:28:32.000000000 +0100
-+++ cups-1.3rc2/scheduler/job.c 2007-07-31 12:28:32.000000000 +0100
+diff -up cups-1.3.1/scheduler/job.c.lspp cups-1.3.1/scheduler/job.c
+--- cups-1.3.1/scheduler/job.c.lspp 2007-09-17 16:48:23.000000000 +0100
++++ cups-1.3.1/scheduler/job.c 2007-09-17 16:48:23.000000000 +0100
@@ -60,6 +60,9 @@
* update_job_attrs() - Update the job-printer-* attributes.
*/
@@ -2120,7 +2108,7 @@
/*
* Local globals...
-@@ -1063,6 +1074,23 @@
+@@ -1077,6 +1088,23 @@ cupsdLoadJob(cupsd_job_t *job) /* I - J
return;
}
@@ -2144,7 +2132,7 @@
job->sheets = ippFindAttribute(job->attrs, "job-media-sheets-completed",
IPP_TAG_INTEGER);
job->job_sheets = ippFindAttribute(job->attrs, "job-sheets", IPP_TAG_NAME);
-@@ -1416,6 +1444,13 @@
+@@ -1430,6 +1458,13 @@ cupsdSaveJob(cupsd_job_t *job) /* I - J
{
char filename[1024]; /* Job control filename */
cups_file_t *fp; /* Job file */
@@ -2158,7 +2146,7 @@
cupsdLogMessage(CUPSD_LOG_DEBUG2, "cupsdSaveJob(job=%p(%d)): job->attrs=%p",
-@@ -1434,6 +1469,76 @@
+@@ -1448,6 +1483,76 @@ cupsdSaveJob(cupsd_job_t *job) /* I - J
fchmod(cupsFileNumber(fp), 0600);
fchown(cupsFileNumber(fp), RunUser, Group);
@@ -2235,7 +2223,7 @@
job->attrs->state = IPP_IDLE;
if (ippWriteIO(fp, (ipp_iocb_t)cupsFileWrite, 1, NULL,
-@@ -2446,6 +2551,21 @@
+@@ -2456,6 +2561,21 @@ start_job(cupsd_job_t *job, /* I -
/* RIP_MAX_CACHE env variable */
static char *options = NULL;/* Full list of options */
static int optlength = 0; /* Length of option buffer */
@@ -2257,7 +2245,7 @@
cupsdLogMessage(CUPSD_LOG_DEBUG2, "[Job %d] start_job: file = %d/%d",
-@@ -2697,6 +2817,106 @@
+@@ -2707,6 +2827,106 @@ start_job(cupsd_job_t *job, /* I -
fcntl(job->side_pipes[1], F_GETFL) | O_NONBLOCK);
}
@@ -2364,7 +2352,7 @@
/*
* Determine if we are printing a banner page or not...
*/
-@@ -2837,6 +3057,18 @@
+@@ -2851,6 +3071,18 @@ start_job(cupsd_job_t *job, /* I -
banner_page)
continue;
@@ -2383,7 +2371,7 @@
/*
* Otherwise add them to the list...
*/
-@@ -3053,6 +3285,67 @@
+@@ -3067,6 +3299,67 @@ start_job(cupsd_job_t *job, /* I -
envp[envc ++] = final_content_type;
}
@@ -2451,8 +2439,9 @@
if (Classification && !banner_page)
{
if ((attr = ippFindAttribute(job->attrs, "job-sheets",
---- cups-1.3rc2/scheduler/printers.c.lspp 2007-07-31 12:28:32.000000000 +0100
-+++ cups-1.3rc2/scheduler/printers.c 2007-07-31 12:28:32.000000000 +0100
+diff -up cups-1.3.1/scheduler/printers.c.lspp cups-1.3.1/scheduler/printers.c
+--- cups-1.3.1/scheduler/printers.c.lspp 2007-09-17 16:48:23.000000000 +0100
++++ cups-1.3.1/scheduler/printers.c 2007-09-17 16:48:23.000000000 +0100
@@ -50,6 +50,8 @@
* printing desktop tools.
*/
@@ -2462,7 +2451,7 @@
/*
* Include necessary headers...
*/
-@@ -73,6 +75,10 @@
+@@ -73,6 +75,10 @@ static void write_irix_config(cupsd_prin
static void write_irix_state(cupsd_printer_t *p);
#endif /* __sgi */
@@ -2473,7 +2462,7 @@
/*
* 'cupsdAddPrinter()' - Add a printer to the system.
-@@ -1700,6 +1706,13 @@
+@@ -1709,6 +1715,13 @@ cupsdSetPrinterAttrs(cupsd_printer_t *p)
{ /* No authentication */
"none"
};
@@ -2487,7 +2476,7 @@
DEBUG_printf(("cupsdSetPrinterAttrs: entering name = %s, type = %x\n", p->name,
-@@ -1843,6 +1856,44 @@
+@@ -1852,6 +1865,44 @@ cupsdSetPrinterAttrs(cupsd_printer_t *p)
attr->values[1].string.text = _cupsStrAlloc(Classification ?
Classification : p->job_sheets[1]);
}
@@ -2532,8 +2521,9 @@
}
p->raw = 0;
---- cups-1.3rc2/scheduler/job.h.lspp 2007-07-12 23:58:17.000000000 +0100
-+++ cups-1.3rc2/scheduler/job.h 2007-07-31 12:28:32.000000000 +0100
+diff -up cups-1.3.1/scheduler/job.h.lspp cups-1.3.1/scheduler/job.h
+--- cups-1.3.1/scheduler/job.h.lspp 2007-08-01 20:02:47.000000000 +0100
++++ cups-1.3.1/scheduler/job.h 2007-09-17 16:48:23.000000000 +0100
@@ -13,6 +13,13 @@
* file is missing or damaged, see the license at "http://www.cups.org/".
*/
@@ -2548,8 +2538,8 @@
/*
* Job request structure...
*/
-@@ -59,6 +66,10 @@
- #ifdef HAVE_GSSAPI
+@@ -60,6 +67,10 @@ typedef struct cupsd_job_s
+ krb5_ccache ccache; /* Kerberos credential cache */
char *ccname; /* KRB5CCNAME environment variable */
#endif /* HAVE_GSSAPI */
+#ifdef WITH_LSPP
@@ -2559,9 +2549,36 @@
} cupsd_job_t;
---- cups-1.3rc2/Makedefs.in.lspp 2007-07-18 20:49:45.000000000 +0100
-+++ cups-1.3rc2/Makedefs.in 2007-07-31 12:28:32.000000000 +0100
-@@ -134,7 +134,7 @@
+diff -up cups-1.3.1/cups/cups.h.lspp cups-1.3.1/cups/cups.h
+--- cups-1.3.1/cups/cups.h.lspp 2007-08-27 22:13:35.000000000 +0100
++++ cups-1.3.1/cups/cups.h 2007-09-17 16:48:23.000000000 +0100
+@@ -15,6 +15,9 @@
+ * This file is subject to the Apple OS-Developed Software exception.
+ */
+
++/* Copyright (C) 2005 Trusted Computer Solutions, Inc. */
++/* (c) Copyright 2005-2006 Hewlett-Packard Development Company, L.P. */
++
+ #ifndef _CUPS_CUPS_H_
+ # define _CUPS_CUPS_H_
+
+@@ -66,6 +69,12 @@ extern "C" {
+ # 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 -up cups-1.3.1/Makedefs.in.lspp cups-1.3.1/Makedefs.in
+--- cups-1.3.1/Makedefs.in.lspp 2007-07-18 20:49:45.000000000 +0100
++++ cups-1.3.1/Makedefs.in 2007-09-17 16:48:23.000000000 +0100
+@@ -134,7 +134,7 @@ LIBCUPSORDER = @LIBCUPSORDER@
LIBCUPSIMAGEORDER = @LIBCUPSIMAGEORDER@
LINKCUPS = @LINKCUPS@ $(SSLLIBS)
LINKCUPSIMAGE = @LINKCUPSIMAGE@
@@ -2570,9 +2587,10 @@
OPTIM = @OPTIM@
OPTIONS =
PAMLIBS = @PAMLIBS@
---- cups-1.3rc2/config.h.in.lspp 2007-07-25 01:40:03.000000000 +0100
-+++ cups-1.3rc2/config.h.in 2007-07-31 12:28:32.000000000 +0100
-@@ -537,6 +537,13 @@
+diff -up cups-1.3.1/config.h.in.lspp cups-1.3.1/config.h.in
+--- cups-1.3.1/config.h.in.lspp 2007-09-08 01:28:06.000000000 +0100
++++ cups-1.3.1/config.h.in 2007-09-17 16:48:23.000000000 +0100
+@@ -552,6 +552,13 @@
#undef HAVE_REMOVEFILE
@@ -2586,9 +2604,10 @@
#endif /* !_CUPS_CONFIG_H_ */
/*
---- cups-1.3rc2/configure.in.lspp 2007-07-25 00:47:12.000000000 +0100
-+++ cups-1.3rc2/configure.in 2007-07-31 12:28:32.000000000 +0100
-@@ -42,6 +42,8 @@
+diff -up cups-1.3.1/configure.in.lspp cups-1.3.1/configure.in
+--- cups-1.3.1/configure.in.lspp 2007-07-25 00:47:12.000000000 +0100
++++ cups-1.3.1/configure.in 2007-09-17 16:48:23.000000000 +0100
+@@ -42,6 +42,8 @@ sinclude(config-scripts/cups-pap.m4)
sinclude(config-scripts/cups-pdf.m4)
sinclude(config-scripts/cups-scripting.m4)
Index: cups.spec
===================================================================
RCS file: /cvs/pkgs/rpms/cups/devel/cups.spec,v
retrieving revision 1.355
retrieving revision 1.356
diff -u -r1.355 -r1.356
--- cups.spec 29 Aug 2007 15:30:15 -0000 1.355
+++ cups.spec 17 Sep 2007 16:10:57 -0000 1.356
@@ -5,8 +5,8 @@
Summary: Common Unix Printing System
Name: cups
-Version: 1.3.0
-Release: 2%{?dist}
+Version: 1.3.1
+Release: 1%{?dist}
License: GPLv2
Group: System Environment/Daemons
Source: ftp://ftp.easysw.com/pub/cups/test//cups-%{version}-source.tar.bz2
@@ -172,7 +172,8 @@
%if %lspp
--enable-lspp \
%endif
- --with-log-file-perm=0600 --enable-pie --enable-relro
+ --with-log-file-perm=0600 --enable-pie --enable-relro \
+ localedir=%{_datadir}/locale
# If we got this far, all prerequisite libraries must be here.
make
@@ -362,7 +363,7 @@
/etc/cups/pstoraster.convs
%config(noreplace) /etc/pam.d/cups
%dir %{_docdir}/cups-%{version}
-%{_docdir}/cups-%{version}/favicon.ico
+%{_docdir}/cups-%{version}/favicon.*
%{_docdir}/cups-%{version}/images
%{_docdir}/cups-%{version}/de
%{_docdir}/cups-%{version}/es
@@ -438,6 +439,9 @@
%{cups_serverbin}/daemon/cups-lpd
%changelog
+* Mon Sep 17 2007 Tim Waugh <twaugh at redhat.com> 1:1.3.1-1
+- 1.3.1.
+
* Wed Aug 29 2007 Tim Waugh <twaugh at redhat.com> 1:1.3.0-2
- More specific license tag.
Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/cups/devel/sources,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -r1.36 -r1.37
--- sources 13 Aug 2007 22:31:26 -0000 1.36
+++ sources 17 Sep 2007 16:10:57 -0000 1.37
@@ -1,2 +1,2 @@
b0bb017098e8e76b8a25e666c41ce540 postscript.ppd.gz
-ae2855d5d1ab5b5fcbb8a2613cefec14 cups-1.3.0-source.tar.bz2
+89ec473d48598cde9b2030743b15448b cups-1.3.1-source.tar.bz2
More information about the fedora-extras-commits
mailing list