12.07.2015 Views

Services d'impression, Partie 1: Berkeley LPD et LPRng

Services d'impression, Partie 1: Berkeley LPD et LPRng

Services d'impression, Partie 1: Berkeley LPD et LPRng

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Sylvain Ferrand<strong>Services</strong> <strong>d'impression</strong>, <strong>Partie</strong> 1: <strong>Berkeley</strong> <strong>LPD</strong> <strong>et</strong> <strong>LPRng</strong>IntroductionHistoriqueProtocole<strong>LPRng</strong>Mise en place des ltres <strong>d'impression</strong><strong>LPD</strong>Conclusion<strong>Services</strong> <strong>d'impression</strong>, <strong>Partie</strong> 1: <strong>Berkeley</strong> <strong>LPD</strong> <strong>et</strong><strong>LPRng</strong>Sylvain FerrandJournées Mathrice, Paris IHP, 18-20 Octobre 2005


Sylvain Ferrand<strong>Services</strong> <strong>d'impression</strong>, <strong>Partie</strong> 1: <strong>Berkeley</strong> <strong>LPD</strong> <strong>et</strong> <strong>LPRng</strong>Pour quoi faire?IntroductionHistoriqueProtocole<strong>LPRng</strong>Mise en place des ltres <strong>d'impression</strong><strong>LPD</strong>Conclusion◮ Gèrer une queue <strong>d'impression</strong>◮ Gestion d'un spool sur le disque◮ Perm<strong>et</strong>tre des interventions sur la queue◮ Rendre accessible des imprimantes sur un réseau


Sylvain Ferrand<strong>Services</strong> <strong>d'impression</strong>, <strong>Partie</strong> 1: <strong>Berkeley</strong> <strong>LPD</strong> <strong>et</strong> <strong>LPRng</strong>Pour quoi faire?IntroductionHistoriqueProtocole<strong>LPRng</strong>Mise en place des ltres <strong>d'impression</strong><strong>LPD</strong>Conclusion◮ Gèrer une queue <strong>d'impression</strong>◮ Gestion d'un spool sur le disque◮ Perm<strong>et</strong>tre des interventions sur la queue◮ Rendre accessible des imprimantes sur un réseau⇒ Fonctions dénits dans la RFC 1179 "Line printer daemonprotocol"


Sylvain Ferrand<strong>Services</strong> <strong>d'impression</strong>, <strong>Partie</strong> 1: <strong>Berkeley</strong> <strong>LPD</strong> <strong>et</strong> <strong>LPRng</strong>Pour quoi faire?IntroductionHistoriqueProtocole<strong>LPRng</strong>Mise en place des ltres <strong>d'impression</strong><strong>LPD</strong>Conclusion◮ Gèrer une queue <strong>d'impression</strong>◮ Gestion d'un spool sur le disque◮ Perm<strong>et</strong>tre des interventions sur la queue◮ Rendre accessible des imprimantes sur un réseau⇒ Fonctions dénits dans la RFC 1179 "Line printer daemonprotocol"◮ Gestion de quota, redirections, ltre, Pilote d'imprimantes ...


Sylvain Ferrand<strong>Services</strong> <strong>d'impression</strong>, <strong>Partie</strong> 1: <strong>Berkeley</strong> <strong>LPD</strong> <strong>et</strong> <strong>LPRng</strong>HistoriqueIntroductionHistoriqueProtocole<strong>LPRng</strong>Mise en place des ltres <strong>d'impression</strong><strong>LPD</strong>Conclusion◮ <strong>Berkeley</strong> <strong>LPD</strong> (BSD)


Sylvain Ferrand<strong>Services</strong> <strong>d'impression</strong>, <strong>Partie</strong> 1: <strong>Berkeley</strong> <strong>LPD</strong> <strong>et</strong> <strong>LPRng</strong>HistoriqueIntroductionHistoriqueProtocole<strong>LPRng</strong>Mise en place des ltres <strong>d'impression</strong><strong>LPD</strong>Conclusion◮ <strong>Berkeley</strong> <strong>LPD</strong> (BSD)◮ AT/T LP (System 5) (propri<strong>et</strong>aire?)


