Comparar commits
1 Commits
| Autor | SHA1 | Data | |
|---|---|---|---|
| 15e50bca8b |
@@ -1,25 +0,0 @@
|
||||
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".
|
||||
+12
-2
@@ -1,5 +1,15 @@
|
||||
README - CUPS v1.0 - 10/01/1999
|
||||
-------------------------------
|
||||
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
|
||||
|
||||
|
||||
INTRODUCTION
|
||||
|
||||
|
||||
+4
-4
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# "$Id: cups.spec 714 1999-10-01 14:40:53Z mike $"
|
||||
# "$Id: cups.spec 695 1999-09-27 18:24:36Z mike $"
|
||||
#
|
||||
# RPM "spec" file for the Common UNIX Printing System (CUPS).
|
||||
#
|
||||
@@ -26,11 +26,11 @@
|
||||
|
||||
Summary: Common Unix Printing System
|
||||
Name: cups
|
||||
Version: 1.0
|
||||
Version: 1.0b10
|
||||
Release: 0
|
||||
Copyright: GPL
|
||||
Group: System Environment/Daemons
|
||||
Source: ftp://ftp.easysw.com/pub/cups/beta/cups-1.0-source.tar.gz
|
||||
Source: ftp://ftp.easysw.com/pub/cups/beta/cups-1.0b10-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 714 1999-10-01 14:40:53Z mike $".
|
||||
# End of "$Id: cups.spec 695 1999-09-27 18:24:36Z mike $".
|
||||
#
|
||||
|
||||
@@ -512,6 +512,8 @@ ippDateToTime(const ipp_uchar_t *date) /* I - RFC 1903 date info */
|
||||
else
|
||||
t -= date[9] * 3600 + date[10] * 60;
|
||||
|
||||
t -= timezone;
|
||||
|
||||
return (t);
|
||||
}
|
||||
|
||||
|
||||
@@ -335,8 +335,13 @@ 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;
|
||||
|
||||
+113
-114
@@ -1,124 +1,123 @@
|
||||
iso-8859-1
|
||||
Okay
|
||||
Abbrechen
|
||||
Hilfe
|
||||
Beenden
|
||||
Schließen
|
||||
Ja
|
||||
Nein
|
||||
An
|
||||
Aus
|
||||
Speichern
|
||||
Verwerfen
|
||||
Default
|
||||
Optionen
|
||||
Mehr Info
|
||||
Schwarz
|
||||
Farbe
|
||||
Cyan
|
||||
Magenta
|
||||
Gelb
|
||||
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
|
||||
Copyright 1993-1999 durch Easy Software Products, alle Rechte vorbehalten.
|
||||
Allgemein
|
||||
Drucker
|
||||
Bild Optionen
|
||||
HP-GL/2 Optionen
|
||||
Speziell
|
||||
Dokument
|
||||
Andere
|
||||
Druckbereich:
|
||||
General
|
||||
Drucker
|
||||
BildOptionen
|
||||
HP-GL/2 Optionen
|
||||
Extrakosten
|
||||
Dokument
|
||||
Anderes
|
||||
DruckSeiten:
|
||||
Gesamtes Dokument
|
||||
Seitenbereich:
|
||||
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:
|
||||
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:
|
||||
Helligkeit:
|
||||
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
|
||||
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
|
||||
Lokal
|
||||
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
|
||||
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
|
||||
Leerlauf
|
||||
In Arbeit
|
||||
Verarbeitend
|
||||
Gestoppt
|
||||
Alles
|
||||
Ungerade
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
+62
-62
@@ -3,16 +3,16 @@ OK
|
||||
Annulation
|
||||
Aide
|
||||
Quitté
|
||||
Fermer
|
||||
Étroit
|
||||
Oui
|
||||
Non
|
||||
Oui
|
||||
Non
|
||||
Sauver
|
||||
Quitté
|
||||
Sur
|
||||
Outre de
|
||||
Économiser
|
||||
Écart
|
||||
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
|
||||
Options supplémentaires
|
||||
Options D'Image
|
||||
Options D'HP-GL/2
|
||||
Frais supplémentaires
|
||||
Document
|
||||
Autre
|
||||
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
|
||||
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
|
||||
Zoom par PPI
|
||||
Image de miroir:
|
||||
Saturation de couleur:
|
||||
Teinture de couleur:
|
||||
Correspondre au page:
|
||||
Image De Miroir:
|
||||
Saturation De Couleur:
|
||||
Tonalité De Couleur:
|
||||
Adaptez pour paginer:
|
||||
Ombrageant:
|
||||
Largeur de crayon lecteur:
|
||||
Correction de Gamma:
|
||||
Largeur De Crayon lecteur:
|
||||
Gamma Correction:
|
||||
Éclat:
|
||||
Ajoutez
|
||||
Éffacer
|
||||
Effacement
|
||||
Modifiez
|
||||
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
|
||||
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
|
||||
Ne recevant pas Les Travaux
|
||||
Tirages
|
||||
Classe
|
||||
Local
|
||||
Distant
|
||||
Périphérique
|
||||
Duplexage
|
||||
Agrafant
|
||||
Copie Rapides
|
||||
Copies Assemblées
|
||||
Poinçon de trou
|
||||
Rapides Copies
|
||||
Assemblées Copies
|
||||
Poinçon De Trou
|
||||
Bâche
|
||||
Liant
|
||||
Triant
|
||||
Petit (jusqu'à 9.5x1pouce)
|
||||
Moyen (9.5x1pouce à 13x19pouce)
|
||||
Grand (13x19pouce et plus grand)
|
||||
Taille faite sur commande
|
||||
Arrêter
|
||||
Petit (jusqu'à 9.5x1în)
|
||||
Support (9.5x1în à 13x19in)
|
||||
Grand (13x19in et plus grand)
|
||||
Faite sur commande Taille
|
||||
Ralenti
|
||||
Traitant
|
||||
Arrêté
|
||||
Tout
|
||||
Impair
|
||||
Même Pages
|
||||
Plus foncé Plus Lumineux
|
||||
Dimension du medias
|
||||
Sorte de medias
|
||||
Source du medias
|
||||
Taille De Medias
|
||||
Type De Supports
|
||||
Source De Medias
|
||||
Orientation:
|
||||
Verticale
|
||||
Horizontal
|
||||
État du travail
|
||||
Nom du travail
|
||||
Nom de l'utilisateur
|
||||
Priorité
|
||||
Job State
|
||||
Job Name
|
||||
User Name
|
||||
Priority
|
||||
Copies
|
||||
Grandeur du fichier
|
||||
Imminent
|
||||
Method de sortie
|
||||
File Size
|
||||
Pending
|
||||
Output Mode
|
||||
Resolution
|
||||
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.
|
||||
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.
|
||||
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 ce serveur.
|
||||
L'Uri de demande est trop grand pour ce serveur.
|
||||
La demande est trop grande pour que ce serveur traite.
|
||||
L'cUri de demande est trop grand pour que ce serveur traite.
|
||||
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 actuellement indisponible sur ce serveur.
|
||||
La ressource demandée est actuel 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.
|
||||
|
||||
@@ -779,9 +779,18 @@ 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)
|
||||
{
|
||||
@@ -851,9 +860,18 @@ 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)
|
||||
{
|
||||
@@ -948,9 +966,18 @@ 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
@@ -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 %x:%d\n",
|
||||
ntohl(Listeners[NumListeners].address.sin_addr.s_addr),
|
||||
LogMessage(LOG_INFO, "Listening to %s:%d\n",
|
||||
inet_ntoa(Listeners[NumListeners].address.sin_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 %x:%d\n",
|
||||
ntohl(Browsers[NumBrowsers].sin_addr.s_addr),
|
||||
LogMessage(LOG_INFO, "Sending browsing info to %s:%d\n",
|
||||
inet_ntoa(Browsers[NumBrowsers].sin_addr),
|
||||
ntohs(Browsers[NumBrowsers].sin_port));
|
||||
NumBrowsers ++;
|
||||
}
|
||||
|
||||
+36
-63
@@ -323,8 +323,6 @@ 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;
|
||||
}
|
||||
@@ -341,7 +339,8 @@ accept_jobs(client_t *con, /* I - Client connection */
|
||||
* Bad URI...
|
||||
*/
|
||||
|
||||
LogMessage(LOG_ERROR, "accept_jobs: resource name \'%s\' no good!", resource);
|
||||
DEBUG_printf(("accept_jobs: resource name \'%s\' no good!\n",
|
||||
resource));
|
||||
send_ipp_error(con, IPP_NOT_FOUND);
|
||||
return;
|
||||
}
|
||||
@@ -395,8 +394,6 @@ 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;
|
||||
}
|
||||
@@ -547,7 +544,8 @@ add_class(client_t *con, /* I - Client connection */
|
||||
* Bad URI...
|
||||
*/
|
||||
|
||||
LogMessage(LOG_ERROR, "add_class: resource name \'%s\' no good!", resource);
|
||||
DEBUG_printf(("add_class: resource name \'%s\' no good!\n",
|
||||
resource));
|
||||
send_ipp_error(con, IPP_NOT_FOUND);
|
||||
return;
|
||||
}
|
||||
@@ -607,8 +605,6 @@ 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;
|
||||
}
|
||||
@@ -857,8 +853,6 @@ 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;
|
||||
}
|
||||
@@ -888,7 +882,8 @@ cancel_all_jobs(client_t *con, /* I - Client connection */
|
||||
* Bad URI...
|
||||
*/
|
||||
|
||||
LogMessage(LOG_ERROR, "cancel_all_jobs: resource name \'%s\' no good!", resource);
|
||||
DEBUG_printf(("cancel_all_jobs: resource name \'%s\' no good!\n",
|
||||
resource));
|
||||
send_ipp_error(con, IPP_NOT_FOUND);
|
||||
return;
|
||||
}
|
||||
@@ -1156,8 +1151,6 @@ 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;
|
||||
}
|
||||
@@ -1176,7 +1169,8 @@ delete_printer(client_t *con, /* I - Client connection */
|
||||
* Bad URI...
|
||||
*/
|
||||
|
||||
LogMessage(LOG_ERROR, "delete_printer: resource name \'%s\' no good!", resource);
|
||||
DEBUG_printf(("get_printer_attrs: resource name \'%s\' no good!\n",
|
||||
resource));
|
||||
send_ipp_error(con, IPP_NOT_FOUND);
|
||||
return;
|
||||
}
|
||||
@@ -1296,7 +1290,8 @@ get_jobs(client_t *con, /* I - Client connection */
|
||||
* Bad URI...
|
||||
*/
|
||||
|
||||
LogMessage(LOG_ERROR, "get_jobs: resource name \'%s\' no good!", resource);
|
||||
DEBUG_printf(("get_jobs: resource name \'%s\' no good!\n",
|
||||
resource));
|
||||
send_ipp_error(con, IPP_NOT_FOUND);
|
||||
return;
|
||||
}
|
||||
@@ -1677,7 +1672,8 @@ get_printer_attrs(client_t *con, /* I - Client connection */
|
||||
* Bad URI...
|
||||
*/
|
||||
|
||||
LogMessage(LOG_ERROR, "get_printer_attrs: resource name \'%s\' no good!", resource);
|
||||
DEBUG_printf(("get_printer_attrs: resource name \'%s\' no good!\n",
|
||||
resource));
|
||||
send_ipp_error(con, IPP_NOT_FOUND);
|
||||
return;
|
||||
}
|
||||
@@ -1784,28 +1780,19 @@ 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)
|
||||
{
|
||||
/*
|
||||
* Grab format from client...
|
||||
*/
|
||||
|
||||
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;
|
||||
}
|
||||
DEBUG_puts("print_job: missing document-format attribute!");
|
||||
send_ipp_error(con, IPP_BAD_REQUEST);
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
/*
|
||||
* No document format attribute? Auto-type it!
|
||||
*/
|
||||
|
||||
strcpy(super, "application");
|
||||
strcpy(type, "octet-stream");
|
||||
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;
|
||||
}
|
||||
|
||||
if (strcmp(super, "application") == 0 &&
|
||||
@@ -1824,16 +1811,9 @@ 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);
|
||||
|
||||
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);
|
||||
format->values[0].string.text = strdup(mimetype);
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -1864,7 +1844,8 @@ print_job(client_t *con, /* I - Client connection */
|
||||
* Bad URI...
|
||||
*/
|
||||
|
||||
LogMessage(LOG_ERROR, "print_job: resource name \'%s\' no good!", resource);
|
||||
DEBUG_printf(("print_job: resource name \'%s\' no good!\n",
|
||||
resource));
|
||||
send_ipp_error(con, IPP_NOT_FOUND);
|
||||
return;
|
||||
}
|
||||
@@ -1880,8 +1861,6 @@ 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;
|
||||
}
|
||||
@@ -1902,8 +1881,6 @@ 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;
|
||||
}
|
||||
@@ -1993,8 +1970,6 @@ 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;
|
||||
}
|
||||
@@ -2011,7 +1986,8 @@ reject_jobs(client_t *con, /* I - Client connection */
|
||||
* Bad URI...
|
||||
*/
|
||||
|
||||
LogMessage(LOG_ERROR, "reject_jobs: resource name \'%s\' no good!", resource);
|
||||
DEBUG_printf(("reject_jobs: resource name \'%s\' no good!\n",
|
||||
resource));
|
||||
send_ipp_error(con, IPP_NOT_FOUND);
|
||||
return;
|
||||
}
|
||||
@@ -2058,7 +2034,6 @@ 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);
|
||||
|
||||
@@ -2095,8 +2070,6 @@ 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;
|
||||
}
|
||||
@@ -2113,7 +2086,8 @@ set_default(client_t *con, /* I - Client connection */
|
||||
* Bad URI...
|
||||
*/
|
||||
|
||||
LogMessage(LOG_ERROR, "set_default: resource name \'%s\' no good!", resource);
|
||||
DEBUG_printf(("set_default: resource name \'%s\' no good!\n",
|
||||
resource));
|
||||
send_ipp_error(con, IPP_NOT_FOUND);
|
||||
return;
|
||||
}
|
||||
@@ -2171,8 +2145,6 @@ 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;
|
||||
}
|
||||
@@ -2189,7 +2161,8 @@ start_printer(client_t *con, /* I - Client connection */
|
||||
* Bad URI...
|
||||
*/
|
||||
|
||||
LogMessage(LOG_ERROR, "start_printer: resource name \'%s\' no good!", resource);
|
||||
DEBUG_printf(("start_printer: resource name \'%s\' no good!\n",
|
||||
resource));
|
||||
send_ipp_error(con, IPP_NOT_FOUND);
|
||||
return;
|
||||
}
|
||||
@@ -2258,8 +2231,6 @@ 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;
|
||||
}
|
||||
@@ -2276,7 +2247,8 @@ stop_printer(client_t *con, /* I - Client connection */
|
||||
* Bad URI...
|
||||
*/
|
||||
|
||||
LogMessage(LOG_ERROR, "stop_printer: resource name \'%s\' no good!", resource);
|
||||
DEBUG_printf(("stop_printer: resource name \'%s\' no good!\n",
|
||||
resource));
|
||||
send_ipp_error(con, IPP_NOT_FOUND);
|
||||
return;
|
||||
}
|
||||
@@ -2447,7 +2419,8 @@ validate_job(client_t *con, /* I - Client connection */
|
||||
* Bad URI...
|
||||
*/
|
||||
|
||||
LogMessage(LOG_ERROR, "validate_job: resource name \'%s\' no good!", resource);
|
||||
DEBUG_printf(("validate_job: resource name \'%s\' no good!\n",
|
||||
resource));
|
||||
send_ipp_error(con, IPP_NOT_FOUND);
|
||||
return;
|
||||
}
|
||||
|
||||
+1
-1
@@ -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->status) ||
|
||||
if ((loglevel >= LOG_INFO && !job->state) ||
|
||||
loglevel < LOG_INFO)
|
||||
strncpy(job->printer->state_message, message,
|
||||
sizeof(job->printer->state_message) - 1);
|
||||
|
||||
+2
-8
@@ -347,8 +347,6 @@ 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);
|
||||
@@ -356,12 +354,8 @@ 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,
|
||||
#ifdef BSD
|
||||
date->tm_gmtoff / 3600, (date->tm_gmtoff / 60) % 60);
|
||||
#else
|
||||
timezone / 3600, (timezone / 60) % 60);
|
||||
#endif
|
||||
|
||||
timezone / 3600, (timezone / 60) % 60);
|
||||
|
||||
return (s);
|
||||
}
|
||||
|
||||
|
||||
+46
-69
@@ -60,6 +60,10 @@ 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 */
|
||||
|
||||
|
||||
/*
|
||||
@@ -113,11 +117,48 @@ AddPrinter(char *name) /* I - Name of printer */
|
||||
p->next = current;
|
||||
|
||||
/*
|
||||
* Write a new /etc/printcap or /var/spool/lp/pstatus file.
|
||||
* Write a new /etc/printcap file, and add a dummy interface and GUI scripts
|
||||
* to fool SGI's stupid printing tools.
|
||||
*/
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
@@ -691,9 +732,6 @@ 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,
|
||||
@@ -815,10 +853,7 @@ SetPrinterAttrs(printer_t *p) /* I - Printer to setup */
|
||||
*/
|
||||
|
||||
httpSeparate(p->device_uri, method, username, host, &port, resource);
|
||||
if (port)
|
||||
sprintf(uri, "%s://%s:%d/%s", method, host, port, resource);
|
||||
else
|
||||
sprintf(uri, "%s://%s/%s", method, host, resource);
|
||||
sprintf(uri, "%s://%s:%d/%s", method, host, port, resource);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -990,64 +1025,6 @@ 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 */
|
||||
}
|
||||
|
||||
|
||||
@@ -1169,8 +1146,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 */
|
||||
|
||||
|
||||
/*
|
||||
@@ -1198,7 +1175,7 @@ write_printcap(void)
|
||||
fprintf(fp, "%s:\n", p->name);
|
||||
|
||||
/*
|
||||
* Close the file...
|
||||
* Close the file and return...
|
||||
*/
|
||||
|
||||
fclose(fp);
|
||||
|
||||
Referência em uma Nova Issue
Bloquear um usuário