This file is indexed.

/usr/share/doc/lprng-doc/LPRng-Reference-Multipart/introduction.htm is in lprng-doc 3.8.A~rc2-3.1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

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