Comparar commits

..

1 Commits

Autor SHA1 Mensagem Data
msweet d35c99205a Import cups.org releases
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/tags/release-1.4.2@4306 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-05-10 18:56:23 +00:00
242 arquivos alterados com 12851 adições e 2694 exclusões
+6
Ver Arquivo
@@ -3,6 +3,12 @@ CHANGES-1.3.txt
CHANGES IN CUPS V1.3.11
- The scheduler did not prevent nested classes (STR #3211)
- The scheduler did not reprint processing jobs that were moved to
another destination (STR #3222)
- The scheduler did not reset the current job file when stopping a
printer (STR #3226)
- The scheduler did not handle POSTs to custom CGIs properly (STR #3221)
- The pdftops filter did not print landscape PDF pages properly
(STR #2881)
- The scheduler did not handle partial header lines properly from CGI
+107 -1
Ver Arquivo
@@ -1,6 +1,112 @@
CHANGES.txt - 2009-06-08
CHANGES.txt - 2009-11-09
------------------------
CHANGES IN CUPS V1.4.2
- SECURITY: The CUPS web interface was vulnerable to several XSS and
HTTP header/body attacks via attribute injection (STR #3367,
STR #3401)
- Fixed localization errors (STR #3359, STR #3372, STR #3380, STR #3387)
- The documentation for classes.conf and printers.conf did not provide
the correct instructions for manual changes (STR #3351)
- The scheduler did not always rebuild printer cache files when the
driver was changed (STR #3356)
- The documentation makefile failed to install localizations when using
newer versions of Bash (STR #3360)
- The configure script did not use the --with-xinetd value for the
default LPD configuration path (STR #3347)
- The configure script incorrectly required glib for DBUS support
(STR #3346)
- The cupstestppd program incorrectly reported filters with bad
permisssions as missing (STR #3363)
- The cups.desktop file used the wrong locale names (STR #3358)
- cupsSideChannelRead() did not return an error for short reads.
- The installed PAM configuration file did not use the correct options
with the pam_unix2 module (STR #3313)
- The scheduler did not preserve default options that contained special
characters (STR #3340)
- The scheduler did not remove old pre-filters when updating a printer
driver (STR #3342)
- The HP/GL-2 filter did not check for early end-of-file (STR #3319)
- The USB backend did not compile on some platforms (STR #3332)
- cupsSideChannelSNMPWalk() could go into an infinite loop with broken
SNMP implementations.
CHANGES IN CUPS V1.4.1
- Documention fixes (STR #3296)
- SNMP supply levels and states were wrong for some printers.
- The IPP backend did not update the auth-info-required value.
- The libusb-based USB backend would hang at the end of the job
(STR #3315, STR #3318)
- DNS-SD registrations for raw queues had an empty "ty" key (STR #3299)
- The JPEG and BMP MIME type rules were broken (STR #3284)
- cupsGetNamedDest returned the default printer when the named
destination did not exist (STR #3285)
- The JobKillDelay was not triggered for canceled jobs (STR #3292)
- The PPD compiler could get in an infinite loop (STR #3293)
- The configure check for dns-sd.h was broken (STR #3297)
- The "Query Printer for Default Options" page did not go away if the
query job was held (STR #3302)
- Boolean options did not show up as selected in the web interface
(STR #3303)
- The scheduler did not cache or report driver information files
correctly, leading to a variety of issues (STR #3283, STR #3297,
STR #3305)
- cupsDoIORequest() did not abort on permanent errors (STR #3311)
- Modifying a class in the web interface did not work (STR #3312)
- BrowseLocalProtocols could be cleared when changing the sharing
setting (STR #3287)
- The scheduler could return an empty supported document format
(STR #3308)
- The PPD compiler generated invalid PPD files when the locale used
something other than "." for the decimal point (STR #3300)
- The IPP backend did not handle some non-comforming IPP printer
implementations (STR #3262)
- The scheduler leaked three file descriptors to each job filter
(STR #3263)
- The scheduler now uses a default CUPS-Get-Devices timeout of 15
seconds (STR #3307)
CHANGES IN CUPS V1.4.0
- Localization updates (STR #3223, STR #3246, STR #3248, STR #3250)
- Documentation updates (STR #3225, STR #3230, STR #3242, STR #3260)
- The --with-pdftops configure option did not accept a full path to the
filter (STR #3278)
- The banner filter did not position the back side image correctly
(STR #3277)
- The dnssd backend could crash (STR #3272)
- The 1284 device ID sometimes contained trailing garbage (STR #3266)
- The USB backend returned different URIs for some printers than in
CUPS 1.3 (STR #3259)
- The scheduler did not do local job-hold-until processing for remote
queues (STR #3258)
- The scheduler did not try all possible SSL certificates on Mac OS X.
- The scheduler did not always remove a file descriptor when using the
kqueue interface (STR #3256)
- The scheduler did not protect against bad job control files in all
cases (STR #3253)
- The scheduler did not encode "+" in model names (STR #3254)
- The web interface didn't show the default options (STR #3244)
- The IPP and LPD backends needed print data before they would do an
SNMP query.
- Fixed a GNU TLS compatibility issue (STR #3231)
- Fixed a HTML error in the add and modify printer web interface
templates (STR #3229)
- The scheduler did not minimize the number of printer state events that
were generated by filter STATE: messages, which could lead to poor
performance.
- The USB backend on Mac OS X did not cleanly cancel a job.
- The network backends now set the connecting-to-device printer-state-
reasons value when looking up the address and copying the print data
for consistency.
- The scheduler now supports the com.apple.print.recoverable-warning
reason on all platforms.
CHANGES IN CUPS V1.4rc1
- The PPD compiler documentation was missing information on localization
+3 -1
Ver Arquivo
@@ -1,4 +1,4 @@
CREDITS.txt - 2008-12-08
CREDITS.txt - 2009-07-07
------------------------
Few projects are completed by one person, and CUPS is no exception. We'd
@@ -17,6 +17,7 @@ like to thank the following individuals for their contributions:
Wang Jian - CUPS RPM corrections.
Roderick Johnstone - Beta tester of the millenium.
Till Kamppeter - Bug fixes, beta testing, evangelism.
I–aki Larra–aga - Basque localization.
Kenshi Muto - Japanese localization, patches, and
testing.
Tomohiro Kato - Japanese localization.
@@ -28,6 +29,7 @@ like to thank the following individuals for their contributions:
Jason McMullan - Original CUPS RPM distributions.
Wes Morgan - *BSD fixes.
Daniel Nylander - Swedish localization.
Niklas 'Nille' kerstršm - Swedish localization.
Giulio Orsero - Bug fixes and testing.
Michal Osowiecki - Polish localization.
Citra Paska - Indonesian localization.
+3 -3
Ver Arquivo
@@ -1,5 +1,5 @@
INSTALL - CUPS v1.4rc1 - 2009-05-22
-----------------------------------
INSTALL - CUPS v1.4.0 - 2009-06-26
----------------------------------
This file describes how to compile and install CUPS from source code. For more
information on CUPS see the file called "README.txt". A complete change log can
@@ -43,7 +43,7 @@ COMPILING THE SUBVERSION REPOSITORY CODE
configure script. You'll need to run the GNU autoconf software (2.60 or
higher) to create it:
autoconf -f
autoconf
CONFIGURATION
+1
Ver Arquivo
@@ -392,6 +392,7 @@ docset: apihelp
echo Indexing docset...
/Developer/usr/bin/docsetutil index org.cups.docset
echo Generating docset archive and feed...
$(RM) org.cups.docset.atom
/Developer/usr/bin/docsetutil package --output org.cups.docset.xar \
--atom org.cups.docset.atom \
--download-url http://www.cups.org/org.cups.docset.xar \
+2 -2
Ver Arquivo
@@ -1,5 +1,5 @@
README - CUPS v1.4rc1 - 2009-05-22
----------------------------------
README - CUPS v1.4.0 - 2009-06-26
---------------------------------
Looking for compile instructions? Read the file "INSTALL.txt"
instead...
+6 -6
Ver Arquivo
@@ -276,16 +276,16 @@ extern int backendGetDeviceID(int fd, char *device_id,
extern int backendGetMakeModel(const char *device_id,
char *make_model,
int make_model_size);
extern void backendNetworkSideCB(int print_fd, int device_fd,
extern int backendNetworkSideCB(int print_fd, int device_fd,
int snmp_fd, http_addr_t *addr,
int use_bc);
extern ssize_t backendRunLoop(int print_fd, int device_fd, int snmp_fd,
http_addr_t *addr, int use_bc,
void (*side_cb)(int print_fd,
int device_fd,
int snmp_fd,
http_addr_t *addr,
int use_bc));
int (*side_cb)(int print_fd,
int device_fd,
int snmp_fd,
http_addr_t *addr,
int use_bc));
extern int backendSNMPSupplies(int snmp_fd, http_addr_t *addr,
int *page_count,
int *printer_state);
+2 -2
Ver Arquivo
@@ -153,8 +153,8 @@ main(int argc, /* I - Number of command-line args */
memset(&action, 0, sizeof(action));
sigemptyset(&action.sa_mask);
action.sa_handler = SIG_IGN;
sigaction(SIGTERM, &action, sigterm_handler);
action.sa_handler = sigterm_handler;
sigaction(SIGTERM, &action, NULL);
#else
signal(SIGTERM, sigterm_handler);
#endif /* HAVE_SIGSET */
+18 -3
Ver Arquivo
@@ -196,12 +196,19 @@ backendGetDeviceID(
* and then limit the length to the size of our buffer...
*/
if (length > (device_id_size - 2))
if (length > device_id_size)
length = (((unsigned)device_id[1] & 255) << 8) +
((unsigned)device_id[0] & 255);
if (length > (device_id_size - 2))
length = device_id_size - 2;
if (length > device_id_size)
length = device_id_size;
/*
* The length field counts the number of bytes in the string
* including the length field itself (2 bytes).
*/
length -= 2;
/*
* Copy the device ID text to the beginning of the buffer and
@@ -306,6 +313,14 @@ backendGetDeviceID(
mfg = temp;
}
if (!strncasecmp(mdl, mfg, strlen(mfg)))
{
mdl += strlen(mfg);
while (isspace(*mdl & 255))
mdl ++;
}
/*
* Generate the device URI from the manufacturer, make_model, and
* serial number strings.
+59 -54
Ver Arquivo
@@ -45,6 +45,8 @@
static char *password = NULL; /* Password for device URI */
static int password_tries = 0; /* Password tries */
static const char *auth_info_required = "none";
/* New auth-info-required value */
#ifdef __APPLE__
static char pstmpname[1024] = ""; /* Temporary PostScript file name */
#endif /* __APPLE__ */
@@ -91,7 +93,7 @@ main(int argc, /* I - Number of command-line args */
int num_options; /* Number of printer options */
cups_option_t *options; /* Printer options */
const char *device_uri; /* Device URI */
char method[255], /* Method in URI */
char scheme[255], /* Scheme in URI */
hostname[1024], /* Hostname */
username[255], /* Username info */
resource[1024], /* Resource info (printer name) */
@@ -236,21 +238,14 @@ main(int argc, /* I - Number of command-line args */
if ((device_uri = cupsBackendDeviceURI(argv)) == NULL)
return (CUPS_BACKEND_FAILED);
if (httpSeparateURI(HTTP_URI_CODING_ALL, device_uri,
method, sizeof(method), username, sizeof(username),
hostname, sizeof(hostname), &port,
resource, sizeof(resource)) < HTTP_URI_OK)
{
_cupsLangPuts(stderr,
_("ERROR: Missing device URI on command-line and no "
"DEVICE_URI environment variable!\n"));
return (CUPS_BACKEND_STOP);
}
httpSeparateURI(HTTP_URI_CODING_ALL, device_uri, scheme, sizeof(scheme),
username, sizeof(username), hostname, sizeof(hostname), &port,
resource, sizeof(resource));
if (!port)
port = IPP_PORT; /* Default to port 631 */
if (!strcmp(method, "https"))
if (!strcmp(scheme, "https"))
cupsSetEncryption(HTTP_ENCRYPT_ALWAYS);
else
cupsSetEncryption(HTTP_ENCRYPT_IF_REQUESTED);
@@ -416,11 +411,12 @@ main(int argc, /* I - Number of command-line args */
int fd; /* File descriptor */
http_addrlist_t *addrlist; /* Address list */
char buffer[8192]; /* Buffer for copying */
int bytes; /* Number of bytes read */
off_t tbytes; /* Total bytes copied */
fputs("STATE: +connecting-to-device\n", stderr);
fprintf(stderr, "DEBUG: Looking up \"%s\"...\n", hostname);
if ((addrlist = httpAddrGetList(hostname, AF_UNSPEC, "1")) == NULL)
{
_cupsLangPrintf(stderr, _("ERROR: Unable to locate printer \'%s\'!\n"),
@@ -438,23 +434,8 @@ main(int argc, /* I - Number of command-line args */
_cupsLangPuts(stderr, _("INFO: Copying print data...\n"));
tbytes = 0;
while ((bytes = fread(buffer, 1, sizeof(buffer), stdin)) > 0)
{
if (write(fd, buffer, bytes) < bytes)
{
_cupsLangPrintError(_("ERROR: Unable to write to temporary file"));
close(fd);
unlink(tmpfilename);
return (CUPS_BACKEND_FAILED);
}
else
tbytes += bytes;
if (snmp_fd >= 0)
backendCheckSideChannel(snmp_fd, &(addrlist->addr));
}
tbytes = backendRunLoop(-1, fd, snmp_fd, &(addrlist->addr), 0,
backendNetworkSideCB);
if (snmp_fd >= 0)
_cupsSNMPClose(snmp_fd);
@@ -544,8 +525,7 @@ main(int argc, /* I - Number of command-line args */
do
{
fprintf(stderr, "DEBUG: Connecting to %s:%d\n",
hostname, port);
fprintf(stderr, "DEBUG: Connecting to %s:%d\n", hostname, port);
_cupsLangPuts(stderr, _("INFO: Connecting to printer...\n"));
if ((http = httpConnectEncrypt(hostname, port, cupsEncryption())) == NULL)
@@ -661,7 +641,8 @@ main(int argc, /* I - Number of command-line args */
* might contain username:password information...
*/
snprintf(uri, sizeof(uri), "%s://%s:%d%s", method, hostname, port, resource);
httpAssembleURI(HTTP_URI_CODING_ALL, uri, sizeof(uri), scheme, NULL, hostname,
port, resource);
/*
* First validate the destination and see if the device supports multiple
@@ -1070,16 +1051,21 @@ main(int argc, /* I - Number of command-line args */
_cupsLangPrintf(stderr, _("ERROR: Print file was not accepted (%s)!\n"),
cupsLastErrorString());
if (ipp_status == IPP_NOT_AUTHORIZED)
if (ipp_status == IPP_NOT_AUTHORIZED || ipp_status == IPP_FORBIDDEN)
{
fprintf(stderr, "DEBUG: WWW-Authenticate=\"%s\"\n",
httpGetField(http, HTTP_FIELD_WWW_AUTHENTICATE));
/*
* Normal authentication goes through the password callback, which sets
* auth_info_required to "username,password". Kerberos goes directly
* through GSSAPI, so look for Negotiate in the WWW-Authenticate header
* here and set auth_info_required as needed...
*/
if (!strncmp(httpGetField(http, HTTP_FIELD_WWW_AUTHENTICATE),
"Negotiate", 9))
fputs("ATTR: auth-info-required=negotiate\n", stderr);
else
fputs("ATTR: auth-info-required=username,password\n", stderr);
auth_info_required = "negotiate";
}
}
}
@@ -1260,6 +1246,19 @@ main(int argc, /* I - Number of command-line args */
break;
}
}
else
{
/*
* If the printer does not return a job-state attribute, it does not
* conform to the IPP specification - break out immediately and fail
* the job...
*/
fputs("DEBUG: No job-state available from printer - stopping queue.\n",
stderr);
ipp_status = IPP_INTERNAL_ERROR;
break;
}
}
ippDelete(response);
@@ -1304,6 +1303,15 @@ main(int argc, /* I - Number of command-line args */
page_count > start_count)
fprintf(stderr, "PAGE: total %d\n", page_count - start_count);
#ifdef HAVE_GSSAPI
/*
* See if we used Kerberos at all...
*/
if (http->gssctx)
auth_info_required = "negotiate";
#endif /* HAVE_GSSAPI */
/*
* Free memory...
*/
@@ -1336,8 +1344,12 @@ main(int argc, /* I - Number of command-line args */
* Return the queue status...
*/
if (ipp_status == IPP_NOT_AUTHORIZED)
fprintf(stderr, "ATTR: auth-info-required=%s\n", auth_info_required);
if (ipp_status == IPP_NOT_AUTHORIZED || ipp_status == IPP_FORBIDDEN)
return (CUPS_BACKEND_AUTH_REQUIRED);
else if (ipp_status == IPP_INTERNAL_ERROR)
return (CUPS_BACKEND_STOP);
else if (ipp_status > IPP_OK_CONFLICT)
return (CUPS_BACKEND_FAILED);
else
@@ -1538,6 +1550,12 @@ password_cb(const char *prompt) /* I - Prompt (not used) */
{
(void)prompt;
/*
* Remember that we need to authenticate...
*/
auth_info_required = "username,password";
if (password && *password && password_tries < 3)
{
password_tries ++;
@@ -1547,23 +1565,10 @@ password_cb(const char *prompt) /* I - Prompt (not used) */
else
{
/*
* If there is no password set in the device URI, return the
* "authentication required" exit code...
* Give up after 3 tries or if we don't have a password to begin with...
*/
if (tmpfilename[0])
unlink(tmpfilename);
#ifdef __APPLE__
if (pstmpname[0])
unlink(pstmpname);
#endif /* __APPLE__ */
fputs("ATTR: auth-info-required=username,password\n", stderr);
exit(CUPS_BACKEND_AUTH_REQUIRED);
return (NULL); /* Eliminate compiler warning */
return (NULL);
}
}
+10 -22
Ver Arquivo
@@ -113,7 +113,7 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
char *argv[]) /* I - Command-line arguments */
{
const char *device_uri; /* Device URI */
char method[255], /* Method in URI */
char scheme[255], /* Scheme in URI */
hostname[1024], /* Hostname */
username[255], /* Username info */
resource[1024], /* Resource info (printer name) */
@@ -193,9 +193,8 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
if ((device_uri = cupsBackendDeviceURI(argv)) == NULL)
return (CUPS_BACKEND_FAILED);
httpSeparateURI(HTTP_URI_CODING_ALL, device_uri,
method, sizeof(method), username, sizeof(username),
hostname, sizeof(hostname), &port,
httpSeparateURI(HTTP_URI_CODING_ALL, device_uri, scheme, sizeof(scheme),
username, sizeof(username), hostname, sizeof(hostname), &port,
resource, sizeof(resource));
if (!port)
@@ -426,10 +425,11 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
http_addrlist_t *addrlist; /* Address list */
int snmp_fd; /* SNMP socket */
char buffer[8192]; /* Buffer for copying */
int bytes; /* Number of bytes read */
fputs("STATE: +connecting-to-device\n", stderr);
fprintf(stderr, "DEBUG: Looking up \"%s\"...\n", hostname);
if ((addrlist = httpAddrGetList(hostname, AF_UNSPEC, "1")) == NULL)
{
_cupsLangPrintf(stderr, _("ERROR: Unable to locate printer \'%s\'!\n"),
@@ -447,19 +447,7 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
_cupsLangPuts(stderr, _("INFO: Copying print data...\n"));
while ((bytes = fread(buffer, 1, sizeof(buffer), stdin)) > 0)
{
if (write(fd, buffer, bytes) < bytes)
{
_cupsLangPrintError(_("ERROR: Unable to write to temporary file"));
close(fd);
unlink(tmpfilename);
return (CUPS_BACKEND_FAILED);
}
if (snmp_fd >= 0)
backendCheckSideChannel(snmp_fd, &(addrlist->addr));
}
backendRunLoop(-1, fd, snmp_fd, &(addrlist->addr), 0, backendNetworkSideCB);
if (snmp_fd >= 0)
_cupsSNMPClose(snmp_fd);
@@ -695,6 +683,7 @@ lpd_queue(const char *hostname, /* I - Host to connect to */
sprintf(portname, "%d", port);
fputs("STATE: +connecting-to-device\n", stderr);
fprintf(stderr, "DEBUG: Looking up \"%s\"...\n", hostname);
if ((addrlist = httpAddrGetList(hostname, AF_UNSPEC, portname)) == NULL)
@@ -721,9 +710,8 @@ lpd_queue(const char *hostname, /* I - Host to connect to */
* First try to reserve a port for this connection...
*/
fputs("STATE: +connecting-to-device\n", stderr);
fprintf(stderr, "DEBUG: Connecting to %s:%d for printer %s\n",
hostname, port, printer);
fprintf(stderr, "DEBUG: Connecting to %s:%d for printer %s\n", hostname,
port, printer);
_cupsLangPuts(stderr, _("INFO: Connecting to printer...\n"));
for (lport = reserve == RESERVE_RFC1179 ? 732 : 1024, addr = addrlist,
+3 -6
Ver Arquivo
@@ -61,7 +61,7 @@ backendCheckSideChannel(
* 'backendNetworkSideCB()' - Handle common network side-channel commands.
*/
void
int /* O - -1 on error, 0 on success */
backendNetworkSideCB(
int print_fd, /* I - Print file or -1 */
int device_fd, /* I - Device file or -1 */
@@ -79,10 +79,7 @@ backendNetworkSideCB(
datalen = sizeof(data);
if (cupsSideChannelRead(&command, &status, data, &datalen, 1.0))
{
_cupsLangPuts(stderr, _("WARNING: Failed to read side-channel request!\n"));
return;
}
return (-1);
switch (command)
{
@@ -284,7 +281,7 @@ backendNetworkSideCB(
break;
}
cupsSideChannelWrite(command, status, data, datalen, 1.0);
return (cupsSideChannelWrite(command, status, data, datalen, 1.0));
}
+7 -10
Ver Arquivo
@@ -1278,7 +1278,7 @@ int papCancelRequest(int sockfd, u_short tid)
* 'sidechannel_request()' - Handle side-channel requests.
*/
static void
static int
sidechannel_request()
{
cups_sc_command_t command; /* Request command */
@@ -1289,32 +1289,29 @@ sidechannel_request()
datalen = sizeof(data);
if (cupsSideChannelRead(&command, &status, data, &datalen, 1.0))
{
fputs(_("WARNING: Failed to read side-channel request!\n"), stderr);
return;
}
return (-1);
switch (command)
{
case CUPS_SC_CMD_GET_BIDI: /* Is the connection bidirectional? */
data[0] = 1;
cupsSideChannelWrite(command, CUPS_SC_STATUS_OK, data, 1, 1.0);
return (cupsSideChannelWrite(command, CUPS_SC_STATUS_OK, data, 1, 1.0));
break;
case CUPS_SC_CMD_GET_STATE: /* Return device state */
data[0] = CUPS_SC_STATE_ONLINE;
cupsSideChannelWrite(command, CUPS_SC_STATUS_OK, data, 1, 1.0);
return (cupsSideChannelWrite(command, CUPS_SC_STATUS_OK, data, 1, 1.0));
break;
case CUPS_SC_CMD_DRAIN_OUTPUT: /* Drain all pending output */
case CUPS_SC_CMD_SOFT_RESET: /* Do a soft reset */
case CUPS_SC_CMD_GET_DEVICE_ID: /* Return IEEE-1284 device ID */
default:
cupsSideChannelWrite(command, CUPS_SC_STATUS_NOT_IMPLEMENTED,
NULL, 0, 1.0);
return (cupsSideChannelWrite(command, CUPS_SC_STATUS_NOT_IMPLEMENTED,
NULL, 0, 1.0));
break;
}
return;
return (0);
}
+4 -7
Ver Arquivo
@@ -59,7 +59,7 @@
*/
static void list_devices(void);
static void side_cb(int print_fd, int device_fd, int snmp_fd,
static int side_cb(int print_fd, int device_fd, int snmp_fd,
http_addr_t *addr, int use_bc);
@@ -615,7 +615,7 @@ list_devices(void)
* 'side_cb()' - Handle side-channel requests...
*/
static void
static int /* O - 0 on success, -1 on error */
side_cb(int print_fd, /* I - Print file */
int device_fd, /* I - Device file */
int snmp_fd, /* I - SNMP socket (unused) */
@@ -634,10 +634,7 @@ side_cb(int print_fd, /* I - Print file */
datalen = sizeof(data);
if (cupsSideChannelRead(&command, &status, data, &datalen, 1.0))
{
_cupsLangPuts(stderr, _("WARNING: Failed to read side-channel request!\n"));
return;
}
return (-1);
switch (command)
{
@@ -680,7 +677,7 @@ side_cb(int print_fd, /* I - Print file */
break;
}
cupsSideChannelWrite(command, status, data, datalen, 1.0);
return (cupsSideChannelWrite(command, status, data, datalen, 1.0));
}
+11 -2
Ver Arquivo
@@ -147,7 +147,7 @@ backendRunLoop(
int snmp_fd, /* I - SNMP socket or -1 if none */
http_addr_t *addr, /* I - Address of device */
int use_bc, /* I - Use back-channel? */
void (*side_cb)(int, int, int, http_addr_t *, int))
int (*side_cb)(int, int, int, http_addr_t *, int))
/* I - Side-channel callback */
{
int nfds; /* Maximum file descriptor value + 1 */
@@ -196,6 +196,14 @@ backendRunLoop(
signal(SIGTERM, SIG_IGN);
#endif /* HAVE_SIGSET */
}
else if (print_fd < 0)
{
/*
* Copy print data from stdin, but don't mess with the signal handlers...
*/
print_fd = 0;
}
/*
* Figure out the maximum file descriptor value to use with select()...
@@ -266,7 +274,8 @@ backendRunLoop(
* loop since it may have read from print_fd...
*/
(*side_cb)(print_fd, device_fd, snmp_fd, addr, use_bc);
if ((*side_cb)(print_fd, device_fd, snmp_fd, addr, use_bc))
side_cb = NULL;
continue;
}
+9 -11
Ver Arquivo
@@ -84,7 +84,7 @@
*/
static void list_devices(void);
static void side_cb(int print_fd, int device_fd, int use_bc);
static int side_cb(int print_fd, int device_fd, int use_bc);
/*
@@ -109,7 +109,8 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
sep; /* Option separator */
int port; /* Port number (not used) */
int copies; /* Number of copies to print */
int print_fd, /* Print file */
int side_eof = 0, /* Saw EOF on side-channel? */
print_fd, /* Print file */
device_fd; /* Serial device */
int nfds; /* Maximum file descriptor value + 1 */
fd_set input, /* Input set for reading */
@@ -558,7 +559,7 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
if (!print_bytes)
FD_SET(print_fd, &input);
FD_SET(device_fd, &input);
if (!print_bytes)
if (!print_bytes && !side_eof)
FD_SET(CUPS_SC_FD, &input);
FD_ZERO(&output);
@@ -579,7 +580,8 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
* loop since it may have read from print_fd...
*/
side_cb(print_fd, device_fd, 1);
if (side_cb(print_fd, device_fd, 1))
side_eof = 1;
continue;
}
@@ -1278,7 +1280,7 @@ list_devices(void)
* 'side_cb()' - Handle side-channel requests...
*/
static void
static int /* O - 0 on success, -1 on error */
side_cb(int print_fd, /* I - Print file */
int device_fd, /* I - Device file */
int use_bc) /* I - Using back-channel? */
@@ -1292,11 +1294,7 @@ side_cb(int print_fd, /* I - Print file */
datalen = sizeof(data);
if (cupsSideChannelRead(&command, &status, data, &datalen, 1.0))
{
_cupsLangPuts(stderr,
_("WARNING: Failed to read side-channel request!\n"));
return;
}
return (-1);
switch (command)
{
@@ -1323,7 +1321,7 @@ side_cb(int print_fd, /* I - Print file */
break;
}
cupsSideChannelWrite(command, status, data, datalen, 1.0);
return (cupsSideChannelWrite(command, status, data, datalen, 1.0));
}
+5 -2
Ver Arquivo
@@ -229,8 +229,11 @@ backendSNMPSupplies(
packet.object_type != CUPS_ASN1_OCTET_STRING)
return (-1);
new_state = (packet.object_value.string.bytes[0] << 8) |
packet.object_value.string.bytes[1];
if (packet.object_value.string.num_bytes == 2)
new_state = (packet.object_value.string.bytes[0] << 8) |
packet.object_value.string.bytes[1];
else
new_state = 0;
if (current_state < 0)
change_state = 0xffff;
+8 -12
Ver Arquivo
@@ -3,7 +3,7 @@
*
* AppSocket backend for the Common UNIX Printing System (CUPS).
*
* Copyright 2007-2008 by Apple Inc.
* Copyright 2007-2009 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products, all rights reserved.
*
* These coded instructions, statements, and computer programs are the
@@ -62,7 +62,7 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
char *argv[]) /* I - Command-line arguments */
{
const char *device_uri; /* Device URI */
char method[255], /* Method in URI */
char scheme[255], /* Scheme in URI */
hostname[1024], /* Hostname */
username[255], /* Username info (not used) */
resource[1024], /* Resource info (not used) */
@@ -168,9 +168,8 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
if ((device_uri = cupsBackendDeviceURI(argv)) == NULL)
return (CUPS_BACKEND_FAILED);
httpSeparateURI(HTTP_URI_CODING_ALL, device_uri,
method, sizeof(method), username, sizeof(username),
hostname, sizeof(hostname), &port,
httpSeparateURI(HTTP_URI_CODING_ALL, device_uri, scheme, sizeof(scheme),
username, sizeof(username), hostname, sizeof(hostname), &port,
resource, sizeof(resource));
if (port == 0)
@@ -261,6 +260,7 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
sprintf(portname, "%d", port);
fputs("STATE: +connecting-to-device\n", stderr);
fprintf(stderr, "DEBUG: Looking up \"%s\"...\n", hostname);
if ((addrlist = httpAddrGetList(hostname, AF_UNSPEC, portname)) == NULL)
@@ -270,12 +270,9 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
return (CUPS_BACKEND_STOP);
}
fprintf(stderr, "DEBUG: Connecting to %s:%d\n",
hostname, port);
fprintf(stderr, "DEBUG: Connecting to %s:%d\n", hostname, port);
_cupsLangPuts(stderr, _("INFO: Connecting to printer...\n"));
fputs("STATE: +connecting-to-device\n", stderr);
for (delay = 5;;)
{
if ((addr = httpAddrConnect(addrlist, &device_fd)) == NULL)
@@ -345,9 +342,8 @@ main(int argc, /* I - Number of command-line arguments (6 or 7) */
if (recoverable)
{
/*
* If we've shown a recoverable error make sure the printer proxies
* have a chance to see the recovered message. Not pretty but
* necessary for now...
* If we've shown a recoverable error make sure the printer proxies have a
* chance to see the recovered message. Not pretty but necessary for now...
*/
fputs("INFO: recovered: \n", stderr);
+48 -47
Ver Arquivo
@@ -104,6 +104,14 @@
extern char **environ;
/*
* DEBUG_WRITES, if defined, causes the backend to write data to the printer in
* 512 byte increments, up to 8192 bytes, to make debugging with a USB bus
* analyzer easier.
*/
#define DEBUG_WRITES 0
/*
* WAIT_EOF_DELAY is number of seconds we'll wait for responses from
* the printer after we've finished sending all the data
@@ -232,6 +240,9 @@ typedef struct globals_s
int print_fd; /* File descriptor to print */
ssize_t print_bytes; /* Print bytes read */
#if DEBUG_WRITES
ssize_t debug_bytes; /* Current bytes to read */
#endif /* DEBUG_WRITES */
Boolean wait_eof;
int drain_output; /* Drain all pending output */
@@ -281,9 +292,8 @@ static void status_timer_cb(CFRunLoopTimerRef timer, void *info);
#if defined(__i386__) || defined(__x86_64__)
static pid_t child_pid; /* Child PID */
static void run_legacy_backend(int argc, char *argv[], int fd); /* Starts child backend process running as a ppc executable */
#endif /* __i386__ || __x86_64__ */
static int job_canceled = 0; /* Was the job canceled? */
static void sigterm_handler(int sig); /* SIGTERM handler */
#endif /* __i386__ || __x86_64__ */
#ifdef PARSE_PS_ERRORS
static const char *next_line (const char *buffer);
@@ -318,8 +328,7 @@ print_device(const char *uri, /* I - Device URI */
{
char serial[1024]; /* Serial number buffer */
OSStatus status; /* Function results */
IOReturn iostatus, /* Current IO status */
prev_iostatus = 0; /* Previous IO status */
IOReturn iostatus; /* Current IO status */
pthread_t read_thread_id, /* Read thread */
sidechannel_thread_id;/* Side-channel thread */
int have_sidechannel = 0; /* Was the side-channel thread started? */
@@ -451,9 +460,9 @@ print_device(const char *uri, /* I - Device URI */
fputs("STATE: -connecting-to-device\n", stderr);
/*
* Now that we are "connected" to the port, catch SIGTERM so that we
* Now that we are "connected" to the port, ignore SIGTERM so that we
* can finish out any page data the driver sends (e.g. to eject the
* current page... Only catch SIGTERM if we are printing data from
* current page... Only ignore SIGTERM if we are printing data from
* stdin (otherwise you can't cancel raw jobs...)
*/
@@ -465,7 +474,7 @@ print_device(const char *uri, /* I - Device URI */
memset(&action, 0, sizeof(action));
sigemptyset(&action.sa_mask);
action.sa_handler = sigterm_handler;
action.sa_handler = SIG_IGN;
sigaction(SIGTERM, &action, NULL);
}
@@ -612,7 +621,16 @@ print_device(const char *uri, /* I - Device URI */
if (FD_ISSET(print_fd, &input_set))
{
#if DEBUG_WRITES
g.debug_bytes += 512;
if (g.debug_bytes > sizeof(print_buffer))
g.debug_bytes = 512;
g.print_bytes = read(print_fd, print_buffer, g.debug_bytes);
#else
g.print_bytes = read(print_fd, print_buffer, sizeof(print_buffer));
#endif /* DEBUG_WRITES */
if (g.print_bytes < 0)
{
@@ -646,8 +664,7 @@ print_device(const char *uri, /* I - Device URI */
if (g.print_bytes)
{
bytes = g.print_bytes;
bytes = g.print_bytes;
iostatus = (*g.classdriver)->WritePipe(g.classdriver, (UInt8*)print_ptr, &bytes, 0);
/*
@@ -662,45 +679,36 @@ print_device(const char *uri, /* I - Device URI */
}
/*
* Ignore the first stall error we get since we try to clear any stalls
* in the class driver...
* If we've stalled, retry the write...
*/
else if (iostatus == kIOUSBPipeStalled)
{
fputs("DEBUG: Got USB pipe stalled during write!\n", stderr);
bytes = 0;
if (prev_iostatus != kIOUSBPipeStalled)
{
prev_iostatus = iostatus;
iostatus = 0;
}
bytes = g.print_bytes;
iostatus = (*g.classdriver)->WritePipe(g.classdriver, (UInt8*)print_ptr, &bytes, 0);
}
/*
* Ignore the first "aborted" status we get, since we might have
* received a signal (<rdar://problem/6860126>)...
* Retry a write after an aborted write since we probably just got
* SIGTERM (<rdar://problem/6860126>)...
*/
else if (iostatus == kIOReturnAborted)
{
fputs("DEBUG: Got return aborted during write!\n", stderr);
fputs("DEBUG: Got USB return aborted during write!\n", stderr);
IOReturn err = (*g.classdriver)->Abort(g.classdriver);
fprintf(stderr, "DEBUG: USB class driver Abort returned %x\n", err);
bytes = 0;
#if DEBUG_WRITES
sleep(5);
#endif /* DEBUG_WRITES */
if (prev_iostatus != kIOReturnAborted)
{
prev_iostatus = iostatus;
iostatus = 0;
}
bytes = g.print_bytes;
iostatus = (*g.classdriver)->WritePipe(g.classdriver, (UInt8*)print_ptr, &bytes, 0);
}
else
prev_iostatus = iostatus;
if (iostatus || bytes < 0)
{
@@ -716,7 +724,7 @@ print_device(const char *uri, /* I - Device URI */
fprintf(stderr, "DEBUG: USB class driver Abort returned %x\n",
err);
status = job_canceled ? CUPS_BACKEND_FAILED : CUPS_BACKEND_STOP;
status = CUPS_BACKEND_FAILED;
break;
}
else if (bytes > 0)
@@ -889,11 +897,11 @@ static void *read_thread(void *reference)
#endif
}
else if (readstatus == kIOUSBTransactionTimeout)
fputs("DEBUG: Got USB transaction timeout during write!\n", stderr);
fputs("DEBUG: Got USB transaction timeout during read!\n", stderr);
else if (readstatus == kIOUSBPipeStalled)
fputs("DEBUG: Got USB pipe stalled during read!\n", stderr);
else if (readstatus == kIOReturnAborted)
fputs("DEBUG: Got return aborted during read!\n", stderr);
fputs("DEBUG: Got USB return aborted during read!\n", stderr);
/*
* Make sure this loop executes no more than once every 250 miliseconds...
@@ -935,7 +943,7 @@ sidechannel_thread(void *reference)
datalen = sizeof(data);
if (cupsSideChannelRead(&command, &status, data, &datalen, 1.0))
continue;
break;
switch (command)
{
@@ -1156,7 +1164,7 @@ static Boolean list_device_cb(void *refcon,
snprintf(optionsstr, sizeof(optionsstr), "?location=%x", (unsigned)deviceLocation);
httpAssembleURI(HTTP_URI_CODING_ALL, uristr, sizeof(uristr), "usb", NULL, makestr, 0, modelstr);
strncat(uristr, optionsstr, sizeof(uristr));
strlcat(uristr, optionsstr, sizeof(uristr));
cupsBackendReport("direct", uristr, make_modelstr, make_modelstr, idstr,
NULL);
@@ -2011,8 +2019,6 @@ static void run_legacy_backend(int argc,
exit(exitstatus);
}
#endif /* __i386__ || __x86_64__ */
/*
* 'sigterm_handler()' - SIGTERM handler.
@@ -2021,7 +2027,8 @@ static void run_legacy_backend(int argc,
static void
sigterm_handler(int sig) /* I - Signal */
{
#if defined(__i386__) || defined(__x86_64__)
/* If we started a child process pass the signal on to it...
*/
if (child_pid)
{
/*
@@ -2043,15 +2050,10 @@ sigterm_handler(int sig) /* I - Signal */
exit(CUPS_BACKEND_STOP);
}
}
#endif /* __i386__ || __x86_64__ */
/*
* Otherwise just flag that the job has been canceled...
*/
job_canceled = 1;
}
#endif /* __i386__ || __x86_64__ */
#ifdef PARSE_PS_ERRORS
/*
@@ -2201,12 +2203,11 @@ static void get_device_id(cups_sc_status_t *status,
char *data,
int *datalen)
{
UInt32 deviceLocation = 0;
UInt8 interfaceNum = 0;
CFStringRef deviceIDString = NULL;
/* GetDeviceID */
copy_devicestring(g.printer_obj, &deviceIDString, &deviceLocation, &interfaceNum);
copy_deviceid(g.classdriver, &deviceIDString);
if (deviceIDString)
{
CFStringGetCString(deviceIDString, data, *datalen, kCFStringEncodingUTF8);
+23 -10
Ver Arquivo
@@ -158,7 +158,16 @@ print_device(const char *uri, /* I - Device URI */
while (poll(pfds, 2, -1) > 0)
{
if (pfds[0].revents & POLLIN)
/*
* CUPS STR #3318: USB process hangs on end-of-file, making further
* printing impossible
*
* From a strict interpretation of POSIX poll(), POLLHUP should never be
* set without POLLIN, since POLLIN is the event you request. That said,
* it appears that some versions of Linux break this.
*/
if (pfds[0].revents & (POLLIN | POLLHUP))
{
if ((bytes = read(print_fd, buffer, sizeof(buffer))) > 0)
{
@@ -178,8 +187,13 @@ print_device(const char *uri, /* I - Device URI */
break;
}
if (pfds[1].revents & POLLIN)
tbytes += side_cb(printer, print_fd);
if (pfds[1].revents & (POLLIN | POLLHUP))
{
if ((bytes = side_cb(printer, print_fd)) < 0)
pfds[1].events = 0; /* Filter has gone away... */
else
tbytes += bytes;
}
}
}
@@ -418,12 +432,14 @@ get_device_id(usb_printer_t *printer, /* I - Printer */
* and then limit the length to the size of our buffer...
*/
if (length > (bufsize - 2))
if (length > bufsize)
length = (((unsigned)buffer[1] & 255) << 8) +
((unsigned)buffer[0] & 255);
if (length > (bufsize - 2))
length = bufsize - 2;
if (length > bufsize)
length = bufsize;
length -= 2;
/*
* Copy the device ID text to the beginning of the buffer and
@@ -743,10 +759,7 @@ side_cb(usb_printer_t *printer, /* I - Printer */
datalen = sizeof(data);
if (cupsSideChannelRead(&command, &status, data, &datalen, 1.0))
{
_cupsLangPuts(stderr, _("WARNING: Failed to read side-channel request!\n"));
return (0);
}
return (-1);
switch (command)
{
+4 -7
Ver Arquivo
@@ -36,7 +36,7 @@
*/
static int open_device(const char *uri, int *use_bc);
static void side_cb(int print_fd, int device_fd, int snmp_fd,
static int side_cb(int print_fd, int device_fd, int snmp_fd,
http_addr_t *addr, int use_bc);
@@ -560,7 +560,7 @@ open_device(const char *uri, /* I - Device URI */
* 'side_cb()' - Handle side-channel requests...
*/
static void
static int /* O - 0 on success, -1 on error */
side_cb(int print_fd, /* I - Print file */
int device_fd, /* I - Device file */
int snmp_fd, /* I - SNMP socket (unused) */
@@ -579,10 +579,7 @@ side_cb(int print_fd, /* I - Print file */
datalen = sizeof(data);
if (cupsSideChannelRead(&command, &status, data, &datalen, 1.0))
{
_cupsLangPuts(stderr, _("WARNING: Failed to read side-channel request!\n"));
return;
}
return (-1);
switch (command)
{
@@ -625,7 +622,7 @@ side_cb(int print_fd, /* I - Print file */
break;
}
cupsSideChannelWrite(command, status, data, datalen, 1.0);
return (cupsSideChannelWrite(command, status, data, datalen, 1.0));
}
+97 -4
Ver Arquivo
@@ -122,6 +122,7 @@ main(int argc, /* I - Number of command-line arguments */
*/
cgiSetVariable("SECTION", "admin");
cgiSetVariable("REFRESH_PAGE", "");
/*
* See if we have form data...
@@ -191,7 +192,7 @@ main(int argc, /* I - Number of command-line arguments */
}
else if (op && !strcmp(op, "redirect"))
{
const char *url; /* Redirection URL... */
const char *url; /* Redirection URL... */
char prefix[1024]; /* URL prefix */
@@ -205,7 +206,50 @@ main(int argc, /* I - Number of command-line arguments */
fprintf(stderr, "DEBUG: redirecting with prefix %s!\n", prefix);
if ((url = cgiGetVariable("URL")) != NULL)
printf("Location: %s%s\n\n", prefix, url);
{
char encoded[1024], /* Encoded URL string */
*ptr; /* Pointer into encoded string */
ptr = encoded;
if (*url != '/')
*ptr++ = '/';
for (; *url && ptr < (encoded + sizeof(encoded) - 4); url ++)
{
if (strchr("%@&+ <>#=", *url) || *url < ' ' || *url & 128)
{
/*
* Percent-encode this character; safe because we have at least 4
* bytes left in the array...
*/
sprintf(ptr, "%%%02X", *url & 255);
ptr += 3;
}
else
*ptr++ = *url;
}
*ptr = '\0';
if (*url)
{
/*
* URL was too long, just redirect to the admin page...
*/
printf("Location: %s/admin\n\n", prefix);
}
else
{
/*
* URL is OK, redirect there...
*/
printf("Location: %s%s\n\n", prefix, encoded);
}
}
else
printf("Location: %s/admin\n\n", prefix);
}
@@ -345,6 +389,31 @@ do_add_rss_subscription(http_t *http) /* I - HTTP connection */
* and classes and (re)show the add page...
*/
if (cgiGetVariable("EVENT_JOB_CREATED"))
cgiSetVariable("EVENT_JOB_CREATED", "CHECKED");
if (cgiGetVariable("EVENT_JOB_COMPLETED"))
cgiSetVariable("EVENT_JOB_COMPLETED", "CHECKED");
if (cgiGetVariable("EVENT_JOB_STOPPED"))
cgiSetVariable("EVENT_JOB_STOPPED", "CHECKED");
if (cgiGetVariable("EVENT_JOB_CONFIG_CHANGED"))
cgiSetVariable("EVENT_JOB_CONFIG_CHANGED", "CHECKED");
if (cgiGetVariable("EVENT_PRINTER_STOPPED"))
cgiSetVariable("EVENT_PRINTER_STOPPED", "CHECKED");
if (cgiGetVariable("EVENT_PRINTER_ADDED"))
cgiSetVariable("EVENT_PRINTER_ADDED", "CHECKED");
if (cgiGetVariable("EVENT_PRINTER_MODIFIED"))
cgiSetVariable("EVENT_PRINTER_MODIFIED", "CHECKED");
if (cgiGetVariable("EVENT_PRINTER_DELETED"))
cgiSetVariable("EVENT_PRINTER_DELETED", "CHECKED");
if (cgiGetVariable("EVENT_SERVER_STARTED"))
cgiSetVariable("EVENT_SERVER_STARTED", "CHECKED");
if (cgiGetVariable("EVENT_SERVER_STOPPED"))
cgiSetVariable("EVENT_SERVER_STOPPED", "CHECKED");
if (cgiGetVariable("EVENT_SERVER_RESTARTED"))
cgiSetVariable("EVENT_SERVER_RESTARTED", "CHECKED");
if (cgiGetVariable("EVENT_SERVER_AUDIT"))
cgiSetVariable("EVENT_SERVER_AUDIT", "CHECKED");
request = ippNewRequest(CUPS_GET_PRINTERS);
response = cupsDoRequest(http, request, "/");
@@ -467,6 +536,7 @@ do_am_class(http_t *http, /* I - HTTP connection */
ipp_attribute_t *attr; /* member-uris attribute */
char uri[HTTP_MAX_URI]; /* Device or printer URI */
const char *name, /* Pointer to class name */
*op, /* Operation name */
*ptr; /* Pointer to CGI variable */
const char *title; /* Title of page */
static const char * const pattrs[] = /* Requested printer attributes */
@@ -478,6 +548,7 @@ do_am_class(http_t *http, /* I - HTTP connection */
title = cgiText(modify ? _("Modify Class") : _("Add Class"));
op = cgiGetVariable("OP");
name = cgiGetVariable("PRINTER_NAME");
if (cgiGetVariable("PRINTER_LOCATION") == NULL)
@@ -492,10 +563,22 @@ do_am_class(http_t *http, /* I - HTTP connection */
request = ippNewRequest(CUPS_GET_PRINTERS);
ippAddInteger(request, IPP_TAG_OPERATION, IPP_TAG_ENUM, "printer-type",
CUPS_PRINTER_LOCAL);
ippAddInteger(request, IPP_TAG_OPERATION, IPP_TAG_ENUM, "printer-type-mask",
CUPS_PRINTER_CLASS | CUPS_PRINTER_REMOTE |
CUPS_PRINTER_IMPLICIT);
/*
* Do the request and get back a response...
*/
cgiClearVariables();
if (op)
cgiSetVariable("OP", op);
if (name)
cgiSetVariable("PRINTER_NAME", name);
if ((response = cupsDoRequest(http, request, "/")) != NULL)
{
/*
@@ -628,6 +711,15 @@ do_am_class(http_t *http, /* I - HTTP connection */
return;
}
if (!name)
{
cgiStartHTML(title);
cgiSetVariable("ERROR", cgiText(_("Missing form variable!")));
cgiCopyTemplateLang("error.tmpl");
cgiEndHTML();
return;
}
for (ptr = name; *ptr; ptr ++)
if ((*ptr >= 0 && *ptr <= ' ') || *ptr == 127 || *ptr == '/' || *ptr == '#')
break;
@@ -662,8 +754,7 @@ do_am_class(http_t *http, /* I - HTTP connection */
request = ippNewRequest(CUPS_ADD_CLASS);
httpAssembleURIf(HTTP_URI_CODING_ALL, uri, sizeof(uri), "ipp", NULL,
"localhost", 0, "/classes/%s",
cgiGetVariable("PRINTER_NAME"));
"localhost", 0, "/classes/%s", name);
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_URI, "printer-uri",
NULL, uri);
@@ -2607,7 +2698,9 @@ do_menu(http_t *http) /* I - HTTP connection */
if ((val = cupsGetOption("DefaultAuthType", num_settings,
settings)) != NULL && !strcasecmp(val, "Negotiate"))
cgiSetVariable("KERBEROS", "CHECKED");
else
#endif /* HAVE_GSSAPI */
cgiSetVariable("KERBEROS", "");
#ifdef HAVE_DNSSD
cgiSetVariable("HAVE_DNSSD", "1");
+1
Ver Arquivo
@@ -54,6 +54,7 @@ typedef struct cgi_file_s /**** Uploaded file data ****/
extern void cgiAbort(const char *title, const char *stylesheet,
const char *format, ...);
extern int cgiCheckVariables(const char *names);
extern void cgiClearVariables(void);
extern void *cgiCompileSearch(const char *query);
extern void cgiCopyTemplateFile(FILE *out, const char *tmpl);
extern void cgiCopyTemplateLang(const char *tmpl);
+1
Ver Arquivo
@@ -72,6 +72,7 @@ main(int argc, /* I - Number of command-line arguments */
*/
cgiSetVariable("SECTION", "classes");
cgiSetVariable("REFRESH_PAGE", "");
/*
* See if we are displaying a printer or all classes...
+9 -2
Ver Arquivo
@@ -3,7 +3,7 @@
*
* Online help CGI for the Common UNIX Printing System (CUPS).
*
* Copyright 2007-2008 by Apple Inc.
* Copyright 2007-2009 by Apple Inc.
* Copyright 1997-2006 by Easy Software Products.
*
* These coded instructions, statements, and computer programs are the
@@ -63,6 +63,7 @@ main(int argc, /* I - Number of command-line arguments */
*/
cgiSetVariable("SECTION", "help");
cgiSetVariable("REFRESH_PAGE", "");
/*
* Load the help index...
@@ -102,7 +103,7 @@ main(int argc, /* I - Number of command-line arguments */
*/
for (i = 0; i < argc; i ++)
fprintf(stderr, "argv[%d]=\"%s\"\n", i, argv[i]);
fprintf(stderr, "DEBUG: argv[%d]=\"%s\"\n", i, argv[i]);
if ((helpfile = getenv("PATH_INFO")) != NULL)
{
@@ -182,6 +183,12 @@ main(int argc, /* I - Number of command-line arguments */
topic = cgiGetVariable("TOPIC");
si = helpSearchIndex(hi, query, topic, helpfile);
cgiClearVariables();
if (query)
cgiSetVariable("QUERY", query);
if (topic)
cgiSetVariable("TOPIC", topic);
fprintf(stderr, "DEBUG: query=\"%s\", topic=\"%s\"\n",
query ? query : "(null)", topic ? topic : "(null)");
+28 -11
Ver Arquivo
@@ -650,7 +650,8 @@ cgiPrintCommand(http_t *http, /* I - Connection to server */
cgiSetIPPVars(response, NULL, NULL, NULL, 0);
attr = ippFindAttribute(response, "job-state", IPP_TAG_ENUM);
if (!attr || attr->values[0].integer >= IPP_JOB_STOPPED)
if (!attr || attr->values[0].integer >= IPP_JOB_STOPPED ||
attr->values[0].integer == IPP_JOB_HELD)
{
ippDelete(response);
break;
@@ -1397,7 +1398,9 @@ cgiShowJobs(http_t *http, /* I - Connection to server */
int ascending, /* Order of jobs (0 = descending) */
first, /* First job to show */
count; /* Number of jobs */
const char *var; /* Form variable */
const char *var, /* Form variable */
*query, /* Query string */
*section; /* Section in web interface */
void *search; /* Search data */
char url[1024], /* Printer URI */
val[1024]; /* Form variable */
@@ -1441,11 +1444,14 @@ cgiShowJobs(http_t *http, /* I - Connection to server */
* Get a list of matching job objects.
*/
if ((var = cgiGetVariable("QUERY")) != NULL &&
if ((query = cgiGetVariable("QUERY")) != NULL &&
!cgiGetVariable("CLEAR"))
search = cgiCompileSearch(var);
search = cgiCompileSearch(query);
else
{
query = NULL;
search = NULL;
}
jobs = cgiGetIPPObjects(response, search);
count = cupsArrayCount(jobs);
@@ -1470,16 +1476,27 @@ cgiShowJobs(http_t *http, /* I - Connection to server */
if (first < 0)
first = 0;
sprintf(val, "%d", count);
cgiSetVariable("TOTAL", val);
if ((var = cgiGetVariable("ORDER")) != NULL)
ascending = !strcasecmp(var, "asc");
else
{
ascending = !which_jobs || !strcasecmp(which_jobs, "not-completed");
cgiSetVariable("ORDER", ascending ? "asc" : "dec");
}
section = cgiGetVariable("SECTION");
cgiClearVariables();
if (query)
cgiSetVariable("QUERY", query);
cgiSetVariable("ORDER", ascending ? "asc" : "dec");
cgiSetVariable("SECTION", section);
sprintf(val, "%d", count);
cgiSetVariable("TOTAL", val);
if (which_jobs)
cgiSetVariable("WHICH_JOBS", which_jobs);
if (ascending)
{
@@ -1501,7 +1518,7 @@ cgiShowJobs(http_t *http, /* I - Connection to server */
*/
if (dest)
snprintf(val, sizeof(val), "/%s/%s", cgiGetVariable("SECTION"), dest);
snprintf(val, sizeof(val), "/%s/%s", section, dest);
else
strlcpy(val, "/jobs/", sizeof(val));
+1
Ver Arquivo
@@ -57,6 +57,7 @@ main(int argc, /* I - Number of command-line arguments */
*/
cgiSetVariable("SECTION", "jobs");
cgiSetVariable("REFRESH_PAGE", "");
/*
* Connect to the HTTP server...
+1
Ver Arquivo
@@ -1,4 +1,5 @@
_cgiCheckVariables
_cgiClearVariables
_cgiCompileSearch
_cgiCopyTemplateFile
_cgiCopyTemplateLang
+12 -4
Ver Arquivo
@@ -357,7 +357,7 @@ write_index(const char *path, /* I - File to write */
static void
write_info(const char *path, /* I - File to write */
const char *revision) /* I - Version number */
const char *revision) /* I - Subversion revision number */
{
cups_file_t *fp; /* File */
@@ -379,14 +379,22 @@ write_info(const char *path, /* I - File to write */
"\t<key>CFBundleName</key>\n"
"\t<string>CUPS Documentation</string>\n"
"\t<key>CFBundleVersion</key>\n"
"\t<string>1.4.%s</string>\n"
"\t<string>%d.%d.%s</string>\n"
"\t<key>CFBundleShortVersionString</key>\n"
"\t<string>%d.%d.%d</string>\n"
"\t<key>DocSetFeedName</key>\n"
"\t<string>cups.org</string>\n"
"\t<key>DocSetFeedURL</key>\n"
"\t<string>http://www.cups.org/org.cups.docset.xar"
"\t<string>http://www.cups.org/org.cups.docset.atom"
"</string>\n"
"\t<key>DocSetPublisherIdentifier</key>\n"
"\t<string>org.cups</string>\n"
"\t<key>DocSetPublisherName</key>\n"
"\t<string>CUPS</string>\n"
"</dict>\n"
"</plist>\n", revision);
"</plist>\n",
CUPS_VERSION_MAJOR, CUPS_VERSION_MINOR, revision,
CUPS_VERSION_MAJOR, CUPS_VERSION_MINOR, CUPS_VERSION_PATCH);
cupsFileClose(fp);
}
+1
Ver Arquivo
@@ -73,6 +73,7 @@ main(int argc, /* I - Number of command-line arguments */
*/
cgiSetVariable("SECTION", "printers");
cgiSetVariable("REFRESH_PAGE", "");
/*
* See if we are displaying a printer or all printers...
+3 -1
Ver Arquivo
@@ -675,6 +675,8 @@ cgi_puts(const char *s, /* I - String to output */
fputs("&gt;", out);
else if (*s == '\"')
fputs("&quot;", out);
else if (*s == '\'')
fputs("&#39;", out);
else if (*s == '&')
fputs("&amp;", out);
else
@@ -695,7 +697,7 @@ cgi_puturi(const char *s, /* I - String to output */
{
while (*s)
{
if (strchr("%&+ <>#=", *s) || *s & 128)
if (strchr("%@&+ <>#=", *s) || *s < ' ' || *s & 128)
fprintf(out, "%%%02X", *s & 255);
else
putc(*s, out);
+35 -9
Ver Arquivo
@@ -15,6 +15,7 @@
* Contents:
*
* cgiCheckVariables() - Check for the presence of "required" variables.
* cgiClearVariables() - Clear all form variables.
* cgiGetArray() - Get an element from a form array...
* cgiGetFile() - Get the file (if any) that was submitted in the form.
* cgiGetSize() - Get the size of a form array value.
@@ -134,6 +135,31 @@ cgiCheckVariables(const char *names) /* I - Variables to look for */
}
/*
* 'cgiClearVariables()' - Clear all form variables.
*/
void
cgiClearVariables(void)
{
int i, j; /* Looping vars */
_cgi_var_t *v; /* Current variable */
for (v = form_vars, i = form_count; i > 0; v ++, i --)
{
_cupsStrFree(v->name);
for (j = 0; j < v->nvalues; j ++)
if (v->values[j])
_cupsStrFree(v->values[j]);
}
form_count = 0;
cgi_unlink_file();
}
/*
* 'cgiGetArray()' - Get an element from a form array...
*/
@@ -151,7 +177,7 @@ cgiGetArray(const char *name, /* I - Name of array variable */
if (element < 0 || element >= var->nvalues)
return (NULL);
return (var->values[element]);
return (_cupsStrRetain(var->values[element]));
}
@@ -206,7 +232,7 @@ cgiGetVariable(const char *name) /* I - Name of variable */
var->values[var->nvalues - 1]));
#endif /* DEBUG */
return ((var == NULL) ? NULL : var->values[var->nvalues - 1]);
return ((var == NULL) ? NULL : _cupsStrRetain(var->values[var->nvalues - 1]));
}
@@ -337,9 +363,9 @@ cgiSetArray(const char *name, /* I - Name of variable */
var->nvalues = element + 1;
}
else if (var->values[element])
free((char *)var->values[element]);
_cupsStrFree((char *)var->values[element]);
var->values[element] = strdup(value);
var->values[element] = _cupsStrAlloc(value);
}
}
@@ -384,7 +410,7 @@ cgiSetSize(const char *name, /* I - Name of variable */
{
for (i = size; i < var->nvalues; i ++)
if (var->values[i])
free((void *)(var->values[i]));
_cupsStrFree((void *)(var->values[i]));
}
var->nvalues = size;
@@ -417,9 +443,9 @@ cgiSetVariable(const char *name, /* I - Name of variable */
{
for (i = 0; i < var->nvalues; i ++)
if (var->values[i])
free((char *)var->values[i]);
_cupsStrFree((char *)var->values[i]);
var->values[0] = strdup(value);
var->values[0] = _cupsStrAlloc(value);
var->nvalues = 1;
}
}
@@ -465,10 +491,10 @@ cgi_add_variable(const char *name, /* I - Variable name */
if ((var->values = calloc(element + 1, sizeof(char *))) == NULL)
return;
var->name = strdup(name);
var->name = _cupsStrAlloc(name);
var->nvalues = element + 1;
var->avalues = element + 1;
var->values[element] = strdup(value);
var->values[element] = _cupsStrAlloc(value);
form_count ++;
}
+1 -1
Ver Arquivo
@@ -90,7 +90,7 @@ install-data:
done
-if test x$(PAMDIR) != x; then \
$(INSTALL_DIR) -m 755 $(BUILDROOT)$(PAMDIR); \
if test -r $(BUILDROOT)$(PAMDIR)/cups/$(PAMFILE) ; then \
if test -r $(BUILDROOT)$(PAMDIR)/cups ; then \
$(INSTALL_DATA) $(PAMFILE) $(BUILDROOT)$(PAMDIR)/cups.N ; \
else \
$(INSTALL_DATA) $(PAMFILE) $(BUILDROOT)$(PAMDIR)/cups ; \
+2 -3
Ver Arquivo
@@ -1,9 +1,8 @@
#
# "$Id$"
#
# Sample configuration file for the Common UNIX Printing System (CUPS)
# scheduler. See "man cupsd.conf" for a complete description of this
# file.
# Sample configuration file for the CUPS scheduler. See "man cupsd.conf" for a
# complete description of this file.
#
# Log general information in error_log - change "@CUPS_LOG_LEVEL@" to "debug"
+4 -4
Ver Arquivo
@@ -1,5 +1,5 @@
#
# "$Id: mime.types 8652 2009-05-16 23:48:35Z mike $"
# "$Id: mime.types 8783 2009-08-28 17:51:05Z mike $"
#
# MIME types file for the Common UNIX Printing System (CUPS).
#
@@ -95,7 +95,7 @@ application/vnd.hp-HPGL hpgl \
image/gif gif string(0,GIF87a) string(0,GIF89a)
image/png png string(0,<89>PNG)
image/jpeg jpeg jpg jpe string(0,<FFD8FF>) &&\
image/jpeg jpeg jpg jpe string(0,<FFD8FF>) +\
(char(3,0xe0) char(3,0xe1) char(3,0xe2) char(3,0xe3)\
char(3,0xe4) char(3,0xe5) char(3,0xe6) char(3,0xe7)\
char(3,0xe8) char(3,0xe9) char(3,0xea) char(3,0xeb)\
@@ -114,7 +114,7 @@ image/x-sun-raster ras string(0,<59a66a95>)
#image/fpx fpx
image/x-alias pix short(8,8) short(8,24)
image/x-bitmap bmp string(0,BM) && !printable(2,14)
image/x-bitmap bmp string(0,BM) + !printable(2,14)
image/x-icon ico
########################################################################
@@ -177,5 +177,5 @@ application/vnd.cups-raw (string(0,<1B>E) + !string(2,<1B>%0B)) \
application/octet-stream
#
# End of "$Id: mime.types 8652 2009-05-16 23:48:35Z mike $".
# End of "$Id: mime.types 8783 2009-08-28 17:51:05Z mike $".
#
-3
Ver Arquivo
@@ -1,3 +0,0 @@
#%PAM-1.0
auth required pam_unix.so shadow nodelay nullok
account required pam_unix.so
+1 -1
Ver Arquivo
@@ -1,2 +1,2 @@
auth required @PAMMOD@ nullok shadow
auth required @PAMMODAUTH@
account required @PAMMOD@
+3 -12
Ver Arquivo
@@ -1,5 +1,5 @@
dnl
dnl "$Id: cups-common.m4 8686 2009-05-26 23:27:06Z mike $"
dnl "$Id: cups-common.m4 8841 2009-10-07 16:24:25Z mike $"
dnl
dnl Common configuration stuff for the Common UNIX Printing System (CUPS).
dnl
@@ -20,7 +20,7 @@ dnl Set the name of the config header file...
AC_CONFIG_HEADER(config.h)
dnl Version number information...
CUPS_VERSION="1.4rc1"
CUPS_VERSION="1.4.2"
CUPS_REVISION=""
#if test -z "$CUPS_REVISION" -a -d .svn; then
# CUPS_REVISION="-r`svnversion . | awk -F: '{print $NF}' | sed -e '1,$s/[[a-zA-Z]]*//g'`"
@@ -144,9 +144,6 @@ fi
dnl Check for random number functions...
AC_CHECK_FUNCS(random mrand48 lrand48)
dnl Checks for mkstemp and mkstemps functions.
AC_CHECK_FUNCS(mkstemp mkstemps)
dnl Check for geteuid function.
AC_CHECK_FUNCS(geteuid)
@@ -269,11 +266,6 @@ if test "x$enable_dbus" != xno; then
dbus_message_iter_init_append,
AC_DEFINE(HAVE_DBUS_MESSAGE_ITER_INIT_APPEND),,
`$PKGCONFIG --libs dbus-1`)
if $PKGCONFIG --exists glib-2.0 && $PKGCONFIG --exists dbus-glib-1; then
DBUS_NOTIFIER="dbus"
DBUS_NOTIFIERLIBS="`$PKGCONFIG --libs glib-2.0` `$PKGCONFIG --libs dbus-glib-1` `$PKGCONFIG --libs dbus-1`"
CFLAGS="$CFLAGS `$PKGCONFIG --cflags glib-2.0`"
fi
else
AC_MSG_RESULT(no)
fi
@@ -292,7 +284,6 @@ LEGACY_BACKENDS="parallel scsi"
case $uname in
Darwin*)
# FONTS=""
LEGACY_BACKENDS=""
BACKLIBS="$BACKLIBS -framework IOKit"
CUPSDLIBS="$CUPSDLIBS -sectorder __TEXT __text cupsd.order -e start -framework IOKit -framework SystemConfiguration -weak_framework ApplicationServices"
@@ -358,5 +349,5 @@ AC_SUBST(FONTS)
AC_SUBST(LEGACY_BACKENDS)
dnl
dnl End of "$Id: cups-common.m4 8686 2009-05-26 23:27:06Z mike $".
dnl End of "$Id: cups-common.m4 8841 2009-10-07 16:24:25Z mike $".
dnl
+4 -4
Ver Arquivo
@@ -1,5 +1,5 @@
dnl
dnl "$Id: cups-defaults.m4 8344 2009-02-10 17:05:35Z mike $"
dnl "$Id: cups-defaults.m4 8841 2009-10-07 16:24:25Z mike $"
dnl
dnl Default cupsd configuration settings for the Common UNIX Printing System
dnl (CUPS).
@@ -325,8 +325,8 @@ if test x$default_lpdconfigfile != xno; then
CUPS_DEFAULT_LPD_CONFIG_FILE="launchd:///System/Library/LaunchDaemons/org.cups.cups-lpd.plist"
;;
*)
if test -d /etc/xinetd.d; then
CUPS_DEFAULT_LPD_CONFIG_FILE="xinetd:///etc/xinetd.d/cups-lpd"
if test "x$XINETD" != x; then
CUPS_DEFAULT_LPD_CONFIG_FILE="xinetd://$XINETD/cups-lpd"
else
CUPS_DEFAULT_LPD_CONFIG_FILE=""
fi
@@ -435,5 +435,5 @@ AC_SUBST(BANNERTOPS)
AC_SUBST(TEXTTOPS)
dnl
dnl End of "$Id: cups-defaults.m4 8344 2009-02-10 17:05:35Z mike $".
dnl End of "$Id: cups-defaults.m4 8841 2009-10-07 16:24:25Z mike $".
dnl
+3 -3
Ver Arquivo
@@ -1,5 +1,5 @@
dnl
dnl "$Id: cups-dnssd.m4 8344 2009-02-10 17:05:35Z mike $"
dnl "$Id: cups-dnssd.m4 8789 2009-08-28 22:54:34Z mike $"
dnl
dnl DNS Service Discovery (aka Bonjour) stuff for the Common UNIX Printing System (CUPS).
dnl
@@ -43,7 +43,7 @@ if test x$enable_dnssd != xno; then
AC_MSG_CHECKING(for current version of dns_sd library)
SAVELIBS="$LIBS"
LIBS="$LIBS -ldns_sd"
AC_TRY_COMPILE([#include <dns_sd.h],
AC_TRY_COMPILE([#include <dns_sd.h>],
[int constant = kDNSServiceFlagsShareConnection;
unsigned char txtRecord[100];
uint8_t valueLen;
@@ -64,5 +64,5 @@ AC_SUBST(DNSSDLIBS)
AC_SUBST(DNSSD_BACKEND)
dnl
dnl End of "$Id: cups-dnssd.m4 8344 2009-02-10 17:05:35Z mike $".
dnl End of "$Id: cups-dnssd.m4 8789 2009-08-28 22:54:34Z mike $".
dnl
+15 -17
Ver Arquivo
@@ -1,5 +1,5 @@
dnl
dnl "$Id: cups-pam.m4 8344 2009-02-10 17:05:35Z mike $"
dnl "$Id: cups-pam.m4 8825 2009-09-22 21:53:31Z mike $"
dnl
dnl PAM stuff for the Common UNIX Printing System (CUPS).
dnl
@@ -22,9 +22,10 @@ if test $uname = AIX; then
fi
PAMDIR=""
PAMFILE=""
PAMFILE="pam.std"
PAMLIBS=""
PAMMOD="pam_unknown.so"
PAMMODAUTH="pam_unknown.so"
if test x$enable_pam != xno; then
SAVELIBS="$LIBS"
@@ -60,7 +61,7 @@ if test x$enable_pam != xno; then
case "$uname" in
Darwin*)
# Darwin, MacOS X
# Darwin/Mac OS X
if test "x$with_pam_module" != x; then
PAMFILE="pam.$with_pam_module"
elif test -f /usr/lib/pam/pam_opendirectory.so.2; then
@@ -70,26 +71,22 @@ if test x$enable_pam != xno; then
fi
;;
IRIX)
# SGI IRIX
PAMFILE="pam.irix"
;;
*)
# All others; this test might need to be updated
# as Linux distributors move things around...
if test "x$with_pam_module" != x; then
PAMMOD="pam_${with_pam_module}.so"
else
for mod in pam_unix2.so pam_unix.so pam_pwdb.so; do
if test -f /lib/security/$mod; then
PAMMOD="$mod"
break;
fi
done
elif test -f /lib/security/pam_unix2.so; then
PAMMOD="pam_unix2.so"
elif test -f /lib/security/pam_unix.so; then
PAMMOD="pam_unix.so"
fi
PAMFILE="pam.std"
if test "x$PAMMOD" = xpam_unix.so; then
PAMMODAUTH="$PAMMOD shadow nodelay"
else
PAMMODAUTH="$PAMMOD nodelay"
fi
;;
esac
fi
@@ -98,7 +95,8 @@ AC_SUBST(PAMDIR)
AC_SUBST(PAMFILE)
AC_SUBST(PAMLIBS)
AC_SUBST(PAMMOD)
AC_SUBST(PAMMODAUTH)
dnl
dnl End of "$Id: cups-pam.m4 8344 2009-02-10 17:05:35Z mike $".
dnl End of "$Id: cups-pam.m4 8825 2009-09-22 21:53:31Z mike $".
dnl
+23 -3
Ver Arquivo
@@ -1,5 +1,5 @@
dnl
dnl "$Id: cups-pdf.m4 8430 2009-03-12 21:50:44Z mike $"
dnl "$Id: cups-pdf.m4 8760 2009-08-07 22:30:30Z mike $"
dnl
dnl PDF filter configuration stuff for the Common UNIX Printing System (CUPS).
dnl
@@ -13,7 +13,7 @@ dnl which should have been included with this file. If this file is
dnl file is missing or damaged, see the license at "http://www.cups.org/".
dnl
AC_ARG_WITH(pdftops, [ --with-pdftops set pdftops filter (gs,pdftops,none), default=pdftops ])
AC_ARG_WITH(pdftops, [ --with-pdftops set pdftops filter (gs,/path/to/gs,pdftops,/path/to/pdftops,none), default=pdftops ])
PDFTOPS=""
CUPS_PDFTOPS=""
@@ -47,6 +47,12 @@ case "x$with_pdftops" in
fi
;;
x/*/gs) # Use /path/to/gs without any check:
CUPS_GHOSTSCRIPT="$with_pdftops"
AC_DEFINE(HAVE_GHOSTSCRIPT)
PDFTOPS="pdftops"
;;
xpdftops)
AC_PATH_PROG(CUPS_PDFTOPS, pdftops)
if test "x$CUPS_PDFTOPS" != x; then
@@ -57,6 +63,20 @@ case "x$with_pdftops" in
exit 1
fi
;;
x/*/pdftops) # Use /path/to/pdftops without any check:
CUPS_PDFTOPS="$with_pdftops"
AC_DEFINE(HAVE_PDFTOPS)
PDFTOPS="pdftops"
;;
xnone) # Make no pdftops filter if with_pdftops=none:
;;
*) # Invalid with_pdftops value:
AC_MSG_ERROR(Invalid with_pdftops value!)
exit 1
;;
esac
AC_DEFINE_UNQUOTED(CUPS_PDFTOPS, "$CUPS_PDFTOPS")
@@ -64,5 +84,5 @@ AC_DEFINE_UNQUOTED(CUPS_GHOSTSCRIPT, "$CUPS_GHOSTSCRIPT")
AC_SUBST(PDFTOPS)
dnl
dnl End of "$Id: cups-pdf.m4 8430 2009-03-12 21:50:44Z mike $".
dnl End of "$Id: cups-pdf.m4 8760 2009-08-07 22:30:30Z mike $".
dnl
-16
Ver Arquivo
@@ -335,14 +335,6 @@
#undef HAVE_DNSSD
/*
* Do we have Darwin's CoreFoundation and SystemConfiguration frameworks?
*/
#undef HAVE_COREFOUNDATION
#undef HAVE_SYSTEMCONFIGURATION
/*
* Do we have <sys/ioctl.h>?
*/
@@ -350,14 +342,6 @@
#undef HAVE_SYS_IOCTL_H
/*
* Do we have mkstemp() and/or mkstemps()?
*/
#undef HAVE_MKSTEMP
#undef HAVE_MKSTEMPS
/*
* Does the "tm" structure contain the "tm_gmtoff" member?
*/
+1 -1
Ver Arquivo
@@ -1553,7 +1553,7 @@ _cupsAdminSetServerSettings(
const char *remotep = cupsGetOption("BrowseRemoteProtocols",
num_settings, settings);
if (!localp)
if (!localp || !localp[0])
localp = cupsGetOption("BrowseLocalProtocols", cupsd_num_settings,
cupsd_settings);
+12 -4
Ver Arquivo
@@ -1,5 +1,5 @@
<!--
"$Id: api-filter.shtml 8628 2009-05-13 22:25:34Z mike $"
"$Id: api-filter.shtml 8718 2009-06-18 17:41:03Z mike $"
Filter and backend programming introduction for the Common UNIX Printing
System (CUPS).
@@ -127,7 +127,7 @@ when running print filters and backends:</p>
<dl class="code">
<dt>APPLE_LANGUAGES</dt>
<dt>APPLE_LANGUAGE</dt>
<dd>The Apple language identifier associated with the job
(Mac OS X only).</dd>
@@ -264,7 +264,16 @@ prefix strings:</p>
current queue. Typically this is used to indicate persistent media,
ink, toner, and configuration conditions or errors on a printer.
<a href='#TABLE2'>Table 2</a> lists the standard state keywords -
use vendor-prefixed ("com.acme.foo") keywords for custom states.</dd>
use vendor-prefixed ("com.acme.foo") keywords for custom states.
<blockquote><b>Note:</b>
<p>"STATE:" messages often provide visible alerts to the user. For example, on
Mac OS X setting a printer-state-reason value with an "-error" or "-warning"
suffix will cause the printer's dock item to bounce if the corresponding reason
is localized with a cupsIPPReason keyword in the printer's PPD file.</p>
</blockquote></dd>
<dt>WARNING: message</dt>
<dd>Sets the printer-state-message attribute and adds the specified
@@ -276,7 +285,6 @@ prefix strings:</p>
<p>Messages without one of these prefixes are treated as if they began with
the "DEBUG:" prefix string.</p>
<div class='table'><table width='80%' summary='Table 1: Standard marker-types Values'>
<caption>Table 1: <a name='TABLE1'>Standard marker-types Values</a></caption>
<thead>
+2 -2
Ver Arquivo
@@ -59,10 +59,10 @@ extern "C" {
* Constants...
*/
# define CUPS_VERSION 1.0400
# define CUPS_VERSION 1.0402
# define CUPS_VERSION_MAJOR 1
# define CUPS_VERSION_MINOR 4
# define CUPS_VERSION_PATCH 0
# define CUPS_VERSION_PATCH 2
# define CUPS_BC_FD 3 /* Back-channel file descriptor for select/poll */
# define CUPS_DATE_ANY (time_t)-1
+2 -2
Ver Arquivo
@@ -557,7 +557,7 @@ cupsGetNamedDest(http_t *http, /* I - Connection to server or @code CUPS_HTT
* configuration file does not exist. Find out the real default.
*/
if (!cups_get_sdests(http, CUPS_GET_DEFAULT, name, 0, &dest))
if (!cups_get_sdests(http, CUPS_GET_DEFAULT, NULL, 0, &dest))
return (NULL);
}
@@ -1800,7 +1800,7 @@ cups_get_sdests(http_t *http, /* I - Connection to server or CUPS_HTTP_DEFA
ippAddString(request, IPP_TAG_OPERATION, IPP_TAG_NAME,
"requesting-user-name", NULL, cupsUser());
if (name)
if (name && op != CUPS_GET_DEFAULT)
{
httpAssembleURIf(HTTP_URI_CODING_ALL, uri, sizeof(uri), "ipp", NULL,
"localhost", ippPort(), "/printers/%s", name);
+48 -19
Ver Arquivo
@@ -50,6 +50,7 @@
#include "debug.h"
#include "globals.h"
#include <stdlib.h>
#include <errno.h>
#ifdef HAVE_DNSSD
# include <dns_sd.h>
# include <poll.h>
@@ -1406,7 +1407,6 @@ _httpResolveURI(
fputs("STATE: +connecting-to-device\n", stderr);
fprintf(stderr, "DEBUG: Resolving \"%s\", regtype=\"%s\", "
"domain=\"local.\"...\n", hostname, regtype);
_cupsLangPuts(stderr, _("INFO: Looking for printer...\n"));
}
uri = NULL;
@@ -1418,36 +1418,65 @@ _httpResolveURI(
hostname, regtype, "local.", resolve_callback,
&uribuf) == kDNSServiceErr_NoError)
{
if (strcasecmp(domain, "local."))
int fds; /* Number of ready descriptors */
time_t timeout, /* Poll timeout */
start_time = time(NULL);/* Start time */
for (;;)
{
if (logit)
_cupsLangPuts(stderr, _("INFO: Looking for printer...\n"));
/*
* Wait 2 seconds for a response to the local resolve; if nothing comes
* in, do an additional domain resolution...
* For the first minute, wakeup every 2 seconds to emit a
* "looking for printer" message...
*/
timeout = (time(NULL) < (start_time + 60)) ? 2000 : -1;
polldata.fd = DNSServiceRefSockFD(ref);
polldata.events = POLLIN;
if (poll(&polldata, 1, 2000) != 1)
fds = poll(&polldata, 1, timeout);
if (fds < 0)
{
if (errno != EINTR && errno != EAGAIN)
{
DEBUG_printf(("5_httpResolveURI: poll error: %s", strerror(errno)));
break;
}
}
else if (fds == 0)
{
/*
* OK, send the domain name resolve...
* Wait 2 seconds for a response to the local resolve; if nothing
* comes in, do an additional domain resolution...
*/
if (logit)
fprintf(stderr, "DEBUG: Resolving \"%s\", regtype=\"%s\", "
"domain=\"%s\"...\n", hostname, regtype, domain);
domainref = ref;
if (DNSServiceResolve(&domainref, kDNSServiceFlagsShareConnection, 0,
hostname, regtype, domain, resolve_callback,
&uribuf) == kDNSServiceErr_NoError)
domainsent = 1;
if (domainsent == 0 && strcasecmp(domain, "local."))
{
if (logit)
fprintf(stderr,
"DEBUG: Resolving \"%s\", regtype=\"%s\", "
"domain=\"%s\"...\n", hostname, regtype, domain);
domainref = ref;
if (DNSServiceResolve(&domainref, kDNSServiceFlagsShareConnection, 0,
hostname, regtype, domain, resolve_callback,
&uribuf) == kDNSServiceErr_NoError)
domainsent = 1;
}
}
}
if (DNSServiceProcessResult(ref) == kDNSServiceErr_NoError)
uri = resolved_uri;
else
{
if (DNSServiceProcessResult(ref) == kDNSServiceErr_NoError)
{
uri = resolved_uri;
break;
}
}
}
if (domainsent)
DNSServiceRefDeallocate(domainref);
+12 -2
Ver Arquivo
@@ -3004,6 +3004,11 @@ http_setup_ssl(http_t *http) /* I - Connection to server */
http->error = errno;
http->status = HTTP_ERROR;
gnutls_deinit(conn->session);
gnutls_certificate_free_credentials(*credentials);
free(credentials);
free(conn);
return (-1);
}
@@ -3138,6 +3143,13 @@ http_upgrade(http_t *http) /* I - Connection to server */
DEBUG_printf(("7http_upgrade(%p)", http));
/*
* Flush the connection to make sure any previous "Upgrade" message
* has been read.
*/
httpFlush(http);
/*
* Copy the HTTP data to a local variable so we can do the OPTIONS
* request without interfering with the existing request data...
@@ -3165,8 +3177,6 @@ http_upgrade(http_t *http) /* I - Connection to server */
while (httpUpdate(http) == HTTP_CONTINUE);
}
httpFlush(http);
/*
* Restore the HTTP request data...
*/
+1 -1
Ver Arquivo
@@ -4,7 +4,7 @@
* Hyper-Text Transport Protocol definitions for the Common UNIX Printing
* System (CUPS).
*
* Copyright 2007 by Apple Inc.
* Copyright 2007-2009 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products, all rights reserved.
*
* These coded instructions, statements, and computer programs are the
+5
Ver Arquivo
@@ -29,10 +29,14 @@ _cupsStrStatistics
_cups_strcpy
_cups_strlcat
_cups_strlcpy
_httpResolveURI
_ippAddAttr
_ippFindOption
_ippFreeAttr
_ppdFreeLanguages
_ppdGetEncoding
_ppdGetLanguages
_ppdHashName
cupsAddDest
cupsAddOption
cupsAdminCreateWindowsPPD
@@ -129,6 +133,7 @@ cupsPrintFiles2
cupsPutFd
cupsPutFile
cupsRemoveOption
cupsResolveConflicts
cupsServer
cupsSetDests
cupsSetDests2
+4 -2
Ver Arquivo
@@ -266,9 +266,11 @@ cupsDoIORequest(http_t *http, /* I - Connection to server or @code CUPS_HTTP
DEBUG_printf(("2cupsDoIORequest: status=%d", status));
if (status == HTTP_FORBIDDEN || status == HTTP_ERROR ||
status >= HTTP_SERVER_ERROR)
if (status >= HTTP_BAD_REQUEST &&
status != HTTP_UNAUTHORIZED &&
status != HTTP_UPGRADE_REQUIRED)
{
httpFlush(http);
_cupsSetHTTPError(status);
break;
}
+21 -1
Ver Arquivo
@@ -191,9 +191,23 @@ cupsSideChannelRead(
if (errno != EINTR && errno != EAGAIN)
{
DEBUG_printf(("1cupsSideChannelRead: Read error: %s", strerror(errno)));
*command = CUPS_SC_CMD_NONE;
*status = CUPS_SC_STATUS_IO_ERROR;
return (-1);
}
/*
* Watch for EOF or too few bytes...
*/
if (bytes < 4)
{
DEBUG_printf(("1cupsSideChannelRead: Short read of %d bytes", bytes));
*command = CUPS_SC_CMD_NONE;
*status = CUPS_SC_STATUS_BAD_MESSAGE;
return (-1);
}
/*
* Validate the command code in the message...
*/
@@ -202,6 +216,8 @@ cupsSideChannelRead(
buffer[0] > CUPS_SC_CMD_SNMP_GET_NEXT)
{
DEBUG_printf(("1cupsSideChannelRead: Bad command %d!", buffer[0]));
*command = CUPS_SC_CMD_NONE;
*status = CUPS_SC_STATUS_BAD_MESSAGE;
return (-1);
}
@@ -379,6 +395,7 @@ cupsSideChannelSNMPWalk(
real_oidlen, /* Length of returned OID string */
oidlen; /* Length of first OID */
const char *current_oid; /* Current OID */
char last_oid[2048]; /* Last OID */
DEBUG_printf(("cupsSideChannelSNMPWalk(oid=\"%s\", timeout=%.3f, cb=%p, "
@@ -397,6 +414,7 @@ cupsSideChannelSNMPWalk(
current_oid = oid;
oidlen = (int)strlen(oid);
last_oid[0] = '\0';
do
{
@@ -422,7 +440,8 @@ cupsSideChannelSNMPWalk(
* Parse the response of the form "oid\0value"...
*/
if (strncmp(real_data, oid, oidlen) || real_data[oidlen] != '.')
if (strncmp(real_data, oid, oidlen) || real_data[oidlen] != '.' ||
!strcmp(real_data, last_oid))
{
/*
* Done with this set of OIDs...
@@ -448,6 +467,7 @@ cupsSideChannelSNMPWalk(
*/
current_oid = real_data;
strlcpy(last_oid, current_oid, sizeof(last_oid));
}
}
while (status == CUPS_SC_STATUS_OK);
+1
Ver Arquivo
@@ -55,6 +55,7 @@ typedef enum cups_sc_bidi_e cups_sc_bidi_t;
enum cups_sc_command_e /**** Request command codes ****/
{
CUPS_SC_CMD_NONE = 0, /* No command @private@ */
CUPS_SC_CMD_SOFT_RESET = 1, /* Do a soft reset */
CUPS_SC_CMD_DRAIN_OUTPUT = 2, /* Drain all pending output */
CUPS_SC_CMD_GET_BIDI = 3, /* Return bidirectional capabilities */
+10 -4
Ver Arquivo
@@ -608,6 +608,8 @@ _cupsSNMPWalk(int fd, /* I - SNMP socket */
int count = 0; /* Number of OIDs found */
int request_id = 0; /* Current request ID */
cups_snmp_t packet; /* Current response packet */
int lastoid[CUPS_SNMP_MAX_OID];
/* Last OID we got */
/*
@@ -631,14 +633,15 @@ _cupsSNMPWalk(int fd, /* I - SNMP socket */
*/
_cupsSNMPCopyOID(packet.object_name, prefix, CUPS_SNMP_MAX_OID);
lastoid[0] = -1;
for (;;)
{
request_id ++;
if (!_cupsSNMPWrite(fd, address, version, community,
CUPS_ASN1_GET_NEXT_REQUEST, request_id,
packet.object_name))
CUPS_ASN1_GET_NEXT_REQUEST, request_id,
packet.object_name))
{
DEBUG_puts("5_cupsSNMPWalk: Returning -1");
@@ -652,7 +655,8 @@ _cupsSNMPWalk(int fd, /* I - SNMP socket */
return (-1);
}
if (!_cupsSNMPIsOIDPrefixed(&packet, prefix))
if (!_cupsSNMPIsOIDPrefixed(&packet, prefix) ||
_cupsSNMPIsOID(&packet, lastoid))
{
DEBUG_printf(("5_cupsSNMPWalk: Returning %d", count));
@@ -666,6 +670,8 @@ _cupsSNMPWalk(int fd, /* I - SNMP socket */
return (count > 0 ? count : -1);
}
_cupsSNMPCopyOID(lastoid, packet.object_name, CUPS_SNMP_MAX_OID);
count ++;
(*cb)(&packet, data);
@@ -1280,7 +1286,7 @@ asn1_get_integer(
int value; /* Integer value */
for (value = 0;
for (value = (**buffer & 0x80) ? -1 : 0;
length > 0 && *buffer < bufend;
length --, (*buffer) ++)
value = (value << 8) | **buffer;
+5 -1
Ver Arquivo
@@ -64,8 +64,10 @@ main(int argc, /* I - Number of command-line arguments */
int status; /* Exit status */
char filename[1024]; /* Filename buffer */
cups_file_t *fp; /* File pointer */
#ifndef WIN32
int fds[2]; /* Open file descriptors */
cups_file_t *fdfile; /* File opened with cupsFileOpenFd() */
#endif /* !WIN32 */
int count; /* Number of lines in file */
@@ -93,6 +95,7 @@ main(int argc, /* I - Number of command-line arguments */
status += random_tests();
#ifndef WIN32
/*
* Test fdopen and close without reading...
*/
@@ -126,6 +129,7 @@ main(int argc, /* I - Number of command-line arguments */
puts("PASS");
}
#endif /* !WIN32 */
/*
* Count lines in euc-jp.txt, rewind, then count again.
@@ -756,7 +760,7 @@ read_write_tests(int compression) /* I - Use compression? */
fputs("cupsFileGetChar(partial line): ", stdout);
for (i = 0; i < strlen(partial_line); i ++)
for (i = 0; i < (int)strlen(partial_line); i ++)
if ((byte = cupsFileGetChar(fp)) < 0)
break;
else if (byte != partial_line[i])
+1 -1
Ver Arquivo
@@ -247,7 +247,7 @@ main(int argc, /* I - Number of command-line arguments */
for (i = 0, j = 0; i < (int)(sizeof(base64_tests) / sizeof(base64_tests[0])); i ++)
{
httpEncode64_2(encode, sizeof(encode), base64_tests[i][0],
strlen(base64_tests[i][0]));
(int)strlen(base64_tests[i][0]));
decodelen = (int)sizeof(decode);
httpDecode64_2(decode, &decodelen, base64_tests[i][1]);
+6 -3
Ver Arquivo
@@ -809,7 +809,8 @@ cupsGetJobs2(http_t *http, /* I - Connection to server or @code CUPS_HTTP_D
* in the class.
*
* The returned filename is stored in a static buffer and is overwritten with
* each call to @code cupsGetPPD@ or @link cupsGetPPD2@.
* each call to @code cupsGetPPD@ or @link cupsGetPPD2@. The caller "owns" the
* file that is created and must @code unlink@ the returned filename.
*/
const char * /* O - Filename for PPD file */
@@ -840,7 +841,8 @@ cupsGetPPD(const char *name) /* I - Destination name */
* in the class.
*
* The returned filename is stored in a static buffer and is overwritten with
* each call to @link cupsGetPPD@ or @code cupsGetPPD2@.
* each call to @link cupsGetPPD@ or @code cupsGetPPD2@. The caller "owns" the
* file that is created and must @code unlink@ the returned filename.
*
* @since CUPS 1.1.21/Mac OS X 10.4@
*/
@@ -873,7 +875,8 @@ cupsGetPPD2(http_t *http, /* I - Connection to server or @code CUPS_HTTP_DE
*
* The "buffer" parameter contains the local PPD filename. If it contains
* the empty string, a new temporary file is created, otherwise the existing
* file will be overwritten as needed.
* file will be overwritten as needed. The caller "owns" the file that is
* created and must @code unlink@ the returned filename.
*
* On success, @code HTTP_OK@ is returned for a new PPD file and
* @code HTTP_NOT_MODIFIED@ if the existing PPD file is up-to-date. Any other
+30 -26
Ver Arquivo
@@ -7,29 +7,33 @@ Terminal=false
Type=Application
Name=Manage Printing
Comment=CUPS Web Interface
Name[de.UTF-8]=Druckerverwaltung
Comment[de.UTF-8]=CUPS Webinterface
Name[en_US.UTF-8]=Manage Printing
Comment[en_US.UTF-8]=CUPS Web Interface
Name[es.UTF-8]=Administrar impresión
Comment[es.UTF-8]=Interfaz Web de CUPS
Name[et.UTF-8]=Trükkimise haldur
Comment[et.UTF-8]=CUPS-i veebiliides
Name[fr.UTF-8]=Gestionnaire d'impression
Comment[fr.UTF-8]=Interface Web de CUPS
Name[he.UTF-8]=נהל הדפסות
Comment[he.UTF-8]=ממשק דפדפן של CUPS
Name[id.UTF-8]=Manajemen Pencetakan
Comment[id.UTF-8]=Antarmuka Web CUPS
Name[it.UTF-8]=Gestione stampa
Comment[it.UTF-8]=Interfaccia web di CUPS
Name[ja.UTF-8]=印刷の管理
Comment[ja.UTF-8]=CUPS Web インタフェース
Name[pl.UTF-8]=Zarządzanie drukowaniem
Comment[pl.UTF-8]=Interfejs WWW CUPS
Name[ru.UTF-8]=Настройка печати
Comment[ru.UTF-8]=Настройка CUPS
Name[zh.UTF-8]=打印机管理
Comment[zh.UTF-8]=CUPS网页界面
Name[zh_TW.UTF-8]=印表管理
Comment[zh_TW.UTF-8]=CUPS 網頁介面
Name[de]=Druckerverwaltung
Comment[de]=CUPS Webinterface
Name[en_US]=Manage Printing
Comment[en_US]=CUPS Web Interface
Name[es]=Administrar impresión
Comment[es]=Interfaz Web de CUPS
Name[et]=Trükkimise haldur
Comment[et]=CUPS-i veebiliides
Name[eu]=Kudeatu inprimaketak
Comment[eu]=CUPSen web interfazea
Name[fr]=Gestionnaire d'impression
Comment[fr]=Interface Web de CUPS
Name[he]=נהל הדפסות
Comment[he]=ממשק דפדפן של CUPS
Name[id]=Manajemen Pencetakan
Comment[id]=Antarmuka Web CUPS
Name[it]=Gestione stampa
Comment[it]=Interfaccia web di CUPS
Name[ja]=印刷の管理
Comment[ja]=CUPS Web インタフェース
Name[pl]=Zarządzanie drukowaniem
Comment[pl]=Interfejs WWW CUPS
Name[ru]=Настройка печати
Comment[ru]=Настройка CUPS
Name[sv]=Hantera skrivare
Comment[sv]=CUPS webb-gränssnitt
Name[zh]=打印机管理
Comment[zh]=CUPS网页界面
Name[zh_TW]=印表管理
Comment[zh_TW]=CUPS 網頁介面
+2 -2
Ver Arquivo
@@ -190,8 +190,8 @@ install-languages:
for lang in $(LANGUAGES); do \
if test -d $$lang; then \
$(INSTALL_DIR) -m 755 $(DOCDIR)/$$lang; \
$(INSTALL_MAN) $$lang/index.html $(DOCDIR)/$$lang; \
test -f $$lang/cups.css && $(INSTALL_MAN) $$lang/cups.css $(DOCDIR)/$$lang; \
$(INSTALL_DATA) $$lang/index.html $(DOCDIR)/$$lang; \
$(INSTALL_DATA) $$lang/cups.css $(DOCDIR)/$$lang >/dev/null 2>&1 || true; \
fi; \
done
+1 -1
Ver Arquivo
@@ -17,7 +17,7 @@ SRC="/images/left.gif" WIDTH="64" HEIGHT="36" BORDER="0" ALT=""></A></TD>
<TD CLASS="unsel"><A HREF="/admin">&nbsp;&nbsp;Verwaltung&nbsp;&nbsp;</A></TD>
<TD CLASS="unsel"><A HREF="/classes/">&nbsp;&nbsp;Klassen&nbsp;&nbsp;</A></TD>
<TD CLASS="unsel"><A HREF="/help/">&nbsp;&nbsp;On-Line&nbsp;Hilfe&nbsp;&nbsp;</A></TD>
<TD CLASS="unsel"><A HREF="/jobs/">&nbsp;&nbsp;Auftr&uuml;ge&nbsp;&nbsp;</A></TD>
<TD CLASS="unsel"><A HREF="/jobs/">&nbsp;&nbsp;Auftr&auml;ge&nbsp;&nbsp;</A></TD>
<TD CLASS="unsel"><A HREF="/printers/">&nbsp;&nbsp;Drucker&nbsp;&nbsp;</A></TD>
<TD CLASS="unsel" WIDTH="100%"><FORM ACTION="/help/" METHOD="GET"><INPUT
TYPE="SEARCH" NAME="QUERY" SIZE="20" PLACEHOLDER="Search Help"
+106
Ver Arquivo
@@ -0,0 +1,106 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8">
<TITLE>Hasiera - CUPS @CUPS_VERSION@@CUPS_REVISION@</TITLE>
<LINK REL="STYLESHEET" TYPE="text/css" HREF="/cups.css">
<LINK REL="SHORTCUT ICON" HREF="/images/cups-icon.png" TYPE="image/png">
</HEAD>
<BODY>
<TABLE CLASS="page" SUMMARY="{title}">
<TR><TD CLASS="body">
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
<TR HEIGHT="36">
<TD><A HREF="http://www.cups.org/" TARGET="_blank"><IMG
SRC="/images/left.gif" WIDTH="64" HEIGHT="36" BORDER="0" ALT=""></A></TD>
<TD CLASS="sel"><A HREF="/">&nbsp;&nbsp;Hasiera&nbsp;&nbsp;</A></TD>
<TD CLASS="unsel"><A HREF="/admin">&nbsp;&nbsp;Administrazioa&nbsp;&nbsp;</A></TD>
<TD CLASS="unsel"><A HREF="/classes/">&nbsp;&nbsp;Klaseak&nbsp;&nbsp;</A></TD>
<TD CLASS="unsel"><A HREF="/help/">&nbsp;&nbsp;Lineako&nbsp;laguntza&nbsp;&nbsp;</A></TD>
<TD CLASS="unsel"><A HREF="/jobs/">&nbsp;&nbsp;Lanak&nbsp;&nbsp;</A></TD>
<TD CLASS="unsel"><A HREF="/printers/">&nbsp;&nbsp;Inprimagailuak&nbsp;&nbsp;</A></TD>
<TD CLASS="unsel" WIDTH="100%"><FORM ACTION="/help/" METHOD="GET"><INPUT
TYPE="SEARCH" NAME="QUERY" SIZE="20" PLACEHOLDER="Bilatu laguntzan"
AUTOSAVE="org.cups.help" RESULTS="20"></FORM></TD>
<TD><IMG SRC="/images/right.gif" WIDTH="4" HEIGHT="36" ALT=""></TD>
</TR>
</TABLE>
<TABLE CLASS="indent" SUMMARY="">
<TR><TD STYLE="padding-right: 20px;">
<H1>CUPS @CUPS_VERSION@</H1>
<P><A HREF="http://www.apple.com/">Apple Inc.</A>-ek Mac OS<SUP>&reg;</SUP> X eta
beste UNIX<SUP>&reg;</SUP> bezalako sistema eragileentzako iturburu irekiko
inprimatzeko sisteman oinarrituta dago.</P>
</TD>
<TD><A HREF="http://www.cups.org/"><IMG SRC="images/cups-icon.png" WIDTH="128"
HEIGHT="128" ALT="CUPS"></A></TD>
</TR>
</TABLE>
<TABLE CLASS="indent" SUMMARY="">
<TR><TD VALIGN="top" STYLE="border-right: dotted thin #cccccc; padding-right: 20px;">
<H2>CUPS erabiltzaileentzako</H2>
<P><A HREF="help/overview.html">CUPSen gainbegiraketa</A></P>
<P><A HREF="help/options.html">Komando-lerroaren bidez inprimatzea eta aukerak</A></P>
<P><A HREF="help/whatsnew.html">CUPS 1.4 bertsioak dakartzan berrikuntza.</A></P>
<P><A HREF="http://www.cups.org/newsgroups.php?gcups.general">Erabiltzaileen foroa</A></P>
</TD><TD VALIGN="top" STYLE="border-right: dotted thin #cccccc; padding-left: 20px; padding-right: 20px;">
<H2>CUPS administratzaileentzako</H2>
<P><A HREF="admin">Inprimagailuak eta klaseak gehitzea</A></P>
<P><A HREF="help/policies.html">Kudeaketako eragiketen politikak</A></P>
<P><A HREF="help/accounting.html">Inprimagailuaren oinarrizko kontabilitatea</A></P>
<P><A HREF="help/security.html">Zerbitzariaren segurtasuna</A></P>
<P><A HREF="help/kerberos.html">Kerberos autentifikazioa erabiltzea</A></P>
<P><A HREF="help/network.html">Sareko inprimagailuak erabiltzea</A></P>
<P><A HREF="help/ref-cupsd-conf.html">cupsd.conf erreferentzia</A></P>
<P><A HREF="http://www.cups.org/ppd.php">Bilatu inprimagailuaren kontrolatzaileak</A></P>
</TD><TD VALIGN="top" STYLE="padding-left: 20px;">
<H2>CUPS garatzaileentzako</H2>
<P><A HREF="help/api-overview.html">Sarrera CUPSen programaziora</A></P>
<P><A HREF="help/api-cups.html">CUPSen APIa</A></P>
<P><A HREF="help/api-filter.html">Iragazkien eta atzeko planoan programatzeea</A></P>
<P><A HREF="help/api-httpipp.html">HTTP eta IPP APIak</A></P>
<P><A HREF="help/api-ppd.html">PPD APIa</A></P>
<P><A HREF="help/api-raster.html">Bilbearen APIa</A></P>
<P><A HREF="help/ref-ppdcfile.html">PPD kontrolatzaileen konpilatzailearen informazioaren fitxategiaren erreferentzia</A></P>
<P><A HREF="http://www.cups.org/newsgroups.php?gcups.development">Garatzaileen forua</A></P>
</TD></TR>
</TABLE>
</TD></TR>
<TR><TD>&nbsp;</TD></TR>
<TR><TD CLASS="trailer">CUPS eta CUPSen logotipoa <A HREF="http://www.apple.com">Apple Inc.</A>en marka erregistratuaj dira.
CUPSen copyright-a 2007-2009 Apple Inc. Eskubide guztiak gordeta.</TD></TR>
</TABLE>
</BODY>
</HTML>
+8 -5
Ver Arquivo
@@ -338,7 +338,7 @@ div.contents ul.subcontents li {
<body>
<div class='body'>
<!--
"$Id: api-cups.html 8653 2009-05-16 23:53:28Z mike $"
"$Id: api-cups.html 8726 2009-06-22 20:46:13Z mike $"
CUPS API header for the Common UNIX Printing System (CUPS).
@@ -475,7 +475,7 @@ specified server.">cupsPrintFiles2</a></li>
<li><a href="#cups_ptype_e" title="Printer type/capability bit constants">cups_ptype_e</a></li>
</ul></li>
<!--
"$Id: api-cups.html 8653 2009-05-16 23:53:28Z mike $"
"$Id: api-cups.html 8726 2009-06-22 20:46:13Z mike $"
CUPS API introduction for the Common UNIX Printing System (CUPS).
@@ -1491,7 +1491,8 @@ const char *cupsGetPPD (<br>
in the class.<br>
<br>
The returned filename is stored in a static buffer and is overwritten with
each call to <code>cupsGetPPD</code> or <a href="#cupsGetPPD2"><code>cupsGetPPD2</code></a>.</p>
each call to <code>cupsGetPPD</code> or <a href="#cupsGetPPD2"><code>cupsGetPPD2</code></a>. The caller &quot;owns&quot; the
file that is created and must <code>unlink</code> the returned filename.</p>
<h3 class="function"><span class="info">&nbsp;CUPS 1.1.21/Mac OS X 10.4&nbsp;</span><a name="cupsGetPPD2">cupsGetPPD2</a></h3>
<p class="description">Get the PPD file for a printer from the specified server.</p>
<p class="code">
@@ -1513,7 +1514,8 @@ const char *cupsGetPPD2 (<br>
in the class.<br>
<br>
The returned filename is stored in a static buffer and is overwritten with
each call to <a href="#cupsGetPPD"><code>cupsGetPPD</code></a> or <code>cupsGetPPD2</code>.
each call to <a href="#cupsGetPPD"><code>cupsGetPPD</code></a> or <code>cupsGetPPD2</code>. The caller &quot;owns&quot; the
file that is created and must <code>unlink</code> the returned filename.
</p>
<h3 class="function"><span class="info">&nbsp;CUPS 1.4/Mac OS X 10.6&nbsp;</span><a name="cupsGetPPD3">cupsGetPPD3</a></h3>
@@ -1549,7 +1551,8 @@ the server.<br>
<br>
The &quot;buffer&quot; parameter contains the local PPD filename. If it contains
the empty string, a new temporary file is created, otherwise the existing
file will be overwritten as needed.<br>
file will be overwritten as needed. The caller &quot;owns&quot; the file that is
created and must <code>unlink</code> the returned filename.<br>
<br>
On success, <code>HTTP_OK</code> is returned for a new PPD file and
<code>HTTP_NOT_MODIFIED</code> if the existing PPD file is up-to-date. Any other
+13 -5
Ver Arquivo
@@ -338,7 +338,7 @@ div.contents ul.subcontents li {
<body>
<div class='body'>
<!--
"$Id: api-filter.html 8673 2009-05-22 17:34:15Z mike $"
"$Id: api-filter.html 8718 2009-06-18 17:41:03Z mike $"
Filter and backend programming header for the Common UNIX Printing System
(CUPS).
@@ -421,7 +421,7 @@ div.contents ul.subcontents li {
<li><a href="#cups_sc_status_e" title="Response status codes">cups_sc_status_e</a></li>
</ul></li>
<!--
"$Id: api-filter.html 8673 2009-05-22 17:34:15Z mike $"
"$Id: api-filter.html 8718 2009-06-18 17:41:03Z mike $"
Filter and backend programming introduction for the Common UNIX Printing
System (CUPS).
@@ -549,7 +549,7 @@ when running print filters and backends:</p>
<dl class="code">
<dt>APPLE_LANGUAGES</dt>
<dt>APPLE_LANGUAGE</dt>
<dd>The Apple language identifier associated with the job
(Mac OS X only).</dd>
@@ -686,7 +686,16 @@ prefix strings:</p>
current queue. Typically this is used to indicate persistent media,
ink, toner, and configuration conditions or errors on a printer.
<a href='#TABLE2'>Table 2</a> lists the standard state keywords -
use vendor-prefixed ("com.acme.foo") keywords for custom states.</dd>
use vendor-prefixed ("com.acme.foo") keywords for custom states.
<blockquote><b>Note:</b>
<p>"STATE:" messages often provide visible alerts to the user. For example, on
Mac OS X setting a printer-state-reason value with an "-error" or "-warning"
suffix will cause the printer's dock item to bounce if the corresponding reason
is localized with a cupsIPPReason keyword in the printer's PPD file.</p>
</blockquote></dd>
<dt>WARNING: message</dt>
<dd>Sets the printer-state-message attribute and adds the specified
@@ -698,7 +707,6 @@ prefix strings:</p>
<p>Messages without one of these prefixes are treated as if they began with
the "DEBUG:" prefix string.</p>
<div class='table'><table width='80%' summary='Table 1: Standard marker-types Values'>
<caption>Table 1: <a name='TABLE1'>Standard marker-types Values</a></caption>
<thead>
+18 -2
Ver Arquivo
@@ -338,7 +338,7 @@ div.contents ul.subcontents li {
<body>
<div class='body'>
<!--
"$Id: api-ppdc.html 8653 2009-05-16 23:53:28Z mike $"
"$Id: api-ppdc.html 8704 2009-06-10 15:51:21Z mike $"
PPD Compiler API header for CUPS.
@@ -411,7 +411,7 @@ div.contents ul.subcontents li {
<li><a href="#ppdcOptType" title="// Option type">ppdcOptType</a></li>
</ul></li>
<!--
"$Id: api-ppdc.html 8653 2009-05-16 23:53:28Z mike $"
"$Id: api-ppdc.html 8704 2009-06-10 15:51:21Z mike $"
PPD Compiler API introduction for CUPS.
@@ -865,6 +865,22 @@ void add_size (<br>
</dl>
<h5 class="returnvalue">Return Value</h5>
<p class="description">Matching option or NULL</p>
<h4 class="method"><a name="find_option_group">find_option_group</a></h4>
<p class="description"></p>
<p class="code">
<a href="#ppdcOption">ppdcOption</a> *find_option_group (<br>
&nbsp;&nbsp;&nbsp;&nbsp;const char *n,<br>
&nbsp;&nbsp;&nbsp;&nbsp;<a href="#ppdcGroup">ppdcGroup</a> **mg<br>
);</p>
<h5 class="parameters">Parameters</h5>
<dl>
<dt>n</dt>
<dd class="description">Option name</dd>
<dt>mg</dt>
<dd class="description">Matching group or NULL</dd>
</dl>
<h5 class="returnvalue">Return Value</h5>
<p class="description">Matching option or NULL</p>
<h4 class="method"><a name="ppdcDriver">ppdcDriver</a></h4>
<p class="description"></p>
<p class="code">
+2 -2
Ver Arquivo
@@ -21,8 +21,8 @@ can be modified using your favorite text editor, you should
normally use the <A HREF="man-lpadmin.html">lpadmin(8)</A>
command, web interface, or any of the available GUIs to manage
your classes instead. If you do choose to edit this file
manually, you will need to restart the scheduler to make them
active.</P>
manually, you will need to stop the scheduler first, make your
changes, and then start the scheduler to make them active.</P>
<H2 CLASS="title"><A NAME="Accepting">Accepting</A></H2>
+28 -15
Ver Arquivo
@@ -135,8 +135,14 @@ to the access log file. The following levels are defined:</P>
address, or network that is allowed access to the server.
<CODE>Allow</CODE> directives are cummulative, so multiple
<CODE>Allow</CODE> directives can be used to allow access for
multiple hosts or networks. The <CODE>/mm</CODE> notation
specifies a CIDR netmask, as shown in Table 1.</P>
multiple hosts or networks.</P>
<P>Host and domain name matching require that you enable the <A
HREF="#HostNameLookups"><CODE>HostNameLookups</CODE></A>
directive.</P>
<P>The <CODE>/mm</CODE> notation specifies a CIDR netmask, as shown in
<A HREF="#TABLE1">Table 1</A>.</P>
<DIV CLASS="table"><TABLE SUMMARY="CIDR Netmasks">
<CAPTION>Table 1: <A NAME="TABLE1">CIDR Netmasks</A></CAPTION>
@@ -388,10 +394,10 @@ browse packets from all hosts.</P>
HREF="#HostNameLookups"><CODE>HostNameLookups</CODE></A>
directive.</P>
<P>IP address matching supports exact matches, partial addresses
that match networks using netmasks of 255.0.0.0, 255.255.0.0, and
255.255.255.0, or network addresses using the specified netmask
or bit count.</P>
<P>IP address matching supports exact matches, partial addresses that match
networks using netmasks of 255.0.0.0, 255.255.0.0, and 255.255.255.0, or network
addresses using the specified netmask or bit count. The <CODE>/mm</CODE>
notation specifies a CIDR netmask, a shown in <A HREF="TABLE1">Table 1</A>.</P>
<P>The <CODE>@LOCAL</CODE> name will allow browse data from all
local interfaces. The <CODE>@IF(name)</CODE> name will allow
@@ -426,10 +432,10 @@ browse packets from any hosts.</P>
HREF="#HostNameLookups"><CODE>HostNameLookups</CODE></A>
directive.</P>
<P>IP address matching supports exact matches, partial addresses
that match networks using netmasks of 255.0.0.0, 255.255.0.0, and
255.255.255.0, or network addresses using the specified netmask
or bit count.</P>
<P>IP address matching supports exact matches, partial addresses that match
networks using netmasks of 255.0.0.0, 255.255.0.0, and 255.255.255.0, or network
addresses using the specified netmask or bit count. The <CODE>/mm</CODE>
notation specifies a CIDR netmask, a shown in <A HREF="TABLE1">Table 1</A>.</P>
<P>The <CODE>@LOCAL</CODE> name will block browse data from all
local interfaces. The <CODE>@IF(name)</CODE> name will block
@@ -1077,9 +1083,14 @@ printers are shared (published) by default. The default is
address, or network that is denied access to the server.
<CODE>Deny</CODE> directives are cummulative, so multiple
<CODE>Deny</CODE> directives can be used to allow access for
multiple hosts or networks. The <CODE>/mm</CODE> notation
specifies a CIDR netmask, a shown in <A HREF="TABLE1">Table
1</A>.</P>
multiple hosts or networks.</P>
<P>Host and domain name matching require that you enable the <A
HREF="#HostNameLookups"><CODE>HostNameLookups</CODE></A>
directive.</P>
<P>The <CODE>/mm</CODE> notation specifies a CIDR netmask, a shown in
<A HREF="TABLE1">Table 1</A>.</P>
<P>The <CODE>@LOCAL</CODE> name will deny access from all local
interfaces. The <CODE>@IF(name)</CODE> name will deny access from
@@ -1093,7 +1104,7 @@ HREF="#Location"><CODE>Location</CODE></A> or <A
HREF="#Limit"><CODE>Limit</CODE></A> section.</P>
<H2 CLASS="title"><A NAME="DirtyCleanInterval">DirtyCleanInterval</A></H2>
<H2 CLASS="title"><SPAN CLASS="info">CUPS 1.4/Mac OS X 10.6</SPAN><A NAME="DirtyCleanInterval">DirtyCleanInterval</A></H2>
<H3>Examples</H3>
@@ -1106,7 +1117,9 @@ DirtyCleanInterval 0
<P>The <CODE>DirtyCleanInterval</CODE> directive specifies the number of
seconds to wait before updating configuration and state files for printers,
classes, subscriptions, and jobs. The default is 30 seconds.</P>
classes, subscriptions, and jobs. The default is 30 seconds. A value of 0
causes the update to occur as soon as possible, typically within a few
milliseconds.</P>
<H2 CLASS="title"><A NAME="DocumentRoot">DocumentRoot</A></H2>
+86 -79
Ver Arquivo
@@ -380,10 +380,10 @@ least 100 files.</p>
inclusion in a driver. The name with optional user text defines
the name for the media size and is used with the <a
href='#MediaSize'><code>MediaSize</code></a> directive to associate
the media size with the driver. The name may only contain
letters, numbers, and the underscore and may not exceed 40
characters in length. The user text, if supplied, may not exceed
80 characters in length.</p>
the media size with the driver. The name may contain up to 40 ASCII
characters within the range of decimal 33 to decimal 126 inclusive,
except for the characters comma (44), slash (47) and colon (58).
The user text, if supplied, may not exceed 80 bytes in length.</p>
<p>The width and length define the dimensions of the media. Each
number is optionally followed by one of the following unit
@@ -459,17 +459,15 @@ Attribute fooProfile "Photo/Photographic Profile" "photopro.icc"
<h3>Description</h3>
<p>The <code>Attribute</code> directive creates a PPD attribute. The
name is any combination of letters, numbers, and the underscore
and can be up to 40 characters in length.</p>
name may contain up to 40 ASCII characters within the range of decimal
33 to decimal 126 inclusive, except for the characters comma (44),
slash (47) and colon (58).</p>
<p>The selector can be the empty string (<code>""</code>), a keyword
consisting of up to 40 letters, numbers, and the underscore, or
a string composed of a keyword and user text of up to 80
characters.</p>
<p>The selector can be the empty string (<code>""</code>) or text of up
to 80 bytes.</p>
<p>The value is any string or number; the string may contain
multiple lines, however no one line may exceed 255
characters.</p>
<p>The value is any string or number; the string may contain multiple
lines, however no one line may exceed 255 bytes.</p>
<h3>See Also</h3>
@@ -495,14 +493,15 @@ Choice "False/No" "&lt;&lt;/cupsCompression 0&gt;&gt;setpagedevice"
<h3>Description</h3>
<p>The <code>Choice</code> directive adds a single choice to the
current option. The name is any combination of letters, numbers,
and the underscore and can be up to 40 characters in length.</p>
current option. The name may contain up to 40 ASCII characters within
the range of decimal 33 to decimal 126 inclusive, except for the
characters comma (44), slash (47) and colon (58).</p>
<p>If provided, the text can be any string up to 80 characters
<p>If provided, the text can be any string up to 80 bytes
in length. If no text is provided, the name is used.</p>
<p>The code is any string and may contain multiple lines,
however no one line may exceed 255 characters.</p>
however no one line may exceed 255 bytes.</p>
<h3>See Also</h3>
@@ -568,11 +567,12 @@ ColorModel CMYK cmyk chunky 0
<p>The <code>ColorModel</code> directive is a convenience directive
which creates a ColorModel option and choice for the current
printer driver. The name is any combination of letters, numbers,
and the underscore and can be up to 40 characters in length.</p>
printer driver. The name may contain up to 40 ASCII characters within
the range of decimal 33 to decimal 126 inclusive, except for the
characters comma (44), slash (47) and colon (58).</p>
<p>If provided, the text can be any string up to 80 characters
in length. If no text is provided, the name is used.</p>
<p>If provided, the text can be any string up to 80 bytes in length.
If no text is provided, the name is used.</p>
<p>The colorspace argument is one of the standard colorspace
keywords defined later in this appendix in the section titled,
@@ -698,7 +698,7 @@ MA 02111 USA"
<p>The <code>Copyright</code> directive adds text comments to the
top of a PPD file, typically for use in copyright notices. The
text argument can contain multiple lines of text, but no line
may exceed 255 characters.</p>
may exceed 255 bytes.</p>
<h2 class="title"><a name='CustomMedia'>CustomMedia</a></h2>
@@ -730,11 +730,12 @@ CustomMedia "A4/A4 - 210x297mm" 210mm 297mm 12 12 12 12
<h3>Description</h3>
<p>The <code>CustomMedia</code> directive adds a custom media size to
the driver. The name is any combination of letters, numbers,
and the underscore and can be up to 40 characters in length.</p>
the driver. The name may contain up to 40 ASCII characters within the
range of decimal 33 to decimal 126 inclusive, except for the characters
comma (44), slash (47) and colon (58).</p>
<p>If provided, the text can be any string up to 80 characters
in length. If no text is provided, the name is used.</p>
<p>If provided, the text can be any string up to 80 bytes in length.
If no text is provided, the name is used.</p>
<p>The width and length arguments specify the dimensions of the
media as defined for the <a href="#_media"><code>#media</code></a>
@@ -747,7 +748,7 @@ printable margins of the media.</p>
PostScript commands to run for the <code>PageSize</code> and
<code>PageRegion</code> options, respectively. The commands can
contain multiple lines, however no line may be more than 255
characters in length.</p>
bytes in length.</p>
<h3>See Also</h3>
@@ -823,11 +824,12 @@ therefore the darkness of the print.</p>
the Dymo driver from 0 (lowest) to 3 (highest), with 2
representing the normal setting.</p>
<p>The name is any combination of letters, numbers, and the
underscore and can be up to 40 characters in length.</p>
<p>The name may contain up to 40 ASCII characters within the range of
decimal 33 to decimal 126 inclusive, except for the characters comma
(44), slash (47) and colon (58).</p>
<p>If provided, the text can be any string up to 80 characters
in length. If no text is provided, the name is used.</p>
<p>If provided, the text can be any string up to 80 bytes in length.
If no text is provided, the name is used.</p>
<h3>See Also</h3>
@@ -1044,14 +1046,15 @@ Finishing "Glossy/Photo Overcoat"
<h3>Description</h3>
<p>The <code>Finishing</code> directive adds a choice to the
<code>cupsFinishing</code> option. The name is any combination of
letters, numbers, and the underscore and can be up to 40
characters in length. The name is stored in the
<code>OutputType</code> attribute in the PostScript page device
dictionary.</p>
<code>cupsFinishing</code> option. The name may contain up to 40 ASCII
characters within the range of decimal 33 to decimal 126 inclusive,
except for the characters comma (44), slash (47) and colon (58).</p>
<p>If provided, the text can be any string up to 80 characters
in length. If no text is provided, the name is used.</p>
<p>If provided, the text can be any string up to 80 bytes in length.
If no text is provided, the name is used.</p>
<p>The name is stored in the <code>OutputType</code> attribute in the
PostScript page device dictionary.</p>
<h3>See Also</h3>
@@ -1091,8 +1094,7 @@ Font Unicode-Foo Expert "(2.0)" Adobe-Identity ROM
<h3>Description</h3>
<p>The <code>Font</code> directive defines a "device font" for the
current printer driver. The name is the PostScript font
name.</p>
current printer driver. The name is the PostScript font name.</p>
<p>The encoding is the default encoding of the font, usually
<code>Standard</code>, <code>Expert</code>, or <code>Special</code>, as
@@ -1139,14 +1141,16 @@ Group "Special/Vendor Options"
<h3>Description</h3>
<p>The <code>Group</code> directive specifies the group for new
<code>Option</code> directives. The name is any combination of
letters, numbers, and the underscore and can be up to 40
characters in length. The names <code>General</code> and
<code>InstallableOptions</code> are predefined for the standard
Adobe UI keywords and for installable options, respectively.</p>
<code>Option</code> directives. The name may contain up to 40 ASCII
characters within the range of decimal 33 to decimal 126 inclusive,
except for the characters comma (44), slash (47) and colon (58).</p>
<p>If provided, the text can be any string up to 40 characters
in length. If no text is provided, the name is used.</p>
<p>If provided, the text can be any string up to 40 bytes in length.
If no text is provided, the name is used.</p>
<p>The names <code>General</code> and <code>InstallableOptions</code>
are predefined for the standard Adobe UI keywords and for installable
options, respectively.</p>
<center><table width='80%' border='1' bgcolor='#cccccc' cellpadding='5' cellspacing='0'>
<tr>
@@ -1154,8 +1158,8 @@ in length. If no text is provided, the name is used.</p>
<p>Because of certain API binary compatibility issues,
CUPS limits the length of PPD group translation strings
(text) to 40 characters, while the PPD specification
allows for up to 80 characters.</p>
(text) to 40 bytes, while the PPD specification
allows for up to 80 bytes.</p>
</td>
</tr>
@@ -1229,11 +1233,12 @@ from 0 to 2<sup>32</sup>-1 specifying the value that is placed
in the <code>MediaPosition</code> attribute in the PostScript page
device dictionary.</p>
<p>The name is any combination of letters, numbers, and the
underscore and can be up to 40 characters in length.</p>
<p>The name may contain up to 40 ASCII characters within the range of
decimal 33 to decimal 126 inclusive, except for the characters comma
(44), slash (47) and colon (58).</p>
<p>If provided, the text can be any string up to 80 characters
in length. If no text is provided, the name is used.</p>
<p>If provided, the text can be any string up to 80 bytes in length.
If no text is provided, the name is used.</p>
<h3>See Also</h3>
@@ -1271,11 +1276,12 @@ Installable "Option1/Duplexer Installed"
<p>The <code>Installable</code> directive adds a new boolean option
to the <code>InstallableOptions</code> group with a default value of
<code>False</code>. The name is any combination of letters, numbers,
and the underscore and can be up to 40 characters in length.</p>
<code>False</code>. The name may contain up to 40 ASCII characters
within the range of decimal 33 to decimal 126 inclusive, except for
the characters comma (44), slash (47) and colon (58).</p>
<p>If provided, the text can be any string up to 80 characters
in length. If no text is provided, the name is used.</p>
<p>If provided, the text can be any string up to 80 bytes in length.
If no text is provided, the name is used.</p>
<h2 class="title"><a name='LocAttribute'>LocAttribute</a></h2>
@@ -1295,17 +1301,15 @@ LocAttribute fooProfile "Photo/Photographic Profile" "photopro.icc"
<h3>Description</h3>
<p>The <code>LocAttribute</code> directive creates a localized PPD
attribute. The name is any combination of letters, numbers, and the
underscore and can be up to 40 characters in length.</p>
attribute. The name may contain up to 40 ASCII characters within the
range of decimal 33 to decimal 126 inclusive, except for the characters
comma (44), slash (47) and colon (58).</p>
<p>The selector can be the empty string (<code>""</code>), a keyword
consisting of up to 40 letters, numbers, and the underscore, or
a string composed of a keyword and user text of up to 80
characters.</p>
<p>The selector can be the empty string (<code>""</code>) or text of up
to 80 bytes.</p>
<p>The value is any string or number; the string may contain
multiple lines, however no one line may exceed 255
characters.</p>
<p>The value is any string or number; the string may contain multiple
lines, however no one line may exceed 255 bytes.</p>
<h3>See Also</h3>
@@ -1458,13 +1462,15 @@ from 0 to 2<sup>32</sup>-1 specifying the value that is placed
in the <code>cupsMediaType</code> attribute in the PostScript page
device dictionary.</p>
<p>The name is any combination of letters, numbers, and the
underscore and can be up to 40 characters in length. The name is
placed in the <code>MediaType</code> attribute in the PostScript
page device dictionary.</p>
<p>The name may contain up to 40 ASCII characters within the range of
decimal 33 to decimal 126 inclusive, except for the characters comma
(44), slash (47) and colon (58).</p>
<p>If provided, the text can be any string up to 80 characters
in length. If no text is provided, the name is used.</p>
<p>If provided, the text can be any string up to 80 bytes in length.
If no text is provided, the name is used.</p>
<p>The name is placed in the <code>MediaType</code> attribute in the
PostScript page device dictionary.</p>
<h3>See Also</h3>
@@ -1532,7 +1538,7 @@ name is any string of letters, numbers, spaces, and the
characters ".", "/", "-", and "+" and should not begin with the
manufacturer name since the PPD compiler will add this
automatically for you. The maximum length of the name string is
31 characters to conform to the Adobe limits on the length of
31 bytes to conform to the Adobe limits on the length of
<code>ShortNickName</code>.</p>
<h3>See Also</h3>
@@ -1598,11 +1604,12 @@ Option "fooFinish/Finishing Option" PickOne DocumentSetup 10
<p>The <code>Option</code> directive creates a new option in the
current group, by default the <code>General</code> group. The name
is any combination of letters, numbers, and the underscore and
can be up to 40 characters in length.</p>
may contain up to 40 ASCII characters within the range of decimal 33
to decimal 126 inclusive, except for the characters comma (44), slash
(47) and colon (58).</p>
<p>If provided, the text can be any string up to 80 characters
in length. If no text is provided, the name is used.</p>
<p>If provided, the text can be any string up to 80 bytes in length.
If no text is provided, the name is used.</p>
<p>The type argument is one of the following keywords:</p>
@@ -1749,8 +1756,8 @@ for asymmetric resolutions. The <code>HHH</code> and <code>VVV</code> in
the examples represent the horizontal and vertical resolutions
which must be positive integer values.</p>
<p>If provided, the text can be any string up to 80 characters
in length. If no text is provided, the name is used.</p>
<p>If provided, the text can be any string up to 80 bytes in length.
If no text is provided, the name is used.</p>
<h3>See Also</h3>
+2 -2
Ver Arquivo
@@ -21,8 +21,8 @@ and can be modified using your favorite text editor, you should
normally use the <A HREF="man-lpadmin.html">lpadmin(8)</A>
command, web interface, or any of the available GUIs to manage
your printers instead. If you do choose to edit this file
manually, you will need to restart the scheduler to make them
active.</P>
manually, you will need to stop the scheduler first, make your
changes, and then start the scheduler to make them active.</P>
<H2 CLASS="title"><A NAME="Accepting">Accepting</A></H2>
+15 -4
Ver Arquivo
@@ -8,7 +8,7 @@
</head>
<body>
<!--
"$Id: spec-ipp.html 8680 2009-05-22 23:53:11Z mike $"
"$Id: spec-ipp.html 8816 2009-09-14 21:41:50Z mike $"
CUPS IPP specification for the Common UNIX Printing System (CUPS).
@@ -558,7 +558,7 @@ job as well.
<h4>Cancel-Job Request</h4>
<p>The following groups of attributes are supplied as part of the
Set-Job-Attributes request:
Cancel-Job request:
<p>Group 1: Operation Attributes
@@ -632,6 +632,17 @@ Purge-Jobs request:
<dd>The client MUST supply a URI for the specified printer or
"ipp://.../printers" for all printers and classes.
<dt><span class="info">CUPS 1.2/Mac OS X 10.5</span>"requesting-user-name" (name(MAX)):
<dd>The client OPTIONALLY supplies this attribute to specify whose jobs
jobs are purged or canceled.
<dt><span class="info">CUPS 1.2/Mac OS X 10.5</span>"my-jobs" (boolean):
<dd>The client OPTIONALLY supplies this attribute to specify that only
the jobs owned by the requesting user are purged or canceled. The
default is false.
<dt><span class="info">CUPS 1.2/Mac OS X 10.5</span>"purge-jobs" (boolean):
<dd>The client OPTIONALLY supplies this attribute to specify
@@ -1603,8 +1614,8 @@ CUPS-Get-Devices request:
<dt>"timeout" (integer (1:MAX)) :<span class='info'>CUPS 1.4/Mac OS X 10.6</span>
<dd>The client OPTIONALLY supplies this attribute limiting the number of
devices that are returned.
<dd>The client OPTIONALLY supplies this attribute to limit the duration
of the lookup. The default timeout is 15 seconds.
</dl>
+1 -1
Ver Arquivo
@@ -593,7 +593,7 @@ write_banner(banner_file_t *banner, /* I - Banner file */
printf("%.1f %.1f translate\n", PageLeft, PageBottom);
else
printf("%.1f %.1f translate\n", PageWidth - PageRight,
PageLength - PageRight);
PageLength - PageTop);
puts("0 setgray");
y = info_top;
+1 -1
Ver Arquivo
@@ -144,7 +144,7 @@ ParseCommand(FILE *fp, /* I - File to read from */
if (!strcasecmp(name, "LB"))
{
bufptr = buf;
while ((ch = getc(fp)) != StringTerminator)
while ((ch = getc(fp)) != StringTerminator && ch != EOF)
if (bufptr < (buf + sizeof(buf) - 1))
*bufptr++ = ch;
*bufptr = '\0';
+5 -1
Ver Arquivo
@@ -29,7 +29,11 @@
# include <cups/string.h>
# include <stdlib.h>
# include <string.h>
# include <unistd.h>
# ifdef WIN32
# include <io.h>
# else
# include <unistd.h>
# endif /* WIN32 */
# include <errno.h>
# include <math.h>
+9
Ver Arquivo
@@ -204,6 +204,15 @@ cupsRasterInterpretPPD(
strcpy(h->cupsPageSizeName, "Letter");
#ifdef __APPLE__
/*
* cupsInteger0 is also used for the total page count on Mac OS X; set an
* uncommon default value so we can tell if the driver is using cupsInteger0.
*/
h->cupsInteger[0] = 0x80000000;
#endif /* __APPLE__ */
/*
* Apply patches and options to the page header...
*/
+280 -280
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+11 -8
Ver Arquivo
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: CUPS 1.4\n"
"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
"POT-Creation-Date: 2009-06-05 14:00-0700\n"
"POT-Creation-Date: 2009-06-18 15:43-0700\n"
"PO-Revision-Date: 2009-02-16 12:00-0800\n"
"Last-Translator: Apple Inc.\n"
"Language-Team: Apple Inc.\n"
@@ -2446,13 +2446,6 @@ msgstr "ERROR: Manglende %%EndProlog!\n"
msgid "ERROR: Missing %%EndSetup!\n"
msgstr "ERROR: Manglende %%EndSetup!\n"
msgid ""
"ERROR: Missing device URI on command-line and no DEVICE_URI environment "
"variable!\n"
msgstr ""
"ERROR: Manglende enheds-URI på kommandolinjen og ingen DEVICE_URI-"
"miljøvariabel!\n"
#, c-format
msgid "ERROR: Missing value on line %d of banner file!\n"
msgstr "ERROR: Manglende værdi på linje %d i bannerarkiv!\n"
@@ -3440,6 +3433,9 @@ msgstr "NULL PPD-arkivmarkør"
msgid "Name OID uses indefinite length"
msgstr "Navn-oid bruger uendelig længde"
msgid "Nested classes are not allowed!"
msgstr ""
msgid "Never"
msgstr "Aldrig"
@@ -5542,6 +5538,13 @@ msgstr "variable-bindings bruger uendelig længde"
#~ msgid "600 DPI Grayscale"
#~ msgstr "600 dpi gråtoner"
#~ msgid ""
#~ "ERROR: Missing device URI on command-line and no DEVICE_URI environment "
#~ "variable!\n"
#~ msgstr ""
#~ "ERROR: Manglende enheds-URI på kommandolinjen og ingen DEVICE_URI-"
#~ "miljøvariabel!\n"
#~ msgid "ERROR: Unable to create temporary file - %s.\n"
#~ msgstr "ERROR: Kan ikke oprette midlertidigt arkiv - %s.\n"
+11 -8
Ver Arquivo
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: CUPS 1.4\n"
"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
"POT-Creation-Date: 2009-06-05 14:00-0700\n"
"POT-Creation-Date: 2009-06-18 15:43-0700\n"
"PO-Revision-Date: 2009-02-16 12:00-0800\n"
"Last-Translator: Apple Inc.\n"
"Language-Team: Apple Inc.\n"
@@ -2456,13 +2456,6 @@ msgstr "ERROR: Fehlender %%EndProlog!\n"
msgid "ERROR: Missing %%EndSetup!\n"
msgstr "ERROR: Fehlendes %%EndSetup!\n"
msgid ""
"ERROR: Missing device URI on command-line and no DEVICE_URI environment "
"variable!\n"
msgstr ""
"ERROR: Geräte-URI fehlt in der Befehlszeile und keine DEVICE_URI "
"Umgebungsvariable vorhanden!\n"
#, c-format
msgid "ERROR: Missing value on line %d of banner file!\n"
msgstr "ERROR: Wert fehlt in Zeile %d der Bannerdatei!\n"
@@ -3472,6 +3465,9 @@ msgstr "NULL PPD File Pointer"
msgid "Name OID uses indefinite length"
msgstr "Name-OID hat unbestimmte Länge"
msgid "Nested classes are not allowed!"
msgstr ""
msgid "Never"
msgstr "Niemals"
@@ -5587,6 +5583,13 @@ msgstr "variable-bindings hat unbestimmte Länge"
#~ msgid "600 DPI Grayscale"
#~ msgstr "600 DPI Graustufen"
#~ msgid ""
#~ "ERROR: Missing device URI on command-line and no DEVICE_URI environment "
#~ "variable!\n"
#~ msgstr ""
#~ "ERROR: Geräte-URI fehlt in der Befehlszeile und keine DEVICE_URI "
#~ "Umgebungsvariable vorhanden!\n"
#~ msgid "ERROR: Unable to create temporary file - %s.\n"
#~ msgstr "ERROR: Temporäre Datei konnte nicht erstellt werden – %s.\n"
+9 -23
Ver Arquivo
@@ -16,8 +16,8 @@ msgid ""
msgstr ""
"Project-Id-Version: CUPS 1.4\n"
"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
"POT-Creation-Date: 2009-06-05 14:00-0700\n"
"PO-Revision-Date: 2009-05-23 13:15+0100\n"
"POT-Creation-Date: 2009-06-18 15:43-0700\n"
"PO-Revision-Date: 2009-07-02 20:00+0100\n"
"Last-Translator: Juan Pablo González Riopedre <riopedre13@yahoo.es>\n"
"Language-Team: Spanish\n"
"MIME-Version: 1.0\n"
@@ -2490,13 +2490,6 @@ msgstr "ERROR: Falta %%EndProlog.\n"
msgid "ERROR: Missing %%EndSetup!\n"
msgstr "ERROR: Falta %%EndSetup.\n"
msgid ""
"ERROR: Missing device URI on command-line and no DEVICE_URI environment "
"variable!\n"
msgstr ""
"ERROR: Falta URI del dispositivo en la línea de comandos y no hay variable "
"de entorno DEVICE_URI.\n"
#, c-format
msgid "ERROR: Missing value on line %d of banner file!\n"
msgstr "ERROR: Falta el valor en la línea %d del archivo de rótulo.\n"
@@ -2574,7 +2567,7 @@ msgid "ERROR: Unable to copy PDF file"
msgstr "ERROR: No se ha podido copiar el archivo PDF"
msgid "ERROR: Unable to create pipe"
msgstr ""
msgstr "ERROR: No se ha podido crear el canal (pipe)"
msgid "ERROR: Unable to create socket"
msgstr "ERROR: No se ha podido crear socket"
@@ -2599,7 +2592,7 @@ msgid "ERROR: Unable to execute pdftops program"
msgstr "ERROR: No se ha podido ejecutar el programa pdftops"
msgid "ERROR: Unable to execute pstops program"
msgstr ""
msgstr "ERROR: No se ha podido ejecutar el programa pstops"
#, c-format
msgid "ERROR: Unable to fork pictwpstops: %s\n"
@@ -3503,6 +3496,9 @@ msgstr "Puntero de archivo PPD NULO"
msgid "Name OID uses indefinite length"
msgstr "Nombre OID usa una longitud indefinida"
msgid "Nested classes are not allowed!"
msgstr "No se permiten clases anidadas."
msgid "Never"
msgstr "Nunca"
@@ -5523,11 +5519,12 @@ msgstr "ppdc: No se ha proporcionado catálogo de mensajes para el idioma %s.\n"
#, c-format
msgid "ppdc: Option %s defined in two different groups on line %d of %s!\n"
msgstr ""
"ppdc: Opción %s definida en dos diferentes grupos en la línea %d de %s.\n"
#, c-format
msgid "ppdc: Option %s redefined with a different type on line %d of %s!\n"
msgstr ""
"ppdc: La opción %s redefinida con un tipo diferente en la línea %d de %s.\n"
"ppdc: Opción %s redefinida con un tipo diferente en la línea %d de %s.\n"
#, c-format
msgid "ppdc: Option constraint must *name on line %d of %s!\n"
@@ -5690,14 +5687,3 @@ msgstr "sin título"
msgid "variable-bindings uses indefinite length"
msgstr "variable-bindings usa una longitud indefinida"
#~ msgid "600 DPI Grayscale"
#~ msgstr "600 PPP escala de grises"
#~ msgid "ERROR: pdftops filter crashed on signal %d!\n"
#~ msgstr "ERROR: filtro pdftops se ha colgado con la señal %d.\n"
#~ msgid "ERROR: pdftops filter exited with status %d!\n"
#~ msgstr "ERROR: filtro pdftops se ha cerrado con el estado %d.\n"
#~ msgid "Unknown printer error (%s)!"
#~ msgstr "Error de impresión desconocido (%s)."
+7282
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+11 -8
Ver Arquivo
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: CUPS 1.4\n"
"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
"POT-Creation-Date: 2009-06-05 14:00-0700\n"
"POT-Creation-Date: 2009-06-18 15:43-0700\n"
"PO-Revision-Date: 2009-02-12 15:10+0200\n"
"Last-Translator: Teppo Turtiainen <teppot@iki.fi>\n"
"Language-Team: Finnish\n"
@@ -2454,13 +2454,6 @@ msgstr "ERROR: %%EndProlog puuttuu!\n"
msgid "ERROR: Missing %%EndSetup!\n"
msgstr "ERROR: %%EndSetup puuttuu!\n"
msgid ""
"ERROR: Missing device URI on command-line and no DEVICE_URI environment "
"variable!\n"
msgstr ""
"ERROR: Laitteen osoite puuttuu komentoriviltä eikä DEVICE_URI-"
"ympäristömuuttujaa ole määritelty!\n"
#, c-format
msgid "ERROR: Missing value on line %d of banner file!\n"
msgstr "ERROR: Arvo puuttuu otsikkotiedoston riviltä %d!\n"
@@ -3449,6 +3442,9 @@ msgstr "PPD-tiedoston osoitin NULL"
msgid "Name OID uses indefinite length"
msgstr "Nimi-OID käyttää määrittelemätöntä pituutta"
msgid "Nested classes are not allowed!"
msgstr ""
msgid "Never"
msgstr "Ei koskaan"
@@ -5558,6 +5554,13 @@ msgstr "variable-bindings käyttää määrittämätöntä pituutta"
#~ msgid "600 DPI Grayscale"
#~ msgstr "600 dpi harmaasävy"
#~ msgid ""
#~ "ERROR: Missing device URI on command-line and no DEVICE_URI environment "
#~ "variable!\n"
#~ msgstr ""
#~ "ERROR: Laitteen osoite puuttuu komentoriviltä eikä DEVICE_URI-"
#~ "ympäristömuuttujaa ole määritelty!\n"
#~ msgid "ERROR: Unable to create temporary file - %s.\n"
#~ msgstr "ERROR: Tilapäistiedostoa ei voida luoda - %s.\n"
+11 -8
Ver Arquivo
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: CUPS 1.4\n"
"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
"POT-Creation-Date: 2009-06-05 14:00-0700\n"
"POT-Creation-Date: 2009-06-18 15:43-0700\n"
"PO-Revision-Date: 2009-02-16 12:00-0800\n"
"Last-Translator: Apple Inc.\n"
"Language-Team: Apple Inc.\n"
@@ -2476,13 +2476,6 @@ msgstr "ERROR: %%EndProlog manquant.\n"
msgid "ERROR: Missing %%EndSetup!\n"
msgstr "ERROR: %%EndSetup manquant.\n"
msgid ""
"ERROR: Missing device URI on command-line and no DEVICE_URI environment "
"variable!\n"
msgstr ""
"ERROR: URI du périphérique manquant sur la ligne de commande et aucune "
"variable denvironnement DEVICE_URI.\n"
#, c-format
msgid "ERROR: Missing value on line %d of banner file!\n"
msgstr "ERROR: valeur manquante à la ligne %d du fichier de bannière.\n"
@@ -3488,6 +3481,9 @@ msgstr "Pointeur de fichier PPD NULL."
msgid "Name OID uses indefinite length"
msgstr "LOID du nom savère être de longueur indéfinie"
msgid "Nested classes are not allowed!"
msgstr ""
msgid "Never"
msgstr "Jamais"
@@ -5659,6 +5655,13 @@ msgstr "variable-bindings savère être de longueur indéfinie"
#~ msgid "600 DPI Grayscale"
#~ msgstr "600 ppp (niveaux de gris)"
#~ msgid ""
#~ "ERROR: Missing device URI on command-line and no DEVICE_URI environment "
#~ "variable!\n"
#~ msgstr ""
#~ "ERROR: URI du périphérique manquant sur la ligne de commande et aucune "
#~ "variable denvironnement DEVICE_URI.\n"
#~ msgid "ERROR: Unable to create temporary file - %s.\n"
#~ msgstr "ERROR: impossible de créer un fichier temporaire - %s.\n"
+11 -8
Ver Arquivo
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: CUPS 1.4\n"
"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
"POT-Creation-Date: 2009-06-05 14:00-0700\n"
"POT-Creation-Date: 2009-06-18 15:43-0700\n"
"PO-Revision-Date: 2009-02-16 12:00-0800\n"
"Last-Translator: Apple Inc.\n"
"Language-Team: Apple Inc.\n"
@@ -2453,13 +2453,6 @@ msgstr "ERROR: %%EndProlog mancante!\n"
msgid "ERROR: Missing %%EndSetup!\n"
msgstr "ERROR: %%EndSetup mancante!\n"
msgid ""
"ERROR: Missing device URI on command-line and no DEVICE_URI environment "
"variable!\n"
msgstr ""
"ERROR: manca URI su linea di comando e nessuna variabile ambiente "
"DEVICE_URI!\n"
#, c-format
msgid "ERROR: Missing value on line %d of banner file!\n"
msgstr "ERROR: manca valore alla riga %d del documento banner!\n"
@@ -3451,6 +3444,9 @@ msgstr "Puntatore documento NULL PPD"
msgid "Name OID uses indefinite length"
msgstr "Il nome OID utilizza una lunghezza indefinita"
msgid "Nested classes are not allowed!"
msgstr ""
msgid "Never"
msgstr "Mai"
@@ -5583,6 +5579,13 @@ msgstr "variable-bindings utilizza una lunghezza indefinita"
#~ msgid "600 DPI Grayscale"
#~ msgstr "Scala di grigi a 600 DPI"
#~ msgid ""
#~ "ERROR: Missing device URI on command-line and no DEVICE_URI environment "
#~ "variable!\n"
#~ msgstr ""
#~ "ERROR: manca URI su linea di comando e nessuna variabile ambiente "
#~ "DEVICE_URI!\n"
#~ msgid "ERROR: Unable to create temporary file - %s.\n"
#~ msgstr "ERROR: impossibile creare il documento temporaneo: %s.\n"
+178 -285
Ver Arquivo
Diferenças do arquivo suprimidas por serem muito extensas Carregar Diff
+10 -7
Ver Arquivo
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: CUPS 1.4\n"
"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
"POT-Creation-Date: 2009-06-05 14:00-0700\n"
"POT-Creation-Date: 2009-06-18 15:43-0700\n"
"PO-Revision-Date: 2009-02-16 12:00-0800\n"
"Last-Translator: Apple Inc.\n"
"Language-Team: Apple Inc.\n"
@@ -2437,12 +2437,6 @@ msgstr "ERROR: %%EndProlog가 유실됨!\n"
msgid "ERROR: Missing %%EndSetup!\n"
msgstr "ERROR: %%EndSetup이 유실됨!\n"
msgid ""
"ERROR: Missing device URI on command-line and no DEVICE_URI environment "
"variable!\n"
msgstr ""
"ERROR: 명령 라인의 장비 URI가 유실되었고 DEVICE_URI 환경 변수가 없음!\n"
#, c-format
msgid "ERROR: Missing value on line %d of banner file!\n"
msgstr "ERROR: 배너 파일의 %d번째 줄 값이 유실됨!\n"
@@ -3424,6 +3418,9 @@ msgstr "NULL PPD 파일 포인터"
msgid "Name OID uses indefinite length"
msgstr "이름 OID 길이가 무제한입니다"
msgid "Nested classes are not allowed!"
msgstr ""
msgid "Never"
msgstr "안 함"
@@ -5507,6 +5504,12 @@ msgstr "variable-bindings의 길이가 무제한입니다"
#~ msgid "600 DPI Grayscale"
#~ msgstr "600 DPI 그레이 스케일"
#~ msgid ""
#~ "ERROR: Missing device URI on command-line and no DEVICE_URI environment "
#~ "variable!\n"
#~ msgstr ""
#~ "ERROR: 명령 라인의 장비 URI가 유실되었고 DEVICE_URI 환경 변수가 없음!\n"
#~ msgid "ERROR: Unable to create temporary file - %s.\n"
#~ msgstr "ERROR: 임시 파일을 생성할 수 없음 - %s.\n"
+11 -8
Ver Arquivo
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: CUPS 1.4\n"
"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
"POT-Creation-Date: 2009-06-05 14:00-0700\n"
"POT-Creation-Date: 2009-06-18 15:43-0700\n"
"PO-Revision-Date: 2009-02-16 12:00-0800\n"
"Last-Translator: Apple Inc.\n"
"Language-Team: Apple Inc.\n"
@@ -2456,13 +2456,6 @@ msgstr "ERROR: Ontbrekende %%EndProlog!\n"
msgid "ERROR: Missing %%EndSetup!\n"
msgstr "ERROR: Ontbrekende %%EndSetup!\n"
msgid ""
"ERROR: Missing device URI on command-line and no DEVICE_URI environment "
"variable!\n"
msgstr ""
"ERROR: Ontbrekende apparaat-URI op commandoregel en geen DEVICE_URI-"
"omgevingsvariabele!\n"
#, c-format
msgid "ERROR: Missing value on line %d of banner file!\n"
msgstr "ERROR: Ontbrekende waarde in regel %d van bannerbestand!\n"
@@ -3471,6 +3464,9 @@ msgstr "NULL-pointer voor PPD-bestand"
msgid "Name OID uses indefinite length"
msgstr "Onbepaalde lengte gebruikt voor naam-OID"
msgid "Nested classes are not allowed!"
msgstr ""
msgid "Never"
msgstr "Nooit"
@@ -5608,6 +5604,13 @@ msgstr "onbepaalde lengte gebruikt voor variable-bindings"
#~ msgid "600 DPI Grayscale"
#~ msgstr "600-DPI grijstinten"
#~ msgid ""
#~ "ERROR: Missing device URI on command-line and no DEVICE_URI environment "
#~ "variable!\n"
#~ msgstr ""
#~ "ERROR: Ontbrekende apparaat-URI op commandoregel en geen DEVICE_URI-"
#~ "omgevingsvariabele!\n"
#~ msgid "ERROR: Unable to create temporary file - %s.\n"
#~ msgstr "ERROR: Niet mogelijk om tijdelijk bestand - %s te maken.\n"
+11 -8
Ver Arquivo
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: CUPS 1.4\n"
"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
"POT-Creation-Date: 2009-06-05 14:00-0700\n"
"POT-Creation-Date: 2009-06-18 15:43-0700\n"
"PO-Revision-Date: 2009-02-16 12:00-0800\n"
"Last-Translator: Apple Inc.\n"
"Language-Team: Apple Inc.\n"
@@ -2438,13 +2438,6 @@ msgstr "ERROR: %%EndProlog mangler!\n"
msgid "ERROR: Missing %%EndSetup!\n"
msgstr "ERROR: %%EndSetup mangler!\n"
msgid ""
"ERROR: Missing device URI on command-line and no DEVICE_URI environment "
"variable!\n"
msgstr ""
"ERROR: Mangler enhets-URI på kommandolinje, og ingen DEVICE_URI-"
"miljøvariabel!\n"
#, c-format
msgid "ERROR: Missing value on line %d of banner file!\n"
msgstr "ERROR: Mangler verdi på linje %d i bannerfil!\n"
@@ -3431,6 +3424,9 @@ msgstr "NULL PPD-filpeker"
msgid "Name OID uses indefinite length"
msgstr "Navn-OID bruker uendelig lengde"
msgid "Nested classes are not allowed!"
msgstr ""
msgid "Never"
msgstr "Aldri"
@@ -5526,6 +5522,13 @@ msgstr "variable-bindings bruker uendelig lengde"
#~ msgid "600 DPI Grayscale"
#~ msgstr "600 DPI gråskala"
#~ msgid ""
#~ "ERROR: Missing device URI on command-line and no DEVICE_URI environment "
#~ "variable!\n"
#~ msgstr ""
#~ "ERROR: Mangler enhets-URI på kommandolinje, og ingen DEVICE_URI-"
#~ "miljøvariabel!\n"
#~ msgid "ERROR: Unable to create temporary file - %s.\n"
#~ msgstr "ERROR: Kan ikke opprette midlertidig fil – %s.\n"
+11 -8
Ver Arquivo
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: CUPS 1.4\n"
"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
"POT-Creation-Date: 2009-06-05 14:00-0700\n"
"POT-Creation-Date: 2009-06-18 15:43-0700\n"
"PO-Revision-Date: 2009-02-16 12:00-0800\n"
"Last-Translator: Apple Inc.\n"
"Language-Team: Apple Inc.\n"
@@ -2455,13 +2455,6 @@ msgstr "ERROR: brakujący %%EndProlog!\n"
msgid "ERROR: Missing %%EndSetup!\n"
msgstr "ERROR: brakujący %%EndSetup!\n"
msgid ""
"ERROR: Missing device URI on command-line and no DEVICE_URI environment "
"variable!\n"
msgstr ""
"ERROR: brak URI urządzenia w wierszu poleceń i zmiennej środowiska "
"DEVICE_URI!\n"
#, c-format
msgid "ERROR: Missing value on line %d of banner file!\n"
msgstr "ERROR: brakująca wartość w linii %d pliku bannera!\n"
@@ -3454,6 +3447,9 @@ msgstr "PUSTY wskaźnik pliku PPD"
msgid "Name OID uses indefinite length"
msgstr "OID nazwy używa nieskończonej długości"
msgid "Nested classes are not allowed!"
msgstr ""
msgid "Never"
msgstr "Nigdy"
@@ -5571,6 +5567,13 @@ msgstr "variable-bindings używa nieskończonej długości"
#~ msgid "600 DPI Grayscale"
#~ msgstr "600 DPI (szarości)"
#~ msgid ""
#~ "ERROR: Missing device URI on command-line and no DEVICE_URI environment "
#~ "variable!\n"
#~ msgstr ""
#~ "ERROR: brak URI urządzenia w wierszu poleceń i zmiennej środowiska "
#~ "DEVICE_URI!\n"
#~ msgid "ERROR: Unable to create temporary file - %s.\n"
#~ msgstr "ERROR: nie można utworzyć pliku tymczasowego - %s\n"
+11 -8
Ver Arquivo
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: CUPS 1.4\n"
"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
"POT-Creation-Date: 2009-06-05 14:00-0700\n"
"POT-Creation-Date: 2009-06-18 15:43-0700\n"
"PO-Revision-Date: 2009-02-16 12:00-0800\n"
"Last-Translator: Apple Inc.\n"
"Language-Team: Apple Inc.\n"
@@ -2452,13 +2452,6 @@ msgstr "ERROR: %%EndProlog inexistente!\n"
msgid "ERROR: Missing %%EndSetup!\n"
msgstr "ERROR: %%EndSetup inexistente!\n"
msgid ""
"ERROR: Missing device URI on command-line and no DEVICE_URI environment "
"variable!\n"
msgstr ""
"ERROR: URI de periférico inexistente em command-line e sem variável de "
"ambiente DEVICE_URI!\n"
#, c-format
msgid "ERROR: Missing value on line %d of banner file!\n"
msgstr ""
@@ -3459,6 +3452,9 @@ msgstr "Ponteiro do ficheiro PPD NULL"
msgid "Name OID uses indefinite length"
msgstr "Nome OID com comprimento indefinido"
msgid "Nested classes are not allowed!"
msgstr ""
msgid "Never"
msgstr "Nunca"
@@ -5587,6 +5583,13 @@ msgstr "variable-bindings com comprimento indefinido"
#~ msgid "600 DPI Grayscale"
#~ msgstr "Níveis de cinzento 600 DPI"
#~ msgid ""
#~ "ERROR: Missing device URI on command-line and no DEVICE_URI environment "
#~ "variable!\n"
#~ msgstr ""
#~ "ERROR: URI de periférico inexistente em command-line e sem variável de "
#~ "ambiente DEVICE_URI!\n"
#~ msgid "ERROR: Unable to create temporary file - %s.\n"
#~ msgstr "ERROR: Não é possível criar ficheiro o temporário - %s.\n"
+11 -8
Ver Arquivo
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: CUPS 1.4\n"
"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
"POT-Creation-Date: 2009-06-05 14:00-0700\n"
"POT-Creation-Date: 2009-06-18 15:43-0700\n"
"PO-Revision-Date: 2009-02-16 12:00-0800\n"
"Last-Translator: Apple Inc.\n"
"Language-Team: Apple Inc.\n"
@@ -2461,13 +2461,6 @@ msgstr "ERROR: %%EndProlog ausente!\n"
msgid "ERROR: Missing %%EndSetup!\n"
msgstr "ERROR: %%EndSetup ausente!\n"
msgid ""
"ERROR: Missing device URI on command-line and no DEVICE_URI environment "
"variable!\n"
msgstr ""
"ERROR: URI de dispositivo ausente URI em command-line e nenhuma variável de "
"ambiente DEVICE_URI!\n"
#, c-format
msgid "ERROR: Missing value on line %d of banner file!\n"
msgstr "ERROR: Valor ausente na linha %d do arquivo de banner!\n"
@@ -3465,6 +3458,9 @@ msgstr "Ponteiro de arquivo NULL PPD"
msgid "Name OID uses indefinite length"
msgstr "OID do nome usa comprimento indefinido"
msgid "Nested classes are not allowed!"
msgstr ""
msgid "Never"
msgstr "Nunca"
@@ -5591,6 +5587,13 @@ msgstr "variable-bindings usa comprimento indefinido"
#~ msgid "600 DPI Grayscale"
#~ msgstr "600 ppp da escala de cinza"
#~ msgid ""
#~ "ERROR: Missing device URI on command-line and no DEVICE_URI environment "
#~ "variable!\n"
#~ msgstr ""
#~ "ERROR: URI de dispositivo ausente URI em command-line e nenhuma variável "
#~ "de ambiente DEVICE_URI!\n"
#~ msgid "ERROR: Unable to create temporary file - %s.\n"
#~ msgstr "ERROR: Não é possível criar o arquivo temporário - %s.\n"
+11 -8
Ver Arquivo
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: CUPS 1.4\n"
"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
"POT-Creation-Date: 2009-06-05 14:00-0700\n"
"POT-Creation-Date: 2009-06-18 15:43-0700\n"
"PO-Revision-Date: 2009-02-16 12:00-0800\n"
"Last-Translator: Apple Inc.\n"
"Language-Team: Apple Inc.\n"
@@ -2446,13 +2446,6 @@ msgstr "ERROR: Отсутствует %%EndProlog!\n"
msgid "ERROR: Missing %%EndSetup!\n"
msgstr "ERROR: Отсутствует %%EndSetup!\n"
msgid ""
"ERROR: Missing device URI on command-line and no DEVICE_URI environment "
"variable!\n"
msgstr ""
"ERROR: Отсутствует идентификатор URI устройства в командной строке и "
"переменная окружения DEVICE_URI!\n"
#, c-format
msgid "ERROR: Missing value on line %d of banner file!\n"
msgstr "ERROR: Отсутствует значение в строке %d в файле баннера!\n"
@@ -3444,6 +3437,9 @@ msgstr "Указатель PPD-файла установлен на NULL"
msgid "Name OID uses indefinite length"
msgstr "Для имени OID длина не установлена"
msgid "Nested classes are not allowed!"
msgstr ""
msgid "Never"
msgstr "Никогда"
@@ -5564,6 +5560,13 @@ msgstr "Для variable-bindings длина не установлена"
#~ msgid "600 DPI Grayscale"
#~ msgstr "600dpi, оттенки серого"
#~ msgid ""
#~ "ERROR: Missing device URI on command-line and no DEVICE_URI environment "
#~ "variable!\n"
#~ msgstr ""
#~ "ERROR: Отсутствует идентификатор URI устройства в командной строке и "
#~ "переменная окружения DEVICE_URI!\n"
#~ msgid "ERROR: Unable to create temporary file - %s.\n"
#~ msgstr "ERROR: Не удается создать временный файл – %s.\n"
+11 -8
Ver Arquivo
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: CUPS 1.4\n"
"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
"POT-Creation-Date: 2009-06-05 14:00-0700\n"
"POT-Creation-Date: 2009-06-18 15:43-0700\n"
"PO-Revision-Date: 2009-02-16 12:00-0800\n"
"Last-Translator: Apple Inc.\n"
"Language-Team: Apple Inc.\n"
@@ -2441,13 +2441,6 @@ msgstr "ERROR: Saknad %%EndProlog!\n"
msgid "ERROR: Missing %%EndSetup!\n"
msgstr "ERROR: Saknad %%EndSetup!\n"
msgid ""
"ERROR: Missing device URI on command-line and no DEVICE_URI environment "
"variable!\n"
msgstr ""
"ERROR: Saknad enhets-URI i kommandoraden och ingen miljövariabel för "
"DEVICE_URI!\n"
#, c-format
msgid "ERROR: Missing value on line %d of banner file!\n"
msgstr "ERROR: Saknar värde på rad %d i bannerfil!\n"
@@ -3433,6 +3426,9 @@ msgstr "NULL PPD-filspekare"
msgid "Name OID uses indefinite length"
msgstr "OID-namn använder obegränsad längd"
msgid "Nested classes are not allowed!"
msgstr ""
msgid "Never"
msgstr "Aldrig"
@@ -5538,6 +5534,13 @@ msgstr "variabelbindningar använder obegränsad längd"
#~ msgid "600 DPI Grayscale"
#~ msgstr "600 DPI gråskala"
#~ msgid ""
#~ "ERROR: Missing device URI on command-line and no DEVICE_URI environment "
#~ "variable!\n"
#~ msgstr ""
#~ "ERROR: Saknad enhets-URI i kommandoraden och ingen miljövariabel för "
#~ "DEVICE_URI!\n"
#~ msgid "ERROR: Unable to create temporary file - %s.\n"
#~ msgstr "ERROR: Kunde inte skapa temporär fil - %s.\n"
+9 -6
Ver Arquivo
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: CUPS 1.4\n"
"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
"POT-Creation-Date: 2009-06-05 14:00-0700\n"
"POT-Creation-Date: 2009-06-18 15:43-0700\n"
"PO-Revision-Date: 2009-02-16 12:00-0800\n"
"Last-Translator: Apple Inc.\n"
"Language-Team: Apple Inc.\n"
@@ -2418,11 +2418,6 @@ msgstr "ERROR: 缺少 %%EndProlog\n"
msgid "ERROR: Missing %%EndSetup!\n"
msgstr "ERROR: 缺少 %%EndSetup\n"
msgid ""
"ERROR: Missing device URI on command-line and no DEVICE_URI environment "
"variable!\n"
msgstr "ERROR: 命令行上缺少设备 URI,且无 DEVICE_URI 环境变量!\n"
#, c-format
msgid "ERROR: Missing value on line %d of banner file!\n"
msgstr "ERROR: 标题文件的第 %d 行缺少值!\n"
@@ -3398,6 +3393,9 @@ msgstr "空 PPD 文件指针"
msgid "Name OID uses indefinite length"
msgstr "名称 OID 使用不定长度"
msgid "Nested classes are not allowed!"
msgstr ""
msgid "Never"
msgstr "永不"
@@ -5470,6 +5468,11 @@ msgstr "variable-bindings 使用不定长度"
#~ msgid "600 DPI Grayscale"
#~ msgstr "600 DPI 灰度"
#~ msgid ""
#~ "ERROR: Missing device URI on command-line and no DEVICE_URI environment "
#~ "variable!\n"
#~ msgstr "ERROR: 命令行上缺少设备 URI,且无 DEVICE_URI 环境变量!\n"
#~ msgid "ERROR: Unable to create temporary file - %s.\n"
#~ msgstr "ERROR: 无法创建临时文件 - %s。\n"
+9 -6
Ver Arquivo
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: CUPS 1.4\n"
"Report-Msgid-Bugs-To: http://www.cups.org/str.php\n"
"POT-Creation-Date: 2009-06-05 14:00-0700\n"
"POT-Creation-Date: 2009-06-18 15:43-0700\n"
"PO-Revision-Date: 2009-02-16 12:00-0800\n"
"Last-Translator: Apple Inc.\n"
"Language-Team: Apple Inc.\n"
@@ -2419,11 +2419,6 @@ msgstr "ERROR: 遺失 %%EndProlog\n"
msgid "ERROR: Missing %%EndSetup!\n"
msgstr "ERROR: 遺失 %%EndSetup\n"
msgid ""
"ERROR: Missing device URI on command-line and no DEVICE_URI environment "
"variable!\n"
msgstr "ERROR: 指令行遺失設備 URI 且沒有 DEVICE_URI 環境變數!\n"
#, c-format
msgid "ERROR: Missing value on line %d of banner file!\n"
msgstr "ERROR: 標語檔案的第 %d 行遺失值!\n"
@@ -3399,6 +3394,9 @@ msgstr "NULL PPD 檔案指標"
msgid "Name OID uses indefinite length"
msgstr "名稱 OID 使用的長度不確定"
msgid "Nested classes are not allowed!"
msgstr ""
msgid "Never"
msgstr "永不"
@@ -5468,6 +5466,11 @@ msgstr "variable-bindings 使用的長度不確定"
#~ msgid "600 DPI Grayscale"
#~ msgstr "600 DPI 灰階"
#~ msgid ""
#~ "ERROR: Missing device URI on command-line and no DEVICE_URI environment "
#~ "variable!\n"
#~ msgstr "ERROR: 指令行遺失設備 URI 且沒有 DEVICE_URI 環境變數!\n"
#~ msgid "ERROR: Unable to create temporary file - %s.\n"
#~ msgstr "ERROR: 無法製作暫存檔 - %s。\n"
+7 -1
Ver Arquivo
@@ -12,7 +12,7 @@
.\" which should have been included with this file. If this file is
.\" file is missing or damaged, see the license at "http://www.cups.org/".
.\"
.TH cupsd.conf 5 "CUPS" "19 April 2009" "Apple Inc."
.TH cupsd.conf 5 "CUPS" "14 July 2009" "Apple Inc."
.SH NAME
cupsd.conf \- server configuration file for cups
.SH DESCRIPTION
@@ -307,6 +307,12 @@ Deny @LOCAL
.br
Denies access to the named host or address.
.TP 5
DirtyCleanInterval seconds
.br
Specifies the delay for updating of configuration and state files. A value of 0
causes the update to happen as soon as possible, typically within a few
milliseconds.
.TP 5
DocumentRoot directory
.br
Specifies the root directory for the internal web server documents.
+4 -4
Ver Arquivo
@@ -1,5 +1,5 @@
.\"
.\" "$Id: lprm.man 8421 2009-03-09 21:59:55Z mike $"
.\" "$Id: lprm.man 8801 2009-08-29 06:05:14Z mike $"
.\"
.\" lprm man page for the Common UNIX Printing System (CUPS).
.\"
@@ -12,7 +12,7 @@
.\" which should have been included with this file. If this file is
.\" file is missing or damaged, see the license at "http://www.cups.org/".
.\"
.TH lprm 1 "CUPS" "12 February 2006" "Apple Inc."
.TH lprm 1 "CUPS" "28 August 2009" "Apple Inc."
.SH NAME
lprm \- cancel print jobs
.SH SYNOPSIS
@@ -49,7 +49,7 @@ Specifies an alternate username.
.TP 5
-h server[:port]
.br
Specifies and alternate server.
Specifies an alternate server.
.SH COMPATIBILITY
The CUPS version of \fIlprm\fR is compatible with the standard
Berkeley \fIlprm\fR command.
@@ -61,5 +61,5 @@ http://localhost:631/help
.SH COPYRIGHT
Copyright 2007-2009 by Apple Inc.
.\"
.\" End of "$Id: lprm.man 8421 2009-03-09 21:59:55Z mike $".
.\" End of "$Id: lprm.man 8801 2009-08-29 06:05:14Z mike $".
.\"
+244 -237
Ver Arquivo
@@ -260,64 +260,64 @@ $DSOLIBS=@DSOLIBS@
# Server programs
%system all
# Server files
f 0755 root sys $SBINDIR/cupsd scheduler/cupsd
f 0555 root sys $SBINDIR/cupsd scheduler/cupsd
d 0755 root sys $SERVERBIN -
d 0755 root sys $SERVERBIN/backend -
f 0700 root sys $SERVERBIN/backend/ipp backend/ipp
f 0500 root sys $SERVERBIN/backend/ipp backend/ipp
l 0700 root sys $SERVERBIN/backend/http ipp
f 0700 root sys $SERVERBIN/backend/lpd backend/lpd
f 0500 root sys $SERVERBIN/backend/lpd backend/lpd
%if DNSSD_BACKEND
f 0700 root sys $SERVERBIN/backend/dnssd backend/dnssd
f 0500 root sys $SERVERBIN/backend/dnssd backend/dnssd
l 0700 root sys $SERVERBIN/backend/mdns dnssd
%endif
%system !darwin
f 0755 root sys $SERVERBIN/backend/parallel backend/parallel
f 0755 root sys $SERVERBIN/backend/scsi backend/scsi
f 0555 root sys $SERVERBIN/backend/parallel backend/parallel
f 0555 root sys $SERVERBIN/backend/scsi backend/scsi
%system all
f 0755 root sys $SERVERBIN/backend/serial backend/serial
f 0755 root sys $SERVERBIN/backend/snmp backend/snmp
f 0755 root sys $SERVERBIN/backend/socket backend/socket
f 0755 root sys $SERVERBIN/backend/usb backend/usb
f 0555 root sys $SERVERBIN/backend/serial backend/serial
f 0555 root sys $SERVERBIN/backend/snmp backend/snmp
f 0555 root sys $SERVERBIN/backend/socket backend/socket
f 0555 root sys $SERVERBIN/backend/usb backend/usb
d 0755 root sys $SERVERBIN/cgi-bin -
f 0755 root sys $SERVERBIN/cgi-bin/admin.cgi cgi-bin/admin.cgi
f 0755 root sys $SERVERBIN/cgi-bin/classes.cgi cgi-bin/classes.cgi
f 0755 root sys $SERVERBIN/cgi-bin/help.cgi cgi-bin/help.cgi
f 0755 root sys $SERVERBIN/cgi-bin/jobs.cgi cgi-bin/jobs.cgi
f 0755 root sys $SERVERBIN/cgi-bin/printers.cgi cgi-bin/printers.cgi
f 0555 root sys $SERVERBIN/cgi-bin/admin.cgi cgi-bin/admin.cgi
f 0555 root sys $SERVERBIN/cgi-bin/classes.cgi cgi-bin/classes.cgi
f 0555 root sys $SERVERBIN/cgi-bin/help.cgi cgi-bin/help.cgi
f 0555 root sys $SERVERBIN/cgi-bin/jobs.cgi cgi-bin/jobs.cgi
f 0555 root sys $SERVERBIN/cgi-bin/printers.cgi cgi-bin/printers.cgi
d 0755 root sys $SERVERBIN/daemon -
f 0755 root sys $SERVERBIN/daemon/cups-deviced scheduler/cups-deviced
f 0755 root sys $SERVERBIN/daemon/cups-driverd scheduler/cups-driverd
f 0755 root sys $SERVERBIN/daemon/cups-polld scheduler/cups-polld
f 0555 root sys $SERVERBIN/daemon/cups-deviced scheduler/cups-deviced
f 0555 root sys $SERVERBIN/daemon/cups-driverd scheduler/cups-driverd
f 0555 root sys $SERVERBIN/daemon/cups-polld scheduler/cups-polld
d 0755 root sys $SERVERBIN/driver -
d 0755 root sys $SERVERBIN/filter -
f 0755 root sys $SERVERBIN/filter/bannertops filter/bannertops
f 0755 root sys $SERVERBIN/filter/commandtoespcx driver/commandtoescpx
f 0755 root sys $SERVERBIN/filter/commandtopclx driver/commandtopclx
f 0755 root sys $SERVERBIN/filter/commandtops filter/commandtops
f 0755 root sys $SERVERBIN/filter/gziptoany filter/gziptoany
f 0755 root sys $SERVERBIN/filter/hpgltops filter/hpgltops
f 0555 root sys $SERVERBIN/filter/bannertops filter/bannertops
f 0555 root sys $SERVERBIN/filter/commandtoespcx driver/commandtoescpx
f 0555 root sys $SERVERBIN/filter/commandtopclx driver/commandtopclx
f 0555 root sys $SERVERBIN/filter/commandtops filter/commandtops
f 0555 root sys $SERVERBIN/filter/gziptoany filter/gziptoany
f 0555 root sys $SERVERBIN/filter/hpgltops filter/hpgltops
%if IMGFILTERS
f 0755 root sys $SERVERBIN/filter/imagetops filter/imagetops
f 0755 root sys $SERVERBIN/filter/imagetoraster filter/imagetoraster
f 0555 root sys $SERVERBIN/filter/imagetops filter/imagetops
f 0555 root sys $SERVERBIN/filter/imagetoraster filter/imagetoraster
%endif
%if PDFTOPS
f 0755 root sys $SERVERBIN/filter/pdftops filter/pdftops
f 0555 root sys $SERVERBIN/filter/pdftops filter/pdftops
%endif
f 0755 root sys $SERVERBIN/filter/pstops filter/pstops
f 0755 root sys $SERVERBIN/filter/rastertoespcx driver/rastertoescpx
f 0755 root sys $SERVERBIN/filter/rastertolabel filter/rastertolabel
f 0555 root sys $SERVERBIN/filter/pstops filter/pstops
f 0555 root sys $SERVERBIN/filter/rastertoespcx driver/rastertoescpx
f 0555 root sys $SERVERBIN/filter/rastertolabel filter/rastertolabel
l 0755 root sys $SERVERBIN/filter/rastertodymo rastertolabel
f 0755 root sys $SERVERBIN/filter/rastertoepson filter/rastertoepson
f 0755 root sys $SERVERBIN/filter/rastertohp filter/rastertohp
f 0755 root sys $SERVERBIN/filter/rastertopclx driver/rastertopclx
f 0755 root sys $SERVERBIN/filter/texttops filter/texttops
f 0555 root sys $SERVERBIN/filter/rastertoepson filter/rastertoepson
f 0555 root sys $SERVERBIN/filter/rastertohp filter/rastertohp
f 0555 root sys $SERVERBIN/filter/rastertopclx driver/rastertopclx
f 0555 root sys $SERVERBIN/filter/texttops filter/texttops
d 0755 root sys $SERVERBIN/notifier -
f 0755 root sys $SERVERBIN/notifier/mailto notifier/mailto
f 0555 root sys $SERVERBIN/notifier/mailto notifier/mailto
%subpackage lpd
d 0755 root sys $SERVERBIN/daemon -
f 0755 root sys $SERVERBIN/daemon/cups-lpd scheduler/cups-lpd
f 0555 root sys $SERVERBIN/daemon/cups-lpd scheduler/cups-lpd
%subpackage
# Admin commands
@@ -330,16 +330,16 @@ l 0755 root sys $LIBDIR/lpadmin $SBINDIR/lpadmin
l 0755 root sys $LIBDIR/reject $SBINDIR/cupsaccept
d 0755 root sys $SBINDIR -
l 0755 root sys $SBINDIR/accept cupsaccept
f 0755 root sys $SBINDIR/cupsaccept systemv/cupsaccept
f 0755 root sys $SBINDIR/cupsaddsmb systemv/cupsaddsmb
f 0755 root sys $SBINDIR/cupsctl systemv/cupsctl
f 0555 root sys $SBINDIR/cupsaccept systemv/cupsaccept
f 0555 root sys $SBINDIR/cupsaddsmb systemv/cupsaddsmb
f 0555 root sys $SBINDIR/cupsctl systemv/cupsctl
l 0755 root sys $SBINDIR/cupsdisable accept
l 0755 root sys $SBINDIR/cupsenable accept
l 0755 root sys $SBINDIR/cupsreject accept
f 0755 root sys $SBINDIR/lpadmin systemv/lpadmin
f 0755 root sys $SBINDIR/lpc berkeley/lpc
f 0755 root sys $SBINDIR/lpinfo systemv/lpinfo
f 0755 root sys $SBINDIR/lpmove systemv/lpmove
f 0555 root sys $SBINDIR/lpadmin systemv/lpadmin
f 0555 root sys $SBINDIR/lpc berkeley/lpc
f 0555 root sys $SBINDIR/lpinfo systemv/lpinfo
f 0555 root sys $SBINDIR/lpmove systemv/lpmove
l 0755 root sys $SBINDIR/reject cupsaccept
%system irix
@@ -348,16 +348,16 @@ l 0755 root sys /usr/etc/lpc $SBINDIR/lpc
# User commands
d 0755 root sys $BINDIR -
f 0755 root sys $BINDIR/cancel systemv/cancel
f 0755 root sys $BINDIR/cupstestdsc systemv/cupstestdsc
f 0755 root sys $BINDIR/cupstestppd systemv/cupstestppd
f 0755 root sys $BINDIR/lp systemv/lp
f 0755 root sys $BINDIR/lpoptions systemv/lpoptions
f 0755 root sys $BINDIR/lppasswd systemv/lppasswd
f 0755 root sys $BINDIR/lpq berkeley/lpq
f 0755 root sys $BINDIR/lpr berkeley/lpr
f 0755 root sys $BINDIR/lprm berkeley/lprm
f 0755 root sys $BINDIR/lpstat systemv/lpstat
f 0555 root sys $BINDIR/cancel systemv/cancel
f 0555 root sys $BINDIR/cupstestdsc systemv/cupstestdsc
f 0555 root sys $BINDIR/cupstestppd systemv/cupstestppd
f 0555 root sys $BINDIR/lp systemv/lp
f 0555 root sys $BINDIR/lpoptions systemv/lpoptions
f 0555 root sys $BINDIR/lppasswd systemv/lppasswd
f 0555 root sys $BINDIR/lpq berkeley/lpq
f 0555 root sys $BINDIR/lpr berkeley/lpr
f 0555 root sys $BINDIR/lprm berkeley/lprm
f 0555 root sys $BINDIR/lpstat systemv/lpstat
%system irix
l 0755 root sys /usr/bsd/lpq $BINDIR/lpq
@@ -369,50 +369,50 @@ l 0755 root sys /usr/bsd/lprm $BINDIR/lprm
%if DSOLIBS
%subpackage libs
%system hpux
f 0755 root sys $LIBDIR/libcups.sl.2 cups/libcups.sl.2 nostrip()
f 0555 root sys $LIBDIR/libcups.sl.2 cups/libcups.sl.2 nostrip()
l 0755 root sys $LIBDIR/libcups.sl libcups.sl.2
f 0755 root sys $LIBDIR/libcupscgi.sl.1 cgi-bin/libcupscgi.sl.1 nostrip()
f 0555 root sys $LIBDIR/libcupscgi.sl.1 cgi-bin/libcupscgi.sl.1 nostrip()
l 0755 root sys $LIBDIR/libcupscgi.sl libcupscgi.sl.1
f 0755 root sys $LIBDIR/libcupsdriver.sl.1 driver/libcupsdriver.sl.1 nostrip()
f 0555 root sys $LIBDIR/libcupsdriver.sl.1 driver/libcupsdriver.sl.1 nostrip()
l 0755 root sys $LIBDIR/libcupsdriver.sl libcupsdriver.sl.1
f 0755 root sys $LIBDIR/libcupsimage.sl.2 filter/libcupsimage.sl.2 nostrip()
f 0555 root sys $LIBDIR/libcupsimage.sl.2 filter/libcupsimage.sl.2 nostrip()
l 0755 root sys $LIBDIR/libcupsimage.sl libcupsimage.sl.2
f 0755 root sys $LIBDIR/libcupsmime.sl.1 scheduler/libcupsmime.sl.1 nostrip()
f 0555 root sys $LIBDIR/libcupsmime.sl.1 scheduler/libcupsmime.sl.1 nostrip()
l 0755 root sys $LIBDIR/libcupsmime.sl libcupsmime.sl.1
f 0755 root sys $LIBDIR/libcupsppdc.sl.1 ppdc/libcupsppdc.sl.1 nostrip()
f 0555 root sys $LIBDIR/libcupsppdc.sl.1 ppdc/libcupsppdc.sl.1 nostrip()
l 0755 root sys $LIBDIR/libcupsppdc.sl libcupsppdc.sl.1
%system aix
f 0755 root sys $LIBDIR/libcups_s.a cups/libcups_s.a nostrip()
f 0755 root sys $LIBDIR/libcupscgi_s.a cgi-bin/libcupscgi_s.a nostrip()
f 0755 root sys $LIBDIR/libcupsdriver_s.a driver/libcupsdriver_s.a nostrip()
f 0755 root sys $LIBDIR/libcupsimage_s.a filter/libcupsimage_s.a nostrip()
f 0755 root sys $LIBDIR/libcupsmime_s.a scheduler/libcupsmime_s.a nostrip()
f 0755 root sys $LIBDIR/libcupsppdc_s.a ppdc/libcupsppdc_s.a nostrip()
f 0555 root sys $LIBDIR/libcups_s.a cups/libcups_s.a nostrip()
f 0555 root sys $LIBDIR/libcupscgi_s.a cgi-bin/libcupscgi_s.a nostrip()
f 0555 root sys $LIBDIR/libcupsdriver_s.a driver/libcupsdriver_s.a nostrip()
f 0555 root sys $LIBDIR/libcupsimage_s.a filter/libcupsimage_s.a nostrip()
f 0555 root sys $LIBDIR/libcupsmime_s.a scheduler/libcupsmime_s.a nostrip()
f 0555 root sys $LIBDIR/libcupsppdc_s.a ppdc/libcupsppdc_s.a nostrip()
%system darwin
f 0755 root sys $LIBDIR/libcups.2.dylib cups/libcups.2.dylib nostrip()
f 0555 root sys $LIBDIR/libcups.2.dylib cups/libcups.2.dylib nostrip()
l 0755 root sys $LIBDIR/libcups.dylib libcups.2.dylib
f 0755 root sys $LIBDIR/libcupscgi.1.dylib cgi-bin/libcupscgi.1.dylib nostrip()
f 0555 root sys $LIBDIR/libcupscgi.1.dylib cgi-bin/libcupscgi.1.dylib nostrip()
l 0755 root sys $LIBDIR/libcupscgi.dylib libcupscgi.1.dylib
f 0755 root sys $LIBDIR/libcupsdriver.1.dylib driver/libcupsdriver.1.dylib nostrip()
f 0555 root sys $LIBDIR/libcupsdriver.1.dylib driver/libcupsdriver.1.dylib nostrip()
l 0755 root sys $LIBDIR/libcupsdriver.dylib libcupsdriver.1.dylib
f 0755 root sys $LIBDIR/libcupsimage.2.dylib filter/libcupsimage.2.dylib nostrip()
f 0555 root sys $LIBDIR/libcupsimage.2.dylib filter/libcupsimage.2.dylib nostrip()
l 0755 root sys $LIBDIR/libcupsimage.dylib libcupsimage.2.dylib
f 0755 root sys $LIBDIR/libcupsmime.1.dylib scheduler/libcupsmime.1.dylib nostrip()
f 0555 root sys $LIBDIR/libcupsmime.1.dylib scheduler/libcupsmime.1.dylib nostrip()
l 0755 root sys $LIBDIR/libcupsmime.dylib libcupsmime.1.dylib
f 0755 root sys $LIBDIR/libcupsppdc.1.dylib ppdc/libcupsppdc.1.dylib nostrip()
f 0555 root sys $LIBDIR/libcupsppdc.1.dylib ppdc/libcupsppdc.1.dylib nostrip()
l 0755 root sys $LIBDIR/libcupsppdc.dylib libcupsppdc.1.dylib
%system !hpux !aix !darwin
f 0755 root sys $LIBDIR/libcups.so.2 cups/libcups.so.2 nostrip()
f 0555 root sys $LIBDIR/libcups.so.2 cups/libcups.so.2 nostrip()
l 0755 root sys $LIBDIR/libcups.so libcups.so.2
f 0755 root sys $LIBDIR/libcupscgi.so.1 cgi-bin/libcupscgi.so.1 nostrip()
f 0555 root sys $LIBDIR/libcupscgi.so.1 cgi-bin/libcupscgi.so.1 nostrip()
l 0755 root sys $LIBDIR/libcupscgi.so libcupscgi.so.1
f 0755 root sys $LIBDIR/libcupsdriver.so.1 driver/libcupsdriver.so.1 nostrip()
f 0555 root sys $LIBDIR/libcupsdriver.so.1 driver/libcupsdriver.so.1 nostrip()
l 0755 root sys $LIBDIR/libcupsdriver.so libcupsdriver.so.1
f 0755 root sys $LIBDIR/libcupsimage.so.2 filter/libcupsimage.so.2 nostrip()
f 0555 root sys $LIBDIR/libcupsimage.so.2 filter/libcupsimage.so.2 nostrip()
l 0755 root sys $LIBDIR/libcupsimage.so libcupsimage.so.2
f 0755 root sys $LIBDIR/libcupsmime.so.1 scheduler/libcupsmime.so.1 nostrip()
f 0555 root sys $LIBDIR/libcupsmime.so.1 scheduler/libcupsmime.so.1 nostrip()
l 0755 root sys $LIBDIR/libcupsmime.so libcupsmime.so.1
f 0755 root sys $LIBDIR/libcupsppdc.so.1 ppdc/libcupsppdc.so.1 nostrip()
f 0555 root sys $LIBDIR/libcupsppdc.so.1 ppdc/libcupsppdc.so.1 nostrip()
l 0755 root sys $LIBDIR/libcupsppdc.so libcupsppdc.so.1
%system all
%subpackage
@@ -420,17 +420,17 @@ l 0755 root sys $LIBDIR/libcupsppdc.so libcupsppdc.so.1
%if LIB32DIR
%subpackage libs
f 0755 root sys $LIB32DIR/libcups.so.2 cups/libcups.32.so.2 nostrip()
f 0555 root sys $LIB32DIR/libcups.so.2 cups/libcups.32.so.2 nostrip()
l 0755 root sys $LIB32DIR/libcups.so libcups.so.2
f 0755 root sys $LIB32DIR/libcupscgi.so.1 cgi-bin/libcupscgi.32.so.1 nostrip()
f 0555 root sys $LIB32DIR/libcupscgi.so.1 cgi-bin/libcupscgi.32.so.1 nostrip()
l 0755 root sys $LIB32DIR/libcupscgi.so libcupscgi.so.1
f 0755 root sys $LIB32DIR/libcupsdriver.so.1 driver/libcupsdriver.32.so.1 nostrip()
f 0555 root sys $LIB32DIR/libcupsdriver.so.1 driver/libcupsdriver.32.so.1 nostrip()
l 0755 root sys $LIB32DIR/libcupsdriver.so libcupsdriver.so.1
f 0755 root sys $LIB32DIR/libcupsimage.so.2 filter/libcupsimage.32.so.2 nostrip()
f 0555 root sys $LIB32DIR/libcupsimage.so.2 filter/libcupsimage.32.so.2 nostrip()
l 0755 root sys $LIB32DIR/libcupsimage.so libcupsimage.so.2
f 0755 root sys $LIB32DIR/libcupsmime.so.1 scheduler/libcupsmime.32.so.1 nostrip()
f 0555 root sys $LIB32DIR/libcupsmime.so.1 scheduler/libcupsmime.32.so.1 nostrip()
l 0755 root sys $LIB32DIR/libcupsmime.so libcupsmime.so.1
f 0755 root sys $LIB32DIR/libcupsppdc.so.1 ppdc/libcupsppdc.32.so.1 nostrip()
f 0555 root sys $LIB32DIR/libcupsppdc.so.1 ppdc/libcupsppdc.32.so.1 nostrip()
l 0755 root sys $LIB32DIR/libcupsppdc.so libcupsppdc.so.1
%system all
%subpackage
@@ -438,17 +438,17 @@ l 0755 root sys $LIB32DIR/libcupsppdc.so libcupsppdc.so.1
%if LIB64DIR
%subpackage libs
f 0755 root sys $LIB64DIR/libcups.so.2 cups/libcups.64.so.2 nostrip()
f 0555 root sys $LIB64DIR/libcups.so.2 cups/libcups.64.so.2 nostrip()
l 0755 root sys $LIB64DIR/libcups.so libcups.so.2
f 0755 root sys $LIB64DIR/libcupscgi.so.1 cgi-bin/libcupscgi.64.so.1 nostrip()
f 0555 root sys $LIB64DIR/libcupscgi.so.1 cgi-bin/libcupscgi.64.so.1 nostrip()
l 0755 root sys $LIB64DIR/libcupscgi.so libcupscgi.so.1
f 0755 root sys $LIB64DIR/libcupsdriver.so.1 driver/libcupsdriver.64.so.1 nostrip()
f 0555 root sys $LIB64DIR/libcupsdriver.so.1 driver/libcupsdriver.64.so.1 nostrip()
l 0755 root sys $LIB64DIR/libcupsdriver.so libcupsdriver.so.1
f 0755 root sys $LIB64DIR/libcupsimage.so.2 filter/libcupsimage.64.so.2 nostrip()
f 0555 root sys $LIB64DIR/libcupsimage.so.2 filter/libcupsimage.64.so.2 nostrip()
l 0755 root sys $LIB64DIR/libcupsimage.so libcupsimage.so.2
f 0755 root sys $LIB64DIR/libcupsmime.so.1 scheduler/libcupsmime.64.so.1 nostrip()
f 0555 root sys $LIB64DIR/libcupsmime.so.1 scheduler/libcupsmime.64.so.1 nostrip()
l 0755 root sys $LIB64DIR/libcupsmime.so libcupsmime.so.1
f 0755 root sys $LIB64DIR/libcupsppdc.so.1 ppdc/libcupsppdc.64.so.1 nostrip()
f 0555 root sys $LIB64DIR/libcupsppdc.so.1 ppdc/libcupsppdc.64.so.1 nostrip()
l 0755 root sys $LIB64DIR/libcupsppdc.so libcupsppdc.so.1
%system all
%subpackage
@@ -465,102 +465,106 @@ d 0755 root $CUPS_GROUP $STATEDIR -
d 0511 root $CUPS_PRIMARY_SYSTEM_GROUP $STATEDIR/certs -
# Data files
#f 0644 root sys $LOCALEDIR/da/cups_da.po locale/cups_da.po
#f 0644 root sys $LOCALEDIR/de/cups_de.po locale/cups_de.po
f 0644 root sys $LOCALEDIR/es/cups_es.po locale/cups_es.po
#f 0644 root sys $LOCALEDIR/et/cups_et.po locale/cups_et.po
#f 0644 root sys $LOCALEDIR/fi/cups_fi.po locale/cups_fi.po
#f 0644 root sys $LOCALEDIR/fr/cups_fr.po locale/cups_fr.po
#f 0644 root sys $LOCALEDIR/he/cups_he.po locale/cups_he.po
#f 0644 root sys $LOCALEDIR/it/cups_it.po locale/cups_it.po
#f 0644 root sys $LOCALEDIR/ja/cups_ja.po locale/cups_ja.po
#f 0644 root sys $LOCALEDIR/ko/cups_ko.po locale/cups_ko.po
#f 0644 root sys $LOCALEDIR/nl/cups_nl.po locale/cups_nl.po
#f 0644 root sys $LOCALEDIR/no/cups_no.po locale/cups_no.po
#f 0644 root sys $LOCALEDIR/pl/cups_pl.po locale/cups_pl.po
#f 0644 root sys $LOCALEDIR/pt/cups_pt.po locale/cups_pt.po
#f 0644 root sys $LOCALEDIR/pt_BR/cups_pt_BR.po locale/cups_pt_BR.po
#f 0644 root sys $LOCALEDIR/ru/cups_ru.po locale/cups_ru.po
#f 0644 root sys $LOCALEDIR/sv/cups_sv.po locale/cups_sv.po
#f 0644 root sys $LOCALEDIR/zh/cups_zh.po locale/cups_zh.po
#f 0644 root sys $LOCALEDIR/zh_TW/cups_zh_TW.po locale/cups_zh_TW.po
#f 0444 root sys $LOCALEDIR/da/cups_da.po locale/cups_da.po
#f 0444 root sys $LOCALEDIR/de/cups_de.po locale/cups_de.po
f 0444 root sys $LOCALEDIR/es/cups_es.po locale/cups_es.po
#f 0444 root sys $LOCALEDIR/et/cups_et.po locale/cups_et.po
f 0444 root sys $LOCALEDIR/eu/cups_eu.po locale/cups_eu.po
#f 0444 root sys $LOCALEDIR/fi/cups_fi.po locale/cups_fi.po
#f 0444 root sys $LOCALEDIR/fr/cups_fr.po locale/cups_fr.po
#f 0444 root sys $LOCALEDIR/he/cups_he.po locale/cups_he.po
#f 0444 root sys $LOCALEDIR/it/cups_it.po locale/cups_it.po
#f 0444 root sys $LOCALEDIR/ja/cups_ja.po locale/cups_ja.po
#f 0444 root sys $LOCALEDIR/ko/cups_ko.po locale/cups_ko.po
#f 0444 root sys $LOCALEDIR/nl/cups_nl.po locale/cups_nl.po
#f 0444 root sys $LOCALEDIR/no/cups_no.po locale/cups_no.po
#f 0444 root sys $LOCALEDIR/pl/cups_pl.po locale/cups_pl.po
#f 0444 root sys $LOCALEDIR/pt/cups_pt.po locale/cups_pt.po
#f 0444 root sys $LOCALEDIR/pt_BR/cups_pt_BR.po locale/cups_pt_BR.po
#f 0444 root sys $LOCALEDIR/ru/cups_ru.po locale/cups_ru.po
#f 0444 root sys $LOCALEDIR/sv/cups_sv.po locale/cups_sv.po
#f 0444 root sys $LOCALEDIR/zh/cups_zh.po locale/cups_zh.po
#f 0444 root sys $LOCALEDIR/zh_TW/cups_zh_TW.po locale/cups_zh_TW.po
d 0755 root sys $DATADIR -
d 0755 root sys $DATADIR/banners -
f 0644 root sys $DATADIR/banners/classified data/classified
f 0644 root sys $DATADIR/banners/confidential data/confidential
f 0644 root sys $DATADIR/banners/secret data/secret
f 0644 root sys $DATADIR/banners/standard data/standard
f 0644 root sys $DATADIR/banners/topsecret data/topsecret
f 0644 root sys $DATADIR/banners/unclassified data/unclassified
f 0444 root sys $DATADIR/banners/classified data/classified
f 0444 root sys $DATADIR/banners/confidential data/confidential
f 0444 root sys $DATADIR/banners/secret data/secret
f 0444 root sys $DATADIR/banners/standard data/standard
f 0444 root sys $DATADIR/banners/topsecret data/topsecret
f 0444 root sys $DATADIR/banners/unclassified data/unclassified
d 0755 root sys $DATADIR/charmaps -
f 0644 root sys $DATADIR/charmaps data/*.txt
f 0444 root sys $DATADIR/charmaps data/*.txt
d 0755 root sys $DATADIR/charsets -
f 0644 root sys $DATADIR/charsets/utf-8 data/utf-8
f 0444 root sys $DATADIR/charsets/utf-8 data/utf-8
d 0755 root sys $DATADIR/data -
f 0644 root sys $DATADIR/data/HPGLprolog data/HPGLprolog
f 0644 root sys $DATADIR/data/psglyphs data/psglyphs
f 0644 root sys $DATADIR/data/testprint data/testprint
f 0444 root sys $DATADIR/data/HPGLprolog data/HPGLprolog
f 0444 root sys $DATADIR/data/psglyphs data/psglyphs
f 0444 root sys $DATADIR/data/testprint data/testprint
d 0755 root sys $DATADIR/drv -
f 0644 root sys $DATADIR/drv/sample.drv ppdc/sample.drv
f 0444 root sys $DATADIR/drv/sample.drv ppdc/sample.drv
d 0755 root sys $DATADIR/examples -
f 0644 root sys $DATADIR/examples examples/*.drv
f 0444 root sys $DATADIR/examples examples/*.drv
d 0755 root sys $DATADIR/fonts -
f 0644 root sys $DATADIR/fonts fonts/Monospace*
f 0444 root sys $DATADIR/fonts fonts/Monospace*
d 0755 root sys $DATADIR/mime -
f 0644 root sys $DATADIR/mime/mime.convs conf/mime.convs
f 0644 root sys $DATADIR/mime/mime.types conf/mime.types
f 0444 root sys $DATADIR/mime/mime.convs conf/mime.convs
f 0444 root sys $DATADIR/mime/mime.types conf/mime.types
d 0755 root sys $DATADIR/model -
d 0755 root sys $DATADIR/ppdc -
f 0644 root sys $DATADIR/ppdc data/*.defs
f 0644 root sys $DATADIR/ppdc data/*.h
f 0444 root sys $DATADIR/ppdc data/*.defs
f 0444 root sys $DATADIR/ppdc data/*.h
d 0755 root sys $DATADIR/templates -
f 0644 root sys $DATADIR/templates templates/*.tmpl
f 0444 root sys $DATADIR/templates templates/*.tmpl
## Template files
#d 0755 root sys $DATADIR/templates/de
#f 0644 root sys $DATADIR/templates/de templates/de/*.tmpl
#f 0444 root sys $DATADIR/templates/de templates/de/*.tmpl
d 0755 root sys $DATADIR/templates/es
f 0644 root sys $DATADIR/templates/es templates/es/*.tmpl
f 0444 root sys $DATADIR/templates/es templates/es/*.tmpl
#d 0755 root sys $DATADIR/templates/et
#f 0644 root sys $DATADIR/templates/et templates/et/*.tmpl
#f 0444 root sys $DATADIR/templates/et templates/et/*.tmpl
d 0755 root sys $DATADIR/templates/eu
f 0444 root sys $DATADIR/templates/eu templates/eu/*.tmpl
#d 0755 root sys $DATADIR/templates/fr
#f 0644 root sys $DATADIR/templates/fr templates/fr/*.tmpl
#f 0444 root sys $DATADIR/templates/fr templates/fr/*.tmpl
#d 0755 root sys $DATADIR/templates/he
#f 0644 root sys $DATADIR/templates/he templates/he/*.tmpl
#f 0444 root sys $DATADIR/templates/he templates/he/*.tmpl
#d 0755 root sys $DATADIR/templates/it
#f 0644 root sys $DATADIR/templates/it templates/it/*.tmpl
#f 0444 root sys $DATADIR/templates/it templates/it/*.tmpl
d 0755 root sys $DATADIR/templates/ja
f 0644 root sys $DATADIR/templates/ja templates/ja/*.tmpl
f 0444 root sys $DATADIR/templates/ja templates/ja/*.tmpl
d 0755 root sys $DATADIR/templates/pl
f 0644 root sys $DATADIR/templates/pl templates/pl/*.tmpl
f 0444 root sys $DATADIR/templates/pl templates/pl/*.tmpl
d 0755 root sys $DATADIR/templates/ru
f 0644 root sys $DATADIR/templates/ru templates/ru/*.tmpl
f 0444 root sys $DATADIR/templates/ru templates/ru/*.tmpl
#d 0755 root sys $DATADIR/templates/sv
#f 0644 root sys $DATADIR/templates/sv templates/sv/*.tmpl
#f 0444 root sys $DATADIR/templates/sv templates/sv/*.tmpl
#d 0755 root sys $DATADIR/templates/zh_TW
#f 0644 root sys $DATADIR/templates/zh_TW templates/zh_TW/*.tmpl
#f 0444 root sys $DATADIR/templates/zh_TW templates/zh_TW/*.tmpl
# Config files
d 0755 root sys $SERVERROOT -
@@ -577,102 +581,105 @@ c 0644 root sys $PAMDIR/cups conf/@PAMFILE@
%subpackage devel
# Developer files
f 0755 root sys $BINDIR/cups-config cups-config
f 0555 root sys $BINDIR/cups-config cups-config
d 0755 root sys $INCLUDEDIR/cups -
f 0644 root sys $INCLUDEDIR/cups/adminutil.h cups/adminutil.h
f 0644 root sys $INCLUDEDIR/cups/array.h cups/array.h
f 0644 root sys $INCLUDEDIR/cups/backend.h cups/backend.h
f 0644 root sys $INCLUDEDIR/cups/cups.h cups/cups.h
f 0644 root sys $INCLUDEDIR/cups/dir.h cups/dir.h
f 0644 root sys $INCLUDEDIR/cups/driver.h driver/driver.h
f 0644 root sys $INCLUDEDIR/cups/file.h cups/file.h
f 0644 root sys $INCLUDEDIR/cups/http.h cups/http.h
f 0644 root sys $INCLUDEDIR/cups/image.h filter/image.h
f 0644 root sys $INCLUDEDIR/cups/ipp.h cups/ipp.h
f 0644 root sys $INCLUDEDIR/cups/mime.h scheduler/mime.h
f 0644 root sys $INCLUDEDIR/cups/language.h cups/language.h
f 0644 root sys $INCLUDEDIR/cups/ppd.h cups/ppd.h
f 0644 root sys $INCLUDEDIR/cups/raster.h cups/raster.h
f 0644 root sys $INCLUDEDIR/cups/transcode.h cups/transcode.h
f 0444 root sys $INCLUDEDIR/cups/adminutil.h cups/adminutil.h
f 0444 root sys $INCLUDEDIR/cups/array.h cups/array.h
f 0444 root sys $INCLUDEDIR/cups/backend.h cups/backend.h
f 0444 root sys $INCLUDEDIR/cups/cups.h cups/cups.h
f 0444 root sys $INCLUDEDIR/cups/dir.h cups/dir.h
f 0444 root sys $INCLUDEDIR/cups/driver.h driver/driver.h
f 0444 root sys $INCLUDEDIR/cups/file.h cups/file.h
f 0444 root sys $INCLUDEDIR/cups/http.h cups/http.h
f 0444 root sys $INCLUDEDIR/cups/image.h filter/image.h
f 0444 root sys $INCLUDEDIR/cups/ipp.h cups/ipp.h
f 0444 root sys $INCLUDEDIR/cups/mime.h scheduler/mime.h
f 0444 root sys $INCLUDEDIR/cups/language.h cups/language.h
f 0444 root sys $INCLUDEDIR/cups/ppd.h cups/ppd.h
f 0444 root sys $INCLUDEDIR/cups/raster.h cups/raster.h
f 0444 root sys $INCLUDEDIR/cups/transcode.h cups/transcode.h
%if INSTALLSTATIC
f 0644 root sys $LIBDIR/libcups.a cups/libcups.a
f 0644 root sys $LIBDIR/libcupscgi.a cgi-bin/libcupscgi.a
f 0644 root sys $LIBDIR/libcupsdriver.a driver/libcupsdriver.a
f 0644 root sys $LIBDIR/libcupsimage.a filter/libcupsimage.a
f 0644 root sys $LIBDIR/libcupsmime.a scheduler/libcupsmime.a
f 0644 root sys $LIBDIR/libcupsppdc.a ppdc/libcupsppdc.a
f 0444 root sys $LIBDIR/libcups.a cups/libcups.a
f 0444 root sys $LIBDIR/libcupscgi.a cgi-bin/libcupscgi.a
f 0444 root sys $LIBDIR/libcupsdriver.a driver/libcupsdriver.a
f 0444 root sys $LIBDIR/libcupsimage.a filter/libcupsimage.a
f 0444 root sys $LIBDIR/libcupsmime.a scheduler/libcupsmime.a
f 0444 root sys $LIBDIR/libcupsppdc.a ppdc/libcupsppdc.a
%endif
d 0755 root sys $DOCDIR/help -
f 0644 root sys $DOCDIR/help doc/help/api*.html
f 0644 root sys $DOCDIR/help/postscript-driver.html doc/help/postscript-driver.html
f 0644 root sys $DOCDIR/help/ppd-compiler.html doc/help/ppd-compiler.html
f 0644 root sys $DOCDIR/help/raster-driver.html doc/help/raster-driver.html
f 0644 root sys $DOCDIR/help doc/help/spec*.html
f 0444 root sys $DOCDIR/help doc/help/api*.html
f 0444 root sys $DOCDIR/help/postscript-driver.html doc/help/postscript-driver.html
f 0444 root sys $DOCDIR/help/ppd-compiler.html doc/help/ppd-compiler.html
f 0444 root sys $DOCDIR/help/raster-driver.html doc/help/raster-driver.html
f 0444 root sys $DOCDIR/help doc/help/spec*.html
%subpackage
# Documentation files
d 0755 root sys $DOCDIR -
f 0644 root sys $DOCDIR doc/*.css
f 0644 root sys $DOCDIR doc/*.html
f 0444 root sys $DOCDIR doc/*.css
f 0444 root sys $DOCDIR doc/*.html
d 0755 root sys $DOCDIR/help -
f 0644 root sys $DOCDIR/help/accounting.html doc/help/accounting.html
f 0644 root sys $DOCDIR/help/cgi.html doc/help/cgi.html
f 0644 root sys $DOCDIR/help/glossary.html doc/help/glossary.html
f 0644 root sys $DOCDIR/help/kerberos.html doc/help/kerberos.html
f 0644 root sys $DOCDIR/help/license.html doc/help/license.html
f 0644 root sys $DOCDIR/help/network.html doc/help/network.html
f 0644 root sys $DOCDIR/help/options.html doc/help/options.html
f 0644 root sys $DOCDIR/help/overview.html doc/help/overview.html
f 0644 root sys $DOCDIR/help/policies.html doc/help/policies.html
f 0644 root sys $DOCDIR/help/security.html doc/help/security.html
f 0644 root sys $DOCDIR/help/sharing.html doc/help/sharing.html
f 0644 root sys $DOCDIR/help/standard.html doc/help/standard.html
f 0644 root sys $DOCDIR/help/translation.html doc/help/translation.html
f 0644 root sys $DOCDIR/help/whatsnew.html doc/help/whatsnew.html
f 0644 root sys $DOCDIR/help doc/help/man-*.html
f 0644 root sys $DOCDIR/help doc/help/ref-*.html
f 0444 root sys $DOCDIR/help/accounting.html doc/help/accounting.html
f 0444 root sys $DOCDIR/help/cgi.html doc/help/cgi.html
f 0444 root sys $DOCDIR/help/glossary.html doc/help/glossary.html
f 0444 root sys $DOCDIR/help/kerberos.html doc/help/kerberos.html
f 0444 root sys $DOCDIR/help/license.html doc/help/license.html
f 0444 root sys $DOCDIR/help/network.html doc/help/network.html
f 0444 root sys $DOCDIR/help/options.html doc/help/options.html
f 0444 root sys $DOCDIR/help/overview.html doc/help/overview.html
f 0444 root sys $DOCDIR/help/policies.html doc/help/policies.html
f 0444 root sys $DOCDIR/help/security.html doc/help/security.html
f 0444 root sys $DOCDIR/help/sharing.html doc/help/sharing.html
f 0444 root sys $DOCDIR/help/standard.html doc/help/standard.html
f 0444 root sys $DOCDIR/help/translation.html doc/help/translation.html
f 0444 root sys $DOCDIR/help/whatsnew.html doc/help/whatsnew.html
f 0444 root sys $DOCDIR/help doc/help/man-*.html
f 0444 root sys $DOCDIR/help doc/help/ref-*.html
d 0755 root sys $DOCDIR/images -
f 0644 root sys $DOCDIR/images doc/images/*.gif
f 0644 root sys $DOCDIR/images doc/images/*.jpg
f 0644 root sys $DOCDIR/images doc/images/*.png
f 0644 root sys $DOCDIR/robots.txt doc/robots.txt
f 0444 root sys $DOCDIR/images doc/images/*.gif
f 0444 root sys $DOCDIR/images doc/images/*.jpg
f 0444 root sys $DOCDIR/images doc/images/*.png
f 0444 root sys $DOCDIR/robots.txt doc/robots.txt
# Localized documentation files
#d 0755 root sys $DOCDIR/de
#f 0644 root sys $DOCDIR/de doc/de/*.html
#f 0444 root sys $DOCDIR/de doc/de/*.html
d 0755 root sys $DOCDIR/es
f 0644 root sys $DOCDIR/es doc/es/*.html
f 0444 root sys $DOCDIR/es doc/es/*.html
#d 0755 root sys $DOCDIR/et
#f 0644 root sys $DOCDIR/et doc/et/*.html
#f 0444 root sys $DOCDIR/et doc/et/*.html
d 0755 root sys $DOCDIR/eu
f 0444 root sys $DOCDIR/eu doc/eu/*.html
#d 0755 root sys $DOCDIR/fr
#f 0644 root sys $DOCDIR/fr doc/fr/*.html
#f 0444 root sys $DOCDIR/fr doc/fr/*.html
#d 0755 root sys $DOCDIR/he
#f 0644 root sys $DOCDIR/he doc/he/*.html
#f 0644 root sys $DOCDIR/he/cups.css doc/he/cups.css
#f 0444 root sys $DOCDIR/he doc/he/*.html
#f 0444 root sys $DOCDIR/he/cups.css doc/he/cups.css
#d 0755 root sys $DOCDIR/it
#f 0644 root sys $DOCDIR/it doc/it/*.html
#f 0444 root sys $DOCDIR/it doc/it/*.html
d 0755 root sys $DOCDIR/ja
f 0644 root sys $DOCDIR/ja doc/ja/*.html
f 0444 root sys $DOCDIR/ja doc/ja/*.html
d 0755 root sys $DOCDIR/pl
f 0644 root sys $DOCDIR/pl doc/pl/*.html
f 0444 root sys $DOCDIR/pl doc/pl/*.html
d 0755 root sys $DOCDIR/ru
f 0644 root sys $DOCDIR/ru doc/ru/*.html
f 0444 root sys $DOCDIR/ru doc/ru/*.html
#d 0755 root sys $DOCDIR/sv
#f 0644 root sys $DOCDIR/sv doc/sv/*.html
#f 0444 root sys $DOCDIR/sv doc/sv/*.html
#d 0755 root sys $DOCDIR/zh_TW
#f 0644 root sys $DOCDIR/zh_TW doc/zh_TW/*.html
#f 0444 root sys $DOCDIR/zh_TW doc/zh_TW/*.html
# Man pages
d 0755 root sys $AMANDIR -
@@ -682,60 +689,60 @@ d 0755 root sys $MANDIR/man1 -
d 0755 root sys $MANDIR/man5 -
d 0755 root sys $MANDIR/man7 -
f 0644 root sys $MANDIR/man1/cancel.$MAN1EXT man/cancel.$MAN1EXT
f 0644 root sys $MANDIR/man1/cupstestdsc.$MAN1EXT man/cupstestdsc.$MAN1EXT
f 0644 root sys $MANDIR/man1/cupstestppd.$MAN1EXT man/cupstestppd.$MAN1EXT
f 0644 root sys $MANDIR/man1/lpoptions.$MAN1EXT man/lpoptions.$MAN1EXT
f 0644 root sys $MANDIR/man1/lppasswd.$MAN1EXT man/lppasswd.$MAN1EXT
f 0644 root sys $MANDIR/man1/lpq.$MAN1EXT man/lpq.$MAN1EXT
f 0644 root sys $MANDIR/man1/lprm.$MAN1EXT man/lprm.$MAN1EXT
f 0644 root sys $MANDIR/man1/lpr.$MAN1EXT man/lpr.$MAN1EXT
f 0644 root sys $MANDIR/man1/lpstat.$MAN1EXT man/lpstat.$MAN1EXT
f 0644 root sys $MANDIR/man1/lp.$MAN1EXT man/lp.$MAN1EXT
f 0444 root sys $MANDIR/man1/cancel.$MAN1EXT man/cancel.$MAN1EXT
f 0444 root sys $MANDIR/man1/cupstestdsc.$MAN1EXT man/cupstestdsc.$MAN1EXT
f 0444 root sys $MANDIR/man1/cupstestppd.$MAN1EXT man/cupstestppd.$MAN1EXT
f 0444 root sys $MANDIR/man1/lpoptions.$MAN1EXT man/lpoptions.$MAN1EXT
f 0444 root sys $MANDIR/man1/lppasswd.$MAN1EXT man/lppasswd.$MAN1EXT
f 0444 root sys $MANDIR/man1/lpq.$MAN1EXT man/lpq.$MAN1EXT
f 0444 root sys $MANDIR/man1/lprm.$MAN1EXT man/lprm.$MAN1EXT
f 0444 root sys $MANDIR/man1/lpr.$MAN1EXT man/lpr.$MAN1EXT
f 0444 root sys $MANDIR/man1/lpstat.$MAN1EXT man/lpstat.$MAN1EXT
f 0444 root sys $MANDIR/man1/lp.$MAN1EXT man/lp.$MAN1EXT
f 0644 root sys $MANDIR/man5/classes.conf.$MAN5EXT man/classes.conf.$MAN5EXT
f 0644 root sys $MANDIR/man5/cupsd.conf.$MAN5EXT man/cupsd.conf.$MAN5EXT
f 0644 root sys $MANDIR/man5/mailto.conf.$MAN5EXT man/mailto.conf.$MAN5EXT
f 0644 root sys $MANDIR/man5/mime.convs.$MAN5EXT man/mime.convs.$MAN5EXT
f 0644 root sys $MANDIR/man5/mime.types.$MAN5EXT man/mime.types.$MAN5EXT
f 0644 root sys $MANDIR/man5/printers.conf.$MAN5EXT man/printers.conf.$MAN5EXT
f 0444 root sys $MANDIR/man5/classes.conf.$MAN5EXT man/classes.conf.$MAN5EXT
f 0444 root sys $MANDIR/man5/cupsd.conf.$MAN5EXT man/cupsd.conf.$MAN5EXT
f 0444 root sys $MANDIR/man5/mailto.conf.$MAN5EXT man/mailto.conf.$MAN5EXT
f 0444 root sys $MANDIR/man5/mime.convs.$MAN5EXT man/mime.convs.$MAN5EXT
f 0444 root sys $MANDIR/man5/mime.types.$MAN5EXT man/mime.types.$MAN5EXT
f 0444 root sys $MANDIR/man5/printers.conf.$MAN5EXT man/printers.conf.$MAN5EXT
f 0644 root sys $MANDIR/man7/drv.$MAN7EXT man/drv.$MAN7EXT
f 0444 root sys $MANDIR/man7/drv.$MAN7EXT man/drv.$MAN7EXT
l 0644 root sys $AMANDIR/man$MAN8DIR/accept.$MAN8EXT cupsaccept.$MAN8EXT
f 0644 root sys $AMANDIR/man$MAN8DIR/cupsaccept.$MAN8EXT man/cupsaccept.$MAN8EXT
f 0444 root sys $AMANDIR/man$MAN8DIR/cupsaccept.$MAN8EXT man/cupsaccept.$MAN8EXT
l 0644 root sys $AMANDIR/man$MAN8DIR/cupsreject.$MAN8EXT cupsaccept.$MAN8EXT
f 0644 root sys $AMANDIR/man$MAN8DIR/cupsaddsmb.$MAN8EXT man/cupsaddsmb.$MAN8EXT
f 0644 root sys $AMANDIR/man$MAN8DIR/cupsctl.$MAN8EXT man/cupsctl.$MAN8EXT
f 0644 root sys $AMANDIR/man$MAN8DIR/cupsfilter.$MAN8EXT man/cupsfilter.$MAN8EXT
f 0644 root sys $AMANDIR/man$MAN8DIR/cups-polld.$MAN8EXT man/cups-polld.$MAN8EXT
f 0644 root sys $AMANDIR/man$MAN8DIR/cupsd.$MAN8EXT man/cupsd.$MAN8EXT
f 0644 root sys $AMANDIR/man$MAN8DIR/cupsenable.$MAN8EXT man/cupsenable.$MAN8EXT
f 0444 root sys $AMANDIR/man$MAN8DIR/cupsaddsmb.$MAN8EXT man/cupsaddsmb.$MAN8EXT
f 0444 root sys $AMANDIR/man$MAN8DIR/cupsctl.$MAN8EXT man/cupsctl.$MAN8EXT
f 0444 root sys $AMANDIR/man$MAN8DIR/cupsfilter.$MAN8EXT man/cupsfilter.$MAN8EXT
f 0444 root sys $AMANDIR/man$MAN8DIR/cups-polld.$MAN8EXT man/cups-polld.$MAN8EXT
f 0444 root sys $AMANDIR/man$MAN8DIR/cupsd.$MAN8EXT man/cupsd.$MAN8EXT
f 0444 root sys $AMANDIR/man$MAN8DIR/cupsenable.$MAN8EXT man/cupsenable.$MAN8EXT
l 0644 root sys $AMANDIR/man$MAN8DIR/cupsdisable.$MAN8EXT cupsenable.$MAN8EXT
l 0644 root sys $AMANDIR/man$MAN8DIR/disable.$MAN8EXT cupsenable.$MAN8EXT
l 0644 root sys $AMANDIR/man$MAN8DIR/enable.$MAN8EXT cupsenable.$MAN8EXT
f 0644 root sys $AMANDIR/man$MAN8DIR/lpadmin.$MAN8EXT man/lpadmin.$MAN8EXT
f 0644 root sys $AMANDIR/man$MAN8DIR/lpc.$MAN8EXT man/lpc.$MAN8EXT
f 0644 root sys $AMANDIR/man$MAN8DIR/lpinfo.$MAN8EXT man/lpinfo.$MAN8EXT
f 0644 root sys $AMANDIR/man$MAN8DIR/lpmove.$MAN8EXT man/lpmove.$MAN8EXT
f 0444 root sys $AMANDIR/man$MAN8DIR/lpadmin.$MAN8EXT man/lpadmin.$MAN8EXT
f 0444 root sys $AMANDIR/man$MAN8DIR/lpc.$MAN8EXT man/lpc.$MAN8EXT
f 0444 root sys $AMANDIR/man$MAN8DIR/lpinfo.$MAN8EXT man/lpinfo.$MAN8EXT
f 0444 root sys $AMANDIR/man$MAN8DIR/lpmove.$MAN8EXT man/lpmove.$MAN8EXT
l 0644 root sys $AMANDIR/man$MAN8DIR/reject.$MAN8EXT cupsaccept.$MAN8EXT
%subpackage devel
f 0644 root sys $MANDIR/man1/cups-config.$MAN1EXT man/cups-config.$MAN1EXT
f 0644 root sys $MANDIR/man1/ man/ppd*.$MAN1EXT
f 0644 root sys $MANDIR/man5/ppdcfile.$MAN5EXT man/ppdcfile.$MAN5EXT
f 0644 root sys $MANDIR/man7/backend.$MAN7EXT man/backend.$MAN7EXT
f 0644 root sys $MANDIR/man7/filter.$MAN7EXT man/filter.$MAN7EXT
f 0644 root sys $MANDIR/man7/notifier.$MAN7EXT man/notifier.$MAN7EXT
f 0444 root sys $MANDIR/man1/cups-config.$MAN1EXT man/cups-config.$MAN1EXT
f 0444 root sys $MANDIR/man1/ man/ppd*.$MAN1EXT
f 0444 root sys $MANDIR/man5/ppdcfile.$MAN5EXT man/ppdcfile.$MAN5EXT
f 0444 root sys $MANDIR/man7/backend.$MAN7EXT man/backend.$MAN7EXT
f 0444 root sys $MANDIR/man7/filter.$MAN7EXT man/filter.$MAN7EXT
f 0444 root sys $MANDIR/man7/notifier.$MAN7EXT man/notifier.$MAN7EXT
%subpackage lpd
d 0755 root sys $AMANDIR/man$MAN8DIR -
f 0644 root sys $AMANDIR/man$MAN8DIR/cups-lpd.$MAN8EXT man/cups-lpd.$MAN8EXT
f 0444 root sys $AMANDIR/man$MAN8DIR/cups-lpd.$MAN8EXT man/cups-lpd.$MAN8EXT
%subpackage
# Startup scripts
%system darwin
f 0644 root sys /System/Library/LaunchDaemons/org.cups.cupsd.plist init/org.cups.cupsd.plist
f 0444 root sys /System/Library/LaunchDaemons/org.cups.cupsd.plist init/org.cups.cupsd.plist
%preremove <<EOF
launchctl unload /System/Library/LaunchDaemons/org.cups.cupsd.plist || exit 0
killall cupsd || exit 0
@@ -748,7 +755,7 @@ EOF
launchctl load -D system /System/Library/LaunchDaemons/org.cups.cupsd.plist
EOF
%subpackage lpd
f 0644 root sys /System/Library/LaunchDaemons/org.cups.cups-lpd.plist init/org.cups.cups-lpd.plist
f 0444 root sys /System/Library/LaunchDaemons/org.cups.cups-lpd.plist init/org.cups.cups-lpd.plist
%preremove <<EOF
launchctl unload /System/Library/LaunchDaemons/org.cups.cups-lpd.plist || exit 0
EOF
@@ -765,7 +772,7 @@ EOF
i 0755 root sys cups init/cups.sh start(@RCSTART@) stop(@RCSTOP) runlevels(@RCLEVELS@)
%subpackage lpd
%if XINETD
f 0644 root sys $XINETD/cups-lpd init/cups-lpd
f 0444 root sys $XINETD/cups-lpd init/cups-lpd
%endif
%subpackage
+2
Ver Arquivo
@@ -238,6 +238,8 @@ rm -rf $RPM_BUILD_ROOT
/usr/share/doc/cups/de/*
%dir /usr/share/doc/cups/es
/usr/share/doc/cups/es/*
%dir /usr/share/doc/cups/eu
/usr/share/doc/cups/eu/*
%dir /usr/share/doc/cups/ja
/usr/share/doc/cups/ja/*
%dir /usr/share/doc/cups/pl
+72 -23
Ver Arquivo
@@ -554,6 +554,8 @@ ppdcDriver::write_ppd_file(
else if (type != PPDC_DRIVER_PS)
cupsFilePrintf(fp, "*TTRasterizer: Type42%s", lf);
struct lconv *loc = localeconv();
if (attrs->count)
{
// Write driver-defined attributes...
@@ -679,16 +681,23 @@ ppdcDriver::write_ppd_file(
for (p = (ppdcProfile *)profiles->first();
p;
p = (ppdcProfile *)profiles->next())
{
char density[255], gamma[255], profile[9][255];
_cupsStrFormatd(density, density + sizeof(density), p->density, loc);
_cupsStrFormatd(gamma, gamma + sizeof(gamma), p->gamma, loc);
for (int i = 0; i < 9; i ++)
_cupsStrFormatd(profile[i], profile[i] + sizeof(profile[0]),
p->profile[i], loc);
cupsFilePrintf(fp,
"*cupsColorProfile %s/%s: \"%.3f %.3f %.3f %.3f %.3f %.3f "
"%.3f %.3f %.3f %.3f %.3f\"%s",
p->resolution->value, p->media_type->value,
p->density, p->gamma,
p->profile[0], p->profile[1],
p->profile[2], p->profile[3],
p->profile[4], p->profile[5],
p->profile[6], p->profile[7],
p->profile[8], lf);
"*cupsColorProfile %s/%s: \"%s %s %s %s %s %s %s %s %s %s "
"%s\"%s", p->resolution->value, p->media_type->value,
density, gamma, profile[0], profile[1], profile[2],
profile[3], profile[4], profile[5], profile[6], profile[7],
profile[8], lf);
}
}
if (locales)
@@ -871,13 +880,21 @@ ppdcDriver::write_ppd_file(
cupsFilePrintf(fp, "*DefaultImageableArea: %s%s",
default_size ? default_size->value : "Letter", lf);
char left[255], right[255], bottom[255], top[255];
for (m = (ppdcMediaSize *)sizes->first();
m;
m = (ppdcMediaSize *)sizes->next())
cupsFilePrintf(fp, "*ImageableArea %s/%s: \"%.2f %.2f %.2f %.2f\"%s",
{
_cupsStrFormatd(left, left + sizeof(left), m->left, loc);
_cupsStrFormatd(bottom, bottom + sizeof(bottom), m->bottom, loc);
_cupsStrFormatd(right, right + sizeof(right), m->width - m->right, loc);
_cupsStrFormatd(top, top + sizeof(top), m->length - m->top, loc);
cupsFilePrintf(fp, "*ImageableArea %s/%s: \"%s %s %s %s\"%s",
m->name->value, catalog->find_message(m->text->value),
m->left, m->bottom, m->width - m->right, m->length - m->top,
lf);
left, bottom, right, top, lf);
}
if ((a = find_attr("?ImageableArea", NULL)) != NULL)
{
@@ -892,12 +909,19 @@ ppdcDriver::write_ppd_file(
cupsFilePrintf(fp, "*DefaultPaperDimension: %s%s",
default_size ? default_size->value : "Letter", lf);
char width[255], length[255];
for (m = (ppdcMediaSize *)sizes->first();
m;
m = (ppdcMediaSize *)sizes->next())
cupsFilePrintf(fp, "*PaperDimension %s/%s: \"%.2f %.2f\"%s",
{
_cupsStrFormatd(width, width + sizeof(width), m->width, loc);
_cupsStrFormatd(length, length + sizeof(length), m->length, loc);
cupsFilePrintf(fp, "*PaperDimension %s/%s: \"%s %s\"%s",
m->name->value, catalog->find_message(m->text->value),
m->width, m->length, lf);
width, length, lf);
}
if ((a = find_attr("?PaperDimension", NULL)) != NULL)
{
@@ -911,10 +935,18 @@ ppdcDriver::write_ppd_file(
// Custom size support...
if (variable_paper_size)
{
cupsFilePrintf(fp, "*MaxMediaWidth: \"%.2f\"%s", max_width, lf);
cupsFilePrintf(fp, "*MaxMediaHeight: \"%.2f\"%s", max_length, lf);
cupsFilePrintf(fp, "*HWMargins: %.2f %.2f %.2f %.2f\n",
left_margin, bottom_margin, right_margin, top_margin);
_cupsStrFormatd(width, width + sizeof(width), max_width, loc);
_cupsStrFormatd(length, length + sizeof(length), max_length, loc);
_cupsStrFormatd(left, left + sizeof(left), left_margin, loc);
_cupsStrFormatd(bottom, bottom + sizeof(bottom), bottom_margin, loc);
_cupsStrFormatd(right, right + sizeof(right), right_margin, loc);
_cupsStrFormatd(top, top + sizeof(top), top_margin, loc);
cupsFilePrintf(fp, "*MaxMediaWidth: \"%s\"%s", width, lf);
cupsFilePrintf(fp, "*MaxMediaHeight: \"%s\"%s", length, lf);
cupsFilePrintf(fp, "*HWMargins: %s %s %s %s%s", left, bottom, right, top,
lf);
if (custom_size_code && custom_size_code->value)
{
@@ -934,15 +966,29 @@ ppdcDriver::write_ppd_file(
cupsFilePrintf(fp, "*ParamCustomPageSize Width: %s%s", a->value->value,
lf);
else
cupsFilePrintf(fp, "*ParamCustomPageSize Width: 1 points %.2f %.2f%s",
min_width, max_width, lf);
{
char width0[255];
_cupsStrFormatd(width0, width0 + sizeof(width0), min_width, loc);
_cupsStrFormatd(width, width + sizeof(width), max_width, loc);
cupsFilePrintf(fp, "*ParamCustomPageSize Width: 1 points %s %s%s",
width0, width, lf);
}
if ((a = find_attr("ParamCustomPageSize", "Height")) != NULL)
cupsFilePrintf(fp, "*ParamCustomPageSize Height: %s%s", a->value->value,
lf);
else
cupsFilePrintf(fp, "*ParamCustomPageSize Height: 2 points %.2f %.2f%s",
min_length, max_length, lf);
{
char length0[255];
_cupsStrFormatd(length0, length0 + sizeof(length0), min_length, loc);
_cupsStrFormatd(length, length + sizeof(length), max_length, loc);
cupsFilePrintf(fp, "*ParamCustomPageSize Height: 2 points %s %s%s",
length0, length, lf);
}
if ((a = find_attr("ParamCustomPageSize", "WidthOffset")) != NULL)
cupsFilePrintf(fp, "*ParamCustomPageSize WidthOffset: %s%s",
@@ -1000,7 +1046,10 @@ ppdcDriver::write_ppd_file(
break;
}
cupsFilePrintf(fp, "*OrderDependency: %.1f ", o->order);
char order[255];
_cupsStrFormatd(order, order + sizeof(order), o->order, loc);
cupsFilePrintf(fp, "*OrderDependency: %s ", order);
switch (o->section)
{
default :
+1 -1
Ver Arquivo
@@ -1321,7 +1321,7 @@ ppdcSource::get_integer(const char *v) // I - Value string
while (*v && *v != ')')
{
// Skip leading whitespace...
while (*v && isspace(*v & 255));
while (*v && isspace(*v & 255))
v ++;
if (!*v || *v == ')')
+1
Ver Arquivo
@@ -728,6 +728,7 @@ cupsdSaveAllClasses(void)
cupsFilePuts(fp, "# Class configuration file for " CUPS_SVERSION "\n");
cupsFilePrintf(fp, "# Written by cupsd on %s\n", temp);
cupsFilePuts(fp, "# DO NOT EDIT THIS FILE WHEN CUPSD IS RUNNING\n");
/*
* Write each local class known to the system...

Alguns arquivos não foram exibidos porque demasiados arquivos foram alterados neste diff Mostrar Mais