Sylvain Ferrand<strong>Services</strong> <strong>d'impression</strong>, <strong>Partie</strong> 1: <strong>Berkeley</strong> <strong>LPD</strong> <strong>et</strong> <strong>LPRng</strong>HistoriqueIntroductionHistoriqueProtocole<strong>LPRng</strong>Mise en place des ltres <strong>d'impression</strong><strong>LPD</strong>Conclusion◮ <strong>Berkeley</strong> <strong>LPD</strong> (BSD)◮ AT/T LP (System 5) (propri<strong>et</strong>aire?)◮ PLP (1986) (BSD)


Sylvain Ferrand<strong>Services</strong> <strong>d'impression</strong>, <strong>Partie</strong> 1: <strong>Berkeley</strong> <strong>LPD</strong> <strong>et</strong> <strong>LPRng</strong>HistoriqueIntroductionHistoriqueProtocole<strong>LPRng</strong>Mise en place des ltres <strong>d'impression</strong><strong>LPD</strong>Conclusion◮ <strong>Berkeley</strong> <strong>LPD</strong> (BSD)◮ AT/T LP (System 5) (propri<strong>et</strong>aire?)◮ PLP (1986) (BSD)◮ <strong>LPRng</strong> (1992) (GPL)


Sylvain Ferrand<strong>Services</strong> <strong>d'impression</strong>, <strong>Partie</strong> 1: <strong>Berkeley</strong> <strong>LPD</strong> <strong>et</strong> <strong>LPRng</strong>HistoriqueIntroductionHistoriqueProtocole<strong>LPRng</strong>Mise en place des ltres <strong>d'impression</strong><strong>LPD</strong>Conclusion◮ <strong>Berkeley</strong> <strong>LPD</strong> (BSD)◮ AT/T LP (System 5) (propri<strong>et</strong>aire?)◮ PLP (1986) (BSD)◮ <strong>LPRng</strong> (1992) (GPL)◮ Cups (V1.0 1999) (GPL <strong>et</strong> LGPL)


Sylvain Ferrand<strong>Services</strong> <strong>d'impression</strong>, <strong>Partie</strong> 1: <strong>Berkeley</strong> <strong>LPD</strong> <strong>et</strong> <strong>LPRng</strong><strong>Berkeley</strong> <strong>LPD</strong>IntroductionHistoriqueProtocole<strong>LPRng</strong>Mise en place des ltres <strong>d'impression</strong><strong>LPD</strong>Conclusion◮ Conçu dans les années 70


Sylvain Ferrand<strong>Services</strong> <strong>d'impression</strong>, <strong>Partie</strong> 1: <strong>Berkeley</strong> <strong>LPD</strong> <strong>et</strong> <strong>LPRng</strong><strong>Berkeley</strong> <strong>LPD</strong>IntroductionHistoriqueProtocole<strong>LPRng</strong>Mise en place des ltres <strong>d'impression</strong><strong>LPD</strong>Conclusion◮ Conçu dans les années 70◮ Initialement dévellopé pour les imprimantes locales <strong>et</strong> textes


Sylvain Ferrand<strong>Services</strong> <strong>d'impression</strong>, <strong>Partie</strong> 1: <strong>Berkeley</strong> <strong>LPD</strong> <strong>et</strong> <strong>LPRng</strong><strong>Berkeley</strong> <strong>LPD</strong>IntroductionHistoriqueProtocole<strong>LPRng</strong>Mise en place des ltres <strong>d'impression</strong><strong>LPD</strong>Conclusion◮ Conçu dans les années 70◮ Initialement dévellopé pour les imprimantes locales <strong>et</strong> textes◮ Implemente la RFC 1179 <strong>et</strong> pas plus


Sylvain Ferrand<strong>Services</strong> <strong>d'impression</strong>, <strong>Partie</strong> 1: <strong>Berkeley</strong> <strong>LPD</strong> <strong>et</strong> <strong>LPRng</strong><strong>Berkeley</strong> <strong>LPD</strong>IntroductionHistoriqueProtocole<strong>LPRng</strong>Mise en place des ltres <strong>d'impression</strong><strong>LPD</strong>Conclusion◮ Conçu dans les années 70◮ Initialement dévellopé pour les imprimantes locales <strong>et</strong> textes◮ Implemente la RFC 1179 <strong>et</strong> pas plus◮ Fichier de conguration (printcap) peut lisible <strong>et</strong> rigide


