Comparar commits

..

1 Commits

Autor SHA1 Mensagem Data
msweet 357c466e44 Import cups.org releases
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/tags/release-1.0@4306 a1ca3aef-8c08-0410-bb20-df032aa958be
2013-05-10 18:56:23 +00:00
13 arquivos alterados com 352 adições e 314 exclusões
+25
Ver Arquivo
@@ -0,0 +1,25 @@
CREDITS.txt - 10/01/1999
------------------------
Few projects are completed by one person, and CUPS is no exception. We'd
like to thank the following individuals for their contributions:
Nathaniel Barbour - Lots of testing and feedback.
N. Becker - setsid().
Jean-Eric Cuendet - GhostScript filters for CUPS.
Van Dang - HTTP and IPP policeman.
Dr. ZP Han - setgid()/setuid().
Guy Harris - *BSD shared libraries and lots of other fixes.
Wang Jian - CUPS RPM corrections.
Roderick Johnstone - Beta tester of the millenium.
Sergey V. Kovalyov - ESP Print Pro and CUPS beta tester.
Mark Lawrence - Microsoft interoperability testing.
Jason McMullan - Original CUPS RPM distributions.
Wes Morgan - *BSD fixes.
Ulrich Oldendorf - German locale.
Petter Reinholdtsen - HP-UX compiler stuff.
Stuart Stevens - HP JetDirect IPP information.
Kiko - Bug fixes.
If I've missed someone, please let me know by sending an email to
"mike@easysw.com".
+2 -12
Ver Arquivo
@@ -1,15 +1,5 @@
README - CUPS v1.0b10 - 09/27/1999
----------------------------------
BETA SOFTWARE BETA SOFTWARE BETA SOFTWARE BETA SOFTWARE BETA SOFTWARE
WARNING - This is a BETA release of CUPS, which means that it may
contain "bugs" that could prevent you from printing. If
you are concerned that this may cause you lost time or
money, please STOP and do not install this software!
BETA SOFTWARE BETA SOFTWARE BETA SOFTWARE BETA SOFTWARE BETA SOFTWARE
README - CUPS v1.0 - 10/01/1999
-------------------------------
INTRODUCTION
+4 -4
Ver Arquivo
@@ -1,5 +1,5 @@
#
# "$Id: cups.spec 695 1999-09-27 18:24:36Z mike $"
# "$Id: cups.spec 714 1999-10-01 14:40:53Z mike $"
#
# RPM "spec" file for the Common UNIX Printing System (CUPS).
#
@@ -26,11 +26,11 @@
Summary: Common Unix Printing System
Name: cups
Version: 1.0b10
Version: 1.0
Release: 0
Copyright: GPL
Group: System Environment/Daemons
Source: ftp://ftp.easysw.com/pub/cups/beta/cups-1.0b10-source.tar.gz
Source: ftp://ftp.easysw.com/pub/cups/beta/cups-1.0-source.tar.gz
Url: http://www.cups.org
Packager: Michael Sweet <mike@easysw.com>
Vendor: Easy Software Products
@@ -305,5 +305,5 @@ rm -rf $RPM_BUILD_ROOT
/usr/include/cups/raster.h
#
# End of "$Id: cups.spec 695 1999-09-27 18:24:36Z mike $".
# End of "$Id: cups.spec 714 1999-10-01 14:40:53Z mike $".
#
-2
Ver Arquivo
@@ -512,8 +512,6 @@ ippDateToTime(const ipp_uchar_t *date) /* I - RFC 1903 date info */
else
t -= date[9] * 3600 + date[10] * 60;
t -= timezone;
return (t);
}
-5
Ver Arquivo
@@ -335,13 +335,8 @@ ImageRGBToCMYK(const ib_t *in, /* I - Input pixels */
y = 255 - *in++;
k = min(c, min(m, y));
#if 0
diff = 255 - (max(c, max(m, y)) - k);
k = k * diff / 255;
#else
if ((km = max(c, max(m, y))) > k)
k = k * k / km;
#endif /* 0 */
if (k == 255)
c = m = y = 0;
+114 -113
Ver Arquivo
@@ -1,123 +1,124 @@
iso-8859-1
OK
Löschen
Hilfe
Beendet
Nah
Ja
Nein
Auf
Weg von
Außer
Ausschuß
Rückstellung
Optionen
Mehr INFO
Schwarzes
Farbe
Cyan-blau
Magenta
Gelb
Okay
Abbrechen
Hilfe
Beenden
Schließen
Ja
Nein
An
Aus
Speichern
Verwerfen
Default
Optionen
Mehr Info
Schwarz
Farbe
Cyan
Magenta
Gelb
Copyright 1993-1999 durch Easy Software Products, alle Rechte vorbehalten.
General
Drucker
BildOptionen
HP-GL/2 Optionen
Extrakosten
Dokument
Anderes
DruckSeiten:
Allgemein
Drucker
Bild Optionen
HP-GL/2 Optionen
Speziell
Dokument
Andere
Druckbereich:
Gesamtes Dokument
Seitenbereich:
RückOrdnung:
Seite Format:
1-Up
2-Up
4-Up
BildScaling:
Natürliche BildGröße Des Gebrauches
Zoom durch Percent
Zoom durch PPI
SpiegelBild:
Farbe Sättigung:
Farbe Farbe:
Passen Sie, um zu paginieren:
Schattierend:
FederBreite:
Gamma Korrektur:
Umgedrehte Reihenfolge:
Seitenformat:
normal
2 auf 1
4 auf 1
Bild-Skalierung:
Natürliche Bildgröße
Zoom in Prozent
Zoom in PPI
Gespiegelte Ausgabe:
Farbsättigung:
Farbton:
Auf Seite anpassen:
Schattiert:
Strichstärke:
Gamma-Korrektur:
Helligkeit:
Fügen Sie hinzu
Löschung
ändern Sie
DruckerURI
DruckerName
DruckerStandort
Drucker-cInfo
Drucker bilden und formen
EinheitURI
Formatierung Seite
Seite Druckend
InitialisierenDrucker
DruckerZustand
Jobs Annehmend
Jobs Nicht, Annehmend
Druckjobs
Kategorie
Hinzufügen
Löschen
Ändern
Drucker-URI
Drucker-Name
Drucker-Standort
Drucker-Info
Drucker-Modell
Device-URI
Formatiere Seite
Drucke Seite
Initialisiere Drucker
Drucker-Zustand
Bereit
Nicht bereit
Druckaufträge
Klasse
Lokal
Entfernte Station
Duplexing
Heftend
Schnelle Plattenkopierprogramme
Gemischte Exemplare
Bohrung Lochen
Bedeckung
Binden
Sortierend
Klein (bis 9.5x1în)
Medium (9.5x1în bis 13x19in)
Groß (13x19in und größeres)
Kundenspezifische Größe
Remote
Duplex
Hefter
Schnellkopien
Sortieren/Gruppieren
Locher
Deckblatt
Bindung
Sortieren
Klein (bis 14x35cm)
Medium (14x35cm bis 33x48cm)
Groß (33x48cm und größer)
Benutzerspezifische Größe
Leerlauf
Verarbeitend
In Arbeit
Gestoppt
Alles
Ungerade
Gleichmäßige Seiten
Dunkleres Heller
MediaGröße
MediaArt
MediaQuelle
Lagebestimmung:
Portrait
Landschaft
Job State
Job Name
User Name
Priority
Copies
File Size
Pending
Output Mode
Resolution
400 Ihre Datenbanksuchroutine sendete einen Antrag, den dieser Server nicht verstehen könnte.
Dieser Server könnte nicht überprüfen, daß Sie autorisiert sind, das Hilfsmittel zuzugreifen.
Sie müssen zahlen, diesen Server zuzugreifen.
Sie haben nicht Erlaubnis, das Hilfsmittel auf diesem Server zuzugreifen.
Das erbetene Hilfsmittel wurde nicht auf diesem Server gefunden.
Die erbetene Methode wird nicht mit dem Hilfsmittel erlaubt.
Eine passende Darstellung für das Hilfsmittel wurde nicht auf diesem Server gefunden.
Sie haben nicht Erlaubnis, diesen Server als Proxyhauptrechner zu benutzen.
Der Antrag hat zu lang genommen, um durchzuführen und ist abgebrochen worden.
Das erbetene Hilfsmittel hat mehr als einen Wert.
Das erbetene Hilfsmittel wird gegangen und ist nicht ersetzt worden.
Die erbetene Methode benötigt ein gültiges Content-Length.
Die Vorbedingung auf dem Antrag wertete zu falschem aus.
Der Antrag ist zu groß, damit dieser Server verarbeitet.
Der AntragcUri ist zu groß, damit dieser Server verarbeitet.
Das Antragformat wird nicht durch diesen Server verstanden.
500 Der Server hat einen unrecoverable Fehler ermittelt und nicht Ihren Antrag verarbeiten kann.
Die erbetene Methode wird nicht durch diesen Server eingeführt.
Das proxy server empfing eine unzulässige Antwort von einem aufwärts gerichteten Server.
Das erbetene Hilfsmittel ist aktuell auf diesem Server nicht erreichbar.
Das proxy server hat zu lang genommen, um auf diesen Server zu reagieren.
Dieser Server unterstützt nicht die HTTP-Version, die durch Ihre Datenbanksuchroutine angefordert wird.
Gerade Seiten
Dunkler Heller
Medien-Größe
Medium
Medien-Quelle
Ausrichtung:
Hochformat
Querformat
Job-Status
Job-Name
Benutzername
Priorität
Kopien
Dateigröße
In Warteposition
Ausgabe-Modus
Auflösung
400 Der Server versteht die Anfrage Ihres Browsers nicht.
Der Server konnte nicht Ihre Berechtigung überprüfen, diese Ressource zu benutzen.
Sie müssen bezahlen, um auf diesen Server zuzugreifen.
Sie sind nicht berechtigt, auf diese Ressource des Servers zuzugreifen.
Die gewünschte Ressource wurde auf diesem Server nicht gefunden.
Die gewünschte Methode ist mit dieser Ressource nicht erlaubt.
Eine passende Art der Ressource wurde auf diesem Server nicht gefunden.
Sie können diesen Server nicht als Proxy-Server verwenden.
Der Auftrag brauchte zu lang zur Beendigung und wurde abgebrochen.
Die gewünschte Ressource besitzt mehr als einen Wert.
Die gewünschte Ressource existiert nicht mehr und wurde nicht ersetzt.
Die gewünschte Methode benötigt eine gültige Länge des Inhalts.
Die Voraussetzungen für den Auftrag sind nicht erfüllt.
Der Auftrag ist zu groß, um auf diesem Server verarbeitet zu werden.
Die URI des Auftrags ist zu groß, um auf diesem Server verarbeitet zu werden.
Das Format des Auftrags wird von diesem Server nicht verstanden.
500 Der Server hat einen nicht behebbaren Fehler entdeckt und kann Ihren Auftrag nicht verarbeiten.
Die gewünschte Methode ist auf diesen Server nicht implementiert.
Der Proxy-Server empfing eine unzulässige Antwort von einem höheren Server.
Die gewünschte Ressource ist aktuell auf diesem Server nicht verfügbarr.
Der Proxy-Server braucht zu lang, um auf diesen Server zu reagieren.
Dieser Server unterstützt nicht die HTTP-Version, die Ihr Browser benötigt.
+62 -62
Ver Arquivo
@@ -3,16 +3,16 @@ OK
Annulation
Aide
Quitté
Étroit
Fermer
Oui
Non
Sur
Outre de
Économiser
Écart
Oui
Non
Sauver
Quitté
Défaut
Options
Plus D'Information
Plus d'information
Noir
Couleur
Cyan
@@ -21,86 +21,86 @@ Jaune
Copyright 1993-1999 par Easy Software Products, tous droits réservés.
Général
Imprimante
Options D'Image
Options D'HP-GL/2
Frais supplémentaires
Options d'Image
Options d'HP-GL/2
Options supplémentaires
Document
Autre
Pages D'Impression:
Entier Document
Chaîne De Page
Commande D'Inversion:
Format De Page:
1-Up
2-Up
4-Up
Graduation D'Image:
Taille Normale D'Image D'Utilisation
Zoom par Percent
Pages d'impression:
Entier document
Chaîne de page
Commande d'Inversion:
Pages par feuilles:
1
2
4
Graduation d'image:
Emploi taille normale d'image
Zoom par pourcent
Zoom par PPI
Image De Miroir:
Saturation De Couleur:
Tonalité De Couleur:
Adaptez pour paginer:
Image de miroir:
Saturation de couleur:
Teinture de couleur:
Correspondre au page:
Ombrageant:
Largeur De Crayon lecteur:
Gamma Correction:
Largeur de crayon lecteur:
Correction de Gamma:
Éclat:
Ajoutez
Effacement
Éffacer
Modifiez
URI D'Imprimante
Nom D'Imprimante
Emplacement D'Imprimante
Information D'Imprimante
L'imprimante font et modèlent
URI De Dispositif
Page De Formatage
Imprimant La Page
D' Initialisation Imprimante
État D'Imprimante
Recevant Les Travaux
URI de l'imprimante
Nom de l'imprimante
Emplacement de l'imprimante
Information de l'imprimante
Font et modèlent de l'imprimante
Dispositif de l'URI
Formatage du page
Imprimant la page
Initialisation de l'imprimante
État de l'Imprimante
Recevant les travaux
Ne recevant pas Les Travaux
Tirages
Classe
Local
Périphérique
Distant
Duplexage
Agrafant
Rapides Copies
Assemblées Copies
Poinçon De Trou
Copie Rapides
Copies Assemblées
Poinçon de trou
Bâche
Liant
Triant
Petit (jusqu'à 9.5x1în)
Support (9.5x1în à 13x19in)
Grand (13x19in et plus grand)
Faite sur commande Taille
Ralenti
Petit (jusqu'à 9.5x1pouce)
Moyen (9.5x1pouce à 13x19pouce)
Grand (13x19pouce et plus grand)
Taille faite sur commande
Arrêter
Traitant
Arrêté
Tout
Impair
Même Pages
Plus foncé Plus Lumineux
Taille De Medias
Type De Supports
Source De Medias
Dimension du medias
Sorte de medias
Source du medias
Orientation:
Verticale
Horizontal
Job State
Job Name
User Name
Priority
État du travail
Nom du travail
Nom de l'utilisateur
Priorité
Copies
File Size
Pending
Output Mode
Grandeur du fichier
Imminent
Method de sortie
Resolution
400 Votre browser a envoyé une demande que ce serveur ne pourrait pas comprendre.
Ce serveur ne pourrait pas vérifier que vous êtes autorisés à accéder à la ressource.
400 Votre browser a envoyé une demande que ce serveur ne pouvait pas comprendre.
Ce serveur ne pouvait pas vérifier que vous êtes autoriséz à accéder à la ressource.
Vous devez payer pour accéder à ce serveur.
Vous n'avez pas la permission d'accéder à la ressource sur ce serveur.
La ressource demandée n'a pas été trouvée sur ce serveur.
@@ -112,12 +112,12 @@ La ressource demand
La ressource demandée est allée et n'a pas été substituée.
La méthode demandée exige un Content-Length valide.
La condition préalable sur la demande a évalué à faux.
La demande est trop grande pour que ce serveur traite.
L'cUri de demande est trop grand pour que ce serveur traite.
La demande est trop grande pour ce serveur.
L'Uri de demande est trop grand pour ce serveur.
Le format de demande n'est pas compris par ce serveur.
500 Le serveur a détecté une erreur irrémédiable et ne peut pas traiter votre demande.
La méthode demandée n'est pas appliquée par ce serveur.
Le proxy server a reçu une réponse incorrecte d'un serveur ascendant.
La ressource demandée est actuel indisponible sur ce serveur.
La ressource demandée est actuellement indisponible sur ce serveur.
Le proxy server a pris trop longtemps pour répondre à ce serveur.
Ce serveur ne supporte pas la version de HTTP exigée par votre browser.
-27
Ver Arquivo
@@ -779,18 +779,9 @@ cups_map_rgb_color(gx_device *pdev, /* I - Device info */
iy = gx_max_color_value - b;
ik = min(ic, min(im, iy));
#if 0
if (ik > 0)
{
diff = 1.0 - (float)(max(ic, max(im, iy)) - ik) /
(float)gx_max_color_value;
ik = (int)(diff * (float)ik);
}
#else
mk = max(ic, max(im, iy));
if (mk > ik)
ik = ik * ik / mk;
#endif /* 0 */
if (ik == gx_max_color_value)
{
@@ -860,18 +851,9 @@ cups_map_rgb_color(gx_device *pdev, /* I - Device info */
iy = gx_max_color_value - b;
ik = min(ic, min(im, iy));
#if 0
if (ik > 0)
{
diff = 1.0 - (float)(max(ic, max(im, iy)) - ik) /
(float)gx_max_color_value;
ik = (int)(diff * (float)ik);
}
#else
mk = max(ic, max(im, iy));
if (mk > ik)
ik = ik * ik / mk;
#endif /* 0 */
if (ik == gx_max_color_value)
{
@@ -966,18 +948,9 @@ cups_map_rgb_color(gx_device *pdev, /* I - Device info */
iy = gx_max_color_value - b;
ik = min(ic, min(im, iy));
#if 0
if (ik > 0)
{
diff = 1.0 - (float)(max(ic, max(im, iy)) - ik) /
(float)gx_max_color_value;
ik = (int)(diff * (float)ik);
}
#else
mk = max(ic, max(im, iy));
if (mk > ik)
ik = ik * ik / mk;
#endif /* 0 */
if (ik == gx_max_color_value)
{
+4 -4
Ver Arquivo
@@ -411,8 +411,8 @@ read_configuration(FILE *fp) /* I - File to read from */
if (get_address(value, INADDR_ANY, IPP_PORT,
&(Listeners[NumListeners].address)))
{
LogMessage(LOG_INFO, "Listening to %s:%d\n",
inet_ntoa(Listeners[NumListeners].address.sin_addr),
LogMessage(LOG_INFO, "Listening to %x:%d\n",
ntohl(Listeners[NumListeners].address.sin_addr.s_addr),
ntohs(Listeners[NumListeners].address.sin_port));
NumListeners ++;
}
@@ -434,8 +434,8 @@ read_configuration(FILE *fp) /* I - File to read from */
{
if (get_address(value, INADDR_NONE, BrowsePort, Browsers + NumBrowsers))
{
LogMessage(LOG_INFO, "Sending browsing info to %s:%d\n",
inet_ntoa(Browsers[NumBrowsers].sin_addr),
LogMessage(LOG_INFO, "Sending browsing info to %x:%d\n",
ntohl(Browsers[NumBrowsers].sin_addr.s_addr),
ntohs(Browsers[NumBrowsers].sin_port));
NumBrowsers ++;
}
+63 -36
Ver Arquivo
@@ -323,6 +323,8 @@ accept_jobs(client_t *con, /* I - Client connection */
if (strncmp(con->uri, "/admin/", 7) != 0)
{
LogMessage(LOG_ERROR, "accept_jobs: admin request on bad resource \'%s\'!",
resource);
send_ipp_error(con, IPP_NOT_AUTHORIZED);
return;
}
@@ -339,8 +341,7 @@ accept_jobs(client_t *con, /* I - Client connection */
* Bad URI...
*/
DEBUG_printf(("accept_jobs: resource name \'%s\' no good!\n",
resource));
LogMessage(LOG_ERROR, "accept_jobs: resource name \'%s\' no good!", resource);
send_ipp_error(con, IPP_NOT_FOUND);
return;
}
@@ -394,6 +395,8 @@ add_class(client_t *con, /* I - Client connection */
if (strncmp(con->uri, "/admin/", 7) != 0)
{
LogMessage(LOG_ERROR, "add_class: admin request on bad resource \'%s\'!",
resource);
send_ipp_error(con, IPP_NOT_AUTHORIZED);
return;
}
@@ -544,8 +547,7 @@ add_class(client_t *con, /* I - Client connection */
* Bad URI...
*/
DEBUG_printf(("add_class: resource name \'%s\' no good!\n",
resource));
LogMessage(LOG_ERROR, "add_class: resource name \'%s\' no good!", resource);
send_ipp_error(con, IPP_NOT_FOUND);
return;
}
@@ -605,6 +607,8 @@ add_printer(client_t *con, /* I - Client connection */
if (strncmp(con->uri, "/admin/", 7) != 0)
{
LogMessage(LOG_ERROR, "add_printer: admin request on bad resource \'%s\'!",
resource);
send_ipp_error(con, IPP_NOT_AUTHORIZED);
return;
}
@@ -853,6 +857,8 @@ cancel_all_jobs(client_t *con, /* I - Client connection */
if (strncmp(con->uri, "/admin/", 7) != 0)
{
LogMessage(LOG_ERROR, "cancel_all_jobs: admin request on bad resource \'%s\'!",
resource);
send_ipp_error(con, IPP_NOT_AUTHORIZED);
return;
}
@@ -882,8 +888,7 @@ cancel_all_jobs(client_t *con, /* I - Client connection */
* Bad URI...
*/
DEBUG_printf(("cancel_all_jobs: resource name \'%s\' no good!\n",
resource));
LogMessage(LOG_ERROR, "cancel_all_jobs: resource name \'%s\' no good!", resource);
send_ipp_error(con, IPP_NOT_FOUND);
return;
}
@@ -1151,6 +1156,8 @@ delete_printer(client_t *con, /* I - Client connection */
if (strncmp(con->uri, "/admin/", 7) != 0)
{
LogMessage(LOG_ERROR, "delete_printer: admin request on bad resource \'%s\'!",
resource);
send_ipp_error(con, IPP_NOT_AUTHORIZED);
return;
}
@@ -1169,8 +1176,7 @@ delete_printer(client_t *con, /* I - Client connection */
* Bad URI...
*/
DEBUG_printf(("get_printer_attrs: resource name \'%s\' no good!\n",
resource));
LogMessage(LOG_ERROR, "delete_printer: resource name \'%s\' no good!", resource);
send_ipp_error(con, IPP_NOT_FOUND);
return;
}
@@ -1290,8 +1296,7 @@ get_jobs(client_t *con, /* I - Client connection */
* Bad URI...
*/
DEBUG_printf(("get_jobs: resource name \'%s\' no good!\n",
resource));
LogMessage(LOG_ERROR, "get_jobs: resource name \'%s\' no good!", resource);
send_ipp_error(con, IPP_NOT_FOUND);
return;
}
@@ -1672,8 +1677,7 @@ get_printer_attrs(client_t *con, /* I - Client connection */
* Bad URI...
*/
DEBUG_printf(("get_printer_attrs: resource name \'%s\' no good!\n",
resource));
LogMessage(LOG_ERROR, "get_printer_attrs: resource name \'%s\' no good!", resource);
send_ipp_error(con, IPP_NOT_FOUND);
return;
}
@@ -1780,19 +1784,28 @@ print_job(client_t *con, /* I - Client connection */
* Is it a format we support?
*/
if ((format = ippFindAttribute(con->request, "document-format", IPP_TAG_MIMETYPE)) == NULL)
if ((format = ippFindAttribute(con->request, "document-format", IPP_TAG_MIMETYPE)) != NULL)
{
DEBUG_puts("print_job: missing document-format attribute!");
send_ipp_error(con, IPP_BAD_REQUEST);
return;
}
/*
* Grab format from client...
*/
if (sscanf(format->values[0].string.text, "%15[^/]/%31[^;]", super, type) != 2)
if (sscanf(format->values[0].string.text, "%15[^/]/%31[^;]", super, type) != 2)
{
DEBUG_printf(("print_job: could not scan type \'%s\'!\n",
format->values[0].string.text));
send_ipp_error(con, IPP_BAD_REQUEST);
return;
}
}
else
{
DEBUG_printf(("print_job: could not scan type \'%s\'!\n",
format->values[0].string.text));
send_ipp_error(con, IPP_BAD_REQUEST);
return;
/*
* No document format attribute? Auto-type it!
*/
strcpy(super, "application");
strcpy(type, "octet-stream");
}
if (strcmp(super, "application") == 0 &&
@@ -1811,9 +1824,16 @@ print_job(client_t *con, /* I - Client connection */
* Replace the document-format attribute value with the auto-typed one.
*/
free(format->values[0].string.text);
sprintf(mimetype, "%s/%s", filetype->super, filetype->type);
format->values[0].string.text = strdup(mimetype);
if (format != NULL)
{
free(format->values[0].string.text);
format->values[0].string.text = strdup(mimetype);
}
else
ippAddString(con->request, IPP_TAG_JOB, IPP_TAG_MIMETYPE,
"document-format", NULL, mimetype);
}
}
else
@@ -1844,8 +1864,7 @@ print_job(client_t *con, /* I - Client connection */
* Bad URI...
*/
DEBUG_printf(("print_job: resource name \'%s\' no good!\n",
resource));
LogMessage(LOG_ERROR, "print_job: resource name \'%s\' no good!", resource);
send_ipp_error(con, IPP_NOT_FOUND);
return;
}
@@ -1861,6 +1880,8 @@ print_job(client_t *con, /* I - Client connection */
if (!printer->accepting)
{
LogMessage(LOG_INFO, "print_job: destination \'%s\' is not accepting jobs.",
dest);
send_ipp_error(con, IPP_NOT_ACCEPTING);
return;
}
@@ -1881,6 +1902,8 @@ print_job(client_t *con, /* I - Client connection */
if ((job = AddJob(priority, printer->name)) == NULL)
{
LogMessage(LOG_ERROR, "print_job: unable to add job for destination \'%s\'!",
dest);
send_ipp_error(con, IPP_INTERNAL_ERROR);
return;
}
@@ -1970,6 +1993,8 @@ reject_jobs(client_t *con, /* I - Client connection */
if (strncmp(con->uri, "/admin/", 7) != 0)
{
LogMessage(LOG_ERROR, "reject_jobs: admin request on bad resource \'%s\'!",
resource);
send_ipp_error(con, IPP_NOT_AUTHORIZED);
return;
}
@@ -1986,8 +2011,7 @@ reject_jobs(client_t *con, /* I - Client connection */
* Bad URI...
*/
DEBUG_printf(("reject_jobs: resource name \'%s\' no good!\n",
resource));
LogMessage(LOG_ERROR, "reject_jobs: resource name \'%s\' no good!", resource);
send_ipp_error(con, IPP_NOT_FOUND);
return;
}
@@ -2034,6 +2058,7 @@ send_ipp_error(client_t *con, /* I - Client connection */
{
DEBUG_printf(("send_ipp_error(%08x, %04x)\n", con, status));
LogMessage(LOG_DEBUG, "Sending IPP error code %x.", status);
if (con->filename[0])
unlink(con->filename);
@@ -2070,6 +2095,8 @@ set_default(client_t *con, /* I - Client connection */
if (strncmp(con->uri, "/admin/", 7) != 0)
{
LogMessage(LOG_ERROR, "set_default: admin request on bad resource \'%s\'!",
resource);
send_ipp_error(con, IPP_NOT_AUTHORIZED);
return;
}
@@ -2086,8 +2113,7 @@ set_default(client_t *con, /* I - Client connection */
* Bad URI...
*/
DEBUG_printf(("set_default: resource name \'%s\' no good!\n",
resource));
LogMessage(LOG_ERROR, "set_default: resource name \'%s\' no good!", resource);
send_ipp_error(con, IPP_NOT_FOUND);
return;
}
@@ -2145,6 +2171,8 @@ start_printer(client_t *con, /* I - Client connection */
if (strncmp(con->uri, "/admin/", 7) != 0)
{
LogMessage(LOG_ERROR, "start_printer: admin request on bad resource \'%s\'!",
resource);
send_ipp_error(con, IPP_NOT_AUTHORIZED);
return;
}
@@ -2161,8 +2189,7 @@ start_printer(client_t *con, /* I - Client connection */
* Bad URI...
*/
DEBUG_printf(("start_printer: resource name \'%s\' no good!\n",
resource));
LogMessage(LOG_ERROR, "start_printer: resource name \'%s\' no good!", resource);
send_ipp_error(con, IPP_NOT_FOUND);
return;
}
@@ -2231,6 +2258,8 @@ stop_printer(client_t *con, /* I - Client connection */
if (strncmp(con->uri, "/admin/", 7) != 0)
{
LogMessage(LOG_ERROR, "stop_printer: admin request on bad resource \'%s\'!",
resource);
send_ipp_error(con, IPP_NOT_AUTHORIZED);
return;
}
@@ -2247,8 +2276,7 @@ stop_printer(client_t *con, /* I - Client connection */
* Bad URI...
*/
DEBUG_printf(("stop_printer: resource name \'%s\' no good!\n",
resource));
LogMessage(LOG_ERROR, "stop_printer: resource name \'%s\' no good!", resource);
send_ipp_error(con, IPP_NOT_FOUND);
return;
}
@@ -2419,8 +2447,7 @@ validate_job(client_t *con, /* I - Client connection */
* Bad URI...
*/
DEBUG_printf(("validate_job: resource name \'%s\' no good!\n",
resource));
LogMessage(LOG_ERROR, "validate_job: resource name \'%s\' no good!", resource);
send_ipp_error(con, IPP_NOT_FOUND);
return;
}
+1 -1
Ver Arquivo
@@ -858,7 +858,7 @@ UpdateJob(job_t *job) /* I - Job to check */
if (loglevel != LOG_INFO)
LogMessage(loglevel, "%s", message);
if ((loglevel >= LOG_INFO && !job->state) ||
if ((loglevel == LOG_INFO && !job->status) ||
loglevel < LOG_INFO)
strncpy(job->printer->state_message, message,
sizeof(job->printer->state_message) - 1);
+8 -2
Ver Arquivo
@@ -347,6 +347,8 @@ get_datetime(time_t t) /* I - Time value */
* offset from GMT in seconds so that we are reporting local time in the
* log files. If you want GMT, set the TZ environment variable accordingly
* before starting the scheduler.
*
* (*BSD stores the timezone offset in the tm structure)
*/
date = localtime(&t);
@@ -354,8 +356,12 @@ get_datetime(time_t t) /* I - Time value */
sprintf(s, "[%02d/%s/%04d:%02d:%02d:%02d %+02d%02d]",
date->tm_mday, months[date->tm_mon], 1900 + date->tm_year,
date->tm_hour, date->tm_min, date->tm_sec,
timezone / 3600, (timezone / 60) % 60);
#ifdef BSD
date->tm_gmtoff / 3600, (date->tm_gmtoff / 60) % 60);
#else
timezone / 3600, (timezone / 60) % 60);
#endif
return (s);
}
+69 -46
Ver Arquivo
@@ -60,10 +60,6 @@ AddPrinter(char *name) /* I - Name of printer */
printer_t *p, /* New printer */
*current, /* Current printer in list */
*prev; /* Previous printer in list */
#ifdef __sgi
char filename[1024]; /* Interface script filename */
FILE *fp; /* Interface script file */
#endif /* __sgi */
/*
@@ -117,48 +113,11 @@ AddPrinter(char *name) /* I - Name of printer */
p->next = current;
/*
* Write a new /etc/printcap file, and add a dummy interface and GUI scripts
* to fool SGI's stupid printing tools.
* Write a new /etc/printcap or /var/spool/lp/pstatus file.
*/
write_printcap();
#ifdef __sgi
sprintf(filename, "/var/spool/lp/interface/%s", p->name);
if ((fp = fopen(filename, "w")) != NULL)
{
fputs("#!/bin/sh\n", fp);
fprintf(fp, "NAME=\"%s\"\n", p->info);
if (p->type & CUPS_PRINTER_COLOR)
fputs("TYPE=ColorPostScript\n", fp);
else
fputs("TYPE=PostScript\n", fp);
fclose(fp);
chmod(filename, 0755);
}
sprintf(filename, "/var/spool/lp/gui_interface/ELF/%s.gui", p->name);
if ((fp = fopen(filename, "w")) != NULL)
{
fputs("#!/bin/sh\n", fp);
fprintf(fp, "/usr/bin/glpoptions -d %s -o \"$*\"\n", p->name);
fclose(fp);
chmod(filename, 0755);
}
sprintf(filename, "/var/spool/lp/activeicons/%s", p->name);
if ((fp = fopen(filename, "w")) != NULL)
{
fputs("#!/bin/sh\n", fp);
if (p->type & CUPS_PRINTER_COLOR)
fputs("#Tag 66240\n", fp);
else
fputs("#Tag 66208\n", fp);
fclose(fp);
chmod(filename, 0755);
}
#endif /* __sgi */
return (p);
}
@@ -732,6 +691,9 @@ SetPrinterAttrs(printer_t *p) /* I - Printer to setup */
};
int num_finishings;
ipp_finish_t finishings[5];
#ifdef __sgi
FILE *fp; /* Interface script file */
#endif /* __sgi */
DEBUG_printf(("SetPrinterAttrs: entering name = %s, type = %x\n", p->name,
@@ -853,7 +815,10 @@ SetPrinterAttrs(printer_t *p) /* I - Printer to setup */
*/
httpSeparate(p->device_uri, method, username, host, &port, resource);
sprintf(uri, "%s://%s:%d/%s", method, host, port, resource);
if (port)
sprintf(uri, "%s://%s:%d/%s", method, host, port, resource);
else
sprintf(uri, "%s://%s/%s", method, host, resource);
}
else
{
@@ -1025,6 +990,64 @@ SetPrinterAttrs(printer_t *p) /* I - Printer to setup */
DEBUG_printf(("SetPrinterAttrs: leaving name = %s, type = %x\n", p->name,
p->type));
#ifdef __sgi
/*
* Add dummy interface and GUI scripts to fool SGI's "challenged" printing
* tools.
*/
sprintf(filename, "/var/spool/lp/interface/%s", p->name);
if ((fp = fopen(filename, "w")) != NULL)
{
fputs("#!/bin/sh\n", fp);
if ((attr = ippFindAttribute(p->attrs, "printer-make-and-model",
IPP_TAG_TEXT)) != NULL)
fprintf(fp, "NAME=\"%s\"\n", attr->values[0].string.text);
else if (p->type & CUPS_PRINTER_CLASS)
fputs("NAME=\"Printer Class\"\n", fp);
else
fputs("NAME=\"Remote Destination\"\n", fp);
if (p->type & CUPS_PRINTER_COLOR)
fputs("TYPE=ColorPostScript\n", fp);
else
fputs("TYPE=PostScript\n", fp);
fclose(fp);
chmod(filename, 0755);
}
sprintf(filename, "/var/spool/lp/member/%s", p->name);
if ((fp = fopen(filename, "w")) != NULL)
{
fputs("/dev/null\n", fp);
fclose(fp);
chmod(filename, 0644);
}
sprintf(filename, "/var/spool/lp/gui_interface/ELF/%s.gui", p->name);
if ((fp = fopen(filename, "w")) != NULL)
{
fputs("#!/bin/sh\n", fp);
fprintf(fp, "/usr/bin/glpoptions -d %s -o \"$3\"\n", p->name);
fclose(fp);
chmod(filename, 0755);
}
sprintf(filename, "/var/spool/lp/activeicons/%s", p->name);
if ((fp = fopen(filename, "w")) != NULL)
{
fputs("#!/bin/sh\n", fp);
if (p->type & CUPS_PRINTER_COLOR)
fputs("#Tag 66240\n", fp);
else
fputs("#Tag 66208\n", fp);
fclose(fp);
chmod(filename, 0755);
}
#endif /* __sgi */
}
@@ -1146,8 +1169,8 @@ StopPrinter(printer_t *p) /* I - Printer to stop */
static void
write_printcap(void)
{
FILE *fp; /* printcap file */
printer_t *p; /* Current printer */
FILE *fp; /* printcap file */
printer_t *p; /* Current printer */
/*
@@ -1175,7 +1198,7 @@ write_printcap(void)
fprintf(fp, "%s:\n", p->name);
/*
* Close the file and return...
* Close the file...
*/
fclose(fp);