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>Fixing Bad Control Files and Metacharacters</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="UP" title="lpr - Job Spooler Program" href=
12    "lpr.htm">
13    <link rel="PREVIOUS" title=
14    "Restrict Queue Use to Group Members " href="rg.htm">
15    <link rel="NEXT" title="Minimum Spool Queue Free Space " href=
16    "minfree.htm">
17  </head>
18
19  <body class="SECT1" bgcolor="#FFFFFF" text="#000000" link=
20  "#0000FF" vlink="#840084" alink="#0000FF">
21    <div class="NAVHEADER">
22      <table summary="Header navigation table" width="100%" border=
23      "0" cellpadding="0" cellspacing="0">
24        <tr>
25          <th colspan="3" align="center">LPRng Reference Manual: 5
26          Sep 2003 (For LPRng-3.8.22)</th>
27        </tr>
28
29        <tr>
30          <td width="10%" align="left" valign="bottom"><a href=
31          "rg.htm" accesskey="P">Prev</a></td>
32
33          <td width="80%" align="center" valign="bottom">Chapter 6.
34          <b class="APPLICATION">lpr</b> - Job Spooler Program</td>
35
36          <td width="10%" align="right" valign="bottom"><a href=
37          "minfree.htm" accesskey="N">Next</a></td>
38        </tr>
39      </table>
40      <hr align="LEFT" width="100%">
41    </div>
42
43    <div class="SECT1">
44      <h1 class="SECT1"><a name="SAFECHARS">6.12. Fixing Bad
45      Control Files and Metacharacters</a></h1>
46
47      <p>Options used:</p>
48
49      <ul>
50        <li>
51          <p><var class="LITERAL">safe_chars=</var><span class=
52          "emphasis"><i class="EMPHASIS">additional safe characters
53          for control file</i></span></p>
54        </li>
55      </ul>
56      <br>
57      <br>
58
59      <p>RFC1179 defines a simple protocol and standard for print
60      jobs to be interchanged between print spooling systems.
61      Unfortunately, there were some major mistakes in not
62      specifying the exact form that text would take when placed in
63      the control file.</p>
64
65      <p>By default, <b class="APPLICATION">LPRng</b> will brutally
66      convert a non-conforming RFC1179 control file into one that
67      is acceptable to most, if not all, existing RFC1179
68      implementations. In order to prevent problems with <b class=
69      "APPLICATION">LPRng</b> ruthlessly purges all characters but
70      upper and lower case letters, spaces, tabs, and <var class=
71      "LITERAL">-_.@/:()=,+-%</var> from the control file,
72      replacing suspicious characters with underscore (<var class=
73      "LITERAL">_</var>). In addition, <b class=
74      "APPLICATION">LPRng</b> will ruthlessly regenerate control
75      file entries and data file names so that they are compliant
76      with all known RFC1179 implementations.</p>
77
78      <p>For some installations, the default set of safe characters
79      may be overly restrictive. For example, <span class=
80      "emphasis"><i class="EMPHASIS">vintage</i></span> software
81      may generate files with <var class="LITERAL">#</var>
82      characters in the <var class="LITERAL">J</var> line of the
83      control file. The replacement of this character by underscore
84      (<var class="LITERAL">_</var>) may cause other applications
85      which use the control file information to stop working. The
86      <var class="LITERAL">:safe_chars</var> option allows the user
87      to specify an additional set of safe characters in the <tt
88      class="FILENAME">lpd.conf</tt> configuration file(s).</p>
89
90      <p>For example, <var class="LITERAL">:safe_chars=#"</var>
91      would allow the <var class="LITERAL">#</var> and <var class=
92      "LITERAL">"</var> characters to appear in the control
93      file.</p>
94    </div>
95
96    <div class="NAVFOOTER">
97      <hr align="LEFT" width="100%">
98
99      <table summary="Footer navigation table" width="100%" border=
100      "0" cellpadding="0" cellspacing="0">
101        <tr>
102          <td width="33%" align="left" valign="top"><a href=
103          "rg.htm" accesskey="P">Prev</a></td>
104
105          <td width="34%" align="center" valign="top"><a href=
106          "index.htm" accesskey="H">Home</a></td>
107
108          <td width="33%" align="right" valign="top"><a href=
109          "minfree.htm" accesskey="N">Next</a></td>
110        </tr>
111
112        <tr>
113          <td width="33%" align="left" valign="top">Restrict Queue
114          Use to Group Members</td>
115
116          <td width="34%" align="center" valign="top"><a href=
117          "lpr.htm" accesskey="U">Up</a></td>
118
119          <td width="33%" align="right" valign="top">Minimum Spool
120          Queue Free Space</td>
121        </tr>
122      </table>
123    </div>
124  </body>
125</html>
126
127