Sylvain Ferrand<strong>Services</strong> <strong>d'impression</strong>, <strong>Partie</strong> 1: <strong>Berkeley</strong> <strong>LPD</strong> <strong>et</strong> <strong>LPRng</strong><strong>Berkeley</strong> <strong>LPD</strong>IntroductionHistoriqueProtocole<strong>LPRng</strong>Mise en place des ltres <strong>d'impression</strong><strong>LPD</strong>Conclusion◮ Conçu dans les années 70◮ Initialement dévellopé pour les imprimantes locales <strong>et</strong> textes◮ Implemente la RFC 1179 <strong>et</strong> pas plus◮ Fichier de conguration (printcap) peut lisible <strong>et</strong> rigide◮ Quatre commandes utilisateur:◮ lpr Assigne un job◮ lpq Ache l'état de la queue◮ lprm Détruit un job◮ lpc Gestion de la queue (très limité)


Sylvain Ferrand<strong>Services</strong> <strong>d'impression</strong>, <strong>Partie</strong> 1: <strong>Berkeley</strong> <strong>LPD</strong> <strong>et</strong> <strong>LPRng</strong><strong>Berkeley</strong> <strong>LPD</strong>IntroductionHistoriqueProtocole<strong>LPRng</strong>Mise en place des ltres <strong>d'impression</strong><strong>LPD</strong>Conclusion◮ Conçu dans les années 70◮ Initialement dévellopé pour les imprimantes locales <strong>et</strong> textes◮ Implemente la RFC 1179 <strong>et</strong> pas plus◮ Fichier de conguration (printcap) peut lisible <strong>et</strong> rigide◮ Quatre commandes utilisateur:◮ lpr Assigne un job◮ lpq Ache l'état de la queue◮ lprm Détruit un job◮ lpc Gestion de la queue (très limité)⇒ Aujourd'hui obsolète


Sylvain Ferrand<strong>Services</strong> <strong>d'impression</strong>, <strong>Partie</strong> 1: <strong>Berkeley</strong> <strong>LPD</strong> <strong>et</strong> <strong>LPRng</strong>Les dérivésIntroductionHistoriqueProtocole<strong>LPRng</strong>Mise en place des ltres <strong>d'impression</strong><strong>LPD</strong>Conclusion◮ PLP - Hack de <strong>Berkeley</strong> <strong>LPD</strong>, développé jusqu'a 1992◮ <strong>LPRng</strong> - Essentiellement une réimplementation de PLP en GPL


Sylvain Ferrand<strong>Services</strong> <strong>d'impression</strong>, <strong>Partie</strong> 1: <strong>Berkeley</strong> <strong>LPD</strong> <strong>et</strong> <strong>LPRng</strong>IntroductionHistoriqueProtocole<strong>LPRng</strong>Mise en place des ltres <strong>d'impression</strong><strong>LPD</strong>ConclusionLes améliorations apportées par <strong>LPRng</strong>◮ Gestion de queue améliorée avec le nouveau lpc


Sylvain Ferrand<strong>Services</strong> <strong>d'impression</strong>, <strong>Partie</strong> 1: <strong>Berkeley</strong> <strong>LPD</strong> <strong>et</strong> <strong>LPRng</strong>IntroductionHistoriqueProtocole<strong>LPRng</strong>Mise en place des ltres <strong>d'impression</strong><strong>LPD</strong>ConclusionLes améliorations apportées par <strong>LPRng</strong>◮ Gestion de queue améliorée avec le nouveau lpc◮ Passer des job en tête de queue


Sylvain Ferrand<strong>Services</strong> <strong>d'impression</strong>, <strong>Partie</strong> 1: <strong>Berkeley</strong> <strong>LPD</strong> <strong>et</strong> <strong>LPRng</strong>IntroductionHistoriqueProtocole<strong>LPRng</strong>Mise en place des ltres <strong>d'impression</strong><strong>LPD</strong>ConclusionLes améliorations apportées par <strong>LPRng</strong>◮ Gestion de queue améliorée avec le nouveau lpc◮ Passer des job en tête de queue◮ rediriger des jobs vers une autre queue


