• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt/router/LPRng/DOCS/LPRng-Reference-Multipart/
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
3<html>
4  <head>
5    <meta name="generator" content="HTML Tidy, see www.w3.org">
6    <title>Introduction</title>
7    <meta name="GENERATOR" content=
8    "Modular DocBook HTML Stylesheet Version 1.7">
9    <link rel="HOME" title=" LPRng Reference Manual" href=
10    "index.htm">
11    <link rel="PREVIOUS" title="Notes, warnings, and examples"
12    href="x126.htm">
13    <link rel="NEXT" title="Additional Resources " href=
14    "maillist.htm">
15  </head>
16
17  <body class="CHAPTER" bgcolor="#FFFFFF" text="#000000" link=
18  "#0000FF" vlink="#840084" alink="#0000FF">
19    <div class="NAVHEADER">
20      <table summary="Header navigation table" width="100%" border=
21      "0" cellpadding="0" cellspacing="0">
22        <tr>
23          <th colspan="3" align="center">LPRng Reference Manual: 5
24          Sep 2003 (For LPRng-3.8.22)</th>
25        </tr>
26
27        <tr>
28          <td width="10%" align="left" valign="bottom"><a href=
29          "x126.htm" accesskey="P">Prev</a></td>
30
31          <td width="80%" align="center" valign="bottom">
32          </td>
33
34          <td width="10%" align="right" valign="bottom"><a href=
35          "maillist.htm" accesskey="N">Next</a></td>
36        </tr>
37      </table>
38      <hr align="LEFT" width="100%">
39    </div>
40
41    <div class="CHAPTER">
42      <h1><a name="INTRODUCTION"></a>Chapter 1. Introduction</h1>
43
44      <div class="TOC">
45        <dl>
46          <dt><b>Table of Contents</b></dt>
47
48          <dt>1.1. <a href="introduction.htm#SECFEATURES">What is
49          <b class="APPLICATION">LPRng</b>?</a></dt>
50
51          <dt>1.2. <a href="maillist.htm">Additional
52          Resources</a></dt>
53
54          <dt>1.3. <a href="x216.htm">Frequently Asked
55          Questions</a></dt>
56
57          <dt>1.4. <a href="x225.htm">License, Copyright, and
58          Disclaimer</a></dt>
59
60          <dt>1.5. <a href="x232.htm">Commercial Support</a></dt>
61
62          <dt>1.6. <a href="x237.htm">Web Site</a></dt>
63
64          <dt>1.7. <a href="secftp.htm">FTP Sites</a></dt>
65
66          <dt>1.8. <a href="x277.htm">Mailing List</a></dt>
67
68          <dt>1.9. <a href="faqref.htm">PGP Public Key</a></dt>
69
70          <dt>1.10. <a href="x291.htm">References and
71          Standards</a></dt>
72        </dl>
73      </div>
74
75      <p>Printing is one of the essential services provided by
76      computer systems. Users want reliable and easy to use methods
77      of printing that require a minimum amount of effort to used
78      and understand. On single user systems with a directly
79      attached printer they perceive that the printing process is
80      simply a matter of <span class="emphasis"><i class=
81      "EMPHASIS">storing</i></span> or <span class="emphasis"><i
82      class="EMPHASIS">spooling</i></span> a file, and then
83      transferring it to the printer in a timely manner. In the
84      classical <span class="emphasis"><i class=
85      "EMPHASIS">multi-user</i></span> systems, each user expects
86      to share a common printer with one or more users; the print
87      <span class="emphasis"><i class=
88      "EMPHASIS">spooling</i></span> system provides arbitration
89      and sharing of the printer among the various users. In a
90      <span class="emphasis"><i class="EMPHASIS">network</i></span>
91      based multi-user system, there may be one or more printers
92      shared by multiple users on many different systems. The print
93      <span class="emphasis"><i class=
94      "EMPHASIS">spoolers</i></span> will need to cooperate to
95      provide print services to the users in a simple an
96      predictable manner.</p>
97
98      <div class="SECT1">
99        <h1 class="SECT1"><a name="SECFEATURES">1.1. What is <b
100        class="APPLICATION">LPRng</b>?</a></h1>
101
102        <p>The <b class="APPLICATION">LPRng</b> print spooler
103        software was developed to be robust, reliable, secure,
104        scalable, and portable. It has been used since 1988 in
105        extremely demanding academic printing environments such as
106        University of Minnesota, MIT, and Rutgers, commercial
107        companies such as Dow Jones and Abbot Pharmaceuticals, as
108        well as being distributed with Linux, FreeBSD, and other
109        systems. Each of these environments has a unique set of
110        problems, demanding various configuration and
111        administrative capabilities. For example, the simple single
112        user system with a single or limited number of printers
113        requires easy configuration and simple diagnostic
114        procedures, while the network based printing system
115        requires highly robust error logging, authentication, and
116        failover support. <b class="APPLICATION">LPRng</b> provides
117        a highly flexible configuration system that allows it to
118        perform optimally in all of these environments.</p>
119
120        <p>The <b class="APPLICATION">LPRng</b> software has three
121        components: the <b class="APPLICATION">lpd</b> print
122        spooler and the user client applications <b class=
123        "APPLICATION">lpr</b>, <b class="APPLICATION">lpq</b>, <b
124        class="APPLICATION">lprm</b>, etc.; the IFHP print filter
125        (<b class="APPLICATION">ifhp</b>) which is used to convert
126        jobs into a suitable for a particular printer, and the the
127        LPRngTool Graphic User Interface (<b class=
128        "APPLICATION">lprngtool</b>) which provides a simple and
129        easy to use configuration and monitoring tool for the <b
130        class="APPLICATION">LPRng</b> print spooler.</p>
131
132        <p><b class="APPLICATION">LPRng</b> mimics many of the
133        features of the <span class="emphasis"><i class=
134        "EMPHASIS">vintage</i></span> or <span class="emphasis"><i
135        class="EMPHASIS">legacy</i></span> Berkeley (University of
136        California - Berkeley) Line Printer (LPR) package found on
137        Berkeley derivatives of the Unix operating system. <b
138        class="APPLICATION">LPRng</b> will print a document with
139        little or no knowledge of the content or special processing
140        required to print the document on a stand-alone machine or
141        in a distributed printing environment. New (as compared to
142        Berkeley LPR) features include: lightweight <b class=
143        "APPLICATION">lpr</b>, <b class="APPLICATION">lpc</b> and
144        <b class="APPLICATION">lprm</b> programs, dynamic
145        redirection of print queues, automatic job holding, highly
146        verbose diagnostics, load balancing queues; enhanced
147        security (SUID not required in most environments), and easy
148        configuration.</p>
149
150        <p><b class="APPLICATION">LPRng</b> started life at the
151        University of Waterloo in 1986 as PLP (Public Line
152        Printer), a replacement for the original BSD <b class=
153        "APPLICATION">lpd</b> code. This was a one-shot effort by
154        the author, Patrick Powell, to develop freely redistributed
155        code without the restrictions of the BSD/AT&amp;T license
156        and would allow non-licensed sites to fix and patch
157        problems. From 1988 to 1992 individuals and groups added
158        features, hacked, slashed, and modified the PLP code,
159        coordinated largely by Justin Mason (<code class=
160        "EMAIL">&lt;<a href=
161        "mailto:jmason@iona.ie">jmason@iona.ie</a>&gt;</code>) who
162        started the <b class="APPLICATION">LPRng</b> mailing
163        list.</p>
164
165        <p>In 1992 while at San Diego State University Prof. Powell
166        redesigned and reimplemented the PLP code and named the
167        result <b class="APPLICATION">LPRng</b>. The goals of the
168        <b class="APPLICATION">LPRng</b> project were to build a
169        server system that was as close to user abuse proof as
170        possible, that would provide services limited only by the
171        inherent capacities of the support system, RFC1179
172        compliant, and with extensive debugging capabilities to
173        allow quick and easy diagnostics of problems.</p>
174
175        <p>In 1999 the code base for <b class=
176        "APPLICATION">LPRng</b> was again reorganized in order to
177        provide a common method for running on non-UNIX platforms
178        such as Microsoft Windows NT, Apple Rhapsody, and embedded
179        systems.</p>
180
181        <p>As a side effect of this work, many security problems
182        that could develop were identified and steps taken to
183        ensure that they were not present in <b class=
184        "APPLICATION">LPRng</b>. For example, <b class=
185        "APPLICATION">LPRng</b> clients such as lpr, lprm, lpc, and
186        lpq can run as ordinary users programs, the lpd server can
187        run as a non-root user once a network port has been opened,
188        and all text formatting operations done by <b class=
189        "APPLICATION">LPRng</b> use a very restricted and highly
190        secure version of the <b class="APPLICATION">snprintf</b>
191        function.</p>
192      </div>
193    </div>
194
195    <div class="NAVFOOTER">
196      <hr align="LEFT" width="100%">
197
198      <table summary="Footer navigation table" width="100%" border=
199      "0" cellpadding="0" cellspacing="0">
200        <tr>
201          <td width="33%" align="left" valign="top"><a href=
202          "x126.htm" accesskey="P">Prev</a></td>
203
204          <td width="34%" align="center" valign="top"><a href=
205          "index.htm" accesskey="H">Home</a></td>
206
207          <td width="33%" align="right" valign="top"><a href=
208          "maillist.htm" accesskey="N">Next</a></td>
209        </tr>
210
211        <tr>
212          <td width="33%" align="left" valign="top">Notes,
213          warnings, and examples</td>
214
215          <td width="34%" align="center" valign="top">&nbsp;</td>
216
217          <td width="33%" align="right" valign="top">Additional
218          Resources</td>
219        </tr>
220      </table>
221    </div>
222  </body>
223</html>
224
225