Sylvain Ferrand<strong>Services</strong> <strong>d'impression</strong>, <strong>Partie</strong> 1: <strong>Berkeley</strong> <strong>LPD</strong> <strong>et</strong> <strong>LPRng</strong>IntroductionHistoriqueProtocole<strong>LPRng</strong>Mise en place des ltres <strong>d'impression</strong><strong>LPD</strong>ConclusionLes améliorations apportées par <strong>LPRng</strong>◮ Gestion de queue améliorée avec le nouveau lpc◮ Passer des job en tête de queue◮ rediriger des jobs vers une autre queue◮ Sécurité améliorée


Sylvain Ferrand<strong>Services</strong> <strong>d'impression</strong>, <strong>Partie</strong> 1: <strong>Berkeley</strong> <strong>LPD</strong> <strong>et</strong> <strong>LPRng</strong>IntroductionHistoriqueProtocole<strong>LPRng</strong>Mise en place des ltres <strong>d'impression</strong><strong>LPD</strong>ConclusionLes améliorations apportées par <strong>LPRng</strong>◮ Gestion de queue améliorée avec le nouveau lpc◮ Passer des job en tête de queue◮ rediriger des jobs vers une autre queue◮ Sécurité améliorée◮ Meilleur gestion des permissions <strong>et</strong> de l'authentication(Kerberos, SSL)


Sylvain Ferrand<strong>Services</strong> <strong>d'impression</strong>, <strong>Partie</strong> 1: <strong>Berkeley</strong> <strong>LPD</strong> <strong>et</strong> <strong>LPRng</strong>IntroductionHistoriqueProtocole<strong>LPRng</strong>Mise en place des ltres <strong>d'impression</strong><strong>LPD</strong>ConclusionLes améliorations apportées par <strong>LPRng</strong>◮ Gestion de queue améliorée avec le nouveau lpc◮ Passer des job en tête de queue◮ rediriger des jobs vers une autre queue◮ Sécurité améliorée◮ Meilleur gestion des permissions <strong>et</strong> de l'authentication(Kerberos, SSL)◮ Logging, quota


Sylvain Ferrand<strong>Services</strong> <strong>d'impression</strong>, <strong>Partie</strong> 1: <strong>Berkeley</strong> <strong>LPD</strong> <strong>et</strong> <strong>LPRng</strong>IntroductionHistoriqueProtocole<strong>LPRng</strong>Mise en place des ltres <strong>d'impression</strong><strong>LPD</strong>ConclusionLes améliorations apportées par <strong>LPRng</strong>◮ Gestion de queue améliorée avec le nouveau lpc◮ Passer des job en tête de queue◮ rediriger des jobs vers une autre queue◮ Sécurité améliorée◮ Meilleur gestion des permissions <strong>et</strong> de l'authentication(Kerberos, SSL)◮ Logging, quota◮ Fichier de conguration moins rigide mais compatible


Sylvain Ferrand<strong>Services</strong> <strong>d'impression</strong>, <strong>Partie</strong> 1: <strong>Berkeley</strong> <strong>LPD</strong> <strong>et</strong> <strong>LPRng</strong>IntroductionHistoriqueProtocole<strong>LPRng</strong>Mise en place des ltres <strong>d'impression</strong><strong>LPD</strong>ConclusionLes améliorations apportées par <strong>LPRng</strong>◮ Gestion de queue améliorée avec le nouveau lpc◮ Passer des job en tête de queue◮ rediriger des jobs vers une autre queue◮ Sécurité améliorée◮ Meilleur gestion des permissions <strong>et</strong> de l'authentication(Kerberos, SSL)◮ Logging, quota◮ Fichier de conguration moins rigide mais compatible◮ Fournit avec des ltres


Sylvain Ferrand<strong>Services</strong> <strong>d'impression</strong>, <strong>Partie</strong> 1: <strong>Berkeley</strong> <strong>LPD</strong> <strong>et</strong> <strong>LPRng</strong>IntroductionHistoriqueProtocole<strong>LPRng</strong>Mise en place des ltres <strong>d'impression</strong><strong>LPD</strong>ConclusionLes améliorations apportées par <strong>LPRng</strong>◮ Gestion de queue améliorée avec le nouveau lpc◮ Passer des job en tête de queue◮ rediriger des jobs vers une autre queue◮ Sécurité améliorée◮ Meilleur gestion des permissions <strong>et</strong> de l'authentication(Kerberos, SSL)◮ Logging, quota◮ Fichier de conguration moins rigide mais compatible◮ Fournit avec des ltres◮ Emulation du LP System V


Mais compatibilité conservée avec la RFC 1179Sylvain Ferrand <strong>Services</strong> <strong>d'impression</strong>, <strong>Partie</strong> 1: <strong>Berkeley</strong> <strong>LPD</strong> <strong>et</strong> <strong>LPRng</strong>IntroductionHistoriqueProtocole<strong>LPRng</strong>Mise en place des ltres <strong>d'impression</strong><strong>LPD</strong>ConclusionLes améliorations apportées par <strong>LPRng</strong>◮ Gestion de queue améliorée avec le nouveau lpc◮ Passer des job en tête de queue◮ rediriger des jobs vers une autre queue◮ Sécurité améliorée◮ Meilleur gestion des permissions <strong>et</strong> de l'authentication(Kerberos, SSL)◮ Logging, quota◮ Fichier de conguration moins rigide mais compatible◮ Fournit avec des ltres◮ Emulation du LP System V


lpd est le daemon <strong>d'impression</strong>, il utilise le port 515 pourcommuniquer avec lpq, lpr, lprm. Les clients se connectent via desports source < 1024.Sylvain Ferrand <strong>Services</strong> <strong>d'impression</strong>, <strong>Partie</strong> 1: <strong>Berkeley</strong> <strong>LPD</strong> <strong>et</strong> <strong>LPRng</strong>IntroductionHistoriqueProtocole<strong>LPRng</strong>Mise en place des ltres <strong>d'impression</strong><strong>LPD</strong>ConclusionAchitecture <strong>Berkeley</strong> <strong>LPD</strong>/RFC1179


Sylvain Ferrand<strong>Services</strong> <strong>d'impression</strong>, <strong>Partie</strong> 1: <strong>Berkeley</strong> <strong>LPD</strong> <strong>et</strong> <strong>LPRng</strong>IntroductionHistoriqueProtocole<strong>LPRng</strong>Mise en place des ltres <strong>d'impression</strong><strong>LPD</strong>ConclusionFichiers de conguration◮ /<strong>et</strong>c/lpd.conf◮ Denit les chemins vers les diérents chiers de logs <strong>et</strong> de conf◮ /<strong>et</strong>c/printcap◮ Dénit les queues <strong>et</strong> leur caractéristiques◮ /<strong>et</strong>c/lpd.perm◮ Dénit les authorisations pour des machines, des utilisateursou des groupes


Sylvain Ferrand<strong>Services</strong> <strong>d'impression</strong>, <strong>Partie</strong> 1: <strong>Berkeley</strong> <strong>LPD</strong> <strong>et</strong> <strong>LPRng</strong>printcapIntroductionHistoriqueProtocole<strong>LPRng</strong>Mise en place des ltres <strong>d'impression</strong><strong>LPD</strong>ConclusionSert a dénir les queues <strong>et</strong> leur propriétées◮ Format très rigide sous <strong>Berkeley</strong> BSD◮ attention au r<strong>et</strong>ours à la ligne, aux espaces...◮ Tags de 2 caractères max -> peu lisible⇒ Des simplications mais compatibilités ascendante avec<strong>LPRng</strong>


Sylvain Ferrand<strong>Services</strong> <strong>d'impression</strong>, <strong>Partie</strong> 1: <strong>Berkeley</strong> <strong>LPD</strong> <strong>et</strong> <strong>LPRng</strong>IntroductionHistoriqueProtocole<strong>LPRng</strong>Mise en place des ltres <strong>d'impression</strong><strong>LPD</strong>Conclusionprintcap - Coté clientIl sut de connaitre le nom des queues <strong>et</strong> du serveur:# Un exemple pour une imprimante nomee hp ou hp2emehp|hp2eme:lp=NomDeLaQueue@serveur


Sylvain Ferrand<strong>Services</strong> <strong>d'impression</strong>, <strong>Partie</strong> 1: <strong>Berkeley</strong> <strong>LPD</strong> <strong>et</strong> <strong>LPRng</strong>IntroductionHistoriqueProtocole<strong>LPRng</strong>Mise en place des ltres <strong>d'impression</strong><strong>LPD</strong>Conclusionprintcap - Coté serveurUn peu plus complex, mais pas tant que ca.La syntaxe est basée sur le format termcaplprv::server::sd=/var/spool/lpd/lprv::if=/var/spool/lpd/filtres/filter::mx#0::sh::rm=lprv:


IntroductionHistoriqueProtocole<strong>LPRng</strong>Mise en place des ltres <strong>d'impression</strong><strong>LPD</strong>ConclusionQuelques aspects du protocole <strong>LPD</strong>Le client doit transferer un chier de control <strong>et</strong> un chier de donnéeau serveur.Le chier de control est transferé en ASCII (n de ligne \n)Exemple:Hmachine.polytechnique.frJ(stdin)LrootfdfA001machine.polytechnique.frN(stdin)...Host nameJob titleUser nameDatafileData file NameLe chier de control cfA001machine.polytechnique.fr <strong>et</strong> le chier dedonnée associé dfA001machine.polytechnique.fr sont copiés dans lerepertoire de spool du serveur.Sylvain Ferrand<strong>Services</strong> <strong>d'impression</strong>, <strong>Partie</strong> 1: <strong>Berkeley</strong> <strong>LPD</strong> <strong>et</strong> <strong>LPRng</strong>


Sylvain Ferrand<strong>Services</strong> <strong>d'impression</strong>, <strong>Partie</strong> 1: <strong>Berkeley</strong> <strong>LPD</strong> <strong>et</strong> <strong>LPRng</strong>IntroductionHistoriqueProtocole<strong>LPRng</strong>Mise en place des ltres <strong>d'impression</strong><strong>LPD</strong>ConclusionQuelques aspects du protocole <strong>LPD</strong> - suiteLe protocole dénit par la RFC 1179 est très simple mais il y a deslacunes


Sylvain Ferrand<strong>Services</strong> <strong>d'impression</strong>, <strong>Partie</strong> 1: <strong>Berkeley</strong> <strong>LPD</strong> <strong>et</strong> <strong>LPRng</strong>IntroductionHistoriqueProtocole<strong>LPRng</strong>Mise en place des ltres <strong>d'impression</strong><strong>LPD</strong>ConclusionQuelques aspects du protocole <strong>LPD</strong> - suiteLe protocole dénit par la RFC 1179 est très simple mais il y a deslacunes◮ Problèmes d'incompatibilité entre les clients <strong>et</strong> les serveurs.


Sylvain Ferrand<strong>Services</strong> <strong>d'impression</strong>, <strong>Partie</strong> 1: <strong>Berkeley</strong> <strong>LPD</strong> <strong>et</strong> <strong>LPRng</strong>IntroductionHistoriqueProtocole<strong>LPRng</strong>Mise en place des ltres <strong>d'impression</strong><strong>LPD</strong>ConclusionQuelques aspects du protocole <strong>LPD</strong> - suiteLe protocole dénit par la RFC 1179 est très simple mais il y a deslacunes◮ Problèmes d'incompatibilité entre les clients <strong>et</strong> les serveurs.◮ Problèmes d'authentication <strong>et</strong> donc de sécurité


Sylvain Ferrand<strong>Services</strong> <strong>d'impression</strong>, <strong>Partie</strong> 1: <strong>Berkeley</strong> <strong>LPD</strong> <strong>et</strong> <strong>LPRng</strong>IntroductionHistoriqueProtocole<strong>LPRng</strong>Mise en place des ltres <strong>d'impression</strong><strong>LPD</strong>ConclusionQuelques aspects du protocole <strong>LPD</strong> - suiteLe protocole dénit par la RFC 1179 est très simple mais il y a deslacunes◮ Problèmes d'incompatibilité entre les clients <strong>et</strong> les serveurs.◮ Problèmes d'authentication <strong>et</strong> donc de sécurité◮ Pratiquement rien de prévu pour gérer la queue


Sylvain Ferrand<strong>Services</strong> <strong>d'impression</strong>, <strong>Partie</strong> 1: <strong>Berkeley</strong> <strong>LPD</strong> <strong>et</strong> <strong>LPRng</strong>IntroductionHistoriqueProtocole<strong>LPRng</strong>Mise en place des ltres <strong>d'impression</strong><strong>LPD</strong>ConclusionQuelques aspects du protocole <strong>LPD</strong> - suiteLe protocole dénit par la RFC 1179 est très simple mais il y a deslacunes◮ Problèmes d'incompatibilité entre les clients <strong>et</strong> les serveurs.◮ Problèmes d'authentication <strong>et</strong> donc de sécurité◮ Pratiquement rien de prévu pour gérer la queue⇒ introduit déja quelque extention


Sylvain Ferrand<strong>Services</strong> <strong>d'impression</strong>, <strong>Partie</strong> 1: <strong>Berkeley</strong> <strong>LPD</strong> <strong>et</strong> <strong>LPRng</strong>IntroductionHistoriqueProtocole<strong>LPRng</strong>Mise en place des ltres <strong>d'impression</strong><strong>LPD</strong>ConclusionQuelques aspects du protocole <strong>LPD</strong> - suiteLe protocole dénit par la RFC 1179 est très simple mais il y a deslacunes◮ Problèmes d'incompatibilité entre les clients <strong>et</strong> les serveurs.◮ Problèmes d'authentication <strong>et</strong> donc de sécurité◮ Pratiquement rien de prévu pour gérer la queue⇒ introduit déja quelque extention⇒ Nouveau protocole IPP pour combler ces lacunes


Sylvain Ferrand<strong>Services</strong> <strong>d'impression</strong>, <strong>Partie</strong> 1: <strong>Berkeley</strong> <strong>LPD</strong> <strong>et</strong> <strong>LPRng</strong>Les ltres existantsIntroductionHistoriqueProtocole<strong>LPRng</strong>Mise en place des ltres <strong>d'impression</strong><strong>LPD</strong>ConclusionDiérent ltres existent déja:◮ pslter◮ apslter◮ Détection automatique du type de donnée (image, texte...) <strong>et</strong>conversion en PS.◮ <strong>LPRng</strong> ifhp lter


Sylvain Ferrand<strong>Services</strong> <strong>d'impression</strong>, <strong>Partie</strong> 1: <strong>Berkeley</strong> <strong>LPD</strong> <strong>et</strong> <strong>LPRng</strong>IntroductionHistoriqueProtocole<strong>LPRng</strong>Mise en place des ltres <strong>d'impression</strong><strong>LPD</strong>ConclusionCréer ses propres ltresIl faut écrire un programme qui lit l'entrée standard <strong>et</strong> qui écrit surla sortie standard.Pratiquement les ltres existants (comme apslter) savent très bienreconnaitre un type de chier pour le transformer en postscript avecle bon utilitaire.Il peut <strong>et</strong>re utile de rajouter des fonctionnalités maison, parexemple:◮ vérier que les imprimantes sont up <strong>et</strong> envoyer un mail si cen'est pas le cas◮ logger tout un tas de chose...◮ bricoler le postscript (gérer le duplex...)


Sylvain Ferrand<strong>Services</strong> <strong>d'impression</strong>, <strong>Partie</strong> 1: <strong>Berkeley</strong> <strong>LPD</strong> <strong>et</strong> <strong>LPRng</strong>IntroductionHistoriqueProtocole<strong>LPRng</strong>Mise en place des ltres <strong>d'impression</strong><strong>LPD</strong>ConclusionStructure d'un ltre◮ Récuperer les arguments passés en ligne de commande◮ reconaitre le type de donnée (un b<strong>et</strong>e file)◮ if type_de_fichier -> appeler tel utilitaire deconversion...◮ faire tout les traitements additionnels nécessaire◮ balancer le résultat sur la sortie standard


Sylvain Ferrand<strong>Services</strong> <strong>d'impression</strong>, <strong>Partie</strong> 1: <strong>Berkeley</strong> <strong>LPD</strong> <strong>et</strong> <strong>LPRng</strong>IntroductionHistoriqueProtocole<strong>LPRng</strong>Mise en place des ltres <strong>d'impression</strong><strong>LPD</strong>ConclusionConclusion de la premiere partie◮ <strong>Berkeley</strong> <strong>LPD</strong> obsolète◮ <strong>LPRng</strong> n'est pas mort, même si son développement est trèsralentit ( dernière version octobre 2004)◮ Coté ltre, ASPFILTER semble encore <strong>et</strong>re en développementactif<strong>LPRng</strong>+ASPFILTER, très robuste <strong>et</strong> ecace ... mais peut-<strong>et</strong>re ya-t-il a plus moderne? :)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!