chiark / gitweb /
Regenerated formatted documentation (spec.ps, spec.html).
[userv.git] / spec.ps
1 %!PS-Adobe-3.0
2 %%Creator: Basser Lout Version 3.10 (November 1996)
3 %%CreationDate: Sun Jun 20 18:45:09 1999
4 %%DocumentData: Binary
5 %%DocumentNeededResources: (atend)
6 %%DocumentMedia: Plain 595 842 0 white ()
7 %%DocumentSuppliedResources: (atend)
8 %%Pages: (atend)
9 %%BoundingBox: 0 0 595 842
10 %%EndComments
11
12 %%BeginProlog
13 %%BeginResource: procset LoutStartUp
14 /m  { 3 1 roll moveto show } bind def
15 /s  { exch currentpoint exch pop moveto show } bind def
16 /k  { exch neg 0 rmoveto show } bind def
17 /ul { gsave setlinewidth dup 3 1 roll
18       moveto lineto stroke grestore } bind def
19 /in { 1440 mul } def
20 /cm { 567 mul } def
21 /pt { 20 mul } def
22 /em { 120 mul } def
23 /sp { louts mul } def
24 /vs { loutv mul } def
25 /ft { loutf mul } def
26 /dg {           } def
27
28 /LoutGraphic {
29   /louts exch def
30   /loutv exch def
31   /loutf exch def
32   /ymark exch def
33   /xmark exch def
34   /ysize exch def
35   /xsize exch def
36 } def
37
38 /LoutGr2 { gsave translate LoutGraphic gsave } def
39
40 /LoutFont
41 { findfont exch scalefont setfont
42 } bind def
43
44 /LoutRecode {
45   { findfont dup length dict begin
46     {1 index /FID ne {def} {pop pop} ifelse} forall
47     /Encoding exch def
48     currentdict end definefont pop
49   }
50   stopped pop
51 } bind def
52
53 /BeginEPSF {
54   /LoutEPSFState save def
55   /dict_count countdictstack def
56   /op_count count 1 sub def
57   userdict begin
58   /showpage { } def
59   0 setgray 0 setlinecap
60   1 setlinewidth 0 setlinejoin
61   10 setmiterlimit [] 0 setdash newpath
62   /languagelevel where
63   { pop languagelevel
64     1 ne
65     { false setstrokeadjust false setoverprint
66     } if
67   } if
68 } bind def
69
70 /EndEPSF {
71   count op_count sub { pop } repeat
72   countdictstack dict_count sub { end } repeat
73   LoutEPSFState restore
74 } bind def
75 %%EndResource
76
77 %%BeginResource encoding vec2
78 /vec2 [
79 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
80 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
81 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
82 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
83 /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
84 /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash
85 /zero /one /two /three /four /five /six /seven
86 /eight /nine /colon /semicolon /less /equal /greater /question
87 /at /A /B /C /D /E /F /G
88 /H /I /J /K /L /M /N /O
89 /P /Q /R /S /T /U /V /W
90 /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore
91 /quoteleft /a /b /c /d /e /f /g
92 /h /i /j /k /l /m /n /o
93 /p /q /r /s /t /u /v /w
94 /x /y /z /braceleft /bar /braceright /asciitilde /.notdef
95 /quotesinglbase /quotedblbase /ellipsis /OE /oe /quotedblleft /quotedblright /fi
96 /fl /endash /emdash /bullet /dagger /daggerdbl /florin /fraction
97 /dotlessi /grave /acute /circumflex /tilde /macron /breve /dotaccent
98 /dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek /caron
99 /space /exclamdown /cent /sterling /currency /yen /brokenbar /section
100 /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron
101 /degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered
102 /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown
103 /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
104 /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis
105 /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply
106 /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls
107 /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla
108 /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis
109 /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide
110 /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis
111 ] def
112 %%EndResource
113
114 %%BeginResource: procset LoutMarginNotes
115 % @PrependGraphic file /usr/lib/lout/include/dl.lpg
116
117 % path for @FullWidthRule symbol
118 /LoutRule
119 { 0 0 moveto xsize 0 lineto
120 } def
121
122 % path for @Box symbol
123 /LoutBox
124 { 0 0 moveto xsize 0 lineto
125   xsize ysize lineto 0 ysize lineto
126   closepath
127 } def
128
129 % path for @CurveBox symbol
130 /LoutCurveBox
131 { xmark 0 moveto
132   xsize xmark sub xmark xmark 270 360 arc
133   xsize xmark sub ysize xmark sub xmark 0 90 arc
134   xmark ysize xmark sub xmark 90 180 arc
135   xmark xmark xmark 180 270 arc
136   closepath
137 } def
138
139 % path for @ShadowBox symbol
140 /LoutShadowBox
141 { xmark 2 mul 0 moveto xsize 0 lineto
142   xsize ysize xmark 2 mul sub lineto
143   xsize xmark sub ysize xmark 2 mul sub lineto
144   xsize xmark sub xmark lineto
145   xmark 2 mul xmark lineto
146   closepath
147 } def
148
149 % set up dictionary containing margin note data: parity LoutMargSet -
150 /LoutMargSet
151 { /LoutMargDict 12 dict def
152   LoutMargDict begin
153     /parity exch def
154     /matr matrix currentmatrix def
155     /rightx xsize def
156     /lefty ysize def   % highest allowable point for top of next left note
157     /righty ysize def  % highest allowable point for top of next right note
158     /max { 2 copy gt { pop } { exch pop } ifelse } def
159     /min { 2 copy lt { pop } { exch pop } ifelse } def
160   end
161 } def
162
163 %translate coordinate system for marginal notes:  type LoutMargShift -
164 % where type 0 is left margin, 1 is right margin, 2 is outer, 3 is inner
165 /LoutMargShift
166 { LoutMargDict begin
167
168     % y coordinate of top of note, in margin coords, before vertical adjust
169     0 ysize transform matr itransform exch pop
170
171     % decide whether left or right margin based on type and parity
172     exch [ 0 1 parity 1 parity sub ] exch get 0 eq
173     {
174       % left margin: adjust top of note downwards if overlaps previous note
175       lefty min
176
177       % bottom of note is new lefty position and also translate position
178       ysize sub dup /lefty exch def
179
180       % want right edge of note at coordinate zero
181       xsize neg exch
182     }
183     {
184       % right margin: adjust top of note downwards if overlaps previous note
185       righty min
186
187       % bottom of note is new righty position and also translate position
188       ysize sub dup /righty exch def
189
190       % want left edge of note at coordinate rightx
191       rightx exch
192     } ifelse
193
194     % stack now contains coord of bottom left corner in margin coordinates
195     matr setmatrix translate
196   end
197 } def
198
199 % create LoutPageDict with left, right, foot, top for @Place symbol users
200 /LoutPageSet
201 {
202   /LoutPageDict 5 dict def
203   LoutPageDict begin
204     /matr matrix currentmatrix def
205     /left 0 def
206     /right xsize def
207     /foot 0 def
208     /top ysize def
209   end
210
211 } def
212
213 %%EndResource
214
215 %%EndProlog
216
217 %%BeginSetup
218 %%IncludeResource: font Times-Roman
219 /Times-Romanfnt82 vec2 /Times-Roman LoutRecode
220 /fnt82 { /Times-Romanfnt82 LoutFont } def
221 %%IncludeResource: font Times-Bold
222 /Times-Boldfnt84 vec2 /Times-Bold LoutRecode
223 /fnt84 { /Times-Boldfnt84 LoutFont } def
224 %%IncludeResource: font Courier-Bold
225 /Courier-Boldfnt31 vec2 /Courier-Bold LoutRecode
226 /fnt31 { /Courier-Boldfnt31 LoutFont } def
227 %%IncludeResource: font Times-Italic
228 /Times-Italicfnt83 vec2 /Times-Italic LoutRecode
229 /fnt83 { /Times-Italicfnt83 LoutFont } def
230 %%EndSetup
231
232 %%Page: 1 1
233 %%BeginPageSetup
234 %%PageResources: font Times-Roman
235 %%+ font Times-Bold
236 %%+ font Courier-Bold
237 %%+ font Times-Italic
238 /pgsave save def
239 0.0500 dup scale 10 setlinewidth
240 %%EndPageSetup
241
242 gsave
243 0 0 translate
244 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
245 gsave
246 LoutPageSet
247 grestore
248 gsave
249 0 16840 translate
250 0.0000 rotate
251
252 grestore
253
254 grestore
255 gsave
256 0 16840 translate
257 0.0000 rotate
258 gsave
259 1417 -15423 translate
260 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
261 gsave
262 1 LoutMargSet
263 grestore
264 340 fnt84 1359 13532(User)m 2118(ser)s 3(vice)k 3190(daemon)s
265 4421(and)s 5047(client)s 5922(speci\207cation)s 200 fnt82 2792 13016(Ian)m
266 3093(Jackson)s gsave
267 3770 13061 translate
268 0.6953 1.0000 scale
269 200 fnt31 1031 -43(<ian@davenant.greenend.org.uk>)m 
270 grestore
271 240 fnt82 4326 12513(0.62)m
272 9066 609 0 609 240 240 60 0 11253 LoutGr2
273 newpath 0 ysize 0.3 ft sub moveto
274 xsize 0 rlineto
275 0 0.1 ft rlineto
276 xsize neg 0 rlineto
277 closepath fill
278 grestore
279 320 fnt84 0 5(0.1.)m 628(Abstract)s 
280 grestore
281 0 10959(This)m 476(is)s
282 686(a)s 852(speci\207cation)s 2117(for)s 2455(a)s 2621(Unix)s
283 3155(system)s 3879(f)s 2(acility)k 4606(to)s 4845(allo)s 6(w)k
284 5424(one)s 5826(program)s 6696(to)s 6935(in)s 9(v)k 4(ok)k 2(e)k
285 7628(another)s 8405(when)s 0 10719(only)m 480(limited)s 1214(trust)s
286 1698(e)s 3(xists)k 2290(between)s 3144(them.)s 9066 670 0 670 240 240 60 0 9695 LoutGr2
287 newpath 0 ysize 0.3 ft sub moveto
288 xsize 0 rlineto
289 0 0.1 ft rlineto
290 xsize neg 0 rlineto
291 closepath fill
292 grestore
293 320 fnt84
294 0 66(0.2.)m 628(Copyright)s 2109(Notice)s 
295 grestore
296 gsave
297 0 9455 translate
298 0.6953 1.0000 scale
299 240 fnt31 0 -52(userv)m
300
301 grestore
302 560 9401(is)m 770(Cop)s 2(yright)k 1799(1996-1999)s 2889(Ian)s
303 3251(Jackson.)s gsave
304 0 9047 translate
305 0.6953 1.0000 scale
306 240 fnt31 0 -52(userv)m 
307 grestore
308 544 8993(is)m 737(free)s
309 1146(softw)s 2(are;)k 2062(you)s 2460(can)s 2832(redistrib)s 4(ute)k
310 3955(it)s 4130(and/or)s 4784(modify)s 5512(it)s 5688(under)s
311 6276(the)s 6607(terms)s 7172(of)s 7426(the)s 7757(GNU)s
312 8315(General)s 0 8753(Public)m 659(License)s 1453(as)s 1698(published)s
313 2682(by)s 2971(the)s 3314(Free)s 3789(Softw)s 2(are)k
314 4699(F)s 3(oundation;)k 5894(either)s 6492(v)s 3(ersion)k
315 7245(2)s 7414(of)s 7680(the)s 8023(License,)s 8867(or)s
316 0 8513(\(at)m 311(your)s 810(option\))s 1550(an)s 3(y)k
317 1947(later)s 2430(v)s 3(ersion.)k 0 8105(This)m 476(program)s
318 1346(is)s 1556(distrib)s 4(uted)k 2632(in)s 2875(the)s
319 3223(hope)s 3745(that)s 4163(it)s 4355(will)s 4781(be)s
320 5063(useful,)s 5754(b)s 4(ut)k 240 fnt83 6116 8107(without)m
321 6898(any)s 7300(warr)s 3(anty)k 240 fnt82 8171 8105(;)m
322 8283(without)s 0 7864(e)m 6(v)k 3(en)k 500(the)s
323 848(implied)s 1636(w)s 2(arranty)k 2537(of)s 240 fnt83
324 2808 7866(mer)m 8(c)k 3(hantability)k 240 fnt82 4367 7864(or)m
325 240 fnt83 4626 7866(\207tness)m 5279(for)s 5623(a)s 5798(particular)s
326 6833(purpose)s 240 fnt82 7598 7864(.)m 7702(See)s 8103(the)s
327 8451(GNU)s 0 7624(General)m 811(Public)s 1475(License)s 2274(for)s
328 2612(more)s 3159(details.)s 0 7216(Y)m 26(ou)k 442(should)s
329 1139(ha)s 4(v)k 3(e)k 1640(re)s 1821(cei)s 6(v)k 3(ed)k
330 2494(a)s 2660(cop)s 2(y)k 3178(of)s 3449(the)s
331 3797(GNU)s 4372(Gen)s 4768(er)s 4953(al)s 5180(Pub)s
332 5546(lic)s 5837(Li)s 6043(cense)s 6630(along)s 7215(with)s
333 gsave
334 7697 7270 translate
335 0.6953 1.0000 scale
336 240 fnt31 0 -52(userv)m 
337 grestore
338 8197(;)s 8309(if)s 8526(not,)s
339 0 6975(write)m 546(to)s 785(the)s 1133(Free)s 1613(Soft)s
340 2011(w)s 2(are)k 2529(F)s 3(oun)k 3016(da)s
341 3242(tion,)s 3721(59)s 4012(T)s 16(em)k 4434(ple)s
342 4782(Place)s 5355(-)s 5483(Suite)s 6030(330,)s 6497(Boston,)s
343 7283(MA)s 7726(02111-1307,)s 0 6735(USA.)m 9066 610 0 610 240 240 60 0 5771 LoutGr2
344 newpath 0 ysize 0.3 ft sub moveto
345 xsize 0 rlineto
346 0 0.1 ft rlineto
347 xsize neg 0 rlineto
348 closepath fill
349 grestore
350 320 fnt84 0 6(0.3.)m
351 628(Contents)s 
352 grestore
353 0 5477(1.)m 1200(Introduction)s 8962(3)s 0 5250(2.)m
354 1200(Client)s 1844(program)s 2714(usage)s 8952(4)s 0 5013(2.1.)m
355 1200(Options)s 8952(4)s 0 4776(2.2.)m 1200(Security-o)s 3(v)k 3(erriding)k
356 3118(options)s 8958(7)s 0 4539(3.)m 1200(Ex)s 3(ecution)k
357 2224(en)s 9(vironment)k 3484(of)s 3755(the)s 4103(service)s
358 4835(program)s 8959(8)s 0 4302(3.1.)m 1200(File)s 1627(descriptors)s
359 8959(8)s 0 4065(3.2.)m 1200(En)s 9(vironment)k 8955(9)s
360 0 3838(4.)m 1200(Service-side)s 2436(con\207guration)s 8831(10)s 0 3601(4.1.)m
361 1200(Con\207guration)s 2587(\207le)s 2948(syntax)s 8831(10)s 0 3364(4.2.)m
362 1200(Con\207guration)s 2587(\207le)s 2948(directi)s 6(v)k 3(es)k
363 8831(10)s 0 3127(4.2.1.)m 1200(Immediate)s 2277(directi)s 6(v)k 3(es)k
364 8851(11)s 0 2900(4.2.2.)m 1200(Directi)s 6(v)k 3(es)k
365 2223(with)s 2705(delayed)s 3507(ef)s 6(fect)k 8832(12)s
366 0 2663(4.2.3.)m 1200(Control)s 1986(structure)s 2877(directi)s 6(v)k 3(es)k
367 8832(12)s 0 2436(4.2.4.)m 1200(Directi)s 6(v)k 3(es)k
368 2223(for)s 2561(changing)s 3492(e)s 3(x)k 3(ecution)k
369 4473(settings)s 8832(14)s 0 2198(4.3.)m 1200(Errors)s 1847(in)s
370 2090(the)s 2438(con\207guration)s 3771(\207le)s 8833(16)s 0 1960(4.4.)m
371 1200(Def)s 2(aults)k 8833(16)s 0 1733(5.)m 1200(Information)s
372 2398(passed)s 3094(through)s 3896(the)s 4244(client/daemon)s 5655(combination)s
373 8839(18)s 0 1495(6.)m 1200(Applications)s 2473(and)s 2877(notes)s
374 3433(on)s 3730(use)s 8831(20)s 0 1257(6.1.)m 1200(Standard)s
375 2108(services)s 2928(and)s 3332(directory)s 4248(management)s 8831(20)s
376 0 1019(6.2.)m 1200(Reducing)s 2171(the)s 2519(number)s 3310(of)s
377 3581(absolutely)s 4618(pri)s 6(vile)k 3(ged)k 5636(subsystems)s
378 8831(20)s 0 52(User)m 511(service)s 1243(daemon)s 2058(and)s
379 2462(client)s 3052(speci\207cation)s 8652(0.62)s 
380 grestore
381
382 grestore
383
384 pgsave restore
385 showpage
386
387 %%Page: 2 2
388 %%BeginPageSetup
389 %%PageResources: font Times-Roman
390 %%+ font Times-Bold
391 %%+ font Courier-Bold
392 /pgsave save def
393 0.0500 dup scale 10 setlinewidth
394 %%EndPageSetup
395 gsave
396 0 0 translate
397 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
398 gsave
399 LoutPageSet
400 grestore
401 gsave
402 0 16840 translate
403 0.0000 rotate
404
405 grestore
406
407 grestore
408 gsave
409 0 16840 translate
410 0.0000 rotate
411 gsave
412 1417 -15423 translate
413 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
414 gsave
415 0 LoutMargSet
416 grestore
417 240 fnt84 0 13842(2)m 240 fnt82 0 13253(6.3.)m 1200(Do)s
418 1546(not)s 1912(gi)s 6(v)k 3(e)k 2371(a)s 3(w)k 2(ay)k
419 2925(e)s 3(xcessi)k 6(v)k 3(e)k 3885(pri)s 6(vile)k 3(ge)k
420 4781(to)s gsave
421 5020 13307 translate
422 0.6953 1.0000 scale
423 240 fnt31 0 -52(userv)m 
424 grestore
425 5520(-using)s 6171(f)s 2(acilities)k
426 8831(20)s 0 13015(6.4.)m gsave
427 1200 13069 translate
428 0.6953 1.0000 scale
429 240 fnt31 0 -52(userv)m 
430 grestore
431 1760(is)s
432 1970(not)s 2336(a)s 2502(replacement)s 3729(for)s gsave
433 4067 13069 translate
434 0.6953 1.0000 scale
435 240 fnt31
436 0 -52(really)m 
437 grestore
438 4727(and)s gsave
439 5131 13069 translate
440 0.6953 1.0000 scale
441 240 fnt31 0 -52(sudo)m 
442 grestore
443 8851(21)s
444 0 12776(6.5.)m 1200(Don')s 4(t)k 1814(gi)s 6(v)k 3(e)k
445 2273(access)s 2934(to)s 3173(general-purpose)s 4769(utilities)s 8851(21)s
446 0 52(0.62)m 4809(User)s 5320(service)s 6052(daemon)s 6867(and)s
447 7271(client)s 7861(speci\207cation)s 
448 grestore
449
450 grestore
451
452 pgsave restore
453 showpage
454
455 %%Page: 3 3
456 %%BeginPageSetup
457 %%PageResources: font Times-Roman
458 %%+ font Times-Bold
459 %%+ font Courier-Bold
460 /pgsave save def
461 0.0500 dup scale 10 setlinewidth
462 %%EndPageSetup
463 gsave
464 0 0 translate
465 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
466 gsave
467 LoutPageSet
468 grestore
469 gsave
470 0 16840 translate
471 0.0000 rotate
472
473 grestore
474
475 grestore
476 gsave
477 0 16840 translate
478 0.0000 rotate
479 gsave
480 1417 -15423 translate
481 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
482 gsave
483 1 LoutMargSet
484 grestore
485 240 fnt84 8953 13842(3)m gsave
486 0 12792 translate
487 240 fnt82 9066 622 0 622 240 240 60 LoutGraphic
488 gsave
489 newpath 0 ysize 0.3 ft sub moveto
490 xsize 0 rlineto
491 0 0.2 ft rlineto
492 xsize neg 0 rlineto
493 closepath fill
494 grestore
495 340 fnt84 0 4(1.)m 412(Intr)s 6(oduction)k
496
497 grestore
498 240 fnt82 0 12330(There)m 613(is)s 823(a)s 989(daemon)s
499 1804(which)s 2446(in)s 9(v)k 4(ok)k 2(es)k
500 3227(user)s 3685(service)s 4417(programs)s 5371(\(henceforth)s 6529(`services'\))s
501 7584(in)s 7827(response)s 8720(to)s 0 12090(requests)m 822(by)s
502 1104(callers)s 1765(of)s 2024(a)s 2178(companion)s 3287(client)s
503 3865(program)s 4723(\(henceforth)s 5869(the)s 6205(`client'\))s 7009(and)s
504 7401(according)s 8385(to)s 8611(rules)s 0 11850(set)m 325(forth)s
505 846(in)s 1089(system-wide)s 2353(and)s 2757(user)s 4(-speci\207c)k
506 4013(con\207guration)s 5346(\207les.)s 5848(The)s 6276(companion)s 7397(client)s
507 7987(program)s 0 11610(is)m 210(setuid)s 839(root,)s 1331(and)s
508 1735(ne)s 3(gotiates)k 2752(with)s 3234(the)s 3582(daemon)s
509 4397(through)s 5199(an)s gsave
510 5482 11664 translate
511 0.6953 1.0000 scale
512 240 fnt31 0 -52(AF_UNIX)m 
513 grestore
514 6242(sock)s 2(et)k
515 6911(and)s 7315(associated)s 8355(objects)s 0 11370(in)m 243(a)s
516 409(system-wide)s 1673(pri)s 6(v)k 6(ate)k 2380(directory)s
517 3296(set)s 3621(aside)s 4168(for)s 4506(the)s 4854(purpose.)s
518 5716(The)s 6144(user)s 6602(who)s 7068(wishes)s 7770(the)s
519 8118(service)s 8850(to)s 0 11130(be)m 282(performed)s 1335(and)s
520 1739(calls)s 2227(the)s 2575(client)s 3165(is)s 3375(called)s
521 4003(the)s 4351(`calling)s 5133(user';)s 5722(the)s 6070(process)s
522 6838(which)s 7480(calls)s 7968(the)s 8316(client)s 8906(is)s
523 0 10890(called)m 628(the)s 976(`calling)s 1758(process'.)s 0 10482(The)m
524 428(daemon)s 1243(and)s 1647(the)s 1995(client)s 2585(are)s
525 2932(responsible)s 4077(for)s 4415(ensuring)s 5292(that)s 5710(information)s
526 6895(is)s 7105(safely)s 7729(carried)s 8449(across)s 0 10242(the)m
527 338(security)s 1138(boundary)s 2087(between)s 2931(the)s 3269(tw)s 2(o)k
528 3669(users,)s 4257(and)s 4650(that)s 5058(the)s 5396(processes)s
529 6353(on)s 6640(either)s 7233(side)s 7664(cannot)s 8351(interact)s
530 0 10002(with)m 482(each)s 977(other)s 1528(in)s 1771(an)s 3(y)k
531 2168(une)s 3(xpected)k 3313(w)s 2(ays.)k 0 52(User)m
532 511(service)s 1243(daemon)s 2058(and)s 2462(client)s 3052(speci\207cation)s
533 8652(0.62)s 
534 grestore
535
536 grestore
537
538 pgsave restore
539 showpage
540
541 %%Page: 4 4
542 %%BeginPageSetup
543 %%PageResources: font Times-Roman
544 %%+ font Times-Bold
545 %%+ font Courier-Bold
546 %%+ font Times-Italic
547 /pgsave save def
548 0.0500 dup scale 10 setlinewidth
549 %%EndPageSetup
550 gsave
551 0 0 translate
552 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
553 gsave
554 LoutPageSet
555 grestore
556 gsave
557 0 16840 translate
558 0.0000 rotate
559
560 grestore
561
562 grestore
563 gsave
564 0 16840 translate
565 0.0000 rotate
566 gsave
567 1417 -15423 translate
568 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
569 gsave
570 0 LoutMargSet
571 grestore
572 240 fnt84 0 13842(4)m gsave
573 0 12729 translate
574 240 fnt82 9066 688 0 688 240 240 60 LoutGraphic
575 gsave
576 newpath 0 ysize 0.3 ft sub moveto
577 xsize 0 rlineto
578 0 0.2 ft rlineto
579 xsize neg 0 rlineto
580 closepath fill
581 grestore
582 340 fnt84 0 70(2.)m 412(Client)s
583 1382(pr)s 6(ogram)k 2737(usage)s 
584 grestore
585 gsave
586 480 12081 translate
587 0.6953 1.0000 scale
588 240 fnt31 0 -52(userv)m
589 gsave
590 864 0 translate
591 1.4219 1.0000 scale
592 240 fnt83 0 -52(options)m 
593 grestore
594 2003([\211\211])s gsave
595 2723 0 translate
596 1.4219 1.0000 scale
597 240 fnt83 0 -52(service\211user)m
598
599 grestore
600 gsave
601 4591 0 translate
602 1.4219 1.0000 scale
603 240 fnt83 0 -52(service\211name)m 
604 grestore
605 6594([)s gsave
606 6738 0 translate
607 1.4219 1.0000 scale
608 240 fnt83 0 -52(ar)m 8(gument)k
609
610 grestore
611 8181(\202])s 0 -305(userv)m gsave
612 864 -253 translate
613 1.4219 1.0000 scale
614 240 fnt83 0 -52(options)m 
615 grestore
616 2003(\211B|\211\211builtin)s
617 3875([\211\211])s gsave
618 4595 -253 translate
619 1.4219 1.0000 scale
620 240 fnt83 0 -52(b)m 4(uiltin\211service)k 
621 grestore
622 6742([)s
623 gsave
624 6886 -253 translate
625 1.4219 1.0000 scale
626 240 fnt83 0 -52(info\211ar)m 8(gument)k 
627 grestore
628 9029(\202])s 
629 grestore
630 240 fnt83
631 0 11208(service-user)m 240 fnt82 1232 11206(speci\207es)m 2106(which)s 2748(user)s
632 3206(is)s 3416(to)s 3655(pro)s 3(vide)k 4439(the)s
633 4787(service.)s 5567(The)s 5995(user)s 6453(may)s 6919(be)s
634 7201(a)s 7367(login)s 7916(name)s 8490(or)s 8749(a)s
635 0 10966(numeric)m 836(uid,)s 1249(or)s gsave
636 1508 11020 translate
637 0.6953 1.0000 scale
638 240 fnt31 0 -52(\211)m
639
640 grestore
641 1668(to)s 1907(indicate)s 2719(that)s 3137(the)s 3485(service)s
642 4217(user)s 4675(is)s 4885(to)s 5124(be)s 5406(the)s
643 5754(same)s 6301(as)s 6551(the)s 6899(calling)s 7602(user)s 13(.)k
644 0 10558(The)m 428(service)s 1160(name)s 1734(is)s 1944(interpreted)s
645 3036(by)s 3330(the)s 3678(userv)s 153 fnt82 4191 10647(1)m
646 240 fnt82 4311 10558(daemon)m 5126(on)s 5423(behalf)s 6092(of)s
647 6363(the)s 6711(service)s 7443(user)s 13(.)k 7932(It)s
648 8137(will)s 8563(often)s 0 10318(be)m 282(the)s 630(name)s
649 1204(of)s 1475(a)s 1641(program.)s 9066 670 0 670 240 240 60 0 9294 LoutGr2
650 newpath 0 ysize 0.3 ft sub moveto
651 xsize 0 rlineto
652 0 0.1 ft rlineto
653 xsize neg 0 rlineto
654 closepath fill
655 grestore
656 320 fnt84 0 66(2.1.)m
657 628(Options)s 
658 grestore
659 0 8832(Single-letter)m 1233(options)s 1983(may)s 2442(be)s
660 2718(combined)s 3714(as)s 3957(is)s 4161(usual)s 4714(with)s
661 5190(Unix)s 5718(programs,)s 6721(and)s 7119(the)s 7461(v)s 6(alue)k
662 8022(for)s 8354(such)s 8843(an)s 0 8592(option)m 669(may)s
663 1135(appear)s 1832(in)s 2075(the)s 2423(same)s 2970(ar)s 4(gument)k
664 3929(or)s 4188(in)s 4431(the)s 4779(ne)s 3(xt.)k
665 gsave
666 120 8238 translate
667 0.6953 1.0000 scale
668 240 fnt31 0 -52(\211B)m 
669 grestore
670 gsave
671 120 7998 translate
672 0.6953 1.0000 scale
673 240 fnt31 0 -52(\211\211builtin)m 
674 grestore
675 480 7704(Re)m
676 742(quests)s 1385(that)s 1797(a)s 1956(b)s 4(uiltin)k
677 2627(ser)s 2905(vice)s 3352(be)s 3628(pro)s 3940(vid)s
678 4244(ed.)s 4567(This)s 5037(is)s 5241(equi)s 6(v)k
679 5762(a)s 5868(lent)s 6279(to)s 6512(us)s 6716(ing)s
680 7068(the)s gsave
681 7410 7758 translate
682 0.6953 1.0000 scale
683 240 fnt31 0 -52(\211\211override)m 
684 grestore
685 8464(op)s 8697(tion)s
686 480 7463(to)m 719(spec)s 1137(i)s 1197(fy)s 1450(a)s
687 1616(string)s 2213(con)s 2556(sist)s 2874(ing)s 3233(of)s
688 gsave
689 3504 7517 translate
690 0.6953 1.0000 scale
691 240 fnt31 0 -52(execute\211builtin)m 
692 grestore
693 5065(fol)s 5325(lo)s 6(wed)k
694 5962(by)s 6256(the)s 240 fnt83 6604 7465(b)m 4(uiltin-)k
695 7291(service)s 240 fnt82 8020 7463(re)m 8201(quest)s 8706(ed,)s
696 480 7223(and)m 870(re)s 1051(quest)s 1556(ing)s 1900(a)s
697 2052(ser)s 2330(vice)s 2769(user)s 3213(of)s gsave
698 3469 7277 translate
699 0.6953 1.0000 scale
700 240 fnt31
701 0 -52(\211)m 
702 grestore
703 3615(\(in)s 3877(di)s 4057(cat)s 4335(ing)s
704 4679(the)s 5012(call)s 5351(ing)s 5696(user\).)s 6322(If)s
705 6538(the)s 6871(b)s 4(uiltin)k 7534(ser)s 7812(vice)s
706 8251(be)s 8473(ing)s 8817(re)s 8998(-)s 480 6983(quest)m
707 985(ed)s 1254(re)s 1435(quires)s 2054(a)s 240 fnt83
708 2204 6985(service-)m 2947(ar)s 8(gument)k 240 fnt82 3905 6983(then)m
709 4358(this)s 4738(must)s 5247(be)s 5513(sup)s 5839(plied)s
710 6359(to)s 6582(the)s 6914(client)s 7488(in)s 7715(the)s
711 8047(same)s 8578(ar)s 8763(gu)s 8998(-)s 480 6742(ment)m
712 1012(as)s 1256(the)s 240 fnt83 1598 6744(b)m 4(uiltin-)k
713 2285(service)s 240 fnt82 2954 6742(.)m 3052(See)s 3447(`Di)s
714 3759(rec)s 4043(ti)s 6(v)k 3(es)k 4530(for)s
715 4862(chang)s 5427(ing)s 5780(e)s 3(x)k 5998(e)s
716 6100(cu)s 6321(tion)s 6744(set)s 7009(tings',)s 7654(page)s
717 8156(14)s 8444(for)s 8776(de)s 8998(-)s 480 6502(tails)m
718 921(of)s 1184(the)s 1524(b)s 4(uiltin)k 2193(ser)s
719 2471(vices)s 3006(a)s 4(v)k 6(ail)k 3455(able,)s
720 3952(and)s 4348(`Security-)s 5291(o)s 3(v)k 3(erriding)k
721 6326(op)s 6559(tions',)s 7203(page)s 7703(7)s 7863(for)s
722 8193(de)s 8415(tails)s 8855(of)s 480 6261(the)m gsave
723 822 6315 translate
724 0.6953 1.0000 scale
725 240 fnt31
726 0 -52(\211\211override)m 
727 grestore
728 1877(op)s 2110(tions.)s 2733(The)s 3155(ac)s
729 3360(tu)s 3541(al)s 3762(ser)s 4040(vice)s 4488(name)s
730 5056(passed)s 5746(will)s 6166(be)s 6442(the)s 240 fnt83
731 6784 6263(b)m 4(uiltin-)k 7471(service)s 240 fnt82 8140 6261(;)m
732 8246(note)s 8708(that)s 480 6021(this)m 876(ac)s 1081(tu)s
733 1262(al)s 1489(ser)s 1767(vice)s 2221(name)s 2795(\(as)s
734 3124(op)s 3357(posed)s 3974(to)s 4213(the)s 4561(o)s 3(v)k 3(er)k
735 4980(ride)s 5407(data\))s 5933(and)s 6337(the)s 240 fnt83
736 6685 6023(info-)m 7124(ar)s 8(gument)k 240 fnt82 8038 6021(s)m
737 8182(sup)s 8508(plied)s 480 5781(will)m 906(be)s 1188(ig)s
738 1367(nored)s 1970(by)s 2264(most)s 2789(b)s 4(uiltin)k
739 3466(ser)s 3744(vices;)s 4347(the)s 4695(o)s 3(v)k 3(er)k
740 5114(ride)s 5541(mech)s 6056(a)s 6162(nism)s 6687(and)s
741 gsave
742 7091 5835 translate
743 0.6953 1.0000 scale
744 240 fnt31 0 -52(execute\211builtin)m 
745 grestore
746 8652(will)s 480 5541(be)m 762(used)s
747 1259(to)s 1498(en)s 1721(sure)s 2175(that)s 2593(the)s
748 2941(right)s 3452(b)s 4(uiltin)k 4129(ser)s 4407(vice)s
749 4861(is)s 5071(called)s 5699(with)s 6181(the)s 6529(right)s
750 240 fnt83 7040 5543(service-)m 7783(ar)s 8(gument)k 240 fnt82
751 8697 5541(s.)m gsave
752 120 5201 translate
753 0.6953 1.0000 scale
754 240 fnt31 0 -52(\211f)m gsave
755 288 0 translate
756 1.4219 1.0000 scale
757 240 fnt83 0 -52(fd)m
758
759 grestore
760 561([)s gsave
761 705 0 translate
762 1.4219 1.0000 scale
763 240 fnt83 0 -52(modi\207er)m 2(s)k 
764 grestore
765 1961(]=)s
766 gsave
767 2249 0 translate
768 1.4219 1.0000 scale
769 240 fnt83 0 -52(\207lename)m 
770 grestore
771
772 grestore
773 gsave
774 120 4961 translate
775 0.6953 1.0000 scale
776 240 fnt31 0 -52(\211\211file)m gsave
777 1008 0 translate
778 1.4219 1.0000 scale
779 240 fnt83
780 0 -52(fd)m 
781 grestore
782 1281([)s gsave
783 1425 0 translate
784 1.4219 1.0000 scale
785 240 fnt83 0 -52(modi\207er)m 2(s)k
786
787 grestore
788 2681(]=)s gsave
789 2969 0 translate
790 1.4219 1.0000 scale
791 240 fnt83 0 -52(\207lename)m 
792 grestore
793
794 grestore
795 480 4667(Requests)m 1384(that)s
796 1791(data)s 2238(be)s 2509(copied)s 3194(in)s 3426(and)s
797 3819(out)s 4174(of)s 4434(the)s 4771(service)s 5492(using)s
798 6053(pipes.)s 6651(F)s 3(or)k 7029(each)s 7513(\207le)s
799 7863(or)s 8111(descriptor)s 480 4427(this)m 858(will)s 1266(be)s
800 1530(done)s 2033(by)s 2309(creating)s 3113(a)s 3261(pipe,)s
801 3761(one)s 4145(end)s 4531(of)s 4784(which)s 5407(is)s
802 5599(passed)s 6277(to)s 6498(the)s 6827(service)s 7541(program)s
803 8393(and)s 8778(the)s 480 4187(other)m 1028(end)s 1429(of)s
804 1697(which)s 2336(is)s 2543(passed)s 3236(to)s 3472(a)s
805 3635(cop)s 2(y)k 4149(of)s gsave
806 4417 4241 translate
807 0.6953 1.0000 scale
808 240 fnt31 0 -52(cat)m
809
810 grestore
811 4774(in)s 9(v)k 4(ok)k 2(ed)k 5586(by)s
812 5877(the)s 6222(client;)s 6861(the)s 7206(other)s 7754(\207le)s
813 8111(descriptor)s 480 3947(passed)m 1161(to)s gsave
814 1384 4001 translate
815 0.6953 1.0000 scale
816 240 fnt31 0 -52(cat)m
817
818 grestore
819 1728(will)s 2139(be)s 2405(one)s 2791(inherited)s 3683(by)s
820 3961(the)s 4293(client)s 4868(program)s 5722(from)s 6230(the)s
821 6563(caller)s 7136(or)s 7379(one)s 7766(opened)s 8500(by)s
822 8778(the)s 480 3707(client)m 1063(program)s 1926(on)s 2215(behalf)s
823 2877(of)s 3140(the)s 3481(caller)s 13(.)k 4153(The)s
824 4574(descriptor)s 5581(in)s 5817(the)s 6157(service)s 6882(program)s
825 7744(that)s 8155(should)s 8844(be)s 480 3466(connected)m 1503(must)s
826 2023(be)s 2299(speci\207ed)s 3202(as)s 240 fnt83 3446 3468(fd)m
827 240 fnt82 3638 3466(,)m 3740(either)s 4338(as)s 4582(a)s
828 4743(decimal)s 5548(number)s 6334(or)s 6588(as)s 6832(one)s
829 7229(of)s 7494(the)s 7837(strings)s gsave
830 8519 3520 translate
831 0.6953 1.0000 scale
832 240 fnt31 0 -52(stdin)m
833
834 grestore
835 9019(,)s gsave
836 480 3280 translate
837 0.6953 1.0000 scale
838 240 fnt31 0 -52(stdout)m 
839 grestore
840 1126 3226(or)m gsave
841 1370 3280 translate
842 0.6953 1.0000 scale
843 240 fnt31
844 0 -52(stderr)m 
845 grestore
846 1970(.)s 2059(The)s 2473(ne)s 3(xt)k
847 2927(ar)s 4(gument)k 3871(is)s 4067(a)s 4218(\207lename)s
848 5082(which)s 5709(will)s 6121(be)s 6388(opened)s 7123(by)s
849 7403(the)s 7736(client)s 8311(with)s 8778(the)s 480 2985(pri)m 6(vile)k 3(ges)k
850 1458(of)s 1722(the)s 2064(calling)s 2760(user)s 13(.)k
851 240 fnt83 3303 2987(modi\207er)m 2(s)k 240 fnt82 4240 2985(is)m
852 4444(used)s 4934(to)s 5166(specify)s 5904(whether)s 6727(the)s
853 7069(\207le)s 7423(or)s 7676(descriptor)s 8684(is)s 8887(to)s
854 480 2745(be)m 762(read)s 1230(from)s 1754(or)s 2012(written)s
855 2745(to.)s 3034(It)s 3239(consists)s 4046(of)s 4317(a)s
856 4482(series)s 5076(of)s 5346(w)s 2(ords)k 5980(separated)s
857 6939(by)s 7233(commas.)s 8133(A)s 8362(comma)s 480 2504(may)m
858 946(separate)s 1784(the)s 240 fnt83 2132 2506(modi\207er)m 2(s)k
859 240 fnt82 3076 2504(from)m 3600(the)s 240 fnt83 3948 2506(fd)m
860 240 fnt82 4200 2504(and)m 4604(is)s 4814(required)s 5668(if)s
861 240 fnt83 5885 2506(fd)m 240 fnt82 6137 2504(is)m 6347(not)s
862 6713(numeric.)s 7660(The)s 8088(modi\207er)s 480 2264(w)m 2(ords)k
863 1114(are:)s gsave
864 600 2078 translate
865 0.6953 1.0000 scale
866 240 fnt31 0 -52(read)m 
867 grestore
868 gsave
869 960 1838 translate
870 0.6953 1.0000 scale
871 240 fnt31 0 -52(O_RDONLY)m
872
873 grestore
874 1761 1784(:)m 1867(Allo)s 6(w)k 2513(reading)s 3283(and)s
875 3687(not)s 4053(writing.)s 4847(May)s 5340(not)s 5706(be)s
876 5988(used)s 6485(with)s gsave
877 6967 1838 translate
878 0.6953 1.0000 scale
879 240 fnt31 0 -52(write)m 
880 grestore
881 7527(or)s
882 7786(things)s 8422(that)s 960 1544(imply)m 1572(it.)s gsave
883 600 1358 translate
884 0.6953 1.0000 scale
885 240 fnt31
886 0 -52(write)m 
887 grestore
888 1134 0 0 0 240 240 60 0 948 LoutGr2
889 0 0 moveto xsize 0 lineto stroke
890 grestore
891
892 grestore
893 122 fnt82 0 753(1)m gsave
894 58 726 translate
895 0.6953 1.0000 scale
896 192 fnt31 0 -42(userv)m
897
898 grestore
899 192 fnt82 505 683(is)m 673(short)s 1103(for)s 1373(`user)s
900 1802(services',)s 2566(and)s 2890(is)s 3058(pronounced)s 4010(`you-serv)s 2(e'.)k
901 240 fnt82 0 52(0.62)m 4809(User)s 5320(service)s 6052(daemon)s
902 6867(and)s 7271(client)s 7861(speci\207cation)s 
903 grestore
904
905 grestore
906
907 pgsave restore
908 showpage
909
910 %%Page: 5 5
911 %%BeginPageSetup
912 %%PageResources: font Times-Roman
913 %%+ font Times-Bold
914 %%+ font Courier-Bold
915 %%+ font Times-Italic
916 /pgsave save def
917 0.0500 dup scale 10 setlinewidth
918 %%EndPageSetup
919 gsave
920 0 0 translate
921 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
922 gsave
923 LoutPageSet
924 grestore
925 gsave
926 0 16840 translate
927 0.0000 rotate
928
929 grestore
930
931 grestore
932 gsave
933 0 16840 translate
934 0.0000 rotate
935 gsave
936 1417 -15423 translate
937 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
938 gsave
939 1 LoutMargSet
940 grestore
941 240 fnt84 8953 13844(5)m gsave
942 960 13308 translate
943 0.6953 1.0000 scale
944 240 fnt31 0 -52(O_WRONLY)m 
945 grestore
946 240 fnt82
947 1761 13254(:)m 1867(Allo)s 6(w)k 2513(writing)s 3256(and)s
948 3660(not)s 4026(reading.)s 240 fnt83 4847 13256(Doesn')m 7(t)k
949 5661(truncate)s 6511(or)s 6789(cr)s 8(eate)k 240 fnt82
950 7431 13254(without)m gsave
951 8222 13308 translate
952 0.6953 1.0000 scale
953 240 fnt31 0 -52(truncate)m 
954 grestore
955 960 13014(or)m gsave
956 1219 13068 translate
957 0.6953 1.0000 scale
958 240 fnt31
959 0 -52(create)m 
960 grestore
961 1819(.)s gsave
962 1923 13068 translate
963 0.6953 1.0000 scale
964 240 fnt31 0 -52(write)m 
965 grestore
966 2483(or)s
967 2742(things)s 3378(that)s 3796(imply)s 4408(it)s 4600(may)s
968 5066(not)s 5432(be)s 5714(used)s 6211(with)s gsave
969 6693 13068 translate
970 0.6953 1.0000 scale
971 240 fnt31
972 0 -52(read)m 
973 grestore
974 7093(.)s gsave
975 600 12828 translate
976 0.6953 1.0000 scale
977 240 fnt31 0 -52(overwrite)m 
978 grestore
979 960 12534(Equi)m 6(v)k 6(alent)k
980 2044(to)s gsave
981 2283 12588 translate
982 0.6953 1.0000 scale
983 240 fnt31 0 -52(write,create,truncate)m 
984 grestore
985 4385(.)s gsave
986 600 12348 translate
987 0.6953 1.0000 scale
988 240 fnt31
989 0 -52(create)m 
990 grestore
991 gsave
992 600 12108 translate
993 0.6953 1.0000 scale
994 240 fnt31 0 -52(creat)m 
995 grestore
996 gsave
997 960 11868 translate
998 0.6953 1.0000 scale
999 240 fnt31 0 -52(O_CREAT)m
1000
1001 grestore
1002 1660 11814(:)m 1766(Creates)s 2533(the)s 2881(\207le)s 3242(if)s
1003 3459(necessary)s 15(.)k 4477(Implies)s gsave
1004 5244 11868 translate
1005 0.6953 1.0000 scale
1006 240 fnt31 0 -52(write)m
1007
1008 grestore
1009 5744(.)s gsave
1010 600 11628 translate
1011 0.6953 1.0000 scale
1012 240 fnt31 0 -52(exclusive)m 
1013 grestore
1014 gsave
1015 600 11388 translate
1016 0.6953 1.0000 scale
1017 240 fnt31 0 -52(excl)m
1018
1019 grestore
1020 gsave
1021 960 11148 translate
1022 0.6953 1.0000 scale
1023 240 fnt31 0 -52(O_EXCL)m 
1024 grestore
1025 1560 11094(:)m 1666(F)s 3(ails)k
1026 2178(if)s 2395(the)s 2743(\207le)s 3104(already)s 3861(e)s 3(xists.)k
1027 4506(Implies)s gsave
1028 5273 11148 translate
1029 0.6953 1.0000 scale
1030 240 fnt31 0 -52(write)m 
1031 grestore
1032 5833(and)s gsave
1033 6237 11148 translate
1034 0.6953 1.0000 scale
1035 240 fnt31
1036 0 -52(create)m 
1037 grestore
1038 6837(.)s 6941(May)s 7434(not)s 7800(be)s
1039 8082(used)s 8579(with)s gsave
1040 960 10908 translate
1041 0.6953 1.0000 scale
1042 240 fnt31 0 -52(truncate)m 
1043 grestore
1044 1761 10854(.)m
1045 gsave
1046 600 10668 translate
1047 0.6953 1.0000 scale
1048 240 fnt31 0 -52(truncate)m 
1049 grestore
1050 gsave
1051 600 10428 translate
1052 0.6953 1.0000 scale
1053 240 fnt31 0 -52(trunc)m 
1054 grestore
1055 gsave
1056 960 10188 translate
1057 0.6953 1.0000 scale
1058 240 fnt31
1059 0 -52(O_TRUNC)m 
1060 grestore
1061 1660 10134(:)m 1766(T)s 8(runcate)k 2663(an)s 3(y)k
1062 3060(e)s 3(xisting)k 3867(\207le.)s 4276(Implies)s gsave
1063 5043 10188 translate
1064 0.6953 1.0000 scale
1065 240 fnt31
1066 0 -52(write)m 
1067 grestore
1068 5543(.)s 5647(May)s 6140(not)s 6506(be)s
1069 6788(used)s 7285(with)s gsave
1070 7767 10188 translate
1071 0.6953 1.0000 scale
1072 240 fnt31 0 -52(exclusive)m 
1073 grestore
1074 8668(.)s
1075 gsave
1076 600 9948 translate
1077 0.6953 1.0000 scale
1078 240 fnt31 0 -52(append)m 
1079 grestore
1080 gsave
1081 960 9708 translate
1082 0.6953 1.0000 scale
1083 240 fnt31 0 -52(O_APPEND)m 
1084 grestore
1085 1761 9654(:)m
1086 1867(All)s 2227(writes)s 2861(will)s 3287(append)s 4037(to)s
1087 4276(the)s 4624(\207le.)s 5033(Implies)s gsave
1088 5800 9708 translate
1089 0.6953 1.0000 scale
1090 240 fnt31 0 -52(write)m
1091
1092 grestore
1093 6360(\(b)s 4(ut)k 6801(not)s gsave
1094 7167 9708 translate
1095 0.6953 1.0000 scale
1096 240 fnt31 0 -52(create)m
1097
1098 grestore
1099 7767(\).)s gsave
1100 600 9468 translate
1101 0.6953 1.0000 scale
1102 240 fnt31 0 -52(sync)m 
1103 grestore
1104 gsave
1105 960 9228 translate
1106 0.6953 1.0000 scale
1107 240 fnt31 0 -52(O_SYNC)m
1108
1109 grestore
1110 1560 9174(:)m 1666(Do)s 2012(writes)s 2646(synchronously)s 15(.)k
1111 4132(Implies)s gsave
1112 4899 9228 translate
1113 0.6953 1.0000 scale
1114 240 fnt31 0 -52(write)m 
1115 grestore
1116 5399(.)s gsave
1117 600 8988 translate
1118 0.6953 1.0000 scale
1119 240 fnt31
1120 0 -52(wait)m 
1121 grestore
1122 gsave
1123 600 8748 translate
1124 0.6953 1.0000 scale
1125 240 fnt31 0 -52(nowait)m 
1126 grestore
1127 gsave
1128 600 8508 translate
1129 0.6953 1.0000 scale
1130 240 fnt31 0 -52(close)m
1131
1132 grestore
1133 960 8214(These)m 1587(modi\207ers)s 2541(control)s 3273(the)s 3621(beha)s 4(viour)k
1134 4634(of)s 4905(the)s 5253(client,)s 5890(with)s 6372(respect)s
1135 7108(to)s 7347(the)s 7695(pipes)s 8251(carrying)s 960 7974(data)m
1136 1418(to)s 1657(and)s 2061(from)s 2585(the)s 2933(service,)s
1137 3716(when)s 4292(the)s 4640(service)s 5372(terminates.)s 6470(See)s
1138 6871(belo)s 6(w)k 15(.)k gsave
1139 600 7788 translate
1140 0.6953 1.0000 scale
1141 240 fnt31 0 -52(fd)m
1142
1143 grestore
1144 960 7494(The)m 240 fnt83 1388 7496(\207lename)m 240 fnt82 2252 7494(is)m
1145 2462(not)s 2828(a)s 2994(\207lename)s 3873(b)s 4(ut)k
1146 4235(a)s 4401(numeric)s 5237(\207le)s 5598(descriptor)s 13(.)k
1147 6644(One)s 7099(or)s 7358(both)s 7841(of)s gsave
1148 8112 7548 translate
1149 0.6953 1.0000 scale
1150 240 fnt31
1151 0 -52(read)m 
1152 grestore
1153 8572(and)s gsave
1154 960 7307 translate
1155 0.6953 1.0000 scale
1156 240 fnt31 0 -52(write)m 
1157 grestore
1158 1520 7253(must)m
1159 2045(be)s 2327(speci\207ed,)s 3284(and)s 3688(no)s 3981(other)s
1160 4532(w)s 2(ords)k 5166(are)s 5513(allo)s 6(wed.)k
1161 6368(The)s 240 fnt83 6796 7255(\207lename)m 240 fnt82 7660 7253(may)m
1162 8126(also)s 8564(be)s gsave
1163 960 7067 translate
1164 0.6953 1.0000 scale
1165 240 fnt31 0 -52(stdin)m 
1166 grestore
1167 1460 7013(,)m
1168 gsave
1169 1567 7067 translate
1170 0.6953 1.0000 scale
1171 240 fnt31 0 -52(stdout)m 
1172 grestore
1173 2227(or)s gsave
1174 2486 7067 translate
1175 0.6953 1.0000 scale
1176 240 fnt31 0 -52(stderr)m
1177
1178 grestore
1179 3146(for)s 3484(\207le)s 3845(descriptor)s 4860(0,)s 5087(1)s
1180 5242(or)s 5501(2)s 5675(respecti)s 6(v)k 3(ely)k 15(.)k
1181 480 6748(If)m 701(no)s 240 fnt83 984 6750(modi\207er)m 2(s)k
1182 240 fnt82 1918 6748(which)m 2550(imply)s gsave
1183 3152 6802 translate
1184 0.6953 1.0000 scale
1185 240 fnt31 0 -52(read)m
1186
1187 grestore
1188 3602(or)s gsave
1189 3851 6802 translate
1190 0.6953 1.0000 scale
1191 240 fnt31 0 -52(write)m 
1192 grestore
1193 4401(are)s 4738(used)s
1194 5226(it)s 5408(is)s 5608(as)s 5848(if)s gsave
1195 6055 6802 translate
1196 0.6953 1.0000 scale
1197 240 fnt31
1198 0 -52(write)m 
1199 grestore
1200 6605(had)s 6999(been)s 7498(speci\207ed,)s 8445(e)s 3(xcept)k
1201 480 6508(that)m 898(if)s 1115(the)s 1463(\207ledescriptor)s 2783(0)s
1202 2958(of)s 3229(the)s 3577(service)s 4309(is)s 4519(being)s
1203 5104(opened)s 5854(\(either)s 6536(speci\207ed)s 7444(numerically)s 8639(or)s
1204 480 6268(with)m gsave
1205 962 6322 translate
1206 0.6953 1.0000 scale
1207 240 fnt31 0 -52(stdin)m 
1208 grestore
1209 1462(\))s 1590(it)s
1210 1782(is)s 1992(as)s 2242(if)s gsave
1211 2459 6322 translate
1212 0.6953 1.0000 scale
1213 240 fnt31 0 -52(overwrite)m
1214
1215 grestore
1216 3420(had)s 3824(been)s 4333(speci\207ed)s 5241(\(or)s gsave
1217 5579 6322 translate
1218 0.6953 1.0000 scale
1219 240 fnt31
1220 0 -52(write)m 
1221 grestore
1222 6139(if)s 6356(only)s gsave
1223 6836 6322 translate
1224 0.6953 1.0000 scale
1225 240 fnt31 0 -52(fd)m
1226
1227 grestore
1228 7096(w)s 2(as)k 7517(speci\207ed\).)s 8610(The)s 480 6028(client)m
1229 1064(will)s 1483(also)s 1915(use)s gsave
1230 2283 6082 translate
1231 0.6953 1.0000 scale
1232 240 fnt31 0 -52(O_NOCTTY)m
1233
1234 grestore
1235 3137(when)s 3707(opening)s 4525(\207les)s 4968(speci\207ed)s 5869(by)s
1236 6156(the)s 6498(caller)s 9(,)k 7118(to)s 7351(a)s 4(v)k 4(oid)k
1237 7926(changing)s 8850(its)s 480 5788(controlling)m 1581(terminal.)s 2539(By)s
1238 2871(def)s 2(ault)k 3591(stdin,)s 4161(stdout)s 4805(and)s
1239 5207(stderr)s 5809(of)s 6079(the)s 6425(service)s 7156(will)s
1240 7580(be)s 7861(connected)s 8887(to)s 480 5548(the)m 811(corresponding)s
1241 2216(descriptors)s 3297(on)s 3577(the)s 3907(client.)s 4524(Diagnostics)s
1242 5686(from)s 6193(the)s 6523(client)s 7096(and)s 7482(daemon)s
1243 8280(will)s 8688(also)s 480 5308(appear)m 1177(on)s 1473(stderr)s 13(.)k
1244 2167(If)s gsave
1245 2396 5362 translate
1246 0.6953 1.0000 scale
1247 240 fnt31 0 -52(wait)m 
1248 grestore
1249 2856(is)s 3065(speci\207ed,)s
1250 4022(the)s 4369(client)s 4959(will)s 5384(w)s 2(ait)k
1251 5853(for)s 6190(the)s 6538(pipe)s 7005(to)s 7244(be)s
1252 7525(closed,)s 8243(and)s 8646(only)s 480 5068(e)m 3(xit)k
1253 889(after)s 1379(this)s 1769(has)s 2132(happened.)s 3148(This)s
1254 3618(means)s 4274(that)s 4685(either)s 5282(the)s 5624(recei)s 6(ving)k
1255 6554(end)s 6951(of)s 7216(the)s 7558(pipe)s 8019(connection)s
1256 480 4828(w)m 2(as)k 901(closed)s 1570(while)s 2157(data)s
1257 2615(w)s 2(as)k 3036(still)s 3448(a)s 4(v)k 6(ailable)k
1258 4356(at)s 4588(the)s 4936(sending)s 5734(end,)s 6187(or)s
1259 6446(that)s 6864(the)s 7212(end)s 7616(of)s 7887(\207le)s
1260 8248(w)s 2(as)k 480 4588(reached)m 1279(on)s 1573(the)s
1261 1919(reading)s 2686(\207le)s 3045(descriptor)s 13(.)k 4088(Errors)s
1262 4732(encountered)s 5957(reading)s 6724(or)s 6981(writing)s 7721(in)s
1263 7962(the)s 8307(client)s 8894(at)s 480 4347(this)m 876(stage)s
1264 1423(will)s 1849(be)s 2131(considered)s 3225(a)s 3391(system)s
1265 4115(error)s 4638(and)s 5042(cause)s 5629(the)s 5977(client)s
1266 6567(to)s 6806(e)s 3(xit)k 7221(with)s 7703(status)s
1267 8298(255,)s 8764(b)s 4(ut)k 480 4107(will)m 896(not)s
1268 1251(cause)s 1827(disconnection)s 3203(at)s 3424(the)s 3761(service)s
1269 4482(side)s 4913(since)s 5449(the)s 5786(service)s 6507(has)s
1270 6867(already)s 7613(e)s 3(xited.)k 8347(If)s gsave
1271 8566 4161 translate
1272 0.6953 1.0000 scale
1273 240 fnt31
1274 0 -52(close)m 
1275 grestore
1276 480 3867(is)m 676(speci\207ed)s 1569(the)s 1902(client)s
1277 2477(will)s 2888(immediately)s 4121(close)s 4653(the)s 4987(pipe)s
1278 5440(connection)s 6532(by)s 6811(killing)s 7473(the)s 7806(rele)s 6(v)k 6(ant)k
1279 8608(cop)s 2(y)k 480 3627(of)m gsave
1280 744 3681 translate
1281 0.6953 1.0000 scale
1282 240 fnt31 0 -52(cat)m
1283
1284 grestore
1285 1044(.)s 1141(If)s 1364(the)s 1705(service)s 2429(uses)s
1286 2885(the)s 3226(descriptor)s 4234(it)s 4418(will)s 4837(get)s
1287 gsave
1288 5182 3681 translate
1289 0.6953 1.0000 scale
1290 240 fnt31 0 -52(SIGPIPE)m 
1291 grestore
1292 5935(\(or)s gsave
1293 6265 3681 translate
1294 0.6953 1.0000 scale
1295 240 fnt31 0 -52(EPIPE)m
1296
1297 grestore
1298 6765(\))s 6886(for)s 7217(a)s 7376(writing)s 8111(descriptor)s
1299 480 3387(or)m 736(end)s 1137(of)s 1404(\207le)s 1762(for)s
1300 2096(a)s 2259(reading)s 3025(one;)s 3480(the)s 3824(descriptor)s
1301 4836(opened)s 5582(by)s 5873(or)s 6128(passed)s 6821(to)s
1302 7056(the)s 7401(client)s 7987(will)s 8410(also)s 8844(be)s
1303 480 3147(closed.)m 1255(If)s gsave
1304 1485 3201 translate
1305 0.6953 1.0000 scale
1306 240 fnt31 0 -52(nowait)m 
1307 grestore
1308 2145(is)s
1309 2355(speci\207ed)s 3263(then)s 3732(the)s 4080(client)s 4670(will)s
1310 5096(not)s 5462(w)s 2(ait)k 5931(and)s 6335(the)s
1311 6683(connection)s 7790(will)s 8216(remain)s 480 2907(open)m 1003(after)s
1312 1499(the)s 1847(client)s 2437(terminates.)s 3535(Data)s 4046(may)s
1313 4512(continue)s 5392(to)s 5631(be)s 5913(passed)s 6609(between)s
1314 7463(the)s 7811(inheritors)s 8777(of)s 480 2667(the)m 828(rele)s 6(v)k 6(ant)k
1315 1645(descriptor)s 2660(on)s 2957(the)s 3305(service)s 4037(side)s
1316 4478(and)s 4882(the)s 5230(corresponding)s 6652(\207le)s 7013(or)s
1317 7272(descriptor)s 8287(on)s 8584(the)s 480 2427(client)m 1070(side)s
1318 1511(until)s 2004(either)s 2607(side)s 3048(closes)s 3683(their)s
1319 4180(descriptor)s 13(.)k 5226(This)s 5702(should)s 6399(not)s
1320 6765(usually)s 7510(be)s 7792(speci\207ed)s 8700(for)s 480 2187(stderr)m
1321 1083(\(or)s 1421(stdout)s 2066(if)s gsave
1322 2283 2241 translate
1323 0.6953 1.0000 scale
1324 240 fnt31 0 -52(\211\211signals)m
1325 1440(stdout)s 
1326 grestore
1327 3945(is)s 4155(used\))s 4722(since)s 5269(diagnostics)s
1328 6396(from)s 6920(the)s 7268(service)s 8000(side)s 8441(may)s
1329 480 1947(arri)m 6(v)k 3(e)k 1083(after)s 1579(the)s
1330 1927(client)s 2517(has)s 2887(e)s 3(xited)k 3526(and)s
1331 3930(be)s 4212(confused)s 5134(with)s 5616(e)s 3(xpected)k
1332 6521(output.)s 7297(The)s 7725(def)s 2(ault)k 8446(is)s
1333 gsave
1334 8656 2001 translate
1335 0.6953 1.0000 scale
1336 240 fnt31 0 -52(wait)m 
1337 grestore
1338 480 1707(for)m 818(writing)s 1561(\207le)s
1339 1922(descriptors)s 3021(and)s gsave
1340 3425 1761 translate
1341 0.6953 1.0000 scale
1342 240 fnt31 0 -52(close)m 
1343 grestore
1344 3985(for)s
1345 4323(reading)s 5093(ones.)s gsave
1346 120 1367 translate
1347 0.6953 1.0000 scale
1348 240 fnt31 0 -52(\211w)m gsave
1349 288 0 translate
1350 1.4219 1.0000 scale
1351 240 fnt83
1352 0 -52(fd)m 
1353 grestore
1354 561(=)s gsave
1355 705 0 translate
1356 1.4219 1.0000 scale
1357 240 fnt83 0 -52(action)m 
1358 grestore
1359
1360 grestore
1361 gsave
1362 120 1127 translate
1363 0.6953 1.0000 scale
1364 240 fnt31
1365 0 -52(\211\211fdwait)m gsave
1366 1152 0 translate
1367 1.4219 1.0000 scale
1368 240 fnt83 0 -52(fd)m 
1369 grestore
1370 1425(=)s gsave
1371 1569 0 translate
1372 1.4219 1.0000 scale
1373 240 fnt83
1374 0 -52(action)m 
1375 grestore
1376
1377 grestore
1378 480 833(Sets)m 924(the)s 1267(action)s 1903(on)s
1379 2194(termination)s 3347(of)s 3613(the)s 3956(service)s 4682(for)s
1380 5015(the)s 5358(speci\207ed)s 6261(\207le)s 6616(descriptor;)s 240 fnt83
1381 7678 835(action)m 240 fnt82 8325 833(must)m 8844(be)s 0 52(User)m
1382 511(service)s 1243(daemon)s 2058(and)s 2462(client)s 3052(speci\207cation)s
1383 8652(0.62)s 
1384 grestore
1385
1386 grestore
1387
1388 pgsave restore
1389 showpage
1390
1391 %%Page: 6 6
1392 %%BeginPageSetup
1393 %%PageResources: font Times-Roman
1394 %%+ font Times-Bold
1395 %%+ font Courier-Bold
1396 %%+ font Times-Italic
1397 /pgsave save def
1398 0.0500 dup scale 10 setlinewidth
1399 %%EndPageSetup
1400 gsave
1401 0 0 translate
1402 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
1403 gsave
1404 LoutPageSet
1405 grestore
1406 gsave
1407 0 16840 translate
1408 0.0000 rotate
1409
1410 grestore
1411
1412 grestore
1413 gsave
1414 0 16840 translate
1415 0.0000 rotate
1416 gsave
1417 1417 -15423 translate
1418 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
1419 gsave
1420 0 LoutMargSet
1421 grestore
1422 240 fnt84 0 13842(6)m gsave
1423 480 13305 translate
1424 0.6953 1.0000 scale
1425 240 fnt31 0 -52(wait)m 
1426 grestore
1427 240 fnt82
1428 880 13251(,)m gsave
1429 981 13305 translate
1430 0.6953 1.0000 scale
1431 240 fnt31 0 -52(nowait)m 
1432 grestore
1433 1634(or)s gsave
1434 1886 13305 translate
1435 0.6953 1.0000 scale
1436 240 fnt31
1437 0 -52(close)m 
1438 grestore
1439 2439(as)s 2682(described)s 3650(abo)s 3(v)k 3(e.)k
1440 4313(The)s 4734(\207le)s 5088(descriptor)s 6096(must)s 6615(be)s
1441 6890(speci\207ed)s 7791(as)s 8034(open)s 8550(when)s 480 13011(this)m
1442 876(option)s 1545(is)s 1755(encountered;)s 3036(this)s 3432(option)s
1443 4101(is)s 4311(o)s 3(v)k 3(erridden)k 5398(by)s
1444 5692(an)s 3(y)k 6089(later)s gsave
1445 6572 13065 translate
1446 0.6953 1.0000 scale
1447 240 fnt31 0 -52(\211\211file)m
1448
1449 grestore
1450 7232(or)s gsave
1451 7491 13065 translate
1452 0.6953 1.0000 scale
1453 240 fnt31 0 -52(\211\211fdwait)m 
1454 grestore
1455 8352(option)s 480 12771(-)m
1456 608(e)s 6(v)k 3(en)k 1108(by)s 1402(a)s
1457 gsave
1458 1568 12825 translate
1459 0.6953 1.0000 scale
1460 240 fnt31 0 -52(\211\211file)m 
1461 grestore
1462 2228(which)s 2870(does)s 3360(not)s
1463 3726(specify)s 4470(an)s 4753(action)s 5394(on)s 5691(termination)s
1464 6849(\(in)s 7171(this)s 7567(case)s 8034(the)s 8382(def)s 2(ault)k
1465 480 12531(will)m 906(be)s 1188(used,)s 1734(as)s 1984(described)s
1466 2958(abo)s 3(v)k 3(e\).)k gsave
1467 120 12201 translate
1468 0.6953 1.0000 scale
1469 240 fnt31 0 -52(\211D)m
1470 gsave
1471 288 0 translate
1472 1.4219 1.0000 scale
1473 240 fnt83 0 -52(name)m 
1474 grestore
1475 1016(=)s gsave
1476 1160 0 translate
1477 1.4219 1.0000 scale
1478 240 fnt83 0 -52(value)m
1479
1480 grestore
1481
1482 grestore
1483 gsave
1484 120 11961 translate
1485 0.6953 1.0000 scale
1486 240 fnt31 0 -52(\211\211defvar)m gsave
1487 1296 0 translate
1488 1.4219 1.0000 scale
1489 240 fnt83 0 -52(name)m 
1490 grestore
1491 2024(=)s
1492 gsave
1493 2168 0 translate
1494 1.4219 1.0000 scale
1495 240 fnt83 0 -52(value)m 
1496 grestore
1497
1498 grestore
1499 480 11667(Set)m 845(a)s 1011(user)s 4(-)k
1500 1473(de\207ned)s 2236(v)s 6(ari)k 2595(able)s 240 fnt83
1501 3049 11669(name)m 240 fnt82 3621 11667(to)m 240 fnt83 3860 11669(val)m
1502 4152(ue)s 240 fnt82 4371 11667(.)m 4475(These)s 5102(user)s 4(-)k
1503 5564(de\207ned)s 6327(v)s 6(ari)k 6686(ables)s 7228(are)s
1504 7575(made)s 8149(a)s 4(v)k 6(ail)k 8598(able)s
1505 480 11427(in)m 723(the)s 1071(con)s 1414(\207g)s 1660(u)s
1506 1775(ra)s 1960(tion)s 2389(lan)s 2678(guage)s 3306(as)s
1507 3556(the)s 3904(pa)s 4130(ram)s 4501(e)s 4603(ters)s
1508 gsave
1509 4998 11481 translate
1510 0.6953 1.0000 scale
1511 240 fnt31 0 -52(u\211)m gsave
1512 288 0 translate
1513 1.4219 1.0000 scale
1514 240 fnt83 0 -52(name)m 
1515 grestore
1516
1517 grestore
1518 5764(and)s
1519 6168(are)s 6515(passed)s 7211(to)s 7450(the)s 7798(ser)s
1520 8076(vice)s 8530(in)s 8773(en)s 8996(-)s 480 11187(vi)m
1521 660(ron)s 976(ment)s 1508(v)s 6(ari)k 1867(ables)s
1522 gsave
1523 2402 11241 translate
1524 0.6953 1.0000 scale
1525 240 fnt31 0 -52(USERV_U_)m gsave
1526 1152 0 translate
1527 1.4219 1.0000 scale
1528 240 fnt83 0 -52(name)m 
1529 grestore
1530
1531 grestore
1532 3709(.)s
1533 240 fnt83 3806 11189(name)m 240 fnt82 4371 11187(may)m 4831(con)s
1534 5174(tain)s 5582(only)s 6055(al)s 6222(phanu)s 6803(mer)s
1535 7174(ics)s 7483(and)s 7880(un)s 8117(der)s 8422(scores,)s
1536 480 10947(and)m 884(must)s 1409(start)s 1879(with)s 2360(a)s
1537 2526(let)s 2764(ter)s 13(.)k 3106(If)s 3335(se)s 6(v)k
1538 3643(er)s 3828(al)s 4055(de\207)s 4406(ni)s 4586(tions)s
1539 5102(are)s 5449(gi)s 6(v)k 5744(en)s 6026(for)s
1540 6364(the)s 6712(same)s 240 fnt83 7258 10949(name)m 240 fnt82
1541 7830 10947(then)m 8299(only)s 8778(the)s 480 10707(last)m 871(is)s
1542 1081(ef)s 1278(fec)s 1562(ti)s 6(v)k 3(e.)k
1543 gsave
1544 120 10416 translate
1545 0.6953 1.0000 scale
1546 240 fnt31 0 -52(\211t)m gsave
1547 432 0 translate
1548 1.4219 1.0000 scale
1549 240 fnt83 0 -52(seconds)m 
1550 grestore
1551
1552 grestore
1553 gsave
1554 120 10176 translate
1555 0.6953 1.0000 scale
1556 240 fnt31
1557 0 -52(\211\211timeout)m gsave
1558 1440 0 translate
1559 1.4219 1.0000 scale
1560 240 fnt83 0 -52(seconds)m 
1561 grestore
1562
1563 grestore
1564 480 9882(T)m 8(ime)k
1565 1029(out)s 1392(the)s 1736(service)s 2465(if)s 2678(it)s
1566 2867(tak)s 2(es)k 3403(longer)s 4071(than)s 240 fnt83
1567 4536 9884(seconds)m 240 fnt82 5346 9882(seconds)m 6151(\(a)s 6393(positi)s 6(v)k 3(e)k
1568 7193(inte)s 3(ger)k 9(,)k 7948(in)s 8187(decimal\).)s
1569 480 9641(T)m 8(imeout)k 1331(will)s 1746(produce)s 2562(a)s
1570 2717(diagnostic)s 3742(on)s 4028(stderr)s 4620(and)s 5013(an)s
1571 5284(e)s 3(xit)k 5688(status)s 6272(of)s 6532(255.)s
1572 6985(If)s 240 fnt83 7204 9643(seconds)m 240 fnt82 8006 9641(is)m
1573 8205(zero)s 8657(then)s 480 9401(no)m 773(timeout)s 1563(will)s
1574 1989(be)s 2271(implemented)s 3577(\(this)s 4052(is)s 4262(the)s
1575 4610(def)s 2(ault\).)k gsave
1576 120 9061 translate
1577 0.6953 1.0000 scale
1578 240 fnt31 0 -52(\211S)m 
1579 grestore
1580 240 fnt83
1581 380 9009(method)m gsave
1582 120 8821 translate
1583 0.6953 1.0000 scale
1584 240 fnt31 0 -52(\211\211signals)m 
1585 grestore
1586 1081 8769(method)m 240 fnt82
1587 480 8527(Af)m 6(fects)k 1212(the)s 1544(handling)s 2420(of)s
1588 2675(the)s 3008(e)s 3(xit)k 3407(status)s 3987(when)s
1589 4547(the)s 4879(service)s 5596(terminates)s 6625(due)s 7012(to)s
1590 7235(a)s 7386(signal.)s 8045(\(The)s 8536(client)s 480 8286(will)m
1591 906(al)s 2(w)k 2(ays)k 1617(\207nish)s 2206(by)s
1592 2500(calling)s gsave
1593 3203 8340 translate
1594 0.6953 1.0000 scale
1595 240 fnt31 0 -52(_exit)m 
1596 grestore
1597 3703(,)s 3810(so)s
1598 4076(that)s 4494(only)s 4974(numbers)s 5849(from)s 6373(0)s
1599 6548(to)s 6787(255)s 7193(can)s 7582(be)s 7864(returned)s
1600 8718(and)s 480 8046(not)m 830(the)s 1162(full)s 1532(range)s
1601 2102(of)s 2357(numbers)s 3216(and)s 3603(signal)s 4213(indications)s
1602 5297(which)s 5922(can)s 6295(be)s 6561(returned)s 7398(by)s
1603 7676(the)s gsave
1604 8008 8100 translate
1605 0.6953 1.0000 scale
1606 240 fnt31 0 -52(wait)m 
1607 grestore
1608 8451(f)s 2(amily)k
1609 480 7805(of)m 751(system)s 1475(calls.\))s 2160(The)s 240 fnt83
1610 2588 7807(method)m 240 fnt82 3359 7805(may)m 3825(be)s 4107(one)s
1611 4509(of)s 4780(the)s 5128(follo)s 6(wing:)k 240 fnt83
1612 600 7567(status)m 240 fnt82 960 7325(The)m 1386(client')s 13(s)k
1613 2123(e)s 3(xit)k 2536(status)s 3128(will)s 3552(be)s
1614 240 fnt83 3831 7327(status)m 240 fnt82 4384 7325(.)m 4486(This)s
1615 4959(will)s 5383(not)s 5746(be)s 6026(distinguishable)s 7527(from)s
1616 8049(the)s 8394(service)s 960 7084(really)m 1557(ha)s 4(ving)k
1617 2258(e)s 3(xited)k 2897(with)s 3379(code)s 240 fnt83
1618 3887 7086(status)m 240 fnt82 4440 7084(.)m 4544(This)s 5020(method)s
1619 5796(is)s 6006(the)s 6354(def)s 2(ault,)k 7122(with)s
1620 7604(a)s 240 fnt83 7770 7086(status)m 240 fnt82 8383 7084(of)m
1621 8654(254.)s gsave
1622 600 6898 translate
1623 0.6953 1.0000 scale
1624 240 fnt31 0 -52(number)m 
1625 grestore
1626 gsave
1627 600 6658 translate
1628 0.6953 1.0000 scale
1629 240 fnt31 0 -52(number\211nocore)m
1630
1631 grestore
1632 960 6364(The)m 1388(client')s 13(s)k 2128(e)s 3(xit)k
1633 2543(status)s 3138(will)s 3564(be)s 3846(the)s 4194(number)s
1634 4985(of)s 5256(the)s 5604(signal)s 6230(which)s 6872(caused)s
1635 7581(the)s 7929(termination)s 960 6124(of)m 1231(the)s 1579(service.)s
1636 2359(If)s gsave
1637 2589 6178 translate
1638 0.6953 1.0000 scale
1639 240 fnt31 0 -52(number)m 
1640 grestore
1641 3249(is)s 3459(used)s
1642 3956(rather)s 4572(than)s gsave
1643 5041 6178 translate
1644 0.6953 1.0000 scale
1645 240 fnt31 0 -52(number\211nocore)m 
1646 grestore
1647 6402(then)s
1648 6871(128)s 7278(will)s 7704(be)s 7986(added)s 960 5884(if)m
1649 1177(the)s 1525(service)s 2257(dumped)s 3087(core.)s gsave
1650 3602 5938 translate
1651 0.6953 1.0000 scale
1652 240 fnt31
1653 0 -52(number)m 
1654 grestore
1655 4262(is)s 4472(v)s 3(ery)k 4948(lik)s 2(e)k
1656 5360(the)s 5708(e)s 3(xit)k 6123(code)s 6631(mangling)s
1657 7588(done)s 8110(by)s 8404(the)s 960 5644(Bourne)m 1721(shell.)s
1658 gsave
1659 600 5458 translate
1660 0.6953 1.0000 scale
1661 240 fnt31 0 -52(highbit)m 
1662 grestore
1663 960 5164(The)m 1388(client')s 13(s)k
1664 2128(e)s 3(xit)k 2543(status)s 3138(will)s 3564(be)s
1665 3846(the)s 4194(number)s 4985(of)s 5256(the)s 5604(signal)s
1666 6230(with)s 6712(128)s 7119(added.)s 7795(If)s 8025(the)s
1667 8373(service)s 960 4924(e)m 3(xits)k 1459(normally)s 2376(with)s
1668 2858(an)s 3141(e)s 3(xit)k 3556(code)s 4064(of)s
1669 4335(greater)s 5057(than)s 5526(127)s 5934(then)s 6403(127)s
1670 6811(will)s 7237(be)s 7519(returned.)s gsave
1671 600 4738 translate
1672 0.6953 1.0000 scale
1673 240 fnt31 0 -52(stdout)m
1674
1675 grestore
1676 960 4444(The)m 1375(service')s 13(s)k 2247(numeric)s 3069(w)s 2(ait)k
1677 3524(status)s 4105(as)s 4341(tw)s 2(o)k 4737(decimal)s
1678 5534(numbers)s 6395(\(high)s 6943(byte)s 7397(\207rst\))s 7882(and)s
1679 8272(a)s 8424(te)s 3(xtual)k 960 4204(description)m 2079(of)s
1680 2350(its)s 2626(meaning)s 3503(will)s 3929(be)s 4211(printed)s
1681 4946(to)s 5185(the)s 5533(client')s 13(s)k 6273(standard)s
1682 7141(output.)s 7857(It)s 8062(will)s 8488(be)s 960 3964(preceded)m
1683 1865(by)s 2142(a)s 2292(ne)s 6(wline)k 3082(and)s
1684 3470(follo)s 6(wed)k 4355(by)s 4633(an)s 4899(e)s 3(xtra)k
1685 5417(ne)s 6(wline,)k 6258(and)s 6646(the)s 6977(numbers)s
1686 7836(are)s 8166(separated)s 960 3724(from)m 1484(each)s 1979(other)s
1687 2530(and)s 2934(from)s 3458(the)s 3806(te)s 3(xtual)k
1688 4508(description)s 5627(by)s 5921(single)s 6548(spaces.)s 7276(The)s
1689 7704(e)s 3(xit)k 8119(status)s 8714(of)s 960 3484(the)m
1690 1308(client)s 1898(will)s 2324(be)s 2606(zero,)s 3124(unless)s
1691 3773(a)s 3939(system)s 4663(error)s 5186(occurs)s 5861(in)s
1692 6104(which)s 6746(case)s 7213(no)s 7506(e)s 3(xit)k
1693 7921(status)s 8516(and)s 960 3244(description)m 2079(will)s 2505(be)s
1694 2787(printed)s 3522(to)s 3761(stdout,)s 4453(and)s 4857(an)s
1695 5140(error)s 5663(message)s 6529(will)s 6955(be)s 7237(printed)s
1696 7972(to)s 8211(stderr)s 960 3004(as)m 1210(usual.)s 480 2791(Problems)m
1697 1420(such)s 1902(as)s 2137(client)s 2713(usage)s 3299(errors,)s
1698 3948(the)s 4281(service)s 4999(not)s 5351(being)s 5921(found)s
1699 6524(or)s 6768(permission)s 7860(being)s 8430(denied)s 480 2551(or)m
1700 739(f)s 2(ailure)k 1415(of)s 1686(a)s 1852(system)s
1701 2576(call)s 2975(are)s 3322(system)s 4046(errors.)s 4706(An)s
1702 5056(error)s 5579(message)s 6445(describing)s 7494(the)s 7842(problem)s
1703 8699(will)s 480 2310(be)m 758(printed)s 1489(on)s 1782(the)s
1704 2125(client')s 13(s)k 2861(stderr)s 9(,)k 3498(and)s
1705 3898(the)s 4241(client')s 13(s)k 4977(e)s 3(xit)k
1706 5388(status)s 5978(will)s 6400(be)s 6678(255.)s 7138(If)s
1707 7363(the)s 7707(client)s 8293(dies)s 8724(due)s 480 2070(to)m
1708 719(a)s 885(signal)s 1511(this)s 1907(should)s 2604(be)s
1709 2886(treated)s 3593(as)s 3843(a)s 4009(serious)s 4737(system)s
1710 5461(error)s 13(.)k gsave
1711 120 1730 translate
1712 0.6953 1.0000 scale
1713 240 fnt31 0 -52(\211H)m 
1714 grestore
1715 gsave
1716 120 1490 translate
1717 0.6953 1.0000 scale
1718 240 fnt31
1719 0 -52(\211\211hidecwd)m 
1720 grestore
1721 480 1196(Pre)m 6(v)k 3(ents)k 1345(the)s
1722 1693(calling)s 2396(process')s 13(s)k 3323(current)s 4059(directory)s
1723 4975(name)s 5549(from)s 6073(being)s 6658(passed)s 7354(to)s
1724 7593(the)s 7941(service;)s 8729(the)s 480 956(null)m 907(string)s
1725 1504(will)s 1930(be)s 2212(passed)s 2908(instead.)s 0 52(0.62)m
1726 4809(User)s 5320(service)s 6052(daemon)s 6867(and)s 7271(client)s
1727 7861(speci\207cation)s 
1728 grestore
1729
1730 grestore
1731
1732 pgsave restore
1733 showpage
1734
1735 %%Page: 7 7
1736 %%BeginPageSetup
1737 %%PageResources: font Times-Roman
1738 %%+ font Times-Bold
1739 %%+ font Courier-Bold
1740 %%+ font Times-Italic
1741 /pgsave save def
1742 0.0500 dup scale 10 setlinewidth
1743 %%EndPageSetup
1744 gsave
1745 0 0 translate
1746 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
1747 gsave
1748 LoutPageSet
1749 grestore
1750 gsave
1751 0 16840 translate
1752 0.0000 rotate
1753
1754 grestore
1755
1756 grestore
1757 gsave
1758 0 16840 translate
1759 0.0000 rotate
1760 gsave
1761 1417 -15423 translate
1762 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
1763 gsave
1764 1 LoutMargSet
1765 grestore
1766 240 fnt84 8951 13844(7)m gsave
1767 120 13337 translate
1768 0.6953 1.0000 scale
1769 240 fnt31 0 -52(\211P)m 
1770 grestore
1771 gsave
1772 120 13097 translate
1773 0.6953 1.0000 scale
1774 240 fnt31
1775 0 -52(\211\211sigpipe)m 
1776 grestore
1777 240 fnt82 480 12803(If)m 700(the)s 1038(service)s
1778 1760(program)s 2620(is)s 2820(terminated)s 3888(due)s 4280(to)s
1779 4509(a)s gsave
1780 4665 12857 translate
1781 0.6953 1.0000 scale
1782 240 fnt31 0 -52(SIGPIPE)m 
1783 grestore
1784 5415(the)s 5753(e)s 3(xit)k
1785 6157(status)s 6742(of)s 7003(the)s 7341(client)s 7921(will)s
1786 8337(be)s 8608(zero,)s 480 12563(e)m 6(v)k 3(en)k
1787 967(if)s 1170(it)s 1349(w)s 2(ould)k 1990(ha)s 4(v)k 3(e)k
1788 2477(been)s 2973(something)s 4009(else)s 4423(according)s 5405(to)s
1789 5630(the)s 5965(e)s 3(xit)k 6366(status)s 6948(method)s
1790 7710(speci\207ed.)s 8650(This)s 480 12323(option)m 1149(has)s 1519(no)s
1791 1812(ef)s 6(fect)k 2408(on)s 2705(the)s 3053(code)s
1792 3561(and)s 3965(description)s 5084(printed)s 5819(if)s 6036(the)s
1793 6384(e)s 3(xit)k 6799(status)s 7394(method)s gsave
1794 8170 12377 translate
1795 0.6953 1.0000 scale
1796 240 fnt31
1797 0 -52(stdout)m 
1798 grestore
1799 8830(is)s 480 12083(in)m 723(use.)s gsave
1800 120 11793 translate
1801 0.6953 1.0000 scale
1802 240 fnt31
1803 0 -52(\211h)m 
1804 grestore
1805 gsave
1806 120 11553 translate
1807 0.6953 1.0000 scale
1808 240 fnt31 0 -52(\211\211help)m 
1809 grestore
1810 gsave
1811 120 11313 translate
1812 0.6953 1.0000 scale
1813 240 fnt31 0 -52(\211\211copyright)m
1814
1815 grestore
1816 gsave
1817 480 11073 translate
1818 0.6953 1.0000 scale
1819 240 fnt31 0 -52(\211h)m 
1820 grestore
1821 740 11019(or)m gsave
1822 999 11073 translate
1823 0.6953 1.0000 scale
1824 240 fnt31 0 -52(\211\211help)m
1825
1826 grestore
1827 1659(prints)s 2254(the)s 2602(client')s 13(s)k 3342(usage)s
1828 3943(message;)s gsave
1829 4865 11073 translate
1830 0.6953 1.0000 scale
1831 240 fnt31 0 -52(\211\211copyright)m 
1832 grestore
1833 6026(prints)s 6621(the)s
1834 6969(cop)s 2(yright)k 7944(and)s 8348(lack)s 8807(of)s
1835 480 10779(w)m 2(arranty)k 1381(notice.)s 9066 670 0 670 240 240 60 0 9649 LoutGr2
1836 newpath 0 ysize 0.3 ft sub moveto
1837 xsize 0 rlineto
1838 0 0.1 ft rlineto
1839 xsize neg 0 rlineto
1840 closepath fill
1841 grestore
1842 320 fnt84 0 66(2.2.)m
1843 628(Security-o)s 3(v)k 3(erriding)k 3373(options)s 
1844 grestore
1845 0 9187(There)m
1846 613(are)s 960(also)s 1398(some)s 1959(options)s 2715(which)s
1847 3357(are)s 3704(a)s 4(v)k 6(ailable)k 4612(for)s
1848 4950(deb)s 4(ugging)k 6011(and)s 6415(to)s 6654(allo)s 6(w)k
1849 7233(the)s 7581(system)s 0 8947(administrator)m 1333(to)s 1572(o)s 3(v)k 3(erride)k
1850 2418(a)s 2584(user')s 13(s)k 3192(polic)s 3(y)k 15(.)k
1851 3876(These)s 4503(options)s 5259(are)s 5606(a)s 4(v)k 6(ailable)k
1852 6514(only)s 6994(if)s 7211(the)s 7559(client)s 8149(is)s
1853 8359(called)s 0 8707(by)m 294(root)s 739(or)s 998(if)s
1854 1215(the)s 1563(calling)s 2266(user)s 2724(is)s 2934(the)s
1855 3282(same)s 3829(as)s 4079(the)s 4427(service)s 5159(user)s 13(.)k
1856 gsave
1857 120 8353 translate
1858 0.6953 1.0000 scale
1859 240 fnt31 0 -52(\211\211override)m gsave
1860 1584 0 translate
1861 1.4219 1.0000 scale
1862 240 fnt83 0 -52(con\207gur)m 3(ation\211data)k
1863
1864 grestore
1865
1866 grestore
1867 gsave
1868 120 8113 translate
1869 0.6953 1.0000 scale
1870 240 fnt31 0 -52(\211\211override\211file)m gsave
1871 2304 0 translate
1872 1.4219 1.0000 scale
1873 240 fnt83 0 -52(\207lename)m 
1874 grestore
1875
1876 grestore
1877 480 7819(Do)m
1878 826(not)s 1192(read)s 1661(the)s 2009(usual)s 2569(con\207guration)s
1879 3902(\207les.)s 4404(Instead,)s 5201(the)s 5549(client)s 6139(sends)s
1880 240 fnt83 6722 7821(con\207gur)m 3(ation-data)k 240 fnt82 480 7578(\(follo)m 6(wed)k
1881 1461(by)s 1755(a)s 1921(ne)s 6(wline\))k 2800(or)s
1882 3059(the)s 3407(contents)s 4255(of)s 240 fnt83 4526 7580(\207lename)m
1883 240 fnt82 5390 7578(\(which)m 6111(is)s 6321(opened)s 7071(in)s
1884 7314(the)s 7662(conte)s 3(xt)k 8423(of)s 8694(the)s
1885 480 7337(client\))m 1138(to)s 1377(the)s 1725(daemon)s 2540(and)s
1886 2944(the)s 3292(daemon)s 4107(uses)s 4570(that)s 4988(data)s
1887 5446(instead.)s 6227(The)s 240 fnt83 6655 7339(con\207gur)m 3(ation-data)k
1888 240 fnt82 8503 7337(must)m 480 7097(all)m 772(be)s 1052(in)s
1889 1293(one)s 1693(ar)s 4(gument.)k 2694(It)s 2897(will)s
1890 3321(ha)s 4(v)k 3(e)k 3820(a)s 3984(single)s
1891 4609(ne)s 6(wline)k 5414(appended)s 6388(so)s 6652(that)s
1892 7068(a)s 7232(single)s 7857(directi)s 6(v)k 3(e)k
1893 8737(can)s 480 6857(easily)m 1083(be)s 1357(gi)s 6(v)k 3(en,)k
1894 1979(b)s 4(ut)k 2333(if)s 2542(more)s 3080(than)s
1895 3541(one)s 3935(directi)s 6(v)k 3(e)k 4809(is)s
1896 5011(required)s 5857(it)s 6040(will)s 6458(ha)s 4(v)k 3(e)k
1897 6951(to)s 7182(contain)s 7935(one)s 8329(or)s 8579(more)s
1898 480 6617(real)m 892(ne)s 6(wlines.)k gsave
1899 120 6326 translate
1900 0.6953 1.0000 scale
1901 240 fnt31 0 -52(\211\211spoof\211user)m
1902 gsave
1903 1872 0 translate
1904 1.4219 1.0000 scale
1905 240 fnt83 0 -52(user)m 
1906 grestore
1907
1908 grestore
1909 480 6032(Pretend)m 1268(to)s 1507(the)s
1910 1855(service)s 2587(that)s 3005(it)s 3197(is)s 3407(being)s
1911 3992(called)s 4620(by)s 240 fnt83 4914 6034(user)m 240 fnt82
1912 5391 6032(\(which)m 6112(may)s 6578(be)s 6860(a)s 7026(username)s
1913 7998(or)s 8257(a)s 8423(uid\).)s 480 5792(This)m 956(will)s
1914 1382(also)s 1820(af)s 6(fect)k 2416(the)s 2764(group)s
1915 3376(and)s 3780(supplementary)s 5242(groups)s 5945(supplied)s 6814(to)s
1916 7053(the)s 7401(service;)s 8189(the)s 3(y)k 8652(will)s
1917 480 5552(be)m 759(the)s 1103(standard)s 1968(group)s 2576(and)s
1918 2977(supplementary)s 4435(groups)s 5135(for)s 240 fnt83 5469 5554(user)m
1919 240 fnt82 5886 5552(.)m 5987(The)s gsave
1920 6411 5606 translate
1921 0.6953 1.0000 scale
1922 240 fnt31 0 -52(\211\211spoof\211user)m
1923
1924 grestore
1925 7669(option)s 8334(will)s 240 fnt83 8756 5554(not)m 240 fnt82
1926 480 5312(af)m 6(fect)k 1076(which)s 1718(user)s 2176(is)s
1927 2386(chosen)s 3108(if)s 3325(the)s 3673(service)s 4405(user)s
1928 4863(is)s 5073(speci\207ed)s 5981(as)s 6231(just)s gsave
1929 6636 5366 translate
1930 0.6953 1.0000 scale
1931 240 fnt31
1932 0 -52(\211)m 
1933 grestore
1934 6736(;)s 6848(in)s 7091(this)s 7487(case)s
1935 7954(the)s 8302(service)s 480 5072(user)m 938(will)s 1364(be)s
1936 1646(the)s 1994(real)s 2406(calling)s 3109(user)s 13(.)k
1937 0 52(User)m 511(service)s 1243(daemon)s 2058(and)s 2462(client)s
1938 3052(speci\207cation)s 8652(0.62)s 
1939 grestore
1940
1941 grestore
1942
1943 pgsave restore
1944 showpage
1945
1946 %%Page: 8 8
1947 %%BeginPageSetup
1948 %%PageResources: font Times-Roman
1949 %%+ font Times-Bold
1950 %%+ font Courier-Bold
1951 /pgsave save def
1952 0.0500 dup scale 10 setlinewidth
1953 %%EndPageSetup
1954 gsave
1955 0 0 translate
1956 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
1957 gsave
1958 LoutPageSet
1959 grestore
1960 gsave
1961 0 16840 translate
1962 0.0000 rotate
1963
1964 grestore
1965
1966 grestore
1967 gsave
1968 0 16840 translate
1969 0.0000 rotate
1970 gsave
1971 1417 -15423 translate
1972 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
1973 gsave
1974 0 LoutMargSet
1975 grestore
1976 240 fnt84 0 13842(8)m gsave
1977 0 12726 translate
1978 240 fnt82 9066 688 0 688 240 240 60 LoutGraphic
1979 gsave
1980 newpath 0 ysize 0.3 ft sub moveto
1981 xsize 0 rlineto
1982 0 0.2 ft rlineto
1983 xsize neg 0 rlineto
1984 closepath fill
1985 grestore
1986 340 fnt84 0 70(3.)m 412(Execution)s
1987 1943(en)s 13(vir)k 6(onment)k 3856(of)s 4243(the)s
1988 4774(ser)s 3(vice)k 5846(pr)s 6(ogram)k 
1989 grestore
1990 240 fnt82
1991 0 12264(The)m 428(daemon)s 1243(which)s 1885(is)s 2095(handling)s
1992 2986(the)s 3334(service)s 4066(user)s 4524(side)s 4965(of)s
1993 5236(things)s 5872(will)s 6298(read)s 6767(con\207guration)s 8100(\207les)s
1994 8549(to)s 0 12024(decide)m 680(what)s 1205(to)s 1444(do.)s
1995 1788(If)s 2018(it)s 2210(decides)s 2978(to)s 3217(allo)s 6(w)k
1996 3796(the)s 4144(service)s 4876(to)s 5115(be)s 5397(pro)s 3(vided)k
1997 6303(it)s 6495(will)s 6921(fork)s 7380(a)s 7546(subprocess)s
1998 8647(to)s 0 11784(e)m 3(x)k 3(ecute)k 780(the)s
1999 1128(service.)s 0 11376(The)m 428(service)s 1160(will)s 1586(ha)s 4(v)k 3(e)k
2000 2087(no)s 2380(controlling)s 3482(terminal,)s 4384(b)s 4(ut)k
2001 4746(it)s 4938(will)s 5364(be)s 5646(a)s 5812(process)s
2002 6580(group)s 7192(leader)s 13(.)k 0 10968(If)m 223(the)s
2003 563(client)s 1146(is)s 1348(killed)s 1942(or)s 2194(times)s
2004 2754(out)s 3112(or)s 3364(a)s 3522(\207le)s 3875(or)s
2005 4127(descriptor)s 5134(being)s 5711(read)s 6173(or)s 6424(written)s
2006 7149(by)s 7436(the)s 7776(client)s 8358(process)s 0 10728(gets)m
2007 436(an)s 719(error)s 1242(then)s 1711(the)s 2059(service)s
2008 2791(will)s 3217(be)s 3499(disconnected)s 4806(from)s 5330(the)s
2009 5678(client.)s 6312(The)s 6740(client)s 7330(will)s 7756(return)s
2010 8383(an)s 0 10487(e)m 3(xit)k 415(status)s 1010(of)s
2011 1281(255)s 1687(and)s 2091(some)s 2652(the)s 3000(service')s 13(s)k
2012 3886(pipes)s 4442(may)s 4908(be)s 5190(closed)s 5859(at)s
2013 6091(the)s 6439(other)s 6990(end.)s 7440(The)s 7868(service)s
2014 8600(will)s 0 10247(become)m 800(a)s 966(child)s 1502(of)s
2015 gsave
2016 1773 10301 translate
2017 0.6953 1.0000 scale
2018 240 fnt31 0 -52(init)m 
2019 grestore
2020 2173(.)s 2277(The)s 2705(service)s
2021 3437(may)s 3903(well)s 4369(not)s 4735(notice)s 5375(the)s
2022 5723(disconnection,)s 7159(though)s 7882(writing)s 8625(to)s 8864(a)s
2023 0 10007(pipe)m 468(after)s 964(this)s 1360(may)s 1826(produce)s
2024 2653(a)s gsave
2025 2819 10061 translate
2026 0.6953 1.0000 scale
2027 240 fnt31 0 -52(SIGPIPE)m 
2028 grestore
2029 3579(and)s 3983(the)s
2030 4331(f)s 2(acility)k 5058(e)s 3(xists)k 5650(to)s
2031 5889(ha)s 4(v)k 3(e)k 6390(a)s gsave
2032 6556 10061 translate
2033 0.6953 1.0000 scale
2034 240 fnt31
2035 0 -52(SIGHUP)m 
2036 grestore
2037 7216(sent)s 7661(to)s 7900(the)s 8248(service)s
2038 0 9767(on)m 297(disconnection.)s 9066 670 0 670 240 240 60 0 8743 LoutGr2
2039 newpath 0 ysize 0.3 ft sub moveto
2040 xsize 0 rlineto
2041 0 0.1 ft rlineto
2042 xsize neg 0 rlineto
2043 closepath fill
2044 grestore
2045 320 fnt84 0 66(3.1.)m 628(File)s
2046 1216(descriptors)s 
2047 grestore
2048 0 8281(The)m 428(service)s 1160(program')s 13(s)k
2049 2180(standard)s 3048(\207ledescriptors,)s 4508(and)s 4912(possibly)s 5764(other)s
2050 6315(\207le)s 6676(descriptors,)s 7831(will)s 8257(be)s 0 8041(connected)m
2051 1028(to)s 1266(pipes)s 1821(or)s 2080(to)s gsave
2052 2318 8095 translate
2053 0.6953 1.0000 scale
2054 240 fnt31
2055 0 -52(/dev/null)m 
2056 grestore
2057 3219(.)s 3322(The)s gsave
2058 3750 8095 translate
2059 0.6953 1.0000 scale
2060 240 fnt31 0 -52(userv)m
2061
2062 grestore
2063 4309(client/daemon)s 5719(pair)s 6150(will)s 6575(arrange)s 7346(that)s
2064 7764(data)s 8221(is)s 8430(copied)s 0 7801(between)m 854(the)s
2065 1202(\207les)s 1651(or)s 1910(\207le)s 2271(descriptors)s 3370(speci\207ed)s
2066 4278(to)s 4517(to)s 4756(the)s 5104(client)s 5694(by)s
2067 5988(the)s 6336(caller)s 6925(and)s 7329(these)s 7876(these)s
2068 8423(pipes.)s 0 7393(Pipes)m 569(which)s 1211(may)s 1677(be)s
2069 1959(written)s 2692(to)s 2931(will)s 3357(be)s 3639(closed)s
2070 4308(if)s 4525(a)s 4691(write)s 5237(error)s 5760(occurs)s
2071 6435(on)s 6732(the)s 7080(corresponding)s 0 7153(client-side)m 1043(\207le)s
2072 1396(or)s 1647(descriptor)s 9(,)k 2692(which)s 3326(may)s
2073 3784(result)s 4366(in)s 4601(a)s gsave
2074 4760 7207 translate
2075 0.6953 1.0000 scale
2076 240 fnt31 0 -52(SIGPIPE)m
2077
2078 grestore
2079 5512(in)s 5747(the)s 6087(service)s 6811(program;)s 7725(pipes)s
2080 8273(open)s 8788(for)s 0 6913(reading)m 770(will)s 1196(get)s
2081 gsave
2082 1548 6967 translate
2083 0.6953 1.0000 scale
2084 240 fnt31 0 -52(EOF)m 
2085 grestore
2086 1908(if)s 2125(the)s 2473(client-side)s
2087 3523(\207le)s 3884(descriptor)s 4899(gets)s gsave
2088 5335 6967 translate
2089 0.6953 1.0000 scale
2090 240 fnt31 0 -52(EOF)m
2091
2092 grestore
2093 5695(or)s 5954(an)s 6237(error)s 13(.)k 0 6505(If)m
2094 230(the)s 578(service)s 1310(closes)s 1945(one)s 2347(of)s
2095 2618(its)s 2894(reading)s 3663(\207le)s 4024(descriptors)s 5123(the)s
2096 5471(writing)s 6214(end)s 6618(of)s 6889(the)s 7237(corresponding)s
2097 8658(pipe)s 0 6265(will)m 421(generate)s 1280(a)s gsave
2098 1441 6319 translate
2099 0.6953 1.0000 scale
2100 240 fnt31
2101 0 -52(SIGPIPE)m 
2102 grestore
2103 2195(when)s 2766(attempts)s 3620(are)s 3962(made)s
2104 4530(by)s 4819(the)s 5161(client/daemon)s 6567(pair)s 6992(to)s
2105 7226(write)s 7766(to)s 8000(it.)s 8230(This)s 8700(will)s
2106 0 6025(not)m 366(be)s 648(considered)s 1742(an)s 2025(error;)s
2107 2600(rather)s 9(,)k 3254(the)s 3602(rele)s 6(v)k 6(ant)k
2108 4419(pipe)s 4887(will)s 5313(be)s 5595(discarded)s 6569(and)s
2109 6973(the)s 7321(corresponding)s 8743(\207le)s 0 5785(or)m 259(\207le)s
2110 620(descriptor)s 1635(held)s 2105(by)s 2399(the)s 2747(client)s
2111 3337(will)s 3763(be)s 4045(closed.)s 0 5377(Lik)m 2(e)k 6(wise,)k
2112 975(if)s 1192(one)s 1594(of)s 1865(the)s 2213(\207le)s
2113 2574(descriptors)s 3673(held)s 4143(by)s 4437(the)s 4785(client)s
2114 5375(for)s 5713(writing)s 6456(by)s 6750(the)s 7098(service)s
2115 7830(is)s 8040(a)s 8206(pipe)s 0 5137(whose)m 665(other)s
2116 1213(end)s 1613(is)s 1820(closed)s 2485(by)s 2776(the)s
2117 3120(caller)s 3706(then)s 4171(the)s 4516(client/daemon)s 5923(pair)s
2118 6351(will)s 6773(see)s 7131(an)s 7410(error)s 7930(when)s
2119 8502(trying)s 0 4897(to)m 239(cop)s 2(y)k 757(data)s
2120 1215(pro)s 3(vided)k 2121(by)s 2415(the)s 2763(service.)s
2121 3543(This)s 4019(too)s 4378(will)s 4804(not)s 5170(be)s
2122 5452(considered)s 6546(an)s 6829(error;)s 7404(rather)s 9(,)k
2123 8058(the)s 8406(pipe)s 0 4657(correspondong)m 1476(to)s 1715(that)s
2124 2133(descriptor)s 3148(will)s 3574(be)s 3856(closed)s 4525(and)s
2125 4929(an)s 3(y)k 5326(further)s 6035(writes)s 6669(will)s
2126 7095(cause)s 7682(the)s 8030(service)s 8762(to)s 0 4417(get)m
2127 352(a)s gsave
2128 518 4471 translate
2129 0.6953 1.0000 scale
2130 240 fnt31 0 -52(SIGPIPE)m 
2131 grestore
2132 1218(.)s 0 4009(Note)m
2133 521(that)s 939(not)s 1305(all)s 1598(write)s 2144(errors)s
2134 2751(or)s 3010(brok)s 2(en)k 3730(pipes)s 4286(on)s
2135 4583(\207le)s 4944(descriptors)s 6043(may)s 6509(be)s 6791(visible)s
2136 7484(to)s 7723(the)s 8071(service,)s 0 3769(since)m 547(b)s 4(uf)k 6(fered)k
2137 1404(data)s 1862(may)s 2328(be)s 2610(discarded)s 3584(by)s
2138 3878(the)s 4226(operating)s 5182(system)s 5906(and)s 6310(there)s
2139 6843(will)s 7269(be)s 7551(a)s 7717(\207nite)s 8264(interv)s 6(al)k
2140 0 3529(between)m 847(the)s 1188(error)s 1703(happening)s 2747(and)s
2141 3144(the)s 3484(service)s 4209(being)s 4787(disconnected)s 6086(from)s
2142 6603(the)s 6944(client)s 7526(or)s 7778(the)s 8119(ne)s 3(xt)k
2143 8580(write)s 0 3289(causing)m 784(a)s gsave
2144 950 3343 translate
2145 0.6953 1.0000 scale
2146 240 fnt31 0 -52(SIGPIPE)m
2147
2148 grestore
2149 1650(.)s 0 2881(Read)m 550(errors)s 1157(on)s 1454(\207le)s
2150 1815(descriptors)s 2914(\(and)s 3397(disconnection\))s 4854(will)s 5280(only)s
2151 5760(be)s 6042(visible)s 6735(to)s 6974(the)s 7322(service)s
2152 8054(and)s 0 2641(distinguishable)m 1504(from)s 2028(normal)s 2760(end)s
2153 3164(of)s 3435(\207le)s 3796(if)s gsave
2154 4013 2695 translate
2155 0.6953 1.0000 scale
2156 240 fnt31 0 -52(disconnect\211hup)m
2157
2158 grestore
2159 5474(is)s 5684(in)s 5927(ef)s 6(fect.)k 0 2233(Read)m
2160 549(and)s 951(write)s 1495(errors)s 2100(\(other)s 2728(than)s
2161 3196(brok)s 2(en)k 3914(pipes,)s 4524(as)s 4772(described)s
2162 5744(abo)s 3(v)k 3(e\))k 6437(will)s 6861(al)s 2(w)k 2(ays)k
2163 7570(be)s 7850(visible)s 8541(to)s 8778(the)s 0 1993(caller;)m
2164 627(the)s 3(y)k 1075(are)s 1408(system)s 2117(errors,)s
2165 2766(and)s 3155(will)s 3566(therefore)s 4469(cause)s 5041(the)s
2166 5375(client)s 5950(to)s 6174(print)s 6671(an)s 6939(error)s
2167 7448(message)s 8299(to)s 8523(stderr)s 0 1752(and)m 404(return)s
2168 1031(with)s 1513(an)s 1796(e)s 3(xit)k 2211(status)s
2169 2806(of)s 3077(255.)s 0 1344(If)m 230(the)s 578(main)s
2170 1113(service)s 1845(program)s 2715(process)s 3483(e)s 3(xits)k
2171 3982(while)s 4569(it)s 4761(still)s 5173(has)s 5543(running)s
2172 6341(children)s 7181(an)s 3(y)k 7578(\207le)s 7939(descriptors)s
2173 0 1104(held)m 470(by)s 764(those)s 1325(children)s 2165(can)s
2174 2554(remain)s 3274(open,)s 3847(depending)s 4898(on)s 5195(the)s
2175 5543(use)s 5918(of)s gsave
2176 6189 1158 translate
2177 0.6953 1.0000 scale
2178 240 fnt31 0 -52(wait)m 
2179 grestore
2180 6589(,)s
2181 gsave
2182 6696 1158 translate
2183 0.6953 1.0000 scale
2184 240 fnt31 0 -52(nowait)m 
2185 grestore
2186 7356(or)s gsave
2187 7615 1158 translate
2188 0.6953 1.0000 scale
2189 240 fnt31 0 -52(close)m
2190
2191 grestore
2192 8175(for)s 8513(the)s 0 864(rele)m 6(v)k 6(ant)k
2193 817(\207le)s 1178(descriptor)s 2193(in)s 2436(the)s 2784(client')s 13(s)k
2194 3524(ar)s 4(guments.)k 4620(By)s 4954(def)s 2(ault)k
2195 5675(writing)s 6418(\207ledescriptors)s 7822(remain)s 8542(open)s 0 52(0.62)m
2196 4809(User)s 5320(service)s 6052(daemon)s 6867(and)s 7271(client)s
2197 7861(speci\207cation)s 
2198 grestore
2199
2200 grestore
2201
2202 pgsave restore
2203 showpage
2204
2205 %%Page: 9 9
2206 %%BeginPageSetup
2207 %%PageResources: font Times-Roman
2208 %%+ font Times-Bold
2209 %%+ font Courier-Bold
2210 %%+ font Times-Italic
2211 /pgsave save def
2212 0.0500 dup scale 10 setlinewidth
2213 %%EndPageSetup
2214 gsave
2215 0 0 translate
2216 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
2217 gsave
2218 LoutPageSet
2219 grestore
2220 gsave
2221 0 16840 translate
2222 0.0000 rotate
2223
2224 grestore
2225
2226 grestore
2227 gsave
2228 0 16840 translate
2229 0.0000 rotate
2230 gsave
2231 1417 -15423 translate
2232 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
2233 gsave
2234 1 LoutMargSet
2235 grestore
2236 240 fnt84 8952 13842(9)m 240 fnt82 0 13251(and)m 404(the)s
2237 752(client)s 1342(will)s 1768(w)s 2(ait)k 2237(for)s
2238 2575(them)s 3113(to)s 3352(be)s 3634(closed)s 4303(at)s
2239 4535(the)s 4883(service)s 5615(end,)s 6068(and)s 6472(reading)s
2240 7242(\207le)s 7603(descriptors)s 8702(are)s 0 13011(closed)m 669(immediately)s 15(.)k
2241 1952(These)s 2579(lefto)s 3(v)k 3(er)k 3375(child)s
2242 3911(processes)s 4878(will)s 5304(not)s 5670(get)s 6022(a)s
2243 6188(an)s 3(y)k gsave
2244 6585 13065 translate
2245 0.6953 1.0000 scale
2246 240 fnt31 0 -52(SIGHUP)m 
2247 grestore
2248 7245(e)s 6(v)k 3(en)k
2249 7745(if)s 7962(a)s 8128(read)s 8597(or)s 0 12771(write)m
2250 546(error)s 1069(occurs)s 1744(or)s 2003(the)s 2351(client)s
2251 2941(disconnects)s 4108(before)s 4774(then.)s 9066 609 0 609 240 240 60 0 11808 LoutGr2
2252 newpath 0 ysize 0.3 ft sub moveto
2253 xsize 0 rlineto
2254 0 0.1 ft rlineto
2255 xsize neg 0 rlineto
2256 closepath fill
2257 grestore
2258 320 fnt84 0 5(3.2.)m
2259 628(En)s 12(vir)k 5(onment)k 
2260 grestore
2261 0 11346(The)m 428(service)s
2262 1160(will)s 1586(ha)s 4(v)k 3(e)k 2087(some)s
2263 2648(information)s 3833(in)s 4076(en)s 9(vironment)k 5336(v)s 6(ariables:)k
2264 gsave
2265 120 11160 translate
2266 0.6953 1.0000 scale
2267 240 fnt31 0 -52(USERV_USER)m 
2268 grestore
2269 480 10866(The)m 908(login)s 1457(name)s
2270 2031(of)s 2302(the)s 2650(calling)s 3353(user)s 13(.)k
2271 3842(If)s 4072(the)s gsave
2272 4420 10920 translate
2273 0.6953 1.0000 scale
2274 240 fnt31 0 -52(LOGNAME)m 
2275 grestore
2276 5180(v)s 6(ariable)k
2277 5999(is)s 6209(set)s 6534(\(or)s 9(,)k 6910(if)s
2278 7127(that)s 7545(is)s 7755(unset,)s 8367(if)s 8584(the)s
2279 gsave
2280 480 10680 translate
2281 0.6953 1.0000 scale
2282 240 fnt31 0 -52(USER)m 
2283 grestore
2284 940 10626(v)m 6(ariable)k 1759(is)s
2285 1969(set\))s 2362(in)s 2605(the)s 2953(en)s 9(vironment)k
2286 4213(passed)s 4909(to)s 5148(the)s 5496(client)s 6086(by)s
2287 6380(the)s 6728(caller)s 7317(then)s 7786(the)s 8134(passw)s 2(ord)k
2288 480 10386(entry)m 1025(for)s 1363(that)s 1781(login)s 2330(name)s
2289 2904(will)s 3330(be)s 3612(look)s 2(ed)k 4320(up;)s
2290 4672(if)s 4889(that)s 5307(passw)s 2(ord)k 6267(entry')s 13(s)k
2291 6968(uid)s 7332(is)s 7542(the)s 7890(same)s 8437(as)s
2292 8687(that)s 480 10146(of)m 745(the)s 1086(calling)s 1782(process)s
2293 2543(then)s 3005(that)s 3416(login)s 3958(name)s 4525(will)s
2294 4945(be)s 5220(used,)s 5759(otherwise)s 6737(\(or)s 7068(if)s
2295 7278(neither)s gsave
2296 7994 10200 translate
2297 0.6953 1.0000 scale
2298 240 fnt31 0 -52(LOGNAME)m 
2299 grestore
2300 8747(nor)s gsave
2301 480 9960 translate
2302 0.6953 1.0000 scale
2303 240 fnt31
2304 0 -52(USER)m 
2305 grestore
2306 938 9906(is)m 1146(set\))s 1537(the)s 1883(calling)s
2307 2583(process')s 13(s)k 3508(uid)s 3870(will)s 4294(be)s
2308 4573(look)s 2(ed)k 5279(up)s 5570(to)s 5807(determine)s
2309 6815(their)s 7310(login)s 7857(name)s 8429(\(and)s 8909(if)s
2310 480 9666(this)m 876(lookup)s 1595(f)s 2(ails)k 2054(then)s
2311 2523(the)s 2871(service)s 3603(will)s 4029(not)s 4395(be)s
2312 4677(in)s 9(v)k 4(ok)k 2(ed\).)k gsave
2313 120 9480 translate
2314 0.6953 1.0000 scale
2315 240 fnt31
2316 0 -52(USERV_UID)m 
2317 grestore
2318 480 9186(The)m 908(uid)s 1272(of)s 1543(the)s
2319 1891(calling)s 2594(process.)s gsave
2320 120 9000 translate
2321 0.6953 1.0000 scale
2322 240 fnt31 0 -52(USERV_GID)m 
2323 grestore
2324 480 8706(The)m
2325 908(gid)s 1272(and)s 1676(supplementary)s 3138(group)s 3750(list)s
2326 4101(of)s 4372(the)s 4720(calling)s 5423(process:)s 6246(\207rst)s
2327 6677(the)s 7025(group)s 7637(in)s 7880(gid)s 8244(and)s
2328 8648(then)s 480 8466(those)m 1041(in)s 1284(the)s 1632(supplementary)s
2329 3094(group)s 3706(list,)s 4104(in)s 4347(decimal,)s 5210(separated)s
2330 6170(by)s 6464(spaces.)s gsave
2331 120 8280 translate
2332 0.6953 1.0000 scale
2333 240 fnt31 0 -52(USERV_GROUP)m 
2334 grestore
2335 480 7986(The)m
2336 908(group)s 1520(names)s 2182(of)s 2453(the)s 2801(calling)s
2337 3504(process,)s 4328(listed)s 4903(in)s 5146(the)s 5494(same)s
2338 6041(w)s 2(ay)k 6492(as)s 6742(the)s 7090(ids)s
2339 7420(are)s 7767(in)s gsave
2340 8010 8040 translate
2341 0.6953 1.0000 scale
2342 240 fnt31 0 -52(USERV_GID)m 
2343 grestore
2344 8911(.)s
2345 480 7746(If)m 710(no)s 1003(name)s 1577(can)s 1966(be)s
2346 2248(found)s 2865(for)s 3203(an)s 3(y)k 3600(of)s
2347 3871(the)s 4219(calling)s 4922(process')s 13(s)k 5849(group\(s\))s
2348 6708(then)s 7177(the)s 7525(service)s 8257(will)s 8683(not)s
2349 480 7506(be)m 762(in)s 9(v)k 4(ok)k 2(ed.)k
2350 gsave
2351 120 7320 translate
2352 0.6953 1.0000 scale
2353 240 fnt31 0 -52(USERV_CWD)m 
2354 grestore
2355 480 7026(The)m 908(client')s 13(s)k
2356 1648(current)s 2384(w)s 2(orking)k 3233(directory)s 4149(name)s
2357 4723(\(this)s 5198(directory)s 6114(may)s 6580(not)s 6946(be)s
2358 7228(accessible)s 8252(to)s 8491(the)s 480 6786(service\).)m 1339(If)s
2359 1568(it)s 1759(could)s 2348(not)s 2713(be)s 2994(determined)s
2360 4126(or)s 4384(the)s gsave
2361 4732 6840 translate
2362 0.6953 1.0000 scale
2363 240 fnt31 0 -52(\211\211hidecwd)m 
2364 grestore
2365 5692(\210ag)s
2366 6103(w)s 2(as)k 6523(used)s 7019(then)s 7487(this)s
2367 7882(v)s 6(ariable)k 8700(will)s 480 6546(be)m 762(set)s
2368 1087(to)s 1326(an)s 1609(empty)s 2261(string)s 2858(\(this)s
2369 3333(is)s 3543(not)s 3909(considered)s 5003(an)s 5286(error\).)s
2370 gsave
2371 120 6360 translate
2372 0.6953 1.0000 scale
2373 240 fnt31 0 -52(USERV_SERVICE)m 
2374 grestore
2375 480 6066(The)m 908(service)s 1640(name)s
2376 2214(requested)s 3188(by)s 3482(the)s 3830(caller)s 13(.)k
2377 gsave
2378 120 5880 translate
2379 0.6953 1.0000 scale
2380 240 fnt31 0 -52(USERV_U_)m gsave
2381 1152 0 translate
2382 1.4219 1.0000 scale
2383 240 fnt83 0 -52(name)m 
2384 grestore
2385
2386 grestore
2387 480 5586(The)m
2388 908(v)s 6(alue)k 1476(supplied)s 2345(to)s 2584(the)s
2389 2932(client)s 3522(by)s 3816(the)s 4164(caller)s 4753(using)s
2390 5325(-D)s 240 fnt83 5569 5588(name)m 240 fnt82 6081 5586(.)m
2391 gsave
2392 0 5377 translate
2393 0.6953 1.0000 scale
2394 240 fnt31 0 -52(HOME)m 
2395 grestore
2396 400 5323(,)m gsave
2397 507 5377 translate
2398 0.6953 1.0000 scale
2399 240 fnt31 0 -52(PATH)m
2400
2401 grestore
2402 907(,)s gsave
2403 1014 5377 translate
2404 0.6953 1.0000 scale
2405 240 fnt31 0 -52(SHELL)m 
2406 grestore
2407 1514(,)s gsave
2408 1621 5377 translate
2409 0.6953 1.0000 scale
2410 240 fnt31
2411 0 -52(LOGNAME)m 
2412 grestore
2413 2381(and)s gsave
2414 2785 5377 translate
2415 0.6953 1.0000 scale
2416 240 fnt31 0 -52(USER)m 
2417 grestore
2418 3245(will)s
2419 3671(be)s 3953(set)s 4278(appropriately)s 5606(\(according)s 6681(to)s
2420 6920(the)s 7268(details)s 7942(of)s 8213(the)s 0 5083(service)m
2421 732(user\).)s 0 52(User)m 511(service)s 1243(daemon)s 2058(and)s
2422 2462(client)s 3052(speci\207cation)s 8652(0.62)s 
2423 grestore
2424
2425 grestore
2426
2427 pgsave restore
2428 showpage
2429
2430 %%Page: 10 10
2431 %%BeginPageSetup
2432 %%PageResources: font Times-Roman
2433 %%+ font Times-Bold
2434 %%+ font Times-Italic
2435 %%+ font Courier-Bold
2436 /pgsave save def
2437 0.0500 dup scale 10 setlinewidth
2438 %%EndPageSetup
2439 gsave
2440 0 0 translate
2441 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
2442 gsave
2443 LoutPageSet
2444 grestore
2445 gsave
2446 0 16840 translate
2447 0.0000 rotate
2448
2449 grestore
2450
2451 grestore
2452 gsave
2453 0 16840 translate
2454 0.0000 rotate
2455 gsave
2456 1417 -15423 translate
2457 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
2458 gsave
2459 0 LoutMargSet
2460 grestore
2461 240 fnt84 0 13842(10)m gsave
2462 0 12725 translate
2463 240 fnt82 9066 689 0 689 240 240 60 LoutGraphic
2464 gsave
2465 newpath 0 ysize 0.3 ft sub moveto
2466 xsize 0 rlineto
2467 0 0.2 ft rlineto
2468 xsize neg 0 rlineto
2469 closepath fill
2470 grestore
2471 340 fnt84 0 70(4.)m 412(Ser)s 3(vice-side)k
2472 2219(con\207guration)s 
2473 grestore
2474 240 fnt82 0 12263(Which)m 695(ser)s 973(vices)s
2475 1515(may)s 1981(be)s 2263(run)s 2639(by)s 2933(whom)s
2476 3592(and)s 3996(un)s 4233(der)s 4598(what)s 5123(con)s
2477 5466(di)s 5646(tions)s 6162(is)s 6372(con)s 6715(trolled)s
2478 7396(by)s 7690(con)s 8033(\207g)s 8279(u)s 8394(ra)s
2479 8579(-)s 0 12023(tion)m 429(\207les.)s 0 11615(The)m 428(daemon)s
2480 1243(will)s 1669(read)s 2138(these)s 2685(\207les)s 3134(in)s
2481 3377(order)s 13(.)k 3972(Certain)s 4732(directi)s 6(v)k 3(es)k
2482 5702(in)s 5945(the)s 6293(\207les)s 6742(modify)s 7487(the)s
2483 7835(daemon')s 13(s)k 0 11375(e)m 3(x)k 3(ecution)k
2484 981(settings)s 1762(for)s 2100(in)s 9(v)k 4(oking)k
2485 2992(the)s 3340(service,)s 4123(for)s 4461(e)s 3(xample)k
2486 5324(allo)s 6(wing)k 6208(certain)s 6914(\207le)s 7275(descriptors)s
2487 8374(to)s 8613(be)s 0 11135(speci\207ed)m 908(by)s 1202(the)s
2488 1550(client)s 2140(or)s 2399(specifying)s 3448(which)s 4090(program)s
2489 4960(to)s 5199(e)s 3(x)k 3(ecute)k 5979(to)s
2490 6218(pro)s 3(vide)k 7002(the)s 7350(service.)s 0 10727(The)m
2491 240 fnt83 428 10729(last)m 240 fnt82 837 10727(instance)m 1676(of)s
2492 1947(each)s 2442(such)s 2938(setting)s 3628(will)s 4054(tak)s 2(e)k
2493 4506(ef)s 6(fect.)k 5146(The)s 5574(directi)s 6(v)k 3(es)k
2494 6544(which)s 7186(specify)s 7930(which)s 0 10487(program)m 864(to)s
2495 1096(e)s 3(x)k 3(ecute)k 1869(will)s 2288(not)s
2496 2647(stop)s 3092(the)s 3433(con\207guration)s 4759(\207le)s 5113(from)s
2497 5630(being)s 6208(read;)s 6724(the)s 3(y)k 7180(will)s
2498 7599(be)s 7874(remembered)s 0 10247(and)m 404(will)s 830(only)s
2499 1310(tak)s 2(e)k 1762(ef)s 6(fect)k 2358(if)s
2500 2575(the)s 3(y)k 3038(are)s 3385(not)s 3751(o)s 3(v)k 3(erridden)k
2501 4838(by)s 5132(a)s 5298(later)s 5781(directi)s 6(v)k 3(e.)k
2502 0 9839(The)m 428(daemon)s 1243(will)s 1669(\207rst)s 2100(read)s
2503 gsave
2504 2569 9893 translate
2505 0.6953 1.0000 scale
2506 240 fnt31 0 -52(/etc/userv/system.default)m 
2507 grestore
2508 5072(.)s 5176(Then,)s 5775(by)s
2509 6069(def)s 2(ault)k 6790(\(this)s 7265(beha)s 4(viour)k
2510 8278(may)s 0 9599(be)m 282(modi\207ed\),)s 1319(it)s 1511(will)s
2511 1937(read)s 2406(a)s 2572(per)s 4(-user)k 3410(\207le)s
2512 gsave
2513 3771 9653 translate
2514 0.6953 1.0000 scale
2515 240 fnt31 0 -52(~/.userv/rc)m 
2516 grestore
2517 4872(,)s 4979(if)s 5196(it)s
2518 5388(e)s 3(xists)k 5980(and)s 6384(the)s 6732(service)s
2519 7464(user')s 13(s)k 8072(shell)s 8578(is)s 8788(in)s
2520 gsave
2521 0 9413 translate
2522 0.6953 1.0000 scale
2523 240 fnt31 0 -52(/etc/shells)m 
2524 grestore
2525 1101 9359(.)m 1205(Finally)s 1936(it)s
2526 2128(will)s 2554(read)s gsave
2527 3023 9413 translate
2528 0.6953 1.0000 scale
2529 240 fnt31 0 -52(/etc/userv/system.override)m 
2530 grestore
2531 5626(.)s
2532 0 8951(When)m 627(it)s 816(has)s 1183(read)s 1650(all)s
2533 1940(of)s 2208(these)s 2753(\207les)s 3199(it)s 3388(will)s
2534 3812(act)s 4147(ac)s 4352(cord)s 4775(ing)s 5131(to)s
2535 5368(the)s 5713(cur)s 6018(rent)s 6389(ly)s 6626(v)s 6(al)k
2536 6907(ues)s 7275(of)s 7543(of)s 7811(the)s 8156(e)s 3(x)k
2537 8374(e)s 8476(cu)s 8697(tion)s 0 8711(set)m 265(tings.)s
2538 9066 670 0 670 240 240 60 0 7687 LoutGr2
2539 newpath 0 ysize 0.3 ft sub moveto
2540 xsize 0 rlineto
2541 0 0.1 ft rlineto
2542 xsize neg 0 rlineto
2543 closepath fill
2544 grestore
2545 320 fnt84 0 66(4.1.)m 628(Con\207guration)s 2618(\207le)s 3100(syntax)s
2546
2547 grestore
2548 0 7225(The)m 414(con\207guration)s 1733(\207le)s 2080(is)s 2276(a)s
2549 2428(series)s 3007(of)s 3264(directi)s 6(v)k 3(es,)k
2550 4276(usually)s 5007(one)s 5395(per)s 5746(line.)s 6193(The)s
2551 6607(portion)s 7341(of)s 7598(a)s 7750(line)s 8149(follo)s 6(wing)k
2552 0 6985(a)m 154(hash)s 638(character)s gsave
2553 1560 7039 translate
2554 0.6953 1.0000 scale
2555 240 fnt31 0 -52(#)m
2556
2557 grestore
2558 1708(is)s 1906(tak)s 2(en)k 2466(as)s 2704(a)s
2559 2858(comment)s 3796(and)s 4188(ignored.)s 5011(Each)s 5533(directi)s 6(v)k 3(e)k
2560 6403(consists)s 7199(of)s 7458(a)s 7612(series)s 8194(of)s
2561 8452(tok)s 2(ens)k 0 6745(separated)m 960(by)s 1254(linear)s
2562 1857(whitespace)s 2975(\(spaces)s 3729(and)s 4133(tabs\);)s 4709(tok)s 2(ens)k
2563 5383(may)s 5849(be)s 6131(w)s 2(ords)k 6765(consisting)s
2564 7788(of)s 8059(non-space)s 0 6505(characters,)m 1074(or)s 9(,)k
2565 1371(where)s 2011(a)s 2177(string)s 2774(is)s 2984(required,)s
2566 3887(a)s 4053(string)s 4650(in)s 4893(double)s 5601(quotes.)s
2567 6330(Double-quoted)s 7824(strings)s 8512(may)s 0 6265(contain)m 761(the)s
2568 1109(follo)s 6(wing)k 2086(backslash)s 3073(escapes:)s gsave
2569 120 6079 translate
2570 0.6953 1.0000 scale
2571 240 fnt31
2572 0 -52(\\n)m 
2573 grestore
2574 480 5785(ne)m 6(wline)k gsave
2575 120 5599 translate
2576 0.6953 1.0000 scale
2577 240 fnt31 0 -52(\\t)m
2578
2579 grestore
2580 480 5305(tab)m gsave
2581 120 5119 translate
2582 0.6953 1.0000 scale
2583 240 fnt31 0 -52(\\r)m 
2584 grestore
2585 480 4825(carriage)m 1304(return)s
2586 gsave
2587 120 4639 translate
2588 0.6953 1.0000 scale
2589 240 fnt31 0 -52(\\)m gsave
2590 144 0 translate
2591 1.4219 1.0000 scale
2592 240 fnt83 0 -52(OOO)m 
2593 grestore
2594
2595 grestore
2596 480 4345(character)m
2597 1414(whose)s 2082(octal)s 2601(code)s 3109(is)s 240 fnt83
2598 3319 4347(OOO)m gsave
2599 120 4159 translate
2600 0.6953 1.0000 scale
2601 240 fnt31 0 -52(\\x)m gsave
2602 288 0 translate
2603 1.4219 1.0000 scale
2604 240 fnt83 0 -52(XX)m
2605
2606 grestore
2607
2608 grestore
2609 240 fnt82 480 3865(character)m 1414(whose)s 2082(he)s 3(x)k
2610 2480(code)s 2988(is)s 240 fnt83 3198 3867(XX)m gsave
2611 120 3679 translate
2612 0.6953 1.0000 scale
2613 240 fnt31
2614 0 -52(\\)m gsave
2615 144 0 translate
2616 1.4219 1.0000 scale
2617 240 fnt83 0 -52(punctuation)m 
2618 grestore
2619
2620 grestore
2621 240 fnt82 480 3385(literal)m
2622 1090(punctuation)s 2277(character)s 3211(\(e)s 3(g)k gsave
2623 3566 3439 translate
2624 0.6953 1.0000 scale
2625 240 fnt31
2626 0 -52(\\\\)m 
2627 grestore
2628 3766(,)s gsave
2629 3873 3439 translate
2630 0.6953 1.0000 scale
2631 240 fnt31 0 -52(\\")m 
2632 grestore
2633 4073(\))s
2634 gsave
2635 120 3198 translate
2636 0.6953 1.0000 scale
2637 240 fnt31 0 -52(\\)m gsave
2638 144 0 translate
2639 1.4219 1.0000 scale
2640 240 fnt83 0 -52(ne)m 3(wline)k
2641
2642 grestore
2643
2644 grestore
2645 1005 3144(\(ie,)m 1363(backslash)s 2350(at)s 2582(end)s 2986(of)s
2646 3257(line\))s 480 2904(string)m 1077(continues)s 2045(on)s 2342(ne)s 3(xt)k
2647 2811(line)s 0 2342(Relati)m 6(v)k 3(e)k 843(pathnames)s
2648 1917(in)s 2160(directi)s 6(v)k 3(es)k 3130(are)s
2649 3477(relati)s 6(v)k 3(e)k 4239(to)s 4478(the)s
2650 4826(service)s 5558(program')s 13(s)k 6578(current)s 7314(directory)s
2651 8230(\(usually)s 0 2102(the)m 348(service)s 1080(user')s 13(s)k
2652 1687(home)s 2275(directory\).)s 3319(P)s 3(athnames)k 4403(starting)s
2653 5171(with)s 5653(the)s 6000(tw)s 2(o)k 6410(characters)s
2654 gsave
2655 7427 2156 translate
2656 0.6953 1.0000 scale
2657 240 fnt31 0 -52(~/)m 
2658 grestore
2659 7687(are)s 8033(tak)s 2(en)k
2660 8606(to)s 8844(be)s 0 1862(relati)m 6(v)k 3(e)k
2661 762(to)s 1001(the)s 1349(service)s 2081(user')s 13(s)k
2662 2689(home)s 3277(directory)s 15(.)k 9066 670 0 670 240 240 60 0 838 LoutGr2
2663 newpath 0 ysize 0.3 ft sub moveto
2664 xsize 0 rlineto
2665 0 0.1 ft rlineto
2666 xsize neg 0 rlineto
2667 closepath fill
2668 grestore
2669 320 fnt84 0 66(4.2.)m
2670 628(Con\207guration)s 2618(\207le)s 3100(dir)s 5(ecti)k 3(v)k 3(es)k
2671
2672 grestore
2673 0 52(0.62)m 4809(User)s 5320(service)s 6052(daemon)s 6867(and)s
2674 7271(client)s 7861(speci\207cation)s 
2675 grestore
2676
2677 grestore
2678
2679 pgsave restore
2680 showpage
2681
2682 %%Page: 11 11
2683 %%BeginPageSetup
2684 %%PageResources: font Times-Roman
2685 %%+ font Times-Bold
2686 %%+ font Courier-Bold
2687 %%+ font Times-Italic
2688 /pgsave save def
2689 0.0500 dup scale 10 setlinewidth
2690 %%EndPageSetup
2691 gsave
2692 0 0 translate
2693 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
2694 gsave
2695 LoutPageSet
2696 grestore
2697 gsave
2698 0 16840 translate
2699 0.0000 rotate
2700
2701 grestore
2702
2703 grestore
2704 gsave
2705 0 16840 translate
2706 0.0000 rotate
2707 gsave
2708 1417 -15423 translate
2709 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
2710 gsave
2711 1 LoutMargSet
2712 grestore
2713 240 fnt84 8839 13842(11)m 300 fnt84 0 13210(4.2.1.)m 813(Immediate)s
2714 2261(dir)s 5(ecti)k 3(v)k 3(es)k 240 fnt82
2715 0 12696(The)m 428(follo)s 6(wing)k 1405(directi)s 6(v)k 3(es)k
2716 2375(tak)s 2(e)k 2827(ef)s 6(fect)k 3423(immediately:)s
2717 gsave
2718 120 12342 translate
2719 0.6953 1.0000 scale
2720 240 fnt31 0 -52(cd)m gsave
2721 432 0 translate
2722 1.4219 1.0000 scale
2723 240 fnt83 0 -52(pathname)m 
2724 grestore
2725
2726 grestore
2727 480 12048(Change)m
2728 1268(directory)s 2184(in)s 2427(the)s 2775(service)s 3507(program.)s
2729 gsave
2730 4421 12102 translate
2731 0.6953 1.0000 scale
2732 240 fnt31 0 -52(cd)m 
2733 grestore
2734 4681(is)s 4891(cumulati)s 6(v)k 3(e.)k
2735 6048(It)s 6253(is)s 6463(an)s 6746(error)s 7269(if)s
2736 7486(the)s 7834(directory)s 480 11808(cannot)m 1178(be)s 1460(changed)s
2737 2316(to.)s gsave
2738 2666 11862 translate
2739 0.6953 1.0000 scale
2740 240 fnt31 0 -52(cd)m 
2741 grestore
2742 2926(should)s 3623(not)s
2743 3989(be)s 4271(used)s 4768(between)s gsave
2744 5622 11862 translate
2745 0.6953 1.0000 scale
2746 240 fnt31 0 -52(execute\211from\211directory)m
2747
2748 grestore
2749 7884(and)s 8288(the)s 480 11568(in)m 9(v)k 4(ocation)k
2750 1534(of)s 1805(the)s 2153(service)s 2885(program,)s 3802(as)s
2751 4052(the)s 4400(test)s 4791(for)s 5129(the)s 5477(a)s 4(v)k 6(ailability)k
2752 6595(of)s 6866(the)s 7214(service)s 7946(program)s 480 11328(w)m 2(ould)k
2753 1117(be)s 1380(done)s 1884(with)s 2347(the)s 2677(old)s
2754 3022(current)s 3740(directory)s 4637(and)s 5023(the)s 5352(actual)s
2755 5959(e)s 3(x)k 3(ecution)k 6921(with)s 7385(the)s
2756 7714(ne)s 6(w)k 8142(\(probably)s 480 11088(causing)m 1264(an)s
2757 1547(error\).)s gsave
2758 120 10748 translate
2759 0.6953 1.0000 scale
2760 240 fnt31 0 -52(eof)m 
2761 grestore
2762 480 10454(Stop)m 972(reading)s
2763 1742(the)s 2090(con\207guration)s 3423(\207le)s 3784(in)s 4027(question,)s
2764 4945(as)s 5195(if)s 5412(end)s 5816(of)s 6087(\207le)s
2765 6448(had)s 6852(been)s 7361(reached.)s 8208(An)s 3(y)k
2766 480 10214(control)m 1212(constructs)s 2232(\()s gsave
2767 2305 10268 translate
2768 0.6953 1.0000 scale
2769 240 fnt31 0 -52(if)m
2770
2771 grestore
2772 2505(,)s gsave
2773 2612 10268 translate
2774 0.6953 1.0000 scale
2775 240 fnt31 0 -52(catch\211quit)m 
2776 grestore
2777 3673(or)s gsave
2778 3932 10268 translate
2779 0.6953 1.0000 scale
2780 240 fnt31
2781 0 -52(errors\211push)m 
2782 grestore
2783 5033(\))s 5161(which)s 5803(were)s 6323(started)s
2784 7017(in)s 7260(that)s 7678(\207le)s 8039(will)s 8465(be)s
2785 480 9974(considered)m 1574(\207nished.)s 2436(P)s 3(arsing)k 3203(will)s
2786 3629(continue)s 4509(in)s 4752(the)s 5100(\207le)s 5461(which)s
2787 6103(caused)s 6812(the)s 7160(\207le)s 7521(containing)s 8584(the)s
2788 gsave
2789 480 9788 translate
2790 0.6953 1.0000 scale
2791 240 fnt31 0 -52(eof)m 
2792 grestore
2793 840 9734(to)m 1079(be)s 1361(read.)s
2794 gsave
2795 120 9444 translate
2796 0.6953 1.0000 scale
2797 240 fnt31 0 -52(quit)m 
2798 grestore
2799 480 9150(Stop)m 969(reading)s 1735(con\207guration)s
2800 3064(\207les)s 3510(and)s 3910(act)s 4244(immediately)s 5489(on)s
2801 5782(the)s 6126(current)s 6859(settings.)s 7689(The)s 8113(beha)s 4(viour)k
2802 480 8910(of)m gsave
2803 751 8964 translate
2804 0.6953 1.0000 scale
2805 240 fnt31 0 -52(quit)m 
2806 grestore
2807 1211(is)s 1421(subject)s
2808 2158(to)s 2397(the)s gsave
2809 2745 8964 translate
2810 0.6953 1.0000 scale
2811 240 fnt31 0 -52(catch\211quit)m 
2812 grestore
2813 3806(control)s
2814 4538(construct.)s gsave
2815 120 8570 translate
2816 0.6953 1.0000 scale
2817 240 fnt31 0 -52(include)m gsave
2818 1152 0 translate
2819 1.4219 1.0000 scale
2820 240 fnt83 0 -52(\207lename)m
2821
2822 grestore
2823
2824 grestore
2825 gsave
2826 120 8330 translate
2827 0.6953 1.0000 scale
2828 240 fnt31 0 -52(include\211ifexist)m gsave
2829 2304 0 translate
2830 1.4219 1.0000 scale
2831 240 fnt83 0 -52(\207lename)m 
2832 grestore
2833
2834 grestore
2835 480 8036(Read)m
2836 1026(the)s 1369(con\207guration)s 2698(\207le)s 240 fnt83 3054 8038(\207lename)m
2837 240 fnt82 3858 8036(,)m 3961(and)s 4360(then)s 4825(return)s
2838 5447(to)s 5682(this)s 6073(\207le)s 6430(and)s 6829(continue)s
2839 7705(parsing)s 8457(it)s 8644(with)s 480 7796(the)m 822(ne)s 3(xt)k
2840 1284(directi)s 6(v)k 3(e.)k 2207(It)s 2405(is)s
2841 2608(an)s 2884(error)s 3400(if)s 3610(the)s 3952(\207le)s
2842 4306(cannot)s 4997(be)s 5272(opened)s 6015(and)s 6412(read,)s
2843 6923(unless)s gsave
2844 7565 7850 translate
2845 0.6953 1.0000 scale
2846 240 fnt31 0 -52(include\211ifexist)m 
2847 grestore
2848 480 7556(is)m 690(used)s
2849 1187(and)s 1591(the)s 1939(\207le)s 2300(does)s 2790(not)s
2850 3156(e)s 3(xist,)k 3711(in)s 3954(which)s 4596(case)s
2851 5063(the)s 5411(directi)s 6(v)k 3(e)k 6293(is)s
2852 6503(silently)s 7260(ignored.)s gsave
2853 120 7216 translate
2854 0.6953 1.0000 scale
2855 240 fnt31 0 -52(include\211lookup)m gsave
2856 2160 0 translate
2857 1.4219 1.0000 scale
2858 240 fnt83
2859 0 -52(par)m 3(ameter)k 
2860 grestore
2861 gsave
2862 3724 0 translate
2863 1.4219 1.0000 scale
2864 240 fnt83 0 -52(dir)m 8(ectory)k
2865
2866 grestore
2867
2868 grestore
2869 gsave
2870 120 6976 translate
2871 0.6953 1.0000 scale
2872 240 fnt31 0 -52(include\211lookup\211all)m gsave
2873 2736 0 translate
2874 1.4219 1.0000 scale
2875 240 fnt83 0 -52(par)m 3(ameter)k
2876
2877 grestore
2878 gsave
2879 4300 0 translate
2880 1.4219 1.0000 scale
2881 240 fnt83 0 -52(dir)m 8(ectory)k 
2882 grestore
2883
2884 grestore
2885 480 6682(Read)m 1030(the)s
2886 1378(con\207guration)s 2711(\207le)s 3072(in)s 240 fnt83 3315 6684(dir)m 8(ectory)k
2887 240 fnt82 4239 6682(whose)m 4907(name)s 5481(is)s 5691(the)s
2888 6039(v)s 6(alue)k 6607(of)s 240 fnt83 6878 6684(par)m 3(ameter)k
2889 240 fnt82 7937 6682(\(see)m 8377(the)s 480 6442(description)m 1599(of)s
2890 gsave
2891 1870 6496 translate
2892 0.6953 1.0000 scale
2893 240 fnt31 0 -52(if)m 
2894 grestore
2895 2070(,)s 2177(`Control)s 3042(structure)s
2896 3933(directi)s 6(v)k 3(es',)k 5038(page)s 5546(12\).)s
2897 5969(If)s 240 fnt83 6199 6444(par)m 3(ameter)k 240 fnt82
2898 7258 6442(has)m 7628(se)s 6(v)k 3(eral)k 8350(v)s 6(alues)k
2899 480 6202(the)m 3(y)k 943(will)s 1369(be)s 1651(tried)s
2900 2146(in)s 2389(order;)s 3005(with)s gsave
2901 3487 6256 translate
2902 0.6953 1.0000 scale
2903 240 fnt31 0 -52(include\211lookup)m
2904
2905 grestore
2906 4948(this)s 5344(search)s 6011(will)s 6437(stop)s 6889(when)s
2907 7465(one)s 7867(is)s 8077(found,)s 8743(b)s 4(ut)k
2908 480 5962(with)m gsave
2909 962 6016 translate
2910 0.6953 1.0000 scale
2911 240 fnt31 0 -52(include\211lookup\211all)m 
2912 grestore
2913 2824(the)s 3172(search)s
2914 3839(will)s 4265(continue)s 5145(and)s 5549(an)s 3(y)k
2915 5946(\207les)s 6395(appropriate)s 7539(to)s 7778(other)s 8329(v)s 6(alues)k
2916 480 5722(will)m 906(be)s 1188(read)s 1657(too.)s 2127(If)s
2917 2357(none)s 2879(of)s 3150(the)s 3498(parameter')s 13(s)k
2918 4662(v)s 6(alues)k 5318(had)s 5722(a)s 5888(corresponding)s
2919 7310(\207le)s 7671(then)s 8140(the)s 8488(\207le)s gsave
2920 480 5536 translate
2921 0.6953 1.0000 scale
2922 240 fnt31
2923 0 -52(:default)m 
2924 grestore
2925 1340 5482(will)m 1765(be)s 2045(read,)s 2562(if)s
2926 2778(it)s 2968(e)s 3(xists.)k 3612(If)s 240 fnt83
2927 3841 5484(par)m 3(ameter)k 240 fnt82 4840 5482(')m 13(s)k
2928 5048(list)s 5398(of)s 5668(v)s 6(alues)k 6322(w)s 2(as)k
2929 6742(empty)s 7393(then)s 7860(the)s 8207(\207le)s gsave
2930 8566 5536 translate
2931 0.6953 1.0000 scale
2932 240 fnt31
2933 0 -52(:none)m 
2934 grestore
2935 480 5242(will)m 906(be)s 1188(tried)s 1683(\207rst)s
2936 2114(and)s 2518(read)s 2987(if)s 3204(it)s 3396(e)s 3(xists,)k
2937 4044(otherwise)s gsave
2938 5029 5296 translate
2939 0.6953 1.0000 scale
2940 240 fnt31 0 -52(:default)m 
2941 grestore
2942 5890(will)s 6316(be)s
2943 6598(tried.)s 7199(It)s 7404(is)s 7614(not)s 7980(an)s
2944 8263(error)s 8786(for)s 480 5002(an)m 3(y)k 877(of)s
2945 1148(the)s 1496(\207les)s 1945(\(including)s gsave
2946 2981 5056 translate
2947 0.6953 1.0000 scale
2948 240 fnt31 0 -52(:default)m
2949
2950 grestore
2951 3782(\))s 3910(not)s 4276(to)s 4515(e)s 3(xist,)k
2952 5070(b)s 4(ut)k 5432(it)s 5624(is)s 5834(an)s
2953 6117(error)s 6640(if)s 6857(a)s 7023(\207le)s 7384(e)s 3(xists)k
2954 7976(and)s 8380(cannot)s 480 4762(be)m 753(read)s 1213(or)s
2955 1462(if)s 1670(the)s 2008(directory)s 2915(cannot)s 3603(be)s
2956 3876(accessed.)s 4867(A)s 5087(translation)s 6143(will)s 6559(be)s
2957 6832(applied)s 7584(to)s 7814(v)s 6(alues)k 8460(before)s
2958 480 4522(the)m 3(y)k 943(are)s 1290(used)s 1787(to)s
2959 2026(construct)s 2962(a)s 3128(\207lename,)s 4058(so)s 4324(that)s
2960 4742(the)s 5090(lookup)s 5809(cannot)s 6507(access)s 7168(dot\207les)s
2961 7923(or)s 8182(\207les)s 8631(in)s 480 4282(other)m 1031(directories:)s
2962 2144(v)s 6(alues)k 2800(starting)s 3569(with)s 4051(full)s
2963 4437(stops)s 4980(will)s 5406(ha)s 4(v)k 3(e)k
2964 5907(a)s 6073(colon)s 6662(prepended)s 7717(\(making)s gsave
2965 8567 4336 translate
2966 0.6953 1.0000 scale
2967 240 fnt31
2968 0 -52(:.)m 
2969 grestore
2970 8767(\),)s 480 4042(colons)m 1156(will)s 1582(be)s
2971 1864(doubled,)s 2743(and)s 3147(each)s 3642(slash)s 4177(will)s
2972 4603(be)s 4885(replaced)s 5752(with)s 6234(a)s 6400(colon)s
2973 6989(follo)s 6(wed)k 7891(by)s 8185(a)s 8351(h)s 1(yphen)k
2974 gsave
2975 480 3856 translate
2976 0.6953 1.0000 scale
2977 240 fnt31 0 -52(:\211)m 
2978 grestore
2979 680 3802(.)m 784(A)s 1014(parameter)s
2980 2028(v)s 6(alue)k 2596(which)s 3238(is)s 3448(the)s
2981 3796(empty)s 4448(string)s 5045(will)s 5471(be)s 5753(replaced)s
2982 6620(with)s gsave
2983 7102 3856 translate
2984 0.6953 1.0000 scale
2985 240 fnt31 0 -52(:empty)m 
2986 grestore
2987 7762(\(note)s 8309(that)s
2988 8727(this)s 480 3562(is)m 690(dif)s 6(ferent)k 1565(from)s
2989 2089(a)s 2255(parameter)s 3269(not)s 3635(ha)s 4(ving)k
2990 4336(an)s 3(y)k 4733(v)s 6(alues\).)k gsave
2991 120 3222 translate
2992 0.6953 1.0000 scale
2993 240 fnt31
2994 0 -52(include\211directory)m gsave
2995 2592 0 translate
2996 1.4219 1.0000 scale
2997 240 fnt83 0 -52(dir)m 8(ectory)k 
2998 grestore
2999
3000 grestore
3001 480 2928(Read)m
3002 1030(con\207guration)s 2363(from)s 2887(all)s 3180(\207les)s 3629(in)s
3003 3872(directory)s 240 fnt83 4788 2930(dir)m 8(ectory)k 240 fnt82
3004 5712 2928(which)m 6354(are)s 6701(plain)s 7236(\207les)s 7685(whose)s
3005 8353(names)s 480 2688(consist)m 1204(only)s 1684(of)s 1955(alphanumerics)s
3006 3400(and)s 3804(h)s 1(yphens)k 4653(and)s 5057(start)s
3007 5527(with)s 6009(an)s 6292(alphanumeric.)s 7697(The)s 3(y)k
3008 8240(will)s 8666(be)s 480 2448(read)m 949(in)s 1192(le)s 3(xical)k
3009 1880(order)s 13(.)k 2475(It)s 2680(is)s 2890(an)s
3010 3173(error)s 3696(for)s 4034(the)s 4382(directory)s 5298(not)s
3011 5664(to)s 5903(e)s 3(xist)k 6411(or)s 6670(for)s
3012 7008(it)s 7200(or)s 7459(an)s 3(y)k 7856(of)s
3013 8127(the)s 8475(\207les)s 480 2208(found)m 1089(not)s 1447(to)s
3014 1677(be)s 1951(read)s 2411(successfully)s 15(,)k 3663(or)s
3015 3914(for)s 4243(an)s 3(ything)k 5123(with)s 5596(an)s
3016 5871(appropriate)s 7007(name)s 7572(not)s 7930(to)s 8160(be)s
3017 8434(a)s 8591(plain)s 480 1968(\207le)m 841(or)s 1100(a)s
3018 1266(symbolic)s 2196(link)s 2629(to)s 2868(a)s 3034(plain)s
3019 3569(\207le.)s gsave
3020 120 1628 translate
3021 0.6953 1.0000 scale
3022 240 fnt31 0 -52(error)m gsave
3023 864 0 translate
3024 1.4219 1.0000 scale
3025 240 fnt83 0 -52(te)m 4(xt)k
3026 404(\202)s 
3027 grestore
3028
3029 grestore
3030 480 1334(Causes)m 1209(an)s 1492(error)s 2015(whose)s
3031 2683(message)s 3549(includes)s 4397(the)s 4745(descripti)s 6(v)k 3(e)k
3032 5840(string)s 240 fnt83 6437 1336(te)m 4(xt)k 240 fnt82
3033 6781 1334(.)m 240 fnt83 6885 1336(te)m 4(xt)k 240 fnt82
3034 7289 1334(may)m 7755(consist)s 8479(of)s 480 1094(se)m 6(v)k 3(eral)k
3035 1192(tok)s 2(ens)k 1855(with)s 2326(interv)s 3(ening)k
3036 3454(whitespace.)s 4609(The)s 5026(whitespace)s 6134(will)s 6549(be)s
3037 6820(included)s 7691(in)s 7923(the)s 8260(message)s 480 854(as)m
3038 726(found)s 1338(in)s 1576(the)s 1919(con\207guration)s 3247(\207le:)s
3039 3653(all)s 3941(the)s 4284(characters)s 5298(until)s 5786(the)s
3040 6129(end)s 6528(of)s 6794(the)s 7137(line)s 7546(will)s
3041 7967(be)s 8244(included)s 0 52(User)m 511(service)s 1243(daemon)s
3042 2058(and)s 2462(client)s 3052(speci\207cation)s 8652(0.62)s 
3043 grestore
3044
3045 grestore
3046
3047 pgsave restore
3048 showpage
3049
3050 %%Page: 12 12
3051 %%BeginPageSetup
3052 %%PageResources: font Times-Roman
3053 %%+ font Times-Bold
3054 %%+ font Courier-Bold
3055 %%+ font Times-Italic
3056 /pgsave save def
3057 0.0500 dup scale 10 setlinewidth
3058 %%EndPageSetup
3059 gsave
3060 0 0 translate
3061 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
3062 gsave
3063 LoutPageSet
3064 grestore
3065 gsave
3066 0 16840 translate
3067 0.0000 rotate
3068
3069 grestore
3070
3071 grestore
3072 gsave
3073 0 16840 translate
3074 0.0000 rotate
3075 gsave
3076 1417 -15423 translate
3077 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
3078 gsave
3079 0 LoutMargSet
3080 grestore
3081 240 fnt84 0 13842(12)m 240 fnt82 480 13254(v)m 3(erbatim,)k
3082 1433(unless)s 2082(the)s 3(y)k 2545(are)s 2892(part)s
3083 3323(of)s 3594(a)s 3760(double-quoted)s 5201(string,)s 5852(in)s
3084 6095(which)s 6737(case)s 7204(the)s 7552(usual)s 8112(meaning)s
3085 480 13014(of)m 751(the)s 1099(string)s 1696(\(i.e.,)s 2174(after)s
3086 2670(backslash)s 3657(escape)s 4350(processing\))s 5501(will)s 5927(be)s
3087 6209(used.)s 6752(Comments)s 7840(and)s 8244(linear)s 480 12774(whitespace)m
3088 1598(at)s 1830(the)s 2178(end)s 2582(of)s 2853(the)s
3089 3201(line)s 3615(\(or)s 3953(just)s 4358(before)s 5024(the)s
3090 5372(comment\))s 6390(will)s 6816(still)s 7228(be)s 7510(ignored.)s
3091 gsave
3092 120 12434 translate
3093 0.6953 1.0000 scale
3094 240 fnt31 0 -52(message)m gsave
3095 1152 0 translate
3096 1.4219 1.0000 scale
3097 240 fnt83 0 -52(te)m 4(xt)k
3098 404(\202)s 
3099 grestore
3100
3101 grestore
3102 480 12140(Causes)m 1209(a)s 1375(message)s 2241(including)s
3103 3198(the)s 3546(descripti)s 6(v)k 3(e)k 4641(string)s
3104 240 fnt83 5238 12142(te)m 4(xt)k 240 fnt82 5642 12140(to)m
3105 5881(be)s 6163(deli)s 6(v)k 3(ered)k 7101(as)s
3106 7351(if)s 7568(it)s 7760(were)s 8280(an)s 8563(error)s
3107 480 11900(message,)m 1397(b)s 4(ut)k 1759(does)s 2249(not)s
3108 2615(actually)s 3425(cause)s 4012(an)s 4295(error)s 13(.)k
3109 300 fnt84 0 11233(4.2.2.)m 813(Dir)s 5(ecti)k 3(v)k 3(es)k
3110 2148(with)s 2781(delay)s 3(ed)k 3828(effect)s 240 fnt82
3111 0 10662(The)m 428(follo)s 6(wing)k 1405(directi)s 6(v)k 3(es)k
3112 2375(ha)s 4(v)k 3(e)k 2876(no)s 3169(immediate)s
3113 4233(ef)s 6(fect,)k 4876(b)s 4(ut)k 5238(are)s
3114 5585(remembered)s 6837(and)s 7241(ha)s 4(v)k 3(e)k
3115 7742(an)s 8025(ef)s 6(fect)k 8621(on)s 0 10422(later)m
3116 483(processing)s 1559(of)s 1830(the)s 2178(con\207guration)s 3511(\207les.)s
3117 gsave
3118 120 10068 translate
3119 0.6953 1.0000 scale
3120 240 fnt31 0 -52(user\211rcfile)m gsave
3121 1728 0 translate
3122 1.4219 1.0000 scale
3123 240 fnt83 0 -52(\207lename)m 
3124 grestore
3125
3126 grestore
3127 480 9774(Speci\207es)m
3128 1380(that)s 1784(the)s 2118(\207le)s 240 fnt83 2465 9776(\207lename)m
3129 240 fnt82 3315 9774(should)m 3998(be)s 4266(read)s 4721(instead)s
3130 5442(of)s 5699(the)s 6033(user')s 13(s)k gsave
3131 6627 9828 translate
3132 0.6953 1.0000 scale
3133 240 fnt31
3134 0 -52(~/.userv/rc)m 
3135 grestore
3136 7728(.)s 7818(This)s 8280(does)s 240 fnt83
3137 8756 9776(not)m 240 fnt82 480 9534(happen)m 1229(immediately;)s 2535(instead,)s
3138 3319(the)s 3667(setting)s 4357(is)s 4567(remembered)s 5819(and)s
3139 6223(used)s 6720(after)s 7216(the)s gsave
3140 7564 9588 translate
3141 0.6953 1.0000 scale
3142 240 fnt31 0 -52(system.default)m
3143
3144 grestore
3145 480 9294(con\207guration)m 1812(\207le)s 2171(has)s 2539(been)s 3046(read.)s
3146 3559(This)s 4033(directi)s 6(v)k 3(e)k 4913(has)s
3147 5281(no)s 5572(ef)s 6(fect)k 6166(in)s 6407(a)s
3148 6571(user')s 13(s)k 7177(con\207guration)s 8508(\207le)s 8867(or)s
3149 480 9054(in)m 723(the)s gsave
3150 1071 9108 translate
3151 0.6953 1.0000 scale
3152 240 fnt31 0 -52(system.override)m 
3153 grestore
3154 2632(\207le,)s
3155 3044(as)s 3294(the)s 3642(user')s 13(s)k 4250(con\207guration)s
3156 5583(\207le)s 5944(has)s 6314(already)s 7071(been)s 7580(found)s
3157 8197(and)s 8601(read)s 480 8814(by)m 774(then)s 1243(and)s
3158 1647(will)s 2073(not)s 2439(be)s 2721(re-read.)s gsave
3159 120 8474 translate
3160 0.6953 1.0000 scale
3161 240 fnt31
3162 0 -52(errors\211to\211stderr)m 
3163 grestore
3164 480 8180(Causes)m 1209(error)s 1732(messages)s 2686(to)s
3165 2925(be)s 3207(deli)s 6(v)k 3(ered)k 4145(to)s
3166 4384(the)s 4732(client')s 13(s)k 5472(stderr)s 13(.)k
3167 gsave
3168 120 7840 translate
3169 0.6953 1.0000 scale
3170 240 fnt31 0 -52(errors\211to\211file)m 
3171 grestore
3172 240 fnt83 1581 7788(\207lename)m 240 fnt82
3173 480 7546(Error)m 1039(messages)s 1989(will)s 2410(be)s 2688(written)s
3174 3416(to)s 240 fnt83 3651 7548(\207lename)m 240 fnt82 4455 7546(,)m
3175 4557(which)s 5195(will)s 5617(be)s 5894(opened)s 6640(in)s
3176 6878(the)s 7222(conte)s 3(xt)k 7978(of)s 8245(and)s
3177 8644(with)s 480 7306(the)m 828(pri)s 6(vile)k 3(ges)k
3178 1812(of)s 2083(the)s 2431(service)s 3163(user)s 13(.)k
3179 gsave
3180 120 6966 translate
3181 0.6953 1.0000 scale
3182 240 fnt31 0 -52(errors\211to\211syslog)m 
3183 grestore
3184 1782 6912([)m 240 fnt83 1853 6914(facility)m
3185 240 fnt82 2571 6912([)m 240 fnt83 2642 6914(le)m 3(vel)k
3186 240 fnt82 3089 6912(]])m 480 6672(Error)m 1043(messages)s 1997(will)s
3187 2423(be)s 2705(deli)s 6(v)k 3(ered)k 3643(using)s
3188 gsave
3189 4215 6726 translate
3190 0.6953 1.0000 scale
3191 240 fnt31 0 -52(syslog)m 
3192 grestore
3193 4815(.)s 4919(The)s 5347(def)s 2(ault)k
3194 240 fnt83 6068 6674(facility)m 240 fnt82 6786 6672(is)m gsave
3195 6996 6726 translate
3196 0.6953 1.0000 scale
3197 240 fnt31
3198 0 -52(user)m 
3199 grestore
3200 7396(;)s 7508(the)s 7856(def)s 2(ault)k
3201 240 fnt83 8577 6674(le)m 3(vel)k 240 fnt82 480 6432(is)m
3202 gsave
3203 690 6486 translate
3204 0.6953 1.0000 scale
3205 240 fnt31 0 -52(error)m 
3206 grestore
3207 1190(.)s 300 fnt84 0 5815(4.2.3.)m
3208 813(Contr)s 5(ol)k 1874(structur)s 5(e)k 3117(dir)s 5(ecti)k 3(v)k 3(es)k
3209 240 fnt82 0 5300(The)m 421(follo)s 6(wing)k 1390(directi)s 6(v)k 3(es)k
3210 2353(are)s 2692(used)s 3182(to)s 3413(create)s 4031(control)s
3211 4755(structures.)s 5780(If)s 6002(the)s 6343(end)s 6739(of)s
3212 7003(the)s 7343(\207le)s 7697(is)s 7899(encountered)s 0 5060(before)m
3213 666(the)s 1014(end)s 1418(of)s 1689(an)s 3(y)k
3214 2086(control)s 2818(structure)s 3709(which)s 4351(w)s 2(as)k
3215 4772(started)s 5466(inside)s 6093(it)s 6285(then)s 6754(that)s
3216 7172(control)s 7904(structure)s 8795(is)s 0 4820(considered)m 1094(\207nished.)s
3217 1956(This)s 2432(is)s 2642(not)s 3008(an)s 3291(error)s 13(.)k
3218 gsave
3219 120 4466 translate
3220 0.6953 1.0000 scale
3221 240 fnt31 0 -52(if)m gsave
3222 432 0 translate
3223 1.4219 1.0000 scale
3224 240 fnt83 0 -52(condition)m 
3225 grestore
3226
3227 grestore
3228 gsave
3229 120 4226 translate
3230 0.6953 1.0000 scale
3231 240 fnt31
3232 0 -52(elif)m gsave
3233 720 0 translate
3234 1.4219 1.0000 scale
3235 240 fnt83 0 -52(condition)m 
3236 grestore
3237
3238 grestore
3239 gsave
3240 120 3986 translate
3241 0.6953 1.0000 scale
3242 240 fnt31 0 -52(else)m
3243
3244 grestore
3245 gsave
3246 120 3746 translate
3247 0.6953 1.0000 scale
3248 240 fnt31 0 -52(fi)m 
3249 grestore
3250 480 3452(Lines)m 1062(follo)s 6(wing)k
3251 gsave
3252 2039 3506 translate
3253 0.6953 1.0000 scale
3254 240 fnt31 0 -52(if)m 
3255 grestore
3256 2299(are)s 2646(interpreted)s 3738(only)s
3257 4218(if)s 4435(the)s 4783(condition)s 5744(is)s 5954(true.)s
3258 6429(Man)s 3(y)k 7039(conditions)s 8087(are)s 480 3212(properties)m
3259 1486(of)s 1757(parameter)s 2771(v)s 6(alues.)k 3480(Most)s
3260 4032(parameters)s 5130(ha)s 4(v)k 3(e)k 5631(a)s
3261 5797(single)s 6424(string)s 7021(as)s 7271(a)s 7437(v)s 6(alue;)k
3262 8061(ho)s 6(we)k 6(v)k 3(er)k 9(,)k
3263 480 2972(some)m 1035(may)s 1495(yield)s 2025(zero)s 2483(or)s
3264 2735(se)s 6(v)k 3(eral)k 3451(strings,)s 4189(in)s
3265 4426(which)s 5062(case)s 5522(the)s 5864(condition)s 6819(is)s
3266 7023(true)s 7444(if)s 7654(it)s 7840(is)s 8044(true)s
3267 8465(of)s 8729(an)s 3(y)k 480 2732(of)m 751(the)s
3268 1099(strings)s 1787(indi)s 6(vidually)k 15(.)k 3026(P)s 3(arameters)k
3269 4134(are)s 4481(described)s 5455(belo)s 6(w)k 15(.)k
3270 6183(The)s 6611(conditions)s 7659(are:)s gsave
3271 600 2545 translate
3272 0.6953 1.0000 scale
3273 240 fnt31 0 -52(glob)m
3274 gsave
3275 720 0 translate
3276 1.4219 1.0000 scale
3277 240 fnt83 0 -52(par)m 3(ameter)k 
3278 grestore
3279 gsave
3280 2284 0 translate
3281 1.4219 1.0000 scale
3282 240 fnt83 0 -52(glob\211pattern)m
3283
3284 grestore
3285 4178(\202)s 
3286 grestore
3287 960 2251(The)m 1388(v)s 6(alue)k 1956(of)s
3288 2227(the)s 2575(parameter)s 3589(whose)s 4257(name)s 4831(is)s
3289 5041(gi)s 6(v)k 3(en)k 5621(matches)s 6455(one)s
3290 6857(of)s 7128(the)s 7476(glob)s 7955(patterns)s 960 2011(\(anchored)m
3291 1974(at)s 2206(both)s 2689(ends;)s 3240(backslashes)s 4420(can)s
3292 4809(be)s 5091(used)s 5588(to)s 5827(escape)s 6520(metacharacters\).)s
3293 gsave
3294 600 1825 translate
3295 0.6953 1.0000 scale
3296 240 fnt31 0 -52(range)m gsave
3297 864 0 translate
3298 1.4219 1.0000 scale
3299 240 fnt83 0 -52(par)m 3(ameter)k
3300
3301 grestore
3302 gsave
3303 2428 0 translate
3304 1.4219 1.0000 scale
3305 240 fnt83 0 -52(min)m 
3306 grestore
3307 gsave
3308 3073 0 translate
3309 1.4219 1.0000 scale
3310 240 fnt83 0 -52(max)m 
3311 grestore
3312
3313 grestore
3314 960 1531(The)m
3315 1380(v)s 6(alue)k 1940(of)s 2203(the)s 2543(parameter)s
3316 3548(is)s 3750(a)s 3908(nonne)s 3(g)k 1(ati)k 6(v)k 3(e)k
3317 5113(inte)s 3(ger)k 5825(and)s 6220(lies)s 6594(within)s
3318 7254(the)s 7594(range)s 8172(speci\207ed.)s 240 fnt83 960 1293(min)m
3319 240 fnt82 1373 1291(or)m 240 fnt83 1632 1293(max)m 240 fnt82
3320 2091 1291(may)m 2557(be)s gsave
3321 2839 1345 translate
3322 0.6953 1.0000 scale
3323 240 fnt31 0 -52($)m 
3324 grestore
3325 2999(to)s
3326 3238(indicate)s 4050(no)s 4343(lo)s 6(wer)k 4941(or)s
3327 5200(upper)s 5805(limit,)s 6362(respecti)s 6(v)k 3(ely)k 15(.)k
3328 gsave
3329 600 1104 translate
3330 0.6953 1.0000 scale
3331 240 fnt31 0 -52(grep)m gsave
3332 720 0 translate
3333 1.4219 1.0000 scale
3334 240 fnt83 0 -52(par)m 3(ameter)k
3335
3336 grestore
3337 gsave
3338 2284 0 translate
3339 1.4219 1.0000 scale
3340 240 fnt83 0 -52(\207lename)m 
3341 grestore
3342
3343 grestore
3344 960 810(The)m 240 fnt83 1388 812(\207lename)m
3345 240 fnt82 2252 810(refers)m 2845(to)s 3084(a)s 3250(\207le)s
3346 3611(one)s 4013(of)s 4284(whose)s 4952(lines)s 5454(is)s
3347 5664(the)s 6012(v)s 6(alue)k 6580(of)s 6851(the)s
3348 7199(parameter)s 8213(\(leading)s 0 52(0.62)m 4809(User)s 5320(service)s
3349 6052(daemon)s 6867(and)s 7271(client)s 7861(speci\207cation)s 
3350 grestore
3351
3352 grestore
3353
3354 pgsave restore
3355 showpage
3356
3357 %%Page: 13 13
3358 %%BeginPageSetup
3359 %%PageResources: font Times-Roman
3360 %%+ font Times-Bold
3361 %%+ font Courier-Bold
3362 %%+ font Times-Italic
3363 /pgsave save def
3364 0.0500 dup scale 10 setlinewidth
3365 %%EndPageSetup
3366 gsave
3367 0 0 translate
3368 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
3369 gsave
3370 LoutPageSet
3371 grestore
3372 gsave
3373 0 16840 translate
3374 0.0000 rotate
3375
3376 grestore
3377
3378 grestore
3379 gsave
3380 0 16840 translate
3381 0.0000 rotate
3382 gsave
3383 1417 -15423 translate
3384 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
3385 gsave
3386 1 LoutMargSet
3387 grestore
3388 240 fnt84 8833 13842(13)m 240 fnt82 960 13251(or)m 1211(trailing)s
3389 1944(whitespace)s 3053(on)s 3341(each)s 3827(line)s 4232(and)s
3390 4627(empty)s 5270(lines)s 5764(in)s 5998(the)s 6337(\207le)s
3391 6689(are)s 7027(ignored\).)s 7932(It)s 8128(is)s 8329(an)s
3392 8603(error)s 960 13011(for)m 1298(the)s 1646(\207le)s 2007(not)s
3393 2373(to)s 2612(be)s 2894(opened)s 3644(and)s 4048(read.)s
3394 gsave
3395 600 12824 translate
3396 0.6953 1.0000 scale
3397 240 fnt31 0 -52(!)m gsave
3398 288 0 translate
3399 1.4219 1.0000 scale
3400 240 fnt83 0 -52(condition)m 
3401 grestore
3402
3403 grestore
3404 960 12530(The)m
3405 240 fnt83 1388 12532(condition)m 240 fnt82 2346 12530(is)m 240 fnt83
3406 2556 12532(not)m 240 fnt82 2926 12530(true.)m 600 12290(Conjunctions:)m gsave
3407 1983 12344 translate
3408 0.6953 1.0000 scale
3409 240 fnt31
3410 0 -52(&)m 
3411 grestore
3412 2143(and)s gsave
3413 2547 12344 translate
3414 0.6953 1.0000 scale
3415 240 fnt31 0 -52(|)m 
3416 grestore
3417 gsave
3418 1440 11864 translate
3419 0.6953 1.0000 scale
3420 240 fnt31
3421 0 -52(\()m gsave
3422 288 0 translate
3423 1.4219 1.0000 scale
3424 240 fnt83 0 -52(condition)m 
3425 grestore
3426 0 -292(&)m gsave
3427 288 -240 translate
3428 1.4219 1.0000 scale
3429 240 fnt83
3430 0 -52(condition)m 
3431 grestore
3432 0 -532(&)m gsave
3433 288 -480 translate
3434 1.4219 1.0000 scale
3435 240 fnt83 0 -52(condition)m 
3436 grestore
3437 0 -772(\202)m
3438 0 -1012(\))m 
3439 grestore
3440 960 10598(is)m 1170(true)s 1597(if)s 1814(all)s
3441 2107(the)s 2455(listed)s 3030(conditions)s 4078(are)s 4425(true;)s
3442 4908(where)s gsave
3443 5548 10652 translate
3444 0.6953 1.0000 scale
3445 240 fnt31 0 -52(|)m 
3446 grestore
3447 5708(is)s 5918(used)s
3448 6415(it)s 6607(is)s 6817(true)s 7244(if)s 7461(an)s 3(y)k
3449 7858(of)s 8129(them)s 8667(is)s 960 10353(true.)m 1428(Ne)s 6(wlines)k
3450 2368(must)s 2885(be)s 3159(used)s 3648(to)s 3879(separate)s
3451 4709(one)s 5104(condition)s 6057(from)s 6573(the)s 6913(ne)s 3(xt,)k
3452 7421(as)s 7663(sho)s 6(wn,)k 8382(and)s 8778(the)s
3453 960 10113(parentheses)m 2126(are)s 2473(mandatory)s 15(.)k 3585(These)s
3454 4212(conjunctions)s 5486(do)s 5779(not)s 6145(do)s 6438(lazy)s
3455 6890(e)s 6(v)k 6(aluation.)k 480 9850(The)m 908(parameters)s
3456 2006(are:)s gsave
3457 600 9664 translate
3458 0.6953 1.0000 scale
3459 240 fnt31 0 -52(service)m 
3460 grestore
3461 960 9370(The)m 1388(service)s
3462 2120(name)s 2694(speci\207ed)s 3602(when)s 4178(the)s 4526(client)s
3463 5116(w)s 2(as)k 5537(called.)s gsave
3464 600 9184 translate
3465 0.6953 1.0000 scale
3466 240 fnt31 0 -52(calling\211user)m
3467
3468 grestore
3469 960 8890(T)m 19(w)k 2(o)k 1431(strings:)s 2174(the)s
3470 2522(login)s 3071(name)s 3645(of)s 3916(the)s 4264(calling)s
3471 4967(user)s 5425(\(determined)s 6637(as)s 6887(for)s gsave
3472 7225 8944 translate
3473 0.6953 1.0000 scale
3474 240 fnt31
3475 0 -52(USERV_USER)m 
3476 grestore
3477 8226(,)s 8333(abo)s 3(v)k 3(e\))k
3478 960 8650(and)m 1364(the)s 1712(calling)s 2415(uid)s 2779(\(represented)s
3479 4017(in)s 4260(decimal\).)s gsave
3480 600 8464 translate
3481 0.6953 1.0000 scale
3482 240 fnt31 0 -52(calling\211group)m 
3483 grestore
3484 960 8170(Se)m 6(v)k 3(eral)k
3485 1722(strings:)s 2465(the)s 2813(primary)s 3623(and)s 4027(supplementary)s
3486 5489(group)s 6101(names)s 6763(and)s 7167(gids)s 7617(\(in)s
3487 7939(decimal\))s 960 7930(of)m 1231(the)s 1579(calling)s 2282(process.)s
3488 3103(All)s 3463(the)s 3811(group)s 4423(names)s 5085(come)s
3489 5659(\207rst,)s 6137(and)s 6541(then)s 7010(the)s 7358(gids.)s
3490 7861(If)s 8091(the)s 8439(\207rst)s 960 7690(supplementary)m 2422(group)s
3491 3034(is)s 3244(the)s 3592(same)s 4139(as)s 4389(the)s
3492 4737(primary)s 5547(group)s 6159(then)s 6628(it)s 6820(is)s
3493 7030(elided.)s gsave
3494 600 7504 translate
3495 0.6953 1.0000 scale
3496 240 fnt31 0 -52(calling\211user\211shell)m 
3497 grestore
3498 960 7210(The)m 1388(calling)s
3499 2091(user')s 13(s)k 2699(shell,)s 3257(as)s 3507(listed)s
3500 4082(in)s 4325(the)s 4673(passw)s 2(ord)k 5633(entry)s
3501 6178(for)s 6516(the)s 6864(calling)s 7567(login)s 8116(name)s
3502 8690(\(as)s 960 6970(determined)m 2093(for)s gsave
3503 2431 7024 translate
3504 0.6953 1.0000 scale
3505 240 fnt31 0 -52(USERV_USER)m
3506
3507 grestore
3508 3432(,)s 3539(abo)s 3(v)k 3(e\).)k gsave
3509 600 6784 translate
3510 0.6953 1.0000 scale
3511 240 fnt31
3512 0 -52(service\211user)m 
3513 grestore
3514 960 6490(T)m 19(w)k 2(o)k 1431(strings:)s
3515 2174(the)s 2522(name)s 3096(of)s 3367(the)s 3715(service)s
3516 4447(user)s 4905(\(as)s 5234(speci\207ed)s 6142(to)s 6381(the)s
3517 6729(client\))s 7387(and)s 7791(their)s 8288(uid)s 960 6250(\(represented)m
3518 2198(in)s 2441(decimal\).)s gsave
3519 600 6064 translate
3520 0.6953 1.0000 scale
3521 240 fnt31 0 -52(service\211group)m 
3522 grestore
3523 960 5770(Se)m 6(v)k 3(eral)k
3524 1722(strings:)s 2465(the)s 2813(primary)s 3623(and)s 4027(supplementary)s
3525 5489(group)s 6101(names)s 6763(and)s 7167(gids)s 7617(\(in)s
3526 7939(decimal\))s 8823(of)s 960 5530(the)m 1308(service)s 2040(user)s 13(.)k
3527 gsave
3528 600 5344 translate
3529 0.6953 1.0000 scale
3530 240 fnt31 0 -52(service\211user\211shell)m 
3531 grestore
3532 960 5050(The)m 1388(service)s 2120(user')s 13(s)k
3533 2728(shell,)s 3286(as)s 3536(listed)s 4111(in)s 4354(their)s
3534 4851(passw)s 2(ord)k 5811(entry)s 15(.)k gsave
3535 600 4864 translate
3536 0.6953 1.0000 scale
3537 240 fnt31
3538 0 -52(u\211)m gsave
3539 288 0 translate
3540 1.4219 1.0000 scale
3541 240 fnt83 0 -52(name)m 
3542 grestore
3543
3544 grestore
3545 960 4570(The)m 1388(v)s 6(alue)k
3546 1956(of)s 2227(the)s 2575(user)s 4(-de\207ned)k 3811(v)s 6(ariable)k
3547 240 fnt83 4630 4572(name)m 240 fnt82 5202 4570(passed)m 5898(by)s
3548 6192(the)s 6540(caller)s 7129(using)s 7701(the)s gsave
3549 8049 4624 translate
3550 0.6953 1.0000 scale
3551 240 fnt31
3552 0 -52(\211\211defvar)m 
3553 grestore
3554 960 4330(command-line)m 2397(option)s 3066(to)s 3305(the)s
3555 3653(client.)s 4287(If)s 4517(the)s 4865(v)s 6(ariable)k
3556 5684(w)s 2(as)k 6105(not)s 6471(de\207ned)s 7234(then)s
3557 7703(this)s 8099(parameter)s 960 4090(is)m 1170(an)s 1453(empty)s
3558 2105(list)s 2456(of)s 2727(strings;)s 3476(in)s 3719(this)s
3559 4115(case)s 4582(an)s 3(y)k 4979(condition)s 5940(which)s
3560 6582(tests)s 7057(it)s 7249(will)s 7675(be)s 7957(f)s 2(alse,)k
3561 8512(and)s gsave
3562 960 3904 translate
3563 0.6953 1.0000 scale
3564 240 fnt31 0 -52(include\211lookup)m 
3565 grestore
3566 2421 3850(on)m 2718(it)s
3567 2910(will)s 3336(read)s 3805(the)s gsave
3568 4153 3904 translate
3569 0.6953 1.0000 scale
3570 240 fnt31 0 -52(:none)m
3571
3572 grestore
3573 4713(\207le,)s 5125(or)s gsave
3574 5384 3904 translate
3575 0.6953 1.0000 scale
3576 240 fnt31 0 -52(:default)m 
3577 grestore
3578 6245(if)s
3579 gsave
3580 6462 3904 translate
3581 0.6953 1.0000 scale
3582 240 fnt31 0 -52(:none)m 
3583 grestore
3584 7022(is)s 7232(not)s 7598(found.)s
3585 gsave
3586 120 3481 translate
3587 0.6953 1.0000 scale
3588 240 fnt31 0 -52(errors\211push)m 
3589 grestore
3590 240 fnt83 1281 3429(\207lename)m gsave
3591 120 3241 translate
3592 0.6953 1.0000 scale
3593 240 fnt31
3594 0 -52(srorre)m 
3595 grestore
3596 240 fnt82 480 2947(Stacks)m 1155(the)s 1503(error)s
3597 2026(handling)s 2917(beha)s 4(viour)k 3930(currently)s 4846(in)s
3598 5089(ef)s 6(fect.)k 5729(An)s 3(y)k 6193(changes)s
3599 7015(to)s 7254(error)s 7777(handling)s 8668(will)s 480 2707(tak)m 2(e)k
3600 932(ef)s 6(fect)k 1528(only)s 2008(between)s gsave
3601 2862 2761 translate
3602 0.6953 1.0000 scale
3603 240 fnt31
3604 0 -52(errors\211push)m 
3605 grestore
3606 4023(and)s gsave
3607 4427 2761 translate
3608 0.6953 1.0000 scale
3609 240 fnt31 0 -52(srorre)m 
3610 grestore
3611 5027(.)s
3612 gsave
3613 120 2367 translate
3614 0.6953 1.0000 scale
3615 240 fnt31 0 -52(catch\211quit)m 
3616 grestore
3617 gsave
3618 120 2127 translate
3619 0.6953 1.0000 scale
3620 240 fnt31 0 -52(hctac)m 
3621 grestore
3622 480 1833(An)m 3(y)k
3623 935(use)s 1301(of)s gsave
3624 1563 1887 translate
3625 0.6953 1.0000 scale
3626 240 fnt31 0 -52(quit)m 
3627 grestore
3628 2013(inside)s
3629 gsave
3630 2631 1887 translate
3631 0.6953 1.0000 scale
3632 240 fnt31 0 -52(catch\211quit)m 
3633 grestore
3634 3683(will)s 4100(merely)s 4807(cause)s
3635 5385(the)s 5724(parsing)s 6472(to)s 6701(continue)s 7572(at)s
3636 gsave
3637 7795 1887 translate
3638 0.6953 1.0000 scale
3639 240 fnt31 0 -52(hctac)m 
3640 grestore
3641 8345(instead.)s 480 1593(An)m 3(y)k
3642 944(control)s 1676(constructs)s 2696(started)s 3390(since)s 3937(the)s
3643 gsave
3644 4285 1647 translate
3645 0.6953 1.0000 scale
3646 240 fnt31 0 -52(catch\211quit)m 
3647 grestore
3648 5346(will)s 5772(be)s 6054(considered)s
3649 7148(\207nished)s 7964(if)s 8181(a)s gsave
3650 8347 1647 translate
3651 0.6953 1.0000 scale
3652 240 fnt31 0 -52(quit)m
3653
3654 grestore
3655 8807(is)s 480 1353(found.)m 1203(If)s 1433(an)s 1716(error)s
3656 2239(occurs)s 2914(inside)s gsave
3657 3541 1407 translate
3658 0.6953 1.0000 scale
3659 240 fnt31 0 -52(catch\211quit)m 
3660 grestore
3661 4602(the)s
3662 4950(e)s 3(x)k 3(ecution)k 5931(settings)s 6712(will)s
3663 7138(be)s 7420(reset)s 7930(\(as)s 8259(if)s 8476(by)s
3664 8770(the)s gsave
3665 480 1167 translate
3666 0.6953 1.0000 scale
3667 240 fnt31 0 -52(reset)m 
3668 grestore
3669 1040 1113(directi)m 6(v)k 3(e\))k
3670 1994(and)s 2398(parsing)s 3155(will)s 3581(lik)s 2(e)k 6(wise)k
3671 4425(continue)s 5305(at)s gsave
3672 5537 1167 translate
3673 0.6953 1.0000 scale
3674 240 fnt31 0 -52(hctac)m 
3675 grestore
3676 6037(.)s
3677 6201(If)s 6431(a)s 6597(le)s 3(xical)k 7285(or)s
3678 7544(syntax)s 8224(error)s 8747(is)s 480 873(detected)m 1334(in)s
3679 1577(the)s 1925(same)s 2472(con\207guration)s 3805(\207le)s 4166(as)s
3680 4416(the)s gsave
3681 4764 927 translate
3682 0.6953 1.0000 scale
3683 240 fnt31 0 -52(catch\211quit)m 
3684 grestore
3685 5765(,)s 5872(while)s
3686 6459(looking)s 7244(for)s 7582(the)s gsave
3687 7930 927 translate
3688 0.6953 1.0000 scale
3689 240 fnt31 0 -52(hctac)m
3690
3691 grestore
3692 8490(after)s 0 52(User)m 511(service)s 1243(daemon)s 2058(and)s
3693 2462(client)s 3052(speci\207cation)s 8652(0.62)s 
3694 grestore
3695
3696 grestore
3697
3698 pgsave restore
3699 showpage
3700
3701 %%Page: 14 14
3702 %%BeginPageSetup
3703 %%PageResources: font Times-Roman
3704 %%+ font Times-Bold
3705 %%+ font Courier-Bold
3706 %%+ font Times-Italic
3707 /pgsave save def
3708 0.0500 dup scale 10 setlinewidth
3709 %%EndPageSetup
3710 gsave
3711 0 0 translate
3712 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
3713 gsave
3714 LoutPageSet
3715 grestore
3716 gsave
3717 0 16840 translate
3718 0.0000 rotate
3719
3720 grestore
3721
3722 grestore
3723 gsave
3724 0 16840 translate
3725 0.0000 rotate
3726 gsave
3727 1417 -15423 translate
3728 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
3729 gsave
3730 0 LoutMargSet
3731 grestore
3732 240 fnt84 0 13842(14)m 240 fnt82 480 13254(an)m 763(error)s
3733 1286(or)s gsave
3734 1545 13308 translate
3735 0.6953 1.0000 scale
3736 240 fnt31 0 -52(quit)m 
3737 grestore
3738 1945(,)s 2052(that)s
3739 2470(ne)s 6(w)k 2917(error)s 3440(will)s 3866(not)s
3740 4232(be)s 4514(caught.)s 300 fnt84 0 12587(4.2.4.)m 813(Dir)s 5(ecti)k 3(v)k 3(es)k
3741 2148(f)s 7(or)k 2595(changing)s 3829(execution)s 5112(settings)s
3742 240 fnt82 0 12016(The)m 419(follo)s 6(wing)k 1386(directi)s 6(v)k 3(es)k
3743 2346(modify)s 3082(the)s 3420(e)s 3(x)k 3(ecution)k
3744 4391(settings;)s 5223(the)s 5562(serv)s 3(er)k 6192(will)s
3745 6608(remember)s 7627(the)s 7965(f)s 2(act)k 8370(that)s
3746 8778(the)s 0 11775(directi)m 6(v)k 3(e)k 881(w)s 2(as)k
3747 1300(encountered)s 2525(and)s 2927(act)s 3263(on)s 3559(it)s
3748 3749(only)s 4227(after)s 4721(all)s 5012(the)s 5359(con\207guration)s
3749 6690(has)s 7058(been)s 7565(parsed.)s 8291(The)s 240 fnt83
3750 8717 11777(last)m 240 fnt82 0 11535(directi)m 6(v)k 3(e)k
3751 882(which)s 1524(modi\207es)s 2399(an)s 3(y)k 2796(particuar)s
3752 3704(setting)s 4394(will)s 4820(tak)s 2(e)k 5272(ef)s 6(fect.)k
3753 gsave
3754 120 11181 translate
3755 0.6953 1.0000 scale
3756 240 fnt31 0 -52(reject)m 
3757 grestore
3758 480 10887(Reject)m 1150(the)s 1498(request.)s
3759 gsave
3760 2292 10941 translate
3761 0.6953 1.0000 scale
3762 240 fnt31 0 -52(execute)m 
3763 grestore
3764 2992(,)s gsave
3765 3099 10941 translate
3766 0.6953 1.0000 scale
3767 240 fnt31 0 -52(execute\211from\211directory)m
3768
3769 grestore
3770 5361(and)s gsave
3771 5765 10941 translate
3772 0.6953 1.0000 scale
3773 240 fnt31 0 -52(execute\211from\211path)m 
3774 grestore
3775 7527(will)s 7953(change)s
3776 480 10647(this)m 876(setting.)s gsave
3777 120 10307 translate
3778 0.6953 1.0000 scale
3779 240 fnt31 0 -52(execute)m gsave
3780 1152 0 translate
3781 1.4219 1.0000 scale
3782 240 fnt83
3783 0 -52(pr)m 10(o)k 2(gr)k 3(am)k 
3784 grestore
3785 2461([)s
3786 gsave
3787 2605 0 translate
3788 1.4219 1.0000 scale
3789 240 fnt83 0 -52(ar)m 8(gument)k 
3790 grestore
3791 4048(\202])s 
3792 grestore
3793 480 10013(Ex)m 3(ecute)k
3794 1300(the)s 1645(program)s 240 fnt83 2512 10015(pr)m 10(o)k 2(gr)k 3(am)k
3795 240 fnt82 3332 10013(,)m 3436(with)s 3915(the)s 4259(ar)s 4(guments)k
3796 5299(as)s 5546(speci\207ed,)s 6500(follo)s 6(wed)k 7399(by)s
3797 7690(an)s 3(y)k 8083(ar)s 4(guments)k 480 9773(gi)m 6(v)k 3(en)k
3798 1052(to)s 1282(the)s 1621(client)s 2203(if)s gsave
3799 2411 9827 translate
3800 0.6953 1.0000 scale
3801 240 fnt31
3802 0 -52(no\211suppress\211args)m 
3803 grestore
3804 4064(is)s 4266(in)s 4500(ef)s 6(fect.)k
3805 5131(It)s 5328(is)s 5529(an)s 5803(error)s 6318(for)s
3806 6647(the)s 6986(e)s 3(x)k 3(ecution)k 7959(to)s
3807 8189(f)s 2(ail)k 8550(when)s 480 9533(it)m 672(is)s
3808 882(attempted)s 1882(\(after)s 2457(all)s 2750(the)s 3098(con\207guration)s
3809 4431(has)s 4801(been)s 5310(parsed\).)s 6117(If)s 240 fnt83
3810 6347 9535(pr)m 10(o)k 2(gr)k 3(am)k 240 fnt82
3811 7227 9533(does)m 7717(not)s 8083(contain)s 8844(a)s 480 9293(slash)m
3812 1015(it)s 1207(will)s 1633(be)s 1915(searched)s 2809(for)s
3813 3147(on)s 3444(the)s 3792(service)s 4524(user')s 13(s)k
3814 5132(path.)s gsave
3815 120 8953 translate
3816 0.6953 1.0000 scale
3817 240 fnt31 0 -52(execute\211from\211directory)m gsave
3818 3312 0 translate
3819 1.4219 1.0000 scale
3820 240 fnt83 0 -52(pathname)m
3821
3822 grestore
3823 4789([)s gsave
3824 4933 0 translate
3825 1.4219 1.0000 scale
3826 240 fnt83 0 -52(ar)m 8(gument)k 
3827 grestore
3828 6376(\202])s
3829
3830 grestore
3831 480 8659(T)m 19(ak)k 2(e)k 993(all)s 1286(the)s
3832 1634(characters)s 2652(after)s 3148(the)s 3496(last)s 3887(slash)s
3833 4422(of)s 4693(the)s 5041(service)s 5773(name)s 6347(speci\207ed)s
3834 7255(when)s 7831(the)s 8179(client)s 480 8418(w)m 2(as)k
3835 901(called,)s 1578(and)s 1982(e)s 3(x)k 3(ecute)k
3836 2762(that)s 3180(program)s 4050(in)s 4293(the)s 4641(directory)s
3837 5557(named)s 6253(by)s 240 fnt83 6547 8420(pathname)m 240 fnt82
3838 7545 8418(as)m 7795(if)s 8012(it)s 8204(had)s 8608(been)s
3839 480 8178(speci\207ed)m 1388(for)s 240 fnt83 1726 8180(e)m 4(xecute)k
3840 240 fnt82 2431 8178(.)m 2535(The)s 2963(part)s 3394(of)s
3841 3665(the)s 4013(service)s 4745(name)s 5319(used)s 5816(may)s
3842 6282(contain)s 7043(only)s 7523(alphanumerics)s 480 7938(and)m 884(h)s 1(yphens)k
3843 1732(and)s 2136(must)s 2660(start)s 3130(with)s 3611(an)s
3844 3894(alphanumeric)s 5247(\(and)s 5730(it)s 5921(must)s 6446(be)s
3845 6727(non-empty\),)s 7950(otherwise)s 8934(it)s 480 7698(is)m 690(an)s
3846 973(error)s 13(.)k 1587(This)s 2063(directi)s 6(v)k 3(e)k
3847 2945(is)s 3155(ignored)s 3944(if)s 4161(the)s 4509(rele)s 6(v)k 6(ant)k
3848 5326(program)s 6196(does)s 6686(not)s 7052(e)s 3(xist)k
3849 7560(in)s 7803(the)s 8151(directory)s 480 7458(speci\207ed;)m 1437(in)s
3850 1675(this)s 2066(case)s 2528(the)s 2871(program)s 3735(to)s
3851 3969(e)s 3(x)k 3(ecute)k 4744(is)s 4949(left)s
3852 5321(at)s 5548(its)s 5818(pre)s 6(vious)k 6682(setting)s
3853 7367(\(or)s 7700(unset,)s 8307(if)s 8519(it)s 8705(w)s 2(as)k
3854 480 7218(not)m 846(set)s 1171(before\).)s 2024(It)s 2229(is)s
3855 2439(an)s 2722(error)s 3245(for)s 3583(the)s 3931(test)s
3856 4322(for)s 4660(the)s 5008(e)s 3(xistence)k 5950(of)s
3857 6221(the)s 6569(program)s 7439(to)s 7678(f)s 2(ail)k
3858 8048(other)s 8599(than)s 480 6978(with)m 958(a)s 1120(`no)s
3859 1488(such)s 1980(\207le)s 2336(or)s 2591(directory')s 3561(indication.)s
3860 4617(It)s 4818(is)s 5023(also)s 5457(an)s 5736(error)s
3861 6255(for)s 6589(the)s 6932(e)s 3(x)k 3(ecution)k
3862 7909(to)s 8144(f)s 2(ail)k 8510(if)s 8722(and)s
3863 480 6738(when)m 1056(it)s 1248(is)s 1458(attempted)s 2458(\(after)s
3864 3033(all)s 3326(the)s 3674(con\207guration)s 5007(has)s 5377(been)s
3865 5886(parsed\).)s gsave
3866 120 6398 translate
3867 0.6953 1.0000 scale
3868 240 fnt31 0 -52(execute\211from\211path)m 
3869 grestore
3870 240 fnt83 480 6106(service)m
3871 240 fnt82 1202 6104(is)m 1404(interpreted)s 2488(as)s 2731(a)s
3872 2889(program)s 3751(on)s 4041(the)s 4381(def)s 2(ault)k
3873 gsave
3874 5094 6158 translate
3875 0.6953 1.0000 scale
3876 240 fnt31 0 -52(PATH)m 
3877 grestore
3878 5546(\(or)s 5877(as)s 6119(a)s
3879 6277(pathname)s 7256(of)s 7519(an)s 7794(e)s 3(x)k 3(ecutable,)k
3880 8909(if)s 480 5863(it)m 660(contains)s 1495(a)s gsave
3881 1649 5917 translate
3882 0.6953 1.0000 scale
3883 240 fnt31
3884 0 -52(/)m 
3885 grestore
3886 1749(\).)s 1919(This)s 2383(directi)s 6(v)k 3(e)k
3887 3252(is)s 240 fnt83 3450 5865(very)m 3904(dang)s 2(er)k 10(ous)k
3888 240 fnt82 4899 5863(,)m 4994(and)s 5385(is)s 5583(only)s
3889 6050(pro)s 3(vided)k 6944(to)s 7170(mak)s 2(e)k
3890 7730(the)s gsave
3891 8065 5917 translate
3892 0.6953 1.0000 scale
3893 240 fnt31 0 -52(\211\211override)m 
3894 grestore
3895 480 5623(options)m 1230(ef)s 6(fecti)k 6(v)k 3(e.)k
3896 2146(It)s 2344(should)s 3034(not)s 3393(normally)s 4304(be)s
3897 4579(used.)s 5115(It)s 5313(is)s 5516(an)s 5792(error)s
3898 6309(for)s 6640(the)s 6981(e)s 3(x)k 3(ecution)k
3899 7955(to)s 8187(f)s 2(ail)k 8550(when)s 480 5383(it)m
3900 672(is)s 882(attempted)s 1882(\(after)s 2457(all)s 2750(the)s
3901 3098(con\207guration)s 4431(has)s 4801(been)s 5310(parsed\).)s gsave
3902 120 5043 translate
3903 0.6953 1.0000 scale
3904 240 fnt31
3905 0 -52(execute\211builtin)m gsave
3906 2304 0 translate
3907 1.4219 1.0000 scale
3908 240 fnt83 0 -52(service\211name)m 
3909 grestore
3910 gsave
3911 4307 0 translate
3912 1.4219 1.0000 scale
3913 240 fnt83 0 -52(service\211ar)m 8(guments)k
3914
3915 grestore
3916
3917 grestore
3918 480 4749(Ex)m 3(ecutes)k 1388(the)s 1732(b)s 4(uiltin)k
3919 2405(service)s 240 fnt83 3133 4751(service-name)m 240 fnt82 4400 4749(.)m
3920 4500(These)s 5123(b)s 4(uiltin)k 5796(services)s 6612(display)s
3921 7353(information)s 8534(about)s 480 4509(the)m 822(serv)s 3(er)k
3922 1455(and/or)s 2120(the)s 2461(request,)s 3252(and)s 3649(ignore)s
3923 4310(an)s 3(y)k 4700(ar)s 4(guments)k 5737(passed)s
3924 6426(from)s 6944(the)s 7285(service)s 8011(side)s 8445(e)s 3(xcept)k
3925 480 4269(possibly)m 1320(to)s 1547(print)s 2046(them)s 2572(as)s
3926 2810(part)s 3228(of)s 3487(their)s 3972(output.)s 4676(The)s 3(y)k
3927 5207(write)s 5740(their)s 6225(results)s 6887(to)s 7114(their)s
3928 7599(standard)s 8454(output)s 480 4029(\(i.e.,)m 958(where)s 6(v)k 3(er)k
3929 1898(\207le)s 2259(descriptor)s 3274(1)s 3429(is)s 3639(directed\).)s
3930 4591(The)s 5019(b)s 4(uiltin)k 5696(services)s 6516(are:)s
3931 gsave
3932 600 3843 translate
3933 0.6953 1.0000 scale
3934 240 fnt31 0 -52(execute)m 
3935 grestore
3936 960 3549(Displays)m 1848(the)s 2196(e)s 3(x)k 3(ecution)k
3937 3177(settings,)s 4014(de\207ned)s 4777(v)s 6(ariables,)k 5740(ar)s 4(guments,)k
3938 6839(etc.)s 7221(with)s 7703(which)s 8345(the)s 960 3309(b)m 4(uiltin)k
3939 1637(service)s 2369(w)s 2(as)k 2790(in)s 9(v)k 4(ok)k 2(ed.)k
3940 gsave
3941 600 3123 translate
3942 0.6953 1.0000 scale
3943 240 fnt31 0 -52(environment)m 
3944 grestore
3945 960 2829(Dis)m 1283(plays)s 1839(the)s
3946 2187(en)s 2410(vi)s 2590(ron)s 2906(ment)s 3444(v)s 6(ari)k
3947 3803(able)s 4257(set)s 4522(tings)s 5038(with)s 5520(which)s
3948 6162(the)s 6510(b)s 4(uiltin)k 7187(ser)s 7465(vice)s
3949 7919(w)s 2(as)k 960 2589(in)m 1143(v)s 4(ok)k 2(ed.)k
3950 gsave
3951 600 2403 translate
3952 0.6953 1.0000 scale
3953 240 fnt31 0 -52(parameter)m gsave
3954 1440 0 translate
3955 1.4219 1.0000 scale
3956 240 fnt83 0 -52(par)m 3(ameter)k
3957
3958 grestore
3959
3960 grestore
3961 960 2109(Displays)m 1848(the)s 2196(v)s 6(alues)k 2852(of)s
3962 3123(the)s 3471(service)s 4203(con\207guration)s 5536(language)s 6456(parameter)s
3963 7470(speci\207ed.)s gsave
3964 600 1923 translate
3965 0.6953 1.0000 scale
3966 240 fnt31 0 -52(version)m 
3967 grestore
3968 960 1629(Displays)m 1848(the)s
3969 2196(v)s 3(ersion)k 2954(string)s 3551(and)s 3955(compilation)s
3970 5154(details)s 5828(of)s 6099(the)s 6447(uservd)s 7143(serv)s 3(er)k
3971 7783(program.)s gsave
3972 600 1443 translate
3973 0.6953 1.0000 scale
3974 240 fnt31 0 -52(reset)m 
3975 grestore
3976 960 1149(Dis)m 1283(plays)s
3977 1838(the)s 2184(de)s 2406(f)s 2(ault)k 2899(re)s
3978 3080(set)s 3403(con)s 3746(\207g)s 3992(u)s 4107(ra)s
3979 4292(tion)s 4719(\(e)s 6(v)k 6(al)k 5179(u)s
3980 5294(at)s 5466(ed)s 5748(when)s gsave
3981 6323 1203 translate
3982 0.6953 1.0000 scale
3983 240 fnt31 0 -52(reset)m
3984
3985 grestore
3986 6881(is)s 7089(found)s 7704(in)s 7945(a)s 8109(con)s
3987 8452(\207g)s 8698(u)s 8813(ra)s 8998(-)s 960 909(tion)m
3988 1389(\207le,)s 1801(or)s 2060(when)s 2636(an)s 2919(er)s
3989 3104(ror)s 3442(is)s 3652(caught)s 4350(by)s gsave
3990 4644 963 translate
3991 0.6953 1.0000 scale
3992 240 fnt31
3993 0 -52(catch\211quit)m 
3994 grestore
3995 5645(\).)s 0 52(0.62)m 4809(User)s 5320(service)s
3996 6052(daemon)s 6867(and)s 7271(client)s 7861(speci\207cation)s 
3997 grestore
3998
3999 grestore
4000
4001 pgsave restore
4002 showpage
4003
4004 %%Page: 15 15
4005 %%BeginPageSetup
4006 %%PageResources: font Times-Roman
4007 %%+ font Times-Bold
4008 %%+ font Courier-Bold
4009 %%+ font Times-Italic
4010 /pgsave save def
4011 0.0500 dup scale 10 setlinewidth
4012 %%EndPageSetup
4013 gsave
4014 0 0 translate
4015 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
4016 gsave
4017 LoutPageSet
4018 grestore
4019 gsave
4020 0 16840 translate
4021 0.0000 rotate
4022
4023 grestore
4024
4025 grestore
4026 gsave
4027 0 16840 translate
4028 0.0000 rotate
4029 gsave
4030 1417 -15423 translate
4031 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
4032 gsave
4033 1 LoutMargSet
4034 grestore
4035 240 fnt84 8833 13842(15)m gsave
4036 600 13318 translate
4037 0.6953 1.0000 scale
4038 240 fnt31 0 -52(toplevel)m 
4039 grestore
4040 240 fnt82
4041 960 13024(Displays)m 1848(the)s 2196(top-le)s 6(v)k 3(el)k
4042 3091(def)s 2(ault)k 3812(con\207guration)s 5145(\(the)s 5572(con\207guration)s
4043 6905(data,)s 7410(e)s 6(v)k 6(aluated)k 8372(by)s
4044 8666(the)s 960 12784(serv)m 3(er)k 9(,)k 1638(which)s
4045 2280(calls)s 2768(all)s 3061(the)s 3409(other)s 3960(con\207guration)s
4046 5293(\207les\).)s gsave
4047 600 12598 translate
4048 0.6953 1.0000 scale
4049 240 fnt31 0 -52(override)m 
4050 grestore
4051 960 12304(Displays)m 1847(the)s
4052 2194(top-le)s 6(v)k 3(el)k 3088(o)s 3(v)k 3(erride)k
4053 3932(con\207guration)s 5264(\(the)s 5690(con\207guration)s 7021(data,)s 7525(e)s 6(v)k 6(aluated)k
4054 8486(by)s 8778(the)s 960 12064(serv)m 3(er)k 9(,)k
4055 1638(which)s 2280(causes)s 2955(all)s 3248(the)s 3596(other)s
4056 4147(con\207guration)s 5480(data)s 5938(to)s 6177(be)s 6459(parsed\).)s
4057 gsave
4058 600 11878 translate
4059 0.6953 1.0000 scale
4060 240 fnt31 0 -52(help)m 
4061 grestore
4062 960 11584(Displays)m 1848(a)s 2014(list)s
4063 2365(of)s 2636(the)s 2984(understood)s 4106(b)s 4(uiltin)k
4064 4783(service)s 5515(names)s 6177(and)s 6581(ar)s 4(guments.)k
4065 gsave
4066 600 11398 translate
4067 0.6953 1.0000 scale
4068 240 fnt31 0 -52(shutdown)m 
4069 grestore
4070 960 11104(Arranges)m 1876(for)s 2203(the)s
4071 gsave
4072 2540 11158 translate
4073 0.6953 1.0000 scale
4074 240 fnt31 0 -52(uservd)m 
4075 grestore
4076 3189(to)s 3417(shut)s 3865(do)s 6(wn.)k
4077 4485(A)s 17(v)k 6(ailable)k 5435(only)s 5904(when)s
4078 6469(the)s 6806(service)s 7527(user)s 7974(is)s 8173(root.)s
4079 8650(This)s 960 10864(only)m 1440(af)s 6(fects)k 2120(ne)s 6(w)k
4080 2567(requests;)s 3462(it)s 3654(doesn')s 4(t)k 4414(terminate)s
4081 5371(an)s 3(y)k 5768(currently-running)s 7507(requests)s gsave
4082 120 10476 translate
4083 0.6953 1.0000 scale
4084 240 fnt31
4085 0 -52(set\211environment)m 
4086 grestore
4087 gsave
4088 120 10236 translate
4089 0.6953 1.0000 scale
4090 240 fnt31 0 -52(no\211set\211environment)m 
4091 grestore
4092 480 9942(Runs)m gsave
4093 1024 9996 translate
4094 0.6953 1.0000 scale
4095 240 fnt31
4096 0 -52(/etc/environment)m 
4097 grestore
4098 2686(to)s 2925(set)s 3250(the)s 3598(service)s
4099 4330(user')s 13(s)k 4938(en)s 9(vironment.)k 6242(This)s
4100 6718(adds)s 7208(the)s 7556(o)s 3(v)k 3(erhead)k
4101 8485(of)s 480 9702(in)m 9(v)k 4(oking)k 1372(a)s
4102 1538(shell,)s 2096(b)s 4(ut)k 2458(doesn')s 4(t)k
4103 3218(cause)s 3805(an)s 3(y)k 4202(shell)s 4708(\(de\)mangling)s
4104 6049(of)s 6320(the)s 6668(service')s 13(s)k 7554(ar)s 4(guments.)k
4105 8650(This)s 480 9462(is)m 690(achie)s 6(v)k 3(ed)k
4106 1589(by)s 1883(in)s 9(v)k 4(oking)k gsave
4107 960 9276 translate
4108 0.6953 1.0000 scale
4109 240 fnt31
4110 0 -52(.../program)m 1728(arg)s 2304(arg)s 2880(arg)s 3456(\202)s
4111
4112 grestore
4113 480 9031(as)m gsave
4114 960 8845 translate
4115 0.6953 1.0000 scale
4116 240 fnt31 0 -52(/bin/sh)m 1152(\211c)s 1584('.)s
4117 2016(/etc/environment;)s 4608(exec)s 5328("$@"')s 6192(\211)s 6480(.../program)s
4118 8208(arg)s 8784(arg)s 9360(arg)s 9936(\202)s 
4119 grestore
4120 gsave
4121 480 8601 translate
4122 0.6953 1.0000 scale
4123 240 fnt31
4124 0 -52(no\211set\211environment)m 
4125 grestore
4126 2342 8547(cancels)m 3096(the)s 3444(ef)s 6(fect)k
4127 4040(of)s gsave
4128 4311 8601 translate
4129 0.6953 1.0000 scale
4130 240 fnt31 0 -52(set\211environment)m 
4131 grestore
4132 5812(.)s gsave
4133 120 8257 translate
4134 0.6953 1.0000 scale
4135 240 fnt31
4136 0 -52(no\211suppress\211args)m 
4137 grestore
4138 gsave
4139 120 8017 translate
4140 0.6953 1.0000 scale
4141 240 fnt31 0 -52(suppress\211args)m 
4142 grestore
4143 480 7723(Include)m 1253(an)s 3(y)k
4144 1650(ar)s 4(guments)k 2693(gi)s 6(v)k 3(en)k
4145 3273(to)s 3512(the)s 3860(client)s 4450(as)s 4700(ar)s 4(guments)k
4146 5743(to)s 5982(the)s 6330(program)s 7200(in)s 9(v)k 4(ok)k 2(ed)k
4147 8015(as)s 8265(a)s 8431(result)s 480 7483(of)m 749(an)s
4148 gsave
4149 1030 7537 translate
4150 0.6953 1.0000 scale
4151 240 fnt31 0 -52(execute)m 
4152 grestore
4153 1730(,)s gsave
4154 1834 7537 translate
4155 0.6953 1.0000 scale
4156 240 fnt31 0 -52(execute\211from\211directory)m
4157
4158 grestore
4159 4094(or)s gsave
4160 4351 7537 translate
4161 0.6953 1.0000 scale
4162 240 fnt31 0 -52(execute\211from\211path)m 
4163 grestore
4164 6110(directi)s 6(v)k 3(e.)k
4165 gsave
4166 7038 7537 translate
4167 0.6953 1.0000 scale
4168 240 fnt31 0 -52(suppress\211args)m 
4169 grestore
4170 8396(undoes)s 480 7243(the)m 828(ef)s 6(fect)k
4171 1424(of)s gsave
4172 1695 7297 translate
4173 0.6953 1.0000 scale
4174 240 fnt31 0 -52(no\211suppress\211args)m 
4175 grestore
4176 3297(.)s gsave
4177 120 6922 translate
4178 0.6953 1.0000 scale
4179 240 fnt31
4180 0 -52(require\211fd)m gsave
4181 1584 0 translate
4182 1.4219 1.0000 scale
4183 240 fnt83 0 -52(fd\211r)m 3(ang)k 2(e)k
4184
4185 grestore
4186 2940(read|write)s 
4187 grestore
4188 480 6623(In)m 676(sist)s 1054(that)s 1472(the)s
4189 1820(\207ledescrip)s 2808(tor\(s\))s 3373(be)s 3655(opened)s 4405(for)s
4190 4743(read)s 5152(ing)s 5511(resp.)s 6013(writ)s 6397(ing.)s
4191 6807(It)s 7012(is)s 7222(an)s 7505(er)s 7690(ror)s
4192 8028(if)s 8245(an)s 3(y)k 8642(de)s 8864(-)s
4193 480 6383(scrip)m 937(tor)s 1258(mark)s 2(ed)k 2027(as)s
4194 2272(re)s 2453(quired)s 3118(when)s 3689(the)s 4033(ser)s
4195 4311(vice)s 4760(is)s 4966(about)s 5554(to)s 5788(be)s
4196 6066(in)s 6249(v)s 4(ok)k 2(ed)k 6882(\(af)s
4197 7158(ter)s 7465(the)s 7808(con)s 8151(\207g)s 8397(u)s
4198 8512(ra)s 8697(tion)s 480 6143(has)m 850(been)s 1359(parsed\))s
4199 2111(w)s 2(as)k 2532(not)s 2898(spec)s 3316(i)s
4200 3376(\207ed)s 3793(when)s 4369(the)s 4717(client)s 5307(w)s 2(as)k
4201 5728(in)s 5911(v)s 4(ok)k 2(ed.)k 6595(Each)s
4202 7130(\207le)s 7491(de)s 7713(scrip)s 8170(tor)s 8495(has)s
4203 480 5903(a)m 646(sep)s 958(a)s 1064(rate)s 1477(set)s
4204 1742(ting,)s 2221(and)s 2625(the)s 2973(last)s 3364(one)s
4205 3766(of)s gsave
4206 4037 5957 translate
4207 0.6953 1.0000 scale
4208 240 fnt31 0 -52(require\211fd)m 
4209 grestore
4210 5038(,)s gsave
4211 5145 5957 translate
4212 0.6953 1.0000 scale
4213 240 fnt31
4214 0 -52(allow\211fd)m 
4215 grestore
4216 5946(,)s gsave
4217 6053 5957 translate
4218 0.6953 1.0000 scale
4219 240 fnt31 0 -52(ignore\211fd)m 
4220 grestore
4221 6954(,)s
4222 gsave
4223 7061 5957 translate
4224 0.6953 1.0000 scale
4225 240 fnt31 0 -52(null\211fd)m 
4226 grestore
4227 7821(or)s gsave
4228 8080 5957 translate
4229 0.6953 1.0000 scale
4230 240 fnt31 0 -52(reject\211fd)m
4231
4232 grestore
4233 480 5662(which)m 1122(af)s 1319(fect)s 1676(ed)s 1960(a)s
4234 2126(par)s 2431(tic)s 2662(u)s 2777(lar)s 3088(\207le)s
4235 3449(de)s 3671(scrip)s 4128(tor)s 4453(will)s 4879(tak)s 2(e)k
4236 5331(ef)s 5528(fect.)s 240 fnt83 6049 5664(fd-)m 6302(r)s 3(ang)k 2(e)k
4237 240 fnt82 6909 5662(may)m 7375(be)s 7657(a)s 7823(sin)s
4238 8099(gle)s 8447(num)s 8873(-)s 480 5422(ber)m 9(,)k
4239 883(tw)s 2(o)k 1293(num)s 1719(bers)s 2168(sep)s
4240 2480(a)s 2586(rat)s 2837(ed)s 3121(by)s 3415(a)s
4241 3581(h)s 1(y)k 3814(phen,)s 4387(or)s 4646(one)s
4242 5048(num)s 5474(ber)s 5839(fol)s 6099(lo)s 6(wed)k
4243 6736(by)s 7030(a)s 7196(h)s 1(y)k 7429(phen)s
4244 7952(\(in)s 8214(di)s 8394(cat)s 8672(ing)s 480 5182(all)m
4245 772(de)s 994(scrip)s 1451(tors)s 1858(from)s 2380(that)s
4246 2796(num)s 3222(ber)s 3585(on)s 3822(w)s 2(ards\).)k
4247 4573(It)s 4776(may)s 5240(also)s 5676(be)s 5956(one)s
4248 6357(of)s 6626(the)s 6972(w)s 2(ords)k gsave
4249 7604 5236 translate
4250 0.6953 1.0000 scale
4251 240 fnt31
4252 0 -52(stdin)m 
4253 grestore
4254 8104(,)s gsave
4255 8209 5236 translate
4256 0.6953 1.0000 scale
4257 240 fnt31 0 -52(stdout)m 
4258 grestore
4259 8867(or)s
4260 gsave
4261 480 4996 translate
4262 0.6953 1.0000 scale
4263 240 fnt31 0 -52(stderr)m 
4264 grestore
4265 1080 4942(.)m 1174(Open-)s 1761(ended)s
4266 2380(\207le)s 2730(de)s 2952(scrip)s 3409(tor)s 3723(rangers)s
4267 4466(are)s 4802(al)s 4969(lo)s 6(wed)k 5596(only)s
4268 6065(with)s gsave
4269 6536 4996 translate
4270 0.6953 1.0000 scale
4271 240 fnt31 0 -52(reject\211fd)m 
4272 grestore
4273 7486(and)s gsave
4274 7879 4996 translate
4275 0.6953 1.0000 scale
4276 240 fnt31
4277 0 -52(ignore\211fd)m 
4278 grestore
4279 8780(,)s 8876(as)s 480 4702(oth)m 783(er)s
4280 968(wise)s 1457(the)s 1799(ser)s 2077(vice)s 2526(pro)s
4281 2838(gram)s 3383(w)s 2(ould)k 4033(\207nd)s 4458(it)s
4282 4590(self)s 5001(with)s 5477(a)s 5638(v)s 3(ery)k
4283 6108(lar)s 4(ge)k 6632(num)s 7058(ber)s 7417(of)s
4284 7683(\207le)s 8038(de)s 8260(scrip)s 8717(tors)s 480 4462(open.)m
4285 1090(When)s 1699(the)s 2027(con)s 2370(\207g)s 2616(u)s
4286 2731(ra)s 2916(tion)s 3325(has)s 3674(been)s 4163(parsed,)s
4287 4874(and)s 5258(be)s 5480(fore)s 5900(the)s 6227(ser)s
4288 6505(vice)s 6939(is)s 7129(about)s 7701(to)s 7920(be)s
4289 8181(e)s 3(x)k 8399(e)s 8501(cut)s 8793(ed,)s
4290 480 4222(stderr)m 1083(\(fd)s 1418(2\))s 1665(must)s 2189(be)s
4291 2470(re)s 2651(quired)s 3320(or)s 3578(al)s 3745(lo)s 6(wed)k
4292 4381(\()s gsave
4293 4454 4276 translate
4294 0.6953 1.0000 scale
4295 240 fnt31 0 -52(require\211fd)m 
4296 grestore
4297 5514(or)s gsave
4298 5772 4276 translate
4299 0.6953 1.0000 scale
4300 240 fnt31
4301 0 -52(allow\211fd)m 
4302 grestore
4303 6573(\))s 6701(for)s 7038(writ)s 7422(ing;)s
4304 7839(this)s 8234(is)s 8443(so)s 8708(that)s 480 3982(the)m
4305 825(er)s 1010(ror)s 1345(mes)s 1721(sage)s 2198(print)s
4306 2649(ed)s 2930(by)s 3220(the)s 3565(serv)s 3958(er')s 13(s)k
4307 4350(child)s 4882(pro)s 5194(cess)s 5640(if)s 5853(it)s
4308 6042(can)s 6371(not)s gsave
4309 6734 4036 translate
4310 0.6953 1.0000 scale
4311 240 fnt31 0 -52(exec)m 
4312 grestore
4313 7190(the)s
4314 7535(ser)s 7813(vice)s 8263(pro)s 8575(gram)s 480 3742(is)m
4315 690(not)s 1056(lost.)s gsave
4316 120 3452 translate
4317 0.6953 1.0000 scale
4318 240 fnt31 0 -52(allow\211fd)m gsave
4319 1296 0 translate
4320 1.4219 1.0000 scale
4321 240 fnt83
4322 0 -52(fd\211r)m 3(ang)k 2(e)k 
4323 grestore
4324 2652([read|write])s 
4325 grestore
4326 480 3153(Allo)m 6(w)k
4327 1126(the)s 1474(descriptor\(s\))s 2729(to)s 2968(be)s 3250(opened)s
4328 4000(for)s 4338(reading)s 5108(resp.)s 5610(writing,)s 6407(or)s
4329 6666(either)s 7269(if)s 7486(neither)s gsave
4330 8209 3207 translate
4331 0.6953 1.0000 scale
4332 240 fnt31 0 -52(read)m
4333
4334 grestore
4335 8669(nor)s gsave
4336 480 2967 translate
4337 0.6953 1.0000 scale
4338 240 fnt31 0 -52(write)m 
4339 grestore
4340 1040 2913(is)m 1250(speci\207ed.)s
4341 2204(If)s 2434(a)s 2600(particular)s 3574(descriptor)s 4589(not)s
4342 4955(speci\207ed)s 5863(by)s 6157(the)s 6505(client)s 7095(then)s
4343 7564(it)s 7756(will)s 8182(be)s 8464(open)s 480 2673(onto)m
4344 gsave
4345 959 2727 translate
4346 0.6953 1.0000 scale
4347 240 fnt31 0 -52(/dev/null)m 
4348 grestore
4349 1920(\(for)s 2337(reading,)s 3161(writing,)s
4350 3958(or)s 4217(both,)s 4750(depending)s 5801(on)s 6098(whether)s
4351 gsave
4352 6928 2727 translate
4353 0.6953 1.0000 scale
4354 240 fnt31 0 -52(read)m 
4355 grestore
4356 7328(,)s gsave
4357 7435 2727 translate
4358 0.6953 1.0000 scale
4359 240 fnt31 0 -52(write)m
4360
4361 grestore
4362 7995(or)s 8254(neither)s 480 2433(w)m 2(as)k 901(speci\207ed\).)s
4363 gsave
4364 120 2093 translate
4365 0.6953 1.0000 scale
4366 240 fnt31 0 -52(null\211fd)m gsave
4367 1152 0 translate
4368 1.4219 1.0000 scale
4369 240 fnt83 0 -52(fd\211r)m 3(ang)k 2(e)k
4370
4371 grestore
4372 2508([read|write])s 
4373 grestore
4374 480 1794(Spec)m 938(i)s 998(fy)s 1251(that)s
4375 1669(the)s 2017(de)s 2239(scrip)s 2696(tor\(s\))s 3261(be)s
4376 3543(opened)s 4293(onto)s gsave
4377 4772 1848 translate
4378 0.6953 1.0000 scale
4379 240 fnt31 0 -52(/dev/null)m 
4380 grestore
4381 5733(for)s
4382 6071(read)s 6480(ing)s 6839(resp.)s 7341(writ)s 7725(ing,)s
4383 8138(or)s 8397(both)s 8880(if)s 480 1554(nei)m 766(ther)s
4384 gsave
4385 1181 1608 translate
4386 0.6953 1.0000 scale
4387 240 fnt31 0 -52(read)m 
4388 grestore
4389 1624(nor)s gsave
4390 1986 1608 translate
4391 0.6953 1.0000 scale
4392 240 fnt31 0 -52(write)m
4393
4394 grestore
4395 2529(is)s 2722(spec)s 3140(i)s 3200(\207ed.)s 3646(An)s 3(y)k
4396 4093(spec)s 4511(i)s 4571(\207)s 4696(ca)s 4908(tion)s
4397 5320(of)s 5574(these)s 6104(\207le)s 6448(de)s 6670(scrip)s
4398 7127(tors)s 7519(by)s 7796(the)s 8127(client)s 8700(will)s
4399 480 1314(be)m 762(silent)s 1279(ly)s 1519(ig)s 1698(nored;)s
4400 2355(the)s 2703(client)s 3293(will)s 3719(see)s 4080(its)s
4401 4356(ends)s 4846(of)s 5117(the)s 5465(de)s 5687(scrip)s
4402 6144(tors)s 6553(be)s 6775(ing)s 7134(closed)s 7803(im)s
4403 8055(me)s 8343(di)s 8523(ate)s 8797(ly)s 15(.)k
4404 gsave
4405 120 974 translate
4406 0.6953 1.0000 scale
4407 240 fnt31 0 -52(reject\211fd)m gsave
4408 1440 0 translate
4409 1.4219 1.0000 scale
4410 240 fnt83 0 -52(fd\211r)m 3(ang)k 2(e)k
4411
4412 grestore
4413
4414 grestore
4415 0 52(User)m 511(service)s 1243(daemon)s 2058(and)s 2462(client)s
4416 3052(speci\207cation)s 8652(0.62)s 
4417 grestore
4418
4419 grestore
4420
4421 pgsave restore
4422 showpage
4423
4424 %%Page: 16 16
4425 %%BeginPageSetup
4426 %%PageResources: font Times-Roman
4427 %%+ font Times-Bold
4428 %%+ font Courier-Bold
4429 %%+ font Times-Italic
4430 /pgsave save def
4431 0.0500 dup scale 10 setlinewidth
4432 %%EndPageSetup
4433 gsave
4434 0 0 translate
4435 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
4436 gsave
4437 LoutPageSet
4438 grestore
4439 gsave
4440 0 16840 translate
4441 0.0000 rotate
4442
4443 grestore
4444
4445 grestore
4446 gsave
4447 0 16840 translate
4448 0.0000 rotate
4449 gsave
4450 1417 -15423 translate
4451 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
4452 gsave
4453 0 LoutMargSet
4454 grestore
4455 240 fnt84 0 13842(16)m 240 fnt82 480 13251(Do)m 824(not)s
4456 1187(allo)s 6(w)k 1764(the)s 2109(descriptor\(s\))s 3362(to)s
4457 3598(be)s 3878(speci\207ed)s 4783(by)s 5075(the)s 5420(client.)s
4458 6052(It)s 6254(is)s 6462(an)s 6742(error)s 7263(if)s
4459 7477(an)s 3(y)k 7871(descriptor\(s\))s 480 13011(mark)m 2(ed)k
4460 1253(for)s 1591(rejection)s 2483(are)s 2830(speci\207ed)s 3738(when)s
4461 4314(the)s 4662(service)s 5394(is)s 5604(about)s 6196(to)s
4462 6435(be)s 6717(in)s 9(v)k 4(ok)k 2(ed)k
4463 7532(\(after)s 8107(the)s 480 12771(con\207guration)m 1813(has)s 2183(been)s
4464 2692(parsed\).)s gsave
4465 120 12431 translate
4466 0.6953 1.0000 scale
4467 240 fnt31 0 -52(ignore\211fd)m gsave
4468 1440 0 translate
4469 1.4219 1.0000 scale
4470 240 fnt83 0 -52(fd\211r)m 3(ang)k 2(e)k
4471
4472 grestore
4473
4474 grestore
4475 480 12137(Silent)m 1037(ly)s 1260(ig)s 1439(nore)s 1902(an)s 3(y)k
4476 2281(spec)s 2699(i)s 2759(\207)s 2884(ca)s 3096(tion)s
4477 3507(by)s 3783(the)s 4113(client)s 4685(of)s 4938(those)s
4478 5481(de)s 5703(scrip)s 6160(tor\(s\).)s 6762(The)s 7172(pipes)s
4479 7710(cor)s 8015(re)s 8196(spond)s 8767(ing)s 480 11897(to)m
4480 719(these)s 1266(de)s 1488(scrip)s 1945(tors)s 2354(will)s
4481 2780(be)s 3062(closed)s 3731(just)s 4136(be)s 4358(fore)s
4482 4798(the)s 5146(ser)s 5424(vice)s 5878(is)s 6088(in)s
4483 6271(v)s 4(ok)k 2(ed.)k gsave
4484 120 11557 translate
4485 0.6953 1.0000 scale
4486 240 fnt31 0 -52(disconnect\211hup)m
4487
4488 grestore
4489 gsave
4490 120 11317 translate
4491 0.6953 1.0000 scale
4492 240 fnt31 0 -52(no\211disconnect\211hup)m 
4493 grestore
4494 480 11023(Caus)m 950(es)s 1200(the)s
4495 1548(ser)s 1826(vice')s 13(s)k 2434(pro)s 2746(cess)s
4496 3195(group)s 3807(to)s 4046(get)s 4398(a)s gsave
4497 4564 11077 translate
4498 0.6953 1.0000 scale
4499 240 fnt31
4500 0 -52(SIGHUP)m 
4501 grestore
4502 5224(if)s 5441(the)s 5789(client)s 6379(dis)s
4503 6649(con)s 6992(nects)s 7534(be)s 7756(fore)s 8196(the)s
4504 8544(main)s 480 10783(ser)m 758(vice)s 1209(pro)s 1521(cess)s
4505 1966(ter)s 2217(mi)s 2463(nates.)s gsave
4506 3055 10837 translate
4507 0.6953 1.0000 scale
4508 240 fnt31 0 -52(no\211disconnect\211hup)m
4509
4510 grestore
4511 4813(can)s 5142(cels)s gsave
4512 5560 10837 translate
4513 0.6953 1.0000 scale
4514 240 fnt31 0 -52(disconnect\211hup)m 
4515 grestore
4516 6961(.)s
4517 7122(If)s 7348(one)s 7747(of)s 8014(the)s 8358(read)s
4518 8767(ing)s 480 10543(de)m 702(scrip)s 1159(tors)s 1568(spec)s
4519 1986(i)s 2046(\207ed)s 2463(when)s 3039(the)s 3387(client)s
4520 3977(is)s 4187(called)s 4815(gets)s 5251(a)s 5417(read)s
4521 5886(er)s 6071(ror)s 9(,)k 6447(or)s 6706(if)s
4522 6923(the)s 7271(ser)s 7549(vice)s 8003(is)s 8213(dis)s
4523 8483(con)s 8826(-)s 480 10302(nect)m 878(ed)s 1162(for)s
4524 1500(some)s 2061(oth)s 2364(er)s 2609(rea)s 2900(son,)s
4525 3340(then)s 3809(the)s gsave
4526 4157 10356 translate
4527 0.6953 1.0000 scale
4528 240 fnt31 0 -52(SIGHUP)m 
4529 grestore
4530 4817(will)s
4531 5243(be)s 5525(de)s 5747(li)s 6(v)k 5988(ered)s
4532 240 fnt83 6457 10304(be)m 6676(for)s 8(e)k 240 fnt82
4533 7106 10302(the)m 7454(writ)s 7838(ing)s 8197(end\(s\))s 8843(of)s
4534 480 10062(the)m 818(ser)s 1096(vice')s 13(s)k 1694(read)s
4535 2103(ing)s 2452(pipe\(s\))s 3154(are)s 3491(closed,)s 4199(so)s
4536 4455(that)s 4863(the)s 5201(client)s 5781(can)s 6160(dis)s
4537 6430(tin)s 6679(guish)s 7245(dis)s 7515(con)s 7858(nec)s
4538 8183(tion)s 8602(from)s 480 9822(read)m 889(ing)s 1248(EOF)s
4539 1758(on)s 2055(a)s 2221(pipe.)s gsave
4540 120 9482 translate
4541 0.6953 1.0000 scale
4542 240 fnt31 0 -52(reset)m
4543
4544 grestore
4545 480 9188(Resets)m 1155(the)s 1503(e)s 3(x)k 3(ecution)k
4546 2484(settings)s 3265(to)s 3504(the)s 3852(def)s 2(ault.)k
4547 4617(This)s 5093(is)s 5303(equi)s 6(v)k 6(alent)k
4548 6347(to:)s gsave
4549 960 9002 translate
4550 0.6953 1.0000 scale
4551 240 fnt31 0 -52(cd)m 432(~/)s 0 -292(reject)m
4552 0 -532(no\211set\211environment)m 0 -772(suppress\211args)m 0 -1012(allow\211fd)m 1296(0)s 1584(read)s
4553 0 -1252(allow\211fd)m 1296(1\2112)s 1872(write)s 0 -1492(reject\211fd)m 1440(3\211)s
4554 0 -1732(disconnect\211hup)m 
4555 grestore
4556 0 7025(If)m 230(no)s gsave
4557 523 7079 translate
4558 0.6953 1.0000 scale
4559 240 fnt31 0 -52(execute)m
4560
4561 grestore
4562 1223(,)s gsave
4563 1330 7079 translate
4564 0.6953 1.0000 scale
4565 240 fnt31 0 -52(execute\211from\211path)m 
4566 grestore
4567 3032(,)s gsave
4568 3139 7079 translate
4569 0.6953 1.0000 scale
4570 240 fnt31
4571 0 -52(execute\211from\211directory)m 
4572 grestore
4573 5401(or)s gsave
4574 5660 7079 translate
4575 0.6953 1.0000 scale
4576 240 fnt31 0 -52(builtin)m 
4577 grestore
4578 6420(is)s
4579 6630(interpreted)s 7722(before)s 8388(all)s 8681(the)s 0 6785(\207les)m
4580 449(are)s 796(read)s 1265(then)s 1734(the)s 2082(request)s
4581 2832(is)s 3042(rejected.)s 9066 670 0 670 240 240 60 0 5761 LoutGr2
4582 newpath 0 ysize 0.3 ft sub moveto
4583 xsize 0 rlineto
4584 0 0.1 ft rlineto
4585 xsize neg 0 rlineto
4586 closepath fill
4587 grestore
4588 320 fnt84 0 66(4.3.)m 628(Err)s 5(ors)k
4589 1618(in)s 1958(the)s 2458(con\207guration)s 4359(\207le)s 
4590 grestore
4591 0 5299(If)m
4592 230(a)s 396(syntax)s 1076(error)s 1599(or)s 1858(other)s
4593 2409(problem)s 3266(occurs)s 3941(when)s 4517(processing)s 5593(a)s
4594 5759(con\207guration)s 7092(\207le)s 7453(then)s 7922(a)s 8088(diagnostic)s
4595 0 5059(will)m 422(be)s 699(issued,)s 1399(to)s 1633(where)s 6(v)k 3(er)k
4596 2568(the)s 2911(error)s 3429(messages)s 4378(are)s 4721(currently)s
4597 5632(being)s 6212(sent)s 6652(\(see)s 7087(the)s gsave
4598 7430 5113 translate
4599 0.6953 1.0000 scale
4600 240 fnt31
4601 0 -52(errors\211)m 
4602 grestore
4603 8185(f)s 2(amily)k 8855(of)s 0 4819(directi)m 6(v)k 3(es,)k
4604 1026(abo)s 3(v)k 3(e\).)k 0 4411(The)m 428(error)s
4605 951(will)s 1377(cause)s 1964(processing)s 3040(of)s 3311(the)s
4606 3659(con\207guration)s 4992(\207les)s 5441(to)s 5680(cease)s 6253(at)s
4607 6485(that)s 6903(point,)s 7502(unless)s 8151(the)s 8499(error)s
4608 0 4171(w)m 2(as)k 421(inside)s 1048(a)s gsave
4609 1214 4225 translate
4610 0.6953 1.0000 scale
4611 240 fnt31
4612 0 -52(catch\211quit)m 
4613 grestore
4614 2275(construct.)s 3255(In)s 3511(this)s 3907(case)s
4615 4374(the)s 4722(settings)s 5503(controlling)s 6605(the)s 6953(program')s 13(s)k
4616 7973(e)s 3(x)k 3(ecution)k 0 3931(will)m 426(be)s
4617 708(reset)s 1218(to)s 1457(the)s 1805(def)s 2(aults)k
4618 2610(as)s 2860(if)s 3077(a)s gsave
4619 3243 3985 translate
4620 0.6953 1.0000 scale
4621 240 fnt31 0 -52(reset)m
4622
4623 grestore
4624 3803(directi)s 6(v)k 3(e)k 4685(had)s 5089(been)s
4625 5598(issued,)s 6303(and)s 6707(parsing)s 7464(continues)s 8432(after)s
4626 gsave
4627 0 3745 translate
4628 0.6953 1.0000 scale
4629 240 fnt31 0 -52(hctac)m 
4630 grestore
4631 500 3691(.)m 9066 609 0 609 240 240 60 0 2728 LoutGr2
4632 newpath 0 ysize 0.3 ft sub moveto
4633 xsize 0 rlineto
4634 0 0.1 ft rlineto
4635 xsize neg 0 rlineto
4636 closepath fill
4637 grestore
4638 320 fnt84 0 5(4.4.)m
4639 628(Defaults)s 
4640 grestore
4641 0 2266(The)m 428(def)s 2(ault)k 1149(con\207guration)s
4642 2482(processing)s 3558(is)s 3768(as)s 4018(if)s 4235(the)s
4643 4583(daemon)s 5398(were)s 5918(parsing)s 6675(an)s 6958(o)s 3(v)k 3(erall)k
4644 7670(con\207guration)s 0 2026(\207le)m 361(whose)s 1029(contents)s 1877(were)s
4645 2397(as)s 2647(follo)s 6(ws:)k 0 52(0.62)m 4809(User)s
4646 5320(service)s 6052(daemon)s 6867(and)s 7271(client)s 7861(speci\207cation)s
4647
4648 grestore
4649
4650 grestore
4651
4652 pgsave restore
4653 showpage
4654
4655 %%Page: 17 17
4656 %%BeginPageSetup
4657 %%PageResources: font Times-Roman
4658 %%+ font Times-Bold
4659 %%+ font Courier-Bold
4660 %%+ font Times-Italic
4661 /pgsave save def
4662 0.0500 dup scale 10 setlinewidth
4663 %%EndPageSetup
4664 gsave
4665 0 0 translate
4666 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
4667 gsave
4668 LoutPageSet
4669 grestore
4670 gsave
4671 0 16840 translate
4672 0.0000 rotate
4673
4674 grestore
4675
4676 grestore
4677 gsave
4678 0 16840 translate
4679 0.0000 rotate
4680 gsave
4681 1417 -15423 translate
4682 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
4683 gsave
4684 1 LoutMargSet
4685 grestore
4686 240 fnt84 8831 13842(17)m gsave
4687 480 13335 translate
4688 0.6953 1.0000 scale
4689 240 fnt31 0 -52(reset)m 0 -292(user\211rcfile)m
4690 1728(~/.userv/rc)s 0 -532(errors\211to\211stderr)m 0 -772(include)m 1152(/etc/userv/system.default)s 0 -1012(if)m
4691 432(grep)s 1152(service\211user\211shell)s 3888(/etc/shells)s 432 -1252(errors\211push)m 720 -1492(catch\211quit)m
4692 1008 -1732(include\211ifexist)m gsave
4693 3312 -1680 translate
4694 1.4219 1.0000 scale
4695 240 fnt83 0 -52(\207le)m 345(speci\207ed)s 1248(by)s
4696 1530(most)s 2046(r)s 8(ecent)k 2699(user\211r)s 8(c\207le)k
4697 3767(dir)s 8(ective)k 
4698 grestore
4699 720 -1972(hctac)m 432 -2212(srorre)m 0 -2452(fi)m
4700 0 -2692(include)m 1152(/etc/userv/system.override)s 0 -2932(quit)m 
4701 grestore
4702 240 fnt82 0 9859(If)m
4703 226(one)s 624(of)s 891(the)s gsave
4704 1235 9913 translate
4705 0.6953 1.0000 scale
4706 240 fnt31 0 -52(\211\211override)m
4707
4708 grestore
4709 2292(options)s 3044(to)s 3279(the)s 3623(client)s 4209(is)s
4710 4415(used)s 4908(then)s 5373(it)s 5561(will)s 5983(instead)s
4711 6714(be)s 6992(as)s 7238(if)s 7451(the)s 7795(daemon)s
4712 8606(were)s 0 9619(parsing)m 757(an)s 1040(o)s 3(v)k 3(erall)k
4713 1752(con\207guration)s 3085(as)s 3335(follo)s 6(ws:)k gsave
4714 480 9433 translate
4715 0.6953 1.0000 scale
4716 240 fnt31
4717 0 -52(reset)m 0 -292(errors\211to\211stderr)m 0 -532(include)m gsave
4718 1152 -480 translate
4719 1.4219 1.0000 scale
4720 240 fnt83 0 -52(\207le)m
4721 345(containing)s 1423(con\207gur)s 3(ation)k 2765(data)s 3246(sent)s
4722 3695(by)s 3977(client)s 
4723 grestore
4724 0 -772(quit)m 
4725 grestore
4726 0 52(User)m 511(service)s
4727 1243(daemon)s 2058(and)s 2462(client)s 3052(speci\207cation)s 8652(0.62)s
4728
4729 grestore
4730
4731 grestore
4732
4733 pgsave restore
4734 showpage
4735
4736 %%Page: 18 18
4737 %%BeginPageSetup
4738 %%PageResources: font Times-Roman
4739 %%+ font Times-Bold
4740 %%+ font Courier-Bold
4741 /pgsave save def
4742 0.0500 dup scale 10 setlinewidth
4743 %%EndPageSetup
4744 gsave
4745 0 0 translate
4746 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
4747 gsave
4748 LoutPageSet
4749 grestore
4750 gsave
4751 0 16840 translate
4752 0.0000 rotate
4753
4754 grestore
4755
4756 grestore
4757 gsave
4758 0 16840 translate
4759 0.0000 rotate
4760 gsave
4761 1417 -15423 translate
4762 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
4763 gsave
4764 0 LoutMargSet
4765 grestore
4766 240 fnt84 0 13842(18)m gsave
4767 0 12726 translate
4768 240 fnt82 9066 688 0 688 240 240 60 LoutGraphic
4769 gsave
4770 newpath 0 ysize 0.3 ft sub moveto
4771 xsize 0 rlineto
4772 0 0.2 ft rlineto
4773 xsize neg 0 rlineto
4774 closepath fill
4775 grestore
4776 340 fnt84 0 70(5.)m 412(Inf)s 8(ormation)k
4777 2257(passed)s 3297(thr)s 6(ough)k 4539(the)s 5070(client/daemon)s
4778 7185(combination)s 
4779 grestore
4780 240 fnt82 0 12264(The)m 428(information)s 1613(described)s
4781 2587(belo)s 6(w)k 3220(is)s 3430(the)s 3778(only)s
4782 4258(information)s 5443(which)s 6085(passes)s 6747(between)s 7601(the)s
4783 7949(caller)s 8538(and)s 0 12024(the)m 348(service.)s 0 11616(\213)m
4784 480(The)s 908(service)s 1640(name)s 2214(supplied)s 3083(by)s
4785 3377(the)s 3725(caller)s 4314(is)s 4524(a)s 4(v)k 6(ailable)k
4786 5432(in)s 5675(the)s 6023(con\207guration)s 7356(language)s 8276(for)s
4787 480 11376(deciding)m 1343(whether)s 2158(and)s 2547(which)s 3175(service)s
4788 3892(program)s 4747(to)s 4971(in)s 9(v)k 4(ok)k 2(e,)k
4789 5701(in)s 5929(the)s gsave
4790 6262 11430 translate
4791 0.6953 1.0000 scale
4792 240 fnt31 0 -52(service)m 
4793 grestore
4794 7008(parameter)s 9(,)k
4795 8045(and)s 8434(is)s 8629(used)s 480 11136(by)m 774(the)s
4796 gsave
4797 1122 11190 translate
4798 0.6953 1.0000 scale
4799 240 fnt31 0 -52(execute\211from\211directory)m 
4800 grestore
4801 3384(and)s gsave
4802 3788 11190 translate
4803 0.6953 1.0000 scale
4804 240 fnt31 0 -52(execute\211from\211path)m
4805
4806 grestore
4807 5550(con\207guration)s 6883(directi)s 6(v)k 3(es.)k 7906(It)s
4808 8111(is)s 8321(usually)s 480 10896(used)m 977(to)s 1216(select)s
4809 1819(which)s 2461(service)s 3193(program)s 4063(to)s 4302(in)s 9(v)k 4(ok)k 2(e.)k
4810 5043(It)s 5248(is)s 5458(also)s 5896(passed)s 6592(to)s
4811 6831(the)s 7179(service)s 7911(program)s 8781(in)s 480 10656(the)m
4812 gsave
4813 828 10710 translate
4814 0.6953 1.0000 scale
4815 240 fnt31 0 -52(USERV_SERVICE)m 
4816 grestore
4817 2189(en)s 9(vironment)k 3449(v)s 6(ariable.)k
4818 0 10225(\213)m 480(File)s 902(descriptors)s 1995(speci\207ed)s 2897(by)s
4819 3185(the)s 3528(client)s 4112(and)s 4510(allo)s 6(wed)k
4820 5313(according)s 6304(to)s 6537(the)s 6879(con\207guration)s 8206(language)s
4821 480 9985(will)m 906(be)s 1188(connected.)s 2262(Each)s 2797(\207le)s
4822 3158(descriptor)s 4173(is)s 4383(opened)s 5133(for)s 5471(reading)s
4823 6241(or)s 6500(writing.)s 7294(Communication)s 8893(is)s 480 9745(via)m
4824 832(pipes,)s 1444(one)s 1846(end)s 2250(of)s 2521(each)s
4825 3016(pipe)s 3484(being)s 4069(open)s 4592(on)s 4889(the)s
4826 5237(appropriate)s 6381(\207le)s 6742(descriptor)s 7757(in)s 8000(the)s
4827 8348(service)s 480 9505(program)m 1347(\(when)s 1999(it)s 2188(is)s
4828 2394(in)s 9(v)k 4(ok)k 2(ed\))k 3276(and)s
4829 3677(the)s 4022(other)s 4569(end)s 4970(being)s 5552(held)s
4830 6019(by)s 6309(the)s 6654(client)s 7241(process,)s 8062(which)s
4831 8700(will)s 480 9265(read)m 942(and)s 1339(write)s 1878(\207les)s
4832 2320(it)s 2505(opens)s 3108(on)s 3398(behalf)s 4060(of)s
4833 4324(its)s 4593(caller)s 5175(or)s 5427(\207le)s 5781(descriptors)s
4834 6873(it)s 7058(is)s 7261(passed)s 7950(by)s 8237(its)s
4835 8506(caller)s 13(.)k 480 9025(Data)m 991(may)s 1457(be)s
4836 1739(passed)s 2435(into)s 2860(the)s 3208(service)s 3940(through)s
4837 4742(reading)s 5512(pipes)s 6068(and)s 6472(out)s 6838(of)s
4838 7109(it)s 7301(through)s 8103(writing)s 480 8785(pipes.)m 1083(These)s
4839 1703(pipes)s 2252(can)s 2634(remain)s 3347(open)s 3864(only)s
4840 4337(until)s 4823(the)s 5164(service)s 5889(and)s 6287(client)s
4841 6870(ha)s 4(v)k 3(e)k 7364(terminated,)s 8485(or)s
4842 8737(can)s 480 8545(be)m 762(made)s 1336(to)s 1575(stay)s
4843 2014(open)s 2537(after)s 3033(the)s 3381(client)s 3971(has)s
4844 4341(terminated)s 5420(and)s 5824(\(if)s 6120(the)s 6468(service)s
4845 7200(program)s 8070(forks\))s 8689(the)s 480 8305(main)m 998(service)s
4846 1712(process)s 2462(has)s 2814(e)s 3(xited;)k 3489(the)s
4847 3820(beha)s 4(viour)k 4815(is)s 5007(controlled)s 6016(by)s
4848 6292(options)s 7031(passed)s 7709(to)s 7930(the)s 8260(client)s
4849 8832(by)s 480 8065(its)m 751(caller)s 13(.)k 1426(The)s
4850 1848(caller)s 2432(can)s 2816(arrange)s 3582(that)s 3995(a)s
4851 4156(writing)s 4893(pipe)s 5356(be)s 5633(connected)s 6655(to)s
4852 6889(a)s 7050(pipe)s 7512(or)s 7766(similar)s 8482(object)s
4853 480 7825(and)m 884(cause)s 1471(attempts)s 2331(to)s 2570(write)s
4854 3116(to)s 3355(that)s 3773(descriptor)s 4788(by)s 5082(the)s
4855 5430(service)s 6162(to)s 6401(generate)s 7266(a)s gsave
4856 7432 7879 translate
4857 0.6953 1.0000 scale
4858 240 fnt31
4859 0 -52(SIGPIPE)m 
4860 grestore
4861 8192(\(or)s gsave
4862 8530 7879 translate
4863 0.6953 1.0000 scale
4864 240 fnt31 0 -52(EPIPE)m 
4865 grestore
4866 480 7585(if)m
4867 gsave
4868 684 7639 translate
4869 0.6953 1.0000 scale
4870 240 fnt31 0 -52(SIGPIPE)m 
4871 grestore
4872 1431(is)s 1628(caught)s 2313(or)s
4873 2559(ignored\))s 3405(in)s 3635(the)s 3970(service.)s 4797(Lik)s 2(e)k 6(wise,)k
4874 5759(the)s 6094(service)s 6813(can)s 7189(close)s 7722(\207ledescriptors)s
4875 480 7345(speci\207ed)m 1373(for)s 1696(reading,)s 2505(which)s 3132(will)s
4876 3543(cause)s 4115(the)s 4448(corresponding)s 5855(\207ledescriptors)s 7244(passed)s
4877 7925(by)s 8204(the)s 8537(caller)s 480 7105(to)m 716(be)s
4878 995(closed,)s 1709(so)s 1972(that)s 2387(if)s 2600(these)s
4879 3144(are)s 3488(pipes)s 4040(processes)s 5004(which)s 5643(write)s
4880 6185(to)s 6421(them)s 6956(will)s 7378(recei)s 6(v)k 3(e)k
4881 gsave
4882 8111 7159 translate
4883 0.6953 1.0000 scale
4884 240 fnt31 0 -52(SIGPIPE)m 
4885 grestore
4886 8867(or)s gsave
4887 480 6919 translate
4888 0.6953 1.0000 scale
4889 240 fnt31 0 -52(EPIPE)m
4890
4891 grestore
4892 980 6865(.)m 0 6460(\213)m 480(If)s gsave
4893 706 6514 translate
4894 0.6953 1.0000 scale
4895 240 fnt31 0 -52(no\211suppress\211args)m
4896
4897 grestore
4898 2363(is)s 2568(set)s 2888(then)s 3353(ar)s 4(guments)k
4899 4391(passed)s 5082(to)s 5316(the)s 5660(client)s 6245(by)s
4900 6534(its)s 6805(caller)s 7390(will)s 7811(be)s 8088(passed)s
4901 8779(on,)s 480 6220(v)m 3(erbatim,)k 1433(to)s 1672(the)s
4902 2020(service.)s 0 5784(\213)m 480(F)s 3(a)k 716(tal)s
4903 1009(sig)s 1281(nals)s 1717(and)s 2121(sys)s 2418(tem)s
4904 2836(call)s 3235(f)s 2(ail)k 3545(ures)s 3994(e)s 3(x)k
4905 4212(pe)s 4434(ri)s 4573(enced)s 5189(by)s 5483(the)s
4906 5831(client)s 6421(will)s 6847(re)s 7028(sult)s 7433(in)s
4907 7676(the)s 8024(dis)s 8294(con)s 8637(nec)s 8962(-)s
4908 480 5544(tion)m 909(of)s 1180(the)s 1528(ser)s 1806(vice)s
4909 2260(from)s 2784(the)s 3132(client)s 3722(and)s 4126(pos)s
4910 4450(si)s 4603(bly)s 4963(some)s 5524(of)s 5795(the)s
4911 6143(com)s 6555(mu)s 6856(ni)s 7036(ca)s 7248(tion)s
4912 7677(\207le)s 8038(de)s 8260(scrip)s 8717(tors)s 480 5304(de)m
4913 702(scribed)s 1450(abo)s 3(v)k 3(e;)k 2128(if)s
4914 gsave
4915 2345 5358 translate
4916 0.6953 1.0000 scale
4917 240 fnt31 0 -52(disconnect\211hup)m 
4918 grestore
4919 3806(is)s 4016(set)s 4341(then)s
4920 4810(the)s 5158(ser)s 5436(vice)s 5890(will)s 6316(also)s
4921 6754(be)s 7036(sent)s 7481(a)s gsave
4922 7647 5358 translate
4923 0.6953 1.0000 scale
4924 240 fnt31 0 -52(SIGHUP)m
4925
4926 grestore
4927 8247(.)s 0 4868(\213)m 480(The)s 908(v)s 6(alue)k
4928 1476(of)s 1747(the)s gsave
4929 2095 4922 translate
4930 0.6953 1.0000 scale
4931 240 fnt31 0 -52(LOGNAME)m 
4932 grestore
4933 2855(\(or)s
4934 gsave
4935 3193 4922 translate
4936 0.6953 1.0000 scale
4937 240 fnt31 0 -52(USER)m 
4938 grestore
4939 3593(\))s 3721(en)s 9(vironment)k
4940 4981(v)s 6(ariable)k 5800(as)s 6050(passed)s 6746(to)s
4941 6985(the)s 7333(client)s 7923(will)s 8349(be)s 480 4628(used)m
4942 977(as)s 1227(the)s 1575(login)s 2124(name)s 2698(of)s
4943 2969(the)s 3317(calling)s 4020(user)s 4478(if)s 4695(the)s
4944 5043(uid)s 5407(of)s 5678(the)s 6026(calling)s 6729(process)s
4945 7497(matches)s 8331(the)s 8679(uid)s 480 4388(corresponding)m 1902(to)s
4946 2141(that)s 2559(login)s 3108(name.)s 3730(Otherwise)s 4768(the)s
4947 5116(calling)s 5819(uid')s 13(s)k 6335(passw)s 2(ord)k
4948 7295(entry)s 7840(will)s 8266(be)s 8548(used)s 480 4148(to)m
4949 708(determine)s 1708(the)s 2045(calling)s 2737(user')s 13(s)k
4950 3334(login)s 3872(name.)s 4543(This)s 5007(login)s 5545(name)s
4951 6108(and)s 6501(the)s 6838(calling)s 7530(uid)s 7883(are)s
4952 8218(a)s 4(v)k 6(ailable)k 480 3908(in)m 723(the)s
4953 1071(con\207guration)s 2404(language)s 3324(in)s 3567(the)s gsave
4954 3915 3962 translate
4955 0.6953 1.0000 scale
4956 240 fnt31
4957 0 -52(calling\211user)m 
4958 grestore
4959 5176(parameter)s 6190(and)s 6594(are)s 6941(passed)s
4960 7637(to)s 7876(the)s 8224(service)s 480 3668(program)m 1334(in)s
4961 1561(en)s 9(vironment)k 2805(v)s 6(ariables)k gsave
4962 3696 3722 translate
4963 0.6953 1.0000 scale
4964 240 fnt31
4965 0 -52(USERV_USER)m 
4966 grestore
4967 4741(and)s gsave
4968 5129 3722 translate
4969 0.6953 1.0000 scale
4970 240 fnt31 0 -52(USERV_UID)m 
4971 grestore
4972 6030(.)s
4973 6178(The)s 6590(shell)s 7080(corresponding)s 8486(to)s 8708(that)s
4974 480 3428(login)m 1023(name)s 1591(\(according)s 2659(to)s 2892(the)s
4975 3233(passw)s 2(ord)k 4187(entry\))s 4799(is)s 5003(a)s 4(v)k 6(ailable)k
4976 5904(as)s 6148(in)s 6384(the)s 6726(con\207guration)s 8052(language')s 13(s)k
4977 gsave
4978 480 3242 translate
4979 0.6953 1.0000 scale
4980 240 fnt31 0 -52(calling\211user\211shell)m 
4981 grestore
4982 2342 3188(parameter)m 13(.)k 3447(If)s
4983 3677(no)s 3970(rele)s 6(v)k 6(ant)k 4787(passw)s 2(ord)k
4984 5747(entry)s 6292(can)s 6681(be)s 6963(found)s 7580(then)s
4985 8049(no)s 8342(service)s 480 2948(will)m 906(be)s 1188(in)s 9(v)k 4(ok)k 2(ed.)k
4986 0 2542(\213)m 480(The)s 908(numeric)s 1744(v)s 6(alues)k
4987 2400(and)s 2804(te)s 3(xtual)k 3506(names)s 4168(for)s
4988 4506(calling)s 5209(gid)s 5573(and)s 5977(supplementary)s 7439(group)s
4989 8051(list)s 8402(are)s 480 2302(a)m 4(v)k 6(ailable)k
4990 1380(in)s 1615(the)s 1955(con\207guration)s 3280(language)s 4192(in)s
4991 4427(the)s gsave
4992 4766 2356 translate
4993 0.6953 1.0000 scale
4994 240 fnt31 0 -52(calling\211group)m 
4995 grestore
4996 6119(parameter)s 7125(and)s
4997 7521(are)s 7860(passed)s 8548(to)s 8778(the)s 480 2062(service)m
4998 1212(in)s 1455(en)s 9(vironment)k 2715(v)s 6(ariables.)k
4999 3735(If)s 3965(no)s 4258(name)s 4832(can)s 5221(be)s
5000 5503(found)s 6120(for)s 6458(a)s 6624(numeric)s 7460(group)s
5001 8072(to)s 8311(which)s 480 1822(the)m 828(calling)s 1531(process)s
5002 2299(belongs)s 3095(then)s 3564(no)s 3857(service)s 4589(will)s
5003 5015(be)s 5297(in)s 9(v)k 4(ok)k 2(ed.)k
5004 0 1367(\213)m 480(The)s 908(name)s 1482(of)s 1753(the)s
5005 2101(current)s 2837(w)s 2(orking)k 3686(directory)s 4602(in)s
5006 4845(which)s 5487(the)s 5835(client)s 6425(w)s 2(as)k
5007 6846(in)s 9(v)k 4(ok)k 2(ed)k 7661(is)s
5008 7871(passed,)s 8616(if)s 480 1127(a)m 4(v)k 6(ailable)k
5009 1388(and)s 1792(not)s 2158(hidden)s 2867(using)s gsave
5010 3439 1181 translate
5011 0.6953 1.0000 scale
5012 240 fnt31
5013 0 -52(\211\211hidecwd)m 
5014 grestore
5015 4340(,)s 4447(to)s 4686(the)s 5034(service)s
5016 5766(program)s 6636(in)s 6879(the)s gsave
5017 7227 1181 translate
5018 0.6953 1.0000 scale
5019 240 fnt31 0 -52(USERV_CWD)m
5020
5021 grestore
5022 8188(v)s 6(ariable.)k 480 887(This)m 946(grants)s 1570(no)s
5023 1852(special)s 2560(access)s 3210(to)s 3438(that)s 3846(directory)s
5024 4751(unless)s 5389(it)s 5571(is)s 5770(a)s 5925(subdirectory)s
5025 7164(of)s 7424(a)s 7579(directory)s 8484(which)s 0 52(0.62)m
5026 4809(User)s 5320(service)s 6052(daemon)s 6867(and)s 7271(client)s
5027 7861(speci\207cation)s 
5028 grestore
5029
5030 grestore
5031
5032 pgsave restore
5033 showpage
5034
5035 %%Page: 19 19
5036 %%BeginPageSetup
5037 %%PageResources: font Times-Roman
5038 %%+ font Times-Bold
5039 %%+ font Courier-Bold
5040 %%+ font Times-Italic
5041 /pgsave save def
5042 0.0500 dup scale 10 setlinewidth
5043 %%EndPageSetup
5044 gsave
5045 0 0 translate
5046 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
5047 gsave
5048 LoutPageSet
5049 grestore
5050 gsave
5051 0 16840 translate
5052 0.0000 rotate
5053
5054 grestore
5055
5056 grestore
5057 gsave
5058 0 16840 translate
5059 0.0000 rotate
5060 gsave
5061 1417 -15423 translate
5062 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
5063 gsave
5064 1 LoutMargSet
5065 grestore
5066 240 fnt84 8832 13842(19)m 240 fnt82 480 13251(is)m 690(e)s 3(x)k 3(ecutable)k
5067 1762(\(searchable\))s 2977(b)s 4(ut)k 3339(not)s 3705(readable)s
5068 4570(by)s 4864(the)s 5212(service)s 5944(user)s 13(.)k
5069 0 12794(\213)m 480(Settings)s 1301(speci\207ed)s 2209(by)s 2503(the)s
5070 2851(caller)s 3440(using)s 4012(the)s gsave
5071 4360 12848 translate
5072 0.6953 1.0000 scale
5073 240 fnt31 0 -52(\211\211defvar)m
5074 gsave
5075 1295 0 translate
5076 1.4219 1.0000 scale
5077 240 fnt83 0 -52(name)m 
5078 grestore
5079 2023(=)s gsave
5080 2167 0 translate
5081 1.4219 1.0000 scale
5082 240 fnt83 0 -52(value)m
5083
5084 grestore
5085
5086 grestore
5087 6432(option)s 7101(to)s 7340(the)s 7688(client)s 8278(are)s
5088 480 12554(a)m 4(v)k 6(ailable)k 1388(in)s 1631(the)s
5089 1979(con\207guration)s 3312(language)s 4232(as)s 4482(the)s 4830(corresponding)s
5090 gsave
5091 6252 12608 translate
5092 0.6953 1.0000 scale
5093 240 fnt31 0 -52(u\211)m gsave
5094 288 0 translate
5095 1.4219 1.0000 scale
5096 240 fnt83 0 -52(name)m 
5097 grestore
5098
5099 grestore
5100 7018(parameters)s
5101 8116(and)s 8520(are)s 480 12314(passed)m 1176(to)s 1415(the)s
5102 1763(service)s 2495(program)s 3365(in)s 3608(en)s 9(vironment)k
5103 4868(v)s 6(ariables)k gsave
5104 5775 12368 translate
5105 0.6953 1.0000 scale
5106 240 fnt31 0 -52(USERV_U_)m gsave
5107 1152 0 translate
5108 1.4219 1.0000 scale
5109 240 fnt83
5110 0 -52(name)m 
5111 grestore
5112
5113 grestore
5114 7082(.)s 0 11859(\213)m 480(If)s 710(the)s
5115 1058(calling)s 1761(user)s 2219(is)s 2429(root)s 2874(or)s
5116 3133(the)s 3481(same)s 4028(as)s 4278(the)s 4626(service)s
5117 5358(user)s 5816(then)s 6285(options)s 7041(may)s 7507(be)s
5118 7789(gi)s 6(v)k 3(en)k 8369(to)s 8608(the)s
5119 480 11619(client)m 1070(which)s 1712(bypass)s 2415(the)s 2763(usual)s
5120 3323(security)s 4133(features;)s 5000(in)s 5243(this)s 5639(case)s
5121 6106(other)s 6657(information)s 7842(may)s 8308(pass)s 480 11379(between)m
5122 1334(the)s 1682(caller)s 2271(and)s 2675(the)s 3023(service.)s
5123 0 52(User)m 511(service)s 1243(daemon)s 2058(and)s 2462(client)s
5124 3052(speci\207cation)s 8652(0.62)s 
5125 grestore
5126
5127 grestore
5128
5129 pgsave restore
5130 showpage
5131
5132 %%Page: 20 20
5133 %%BeginPageSetup
5134 %%PageResources: font Times-Roman
5135 %%+ font Times-Bold
5136 %%+ font Courier-Bold
5137 %%+ font Times-Italic
5138 /pgsave save def
5139 0.0500 dup scale 10 setlinewidth
5140 %%EndPageSetup
5141 gsave
5142 0 0 translate
5143 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
5144 gsave
5145 LoutPageSet
5146 grestore
5147 gsave
5148 0 16840 translate
5149 0.0000 rotate
5150
5151 grestore
5152
5153 grestore
5154 gsave
5155 0 16840 translate
5156 0.0000 rotate
5157 gsave
5158 1417 -15423 translate
5159 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
5160 gsave
5161 0 LoutMargSet
5162 grestore
5163 240 fnt84 0 13842(20)m gsave
5164 0 12727 translate
5165 240 fnt82 9066 687 0 687 240 240 60 LoutGraphic
5166 gsave
5167 newpath 0 ysize 0.3 ft sub moveto
5168 xsize 0 rlineto
5169 0 0.2 ft rlineto
5170 xsize neg 0 rlineto
5171 closepath fill
5172 grestore
5173 340 fnt84 0 69(6.)m 412(A)s 8(pplications)k
5174 2309(and)s 2935(notes)s 3765(on)s 4204(use)s 
5175 grestore
5176 gsave
5177 0 11649 translate
5178 240 fnt82 9066 670 0 670 240 240 60 LoutGraphic
5179 gsave
5180 newpath 0 ysize 0.3 ft sub moveto
5181 xsize 0 rlineto
5182 0 0.1 ft rlineto
5183 xsize neg 0 rlineto
5184 closepath fill
5185 grestore
5186 320 fnt84
5187 0 66(6.1.)m 628(Standard)s 1977(ser)s 3(vices)k 3110(and)s
5188 3697(dir)s 5(ectory)k 5025(management)s 
5189 grestore
5190 240 fnt82 0 11187(In)m
5191 250(later)s 726(v)s 3(ersions)k 1565(of)s 1829(this)s
5192 2219(speci\207cation)s 3477(standard)s 4339(service)s 5064(names)s 5720(and)s
5193 6117(interf)s 2(aces)k 7087(for)s 7418(common)s 8306(services)s
5194 0 10947(such)m 496(as)s 746(mail)s 1225(deli)s 6(v)k 3(ery)k
5195 2053(and)s 2457(WWW)s 3193(CGI)s 3661(scripts)s 4335(will)s
5196 4761(be)s 5043(speci\207ed.)s gsave
5197 0 10593 translate
5198 0.6953 1.0000 scale
5199 240 fnt31 0 -52(userv)m 
5200 grestore
5201 500 10539(-us)m
5202 783(ing)s 1142(ap)s 1361(pli)s 1607(ca)s 1819(tions)s
5203 2335(and)s 2739(sys)s 3036(tem)s 3454(ser)s 3732(vices)s
5204 4274(which)s 4916(hide)s gsave
5205 5384 10593 translate
5206 0.6953 1.0000 scale
5207 240 fnt31 0 -52(userv)m 
5208 grestore
5209 5944(be)s
5210 6166(hind)s 6650(wrap)s 7121(per)s 7486(scripts)s 8160(may)s
5211 0 10299(need)m 510(to)s 749(store)s 1269(in)s 1452(for)s
5212 1730(ma)s 2022(tion)s 2451(in)s 2694(the)s 3042(user')s 13(s)k
5213 3650(\207lespace)s 4542(to)s 4781(pre)s 5082(serv)s 3(e)k
5214 5639(the)s 5987(cor)s 6292(rect)s 6709(place)s 7209(ment)s
5215 7747(of)s 8018(the)s 8366(se)s 8561(-)s 0 10059(cu)m
5216 221(ri)s 360(ty)s 600(perim)s 1157(iters.)s 1671(Such)s
5217 2207(ap)s 2426(pli)s 2672(ca)s 2884(tions)s 3400(should)s
5218 4097(usu)s 4425(al)s 4592(ly)s 4832(do)s 5125(so)s
5219 5391(in)s 5634(a)s 5800(di)s 5980(rec)s 6264(to)s
5220 6443(ry)s 6696(\(cre)s 7062(at)s 7234(ed)s 7518(by)s
5221 7812(them\))s gsave
5222 0 9873 translate
5223 0.6953 1.0000 scale
5224 240 fnt31 0 -52(~/.userv/.servdata/)m gsave
5225 2736 0 translate
5226 1.4219 1.0000 scale
5227 240 fnt83 0 -52(service)m
5228
5229 grestore
5230
5231 grestore
5232 2563 9819(,)m 2670(where)s 240 fnt83 3310 9821(ser)m 3607(vice)s
5233 240 fnt82 4044 9819(is)m 4254(the)s 4602(ser)s 4880(vice)s
5234 5334(name)s 5908(or)s 6167(ap)s 6386(pli)s 6632(ca)s
5235 6844(tion)s 7273(in)s 7516(ques)s 7946(tion.)s 0 9411(The)m
5236 428(use)s 803(of)s 1074(a)s 1240(dot-directory)s 2541(inside)s
5237 gsave
5238 3168 9465 translate
5239 0.6953 1.0000 scale
5240 240 fnt31 0 -52(~/.userv)m 
5241 grestore
5242 4029(will)s 4455(hopefully)s 5426(a)s 4(v)k 4(oid)k
5243 6008(the)s 6356(user)s 6814(becoming)s 7811(confused)s 0 9171(by)m
5244 294(\207nding)s 1026(parts)s 1541(of)s 1812(a)s 1978(semi-pri)s 6(vile)k 3(ged)k
5245 3526(application')s 13(s)k 4798(internal)s 5582(state)s 6075(in)s
5246 6318(their)s 6815(\207lespace,)s 7758(and)s 8162(or)s 0 8931(discourage)m
5247 1092(them)s 1630(from)s 2154(\207ddling)s 2952(with)s 3434(and)s
5248 3838(thus)s 4288(corrupting)s 5337(it.)s 5573(\(Note)s 6173(that)s
5249 6591(such)s 7087(applications)s 8293(should)s 0 8691(of)m 271(course)s
5250 951(not)s 1317(rely)s 1742(for)s 2080(their)s 2577(global)s
5251 3230(inte)s 3(grity)k 4090(on)s 4387(the)s 4735(inte)s 3(grity)k
5252 5595(of)s 5866(the)s 6214(data)s 6672(on)s 6969(the)s
5253 7317(user')s 13(s)k 7925(side)s 8366(of)s 8637(the)s
5254 0 8451(security)m 810(boundary)s 15(.\))k 9066 670 0 670 240 240 60 0 7427 LoutGr2
5255 newpath 0 ysize 0.3 ft sub moveto
5256 xsize 0 rlineto
5257 0 0.1 ft rlineto
5258 xsize neg 0 rlineto
5259 closepath fill
5260 grestore
5261 320 fnt84 0 66(6.2.)m
5262 628(Reducing)s 1997(the)s 2497(number)s 3655(of)s 4018(absolutely)s
5263 5474(pri)s 3(vileged)k 6908(subsystems)s 
5264 grestore
5265 0 6965(Currently)m 970(most)s
5266 1495(Unix)s 2029(systems)s 2837(ha)s 4(v)k 3(e)k
5267 3338(man)s 3(y)k 3921(components)s 5129(which)s 5771(need)s
5268 6281(to)s 6520(run)s 6896(as)s 7146(root,)s 7638(e)s 6(v)k 3(en)k
5269 8138(though)s 0 6725(most)m 525(of)s 796(their)s 1293(acti)s 6(vity)k
5270 2057(does)s 2547(not)s 2913(strictly)s 3629(require)s 4361(it.)s
5271 4597(This)s 5073(gi)s 6(v)k 3(es)k 5620(rise)s
5272 6020(to)s 6259(a)s 6425(lar)s 4(ge)k 6954(and)s
5273 7358(comple)s 3(x)k 8234(body)s 8768(of)s 0 6485(code)m
5274 508(which)s 1150(must)s 1675(be)s 1957(trusted)s 2665(with)s
5275 3147(the)s 3495(security)s 4305(of)s 4576(the)s 4924(system.)s
5276 0 6077(Using)m gsave
5277 625 6131 translate
5278 0.6953 1.0000 scale
5279 240 fnt31 0 -52(userv)m 
5280 grestore
5281 1185(man)s 3(y)k
5282 1768(of)s 2039(these)s 2586(subsystems)s 3727(no)s 4020(longer)s
5283 4691(need)s 5201(an)s 3(y)k 5598(unusual)s 6398(pri)s 6(vile)k 3(ge.)k
5284 gsave
5285 0 5723 translate
5286 0.6953 1.0000 scale
5287 240 fnt31 0 -52(cron)m 
5288 grestore
5289 455 5669(and)m gsave
5290 853 5723 translate
5291 0.6953 1.0000 scale
5292 240 fnt31 0 -52(at)m
5293
5294 grestore
5295 1053(,)s gsave
5296 1154 5723 translate
5297 0.6953 1.0000 scale
5298 240 fnt31 0 -52(lpr)m 
5299 grestore
5300 1509(and)s 1907(the)s
5301 2249(system')s 13(s)k 3117(mail)s 3591(transfer)s 4373(agent)s
5302 4945(\()s gsave
5303 5018 5723 translate
5304 0.6953 1.0000 scale
5305 240 fnt31 0 -52(sendmail)m 
5306 grestore
5307 5819(,)s gsave
5308 5921 5723 translate
5309 0.6953 1.0000 scale
5310 240 fnt31
5311 0 -52(smail)m 
5312 grestore
5313 6421(,)s gsave
5314 6522 5723 translate
5315 0.6953 1.0000 scale
5316 240 fnt31 0 -52(exim)m 
5317 grestore
5318 6976(or)s
5319 7229(the)s 7572(lik)s 2(e\))k 8050(all)s 8337(f)s 2(all)k
5320 8701(into)s 0 5429(this)m 396(cate)s 3(gory)k 15(.)k
5321 9066 670 0 670 240 240 60 0 4405 LoutGr2
5322 newpath 0 ysize 0.3 ft sub moveto
5323 xsize 0 rlineto
5324 0 0.1 ft rlineto
5325 xsize neg 0 rlineto
5326 closepath fill
5327 grestore
5328 320 fnt84 0 66(6.3.)m 628(Do)s 1092(not)s 1615(gi)s 3(v)k 3(e)k
5329 2234(away)s 3019(excessi)s 3(v)k 3(e)k 4312(pri)s 3(vilege)k
5330 5571(to)s gsave
5331 5910 139 translate
5332 0.6953 1.0000 scale
5333 320 fnt31 0 -70(userv)m 
5334 grestore
5335 6577(-using)s 7484(facilities)s
5336
5337 grestore
5338 0 3943(There)m 613(is)s 823(a)s 989(danger)s 1700(that)s
5339 2118(people)s 2812(reimplementing)s 4378(the)s 4726(f)s 2(acilities)k
5340 5595(I)s 5730(mention)s 6571(abo)s 3(v)k 3(e)k
5341 7193(using)s gsave
5342 7765 3997 translate
5343 0.6953 1.0000 scale
5344 240 fnt31 0 -52(userv)m 
5345 grestore
5346 8325(will)s 0 3703(discard)m
5347 731(much)s 1303(of)s 1557(the)s 1888(security)s 2680(bene\207t)s
5348 3374(by)s 3651(using)s 4206(a)s 4355(nai)s 6(v)k 3(e)k
5349 4902(implementation)s 6442(technique.)s 7459(This)s 7918(will)s 8326(become)s
5350 0 3463(clearer)m 708(with)s 1190(an)s 1473(e)s 3(xample:)k
5351 0 3055(Consider)m 924(the)s gsave
5352 1272 3109 translate
5353 0.6953 1.0000 scale
5354 240 fnt31 0 -52(lpr)m 
5355 grestore
5356 1632(program.)s
5357 2546(In)s 2802(current)s 3538(systems)s 4346(this)s 4742(needs)s
5358 5338(to)s 5577(ha)s 4(v)k 3(e)k 6078(an)s
5359 6361(absolutely)s 7398(pri)s 6(vile)k 3(ged)k 0 2815(component)m
5360 1124(in)s 1367(order)s 1931(to)s 2170(support)s 2948(delayed)s
5361 3750(printing)s 4560(without)s 5351(cop)s 2(ying:)k 6227(when)s
5362 6803(the)s 7151(user)s 7609(queues)s 8325(a)s 8491(\207le)s
5363 0 2575(to)m 239(be)s 521(printed)s 1256(the)s 1604(\207lename)s
5364 2483(is)s 2693(stored)s 3335(in)s 3578(the)s 3926(print)s
5365 4437(queue,)s 5116(rather)s 5732(than)s 6201(a)s 6367(cop)s 2(y)k
5366 6885(of)s 7156(it,)s 7395(and)s 7799(the)s 8147(printer)s
5367 0 2335(daemon)m 813(accesses)s 1671(the)s 2016(\207le)s 2375(directly)s
5368 3155(when)s 3729(it)s 3918(is)s 4126(ready)s 4708(to)s
5369 4945(print)s 5453(the)s 5799(job)s 9(.)k 6197(In)s
5370 6451(order)s 7012(that)s 7428(the)s 7773(user)s 8229(can)s
5371 8615(print)s 0 2095(\207les)m 449(which)s 1091(are)s 1438(not)s
5372 1804(w)s 2(orld-readable)k 3304(the)s 3652(daemon)s 4467(is)s
5373 4677(gi)s 6(v)k 3(en)k 5257(root)s 5702(pri)s 6(vile)k 3(ge)k
5374 6598(so)s 6864(that)s 7282(it)s 7474(can)s 7863(open)s
5375 8386(the)s 8734(\207le)s 0 1855(in)m 243(the)s 591(conte)s 3(xt)k
5376 1352(of)s 1623(the)s 1971(user)s 9(,)k 2467(rather)s
5377 3083(than)s 3552(its)s 3828(o)s 6(wn.)k 0 1447(A)m
5378 212(simple-minded)s 1686(approach)s 2602(to)s 2823(con)s 9(v)k 3(erting)k
5379 3868(this)s 4246(scheme)s 5001(to)s 5222(use)s gsave
5380 5579 1501 translate
5381 0.6953 1.0000 scale
5382 240 fnt31
5383 0 -52(userv)m 
5384 grestore
5385 6120(might)s 6720(in)s 9(v)k 4(olv)k 3(e)k
5386 7460(gi)s 6(ving)k 8101(the)s 8430(printer)s 0 1207(daemon)m
5387 811(\(the)s gsave
5388 1233 1261 translate
5389 0.6953 1.0000 scale
5390 240 fnt31 0 -52(lp)m 
5391 grestore
5392 1489(user\))s 2010(the)s
5393 2354(ability)s 3013(to)s 3248(read)s 3712(the)s 4055(\207le)s
5394 4412(by)s 4701(allo)s 6(wing)k 5581(them)s 6114(to)s
5395 6349(run)s gsave
5396 6720 1261 translate
5397 0.6953 1.0000 scale
5398 240 fnt31 0 -52(cat)m 
5399 grestore
5400 7076(\(or)s 7409(a)s
5401 7570(special-purpose)s 0 967(\207le-reading)m 1140(program\))s 2063(as)s 2299(an)s 3(y)k
5402 2681(user)s 13(.)k 3155(The)s gsave
5403 3569 1021 translate
5404 0.6953 1.0000 scale
5405 240 fnt31 0 -52(lpr)m
5406
5407 grestore
5408 3914(program)s 4769(w)s 2(ould)k 5410(use)s 5770(a)s
5409 gsave
5410 5922 1021 translate
5411 0.6953 1.0000 scale
5412 240 fnt31 0 -52(userv)m 
5413 grestore
5414 6467(service)s 7184(to)s 7409(store)s
5415 7914(the)s 8247(\207lename)s 0 727(in)m 243(the)s 591(printer)s
5416 1287(daemon')s 13(s)k 2255(queues,)s 3027(and)s 3431(the)s
5417 3779(daemon)s 4594(w)s 2(ould)k 5249(read)s 5718(the)s
5418 6066(\207le)s 6427(later)s 6910(when)s 7486(it)s 7678(felt)s
5419 8055(lik)s 2(e)k 8467(it.)s 0 52(0.62)m 4809(User)s
5420 5320(service)s 6052(daemon)s 6867(and)s 7271(client)s 7861(speci\207cation)s
5421
5422 grestore
5423
5424 grestore
5425
5426 pgsave restore
5427 showpage
5428
5429 %%Page: 21 21
5430 %%BeginPageSetup
5431 %%PageResources: font Times-Roman
5432 %%+ font Times-Bold
5433 %%+ font Courier-Bold
5434 %%+ font Times-Italic
5435 /pgsave save def
5436 0.0500 dup scale 10 setlinewidth
5437 %%EndPageSetup
5438 gsave
5439 0 0 translate
5440 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
5441 gsave
5442 LoutPageSet
5443 grestore
5444 gsave
5445 0 16840 translate
5446 0.0000 rotate
5447
5448 grestore
5449
5450 grestore
5451 gsave
5452 0 16840 translate
5453 0.0000 rotate
5454 gsave
5455 1417 -15423 translate
5456 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
5457 gsave
5458 1 LoutMargSet
5459 grestore
5460 240 fnt84 8839 13842(21)m 240 fnt82 0 13254(Ho)m 6(we)k 6(v)k 3(er)k 9(,)k
5461 960(this)s 1356(w)s 2(ould)k 2011(allo)s 6(w)k
5462 2590(the)s 2938(printer)s 3634(daemon)s 4449(to)s 4688(read)s
5463 5157(an)s 3(y)k 5554(\207le)s 5915(on)s 6212(the)s
5464 6560(system,)s 7331(whether)s 8161(or)s 8420(not)s 0 13014(someone)m
5465 907(had)s 1311(ask)s 2(ed)k 1912(for)s 2250(it)s
5466 2442(to)s 2681(be)s 2963(printed.)s 3744(Since)s 4331(man)s 3(y)k
5467 4914(\207les)s 5363(will)s 5789(contain)s 6550(passw)s 2(ords)k
5468 7596(and)s 8000(other)s 0 12774(security-critical)m 1551(information)s 2736(this)s
5469 3132(is)s 3342(nearly)s 3993(as)s 4243(bad)s 4647(as)s
5470 4897(gi)s 6(ving)k 5556(the)s 5904(daemon)s 6719(root)s
5471 7164(access)s 7825(in)s 8068(the)s 8416(\207rst)s 0 12534(place.)m
5472 608(An)s 3(y)k 1072(security)s 1882(holes)s 2438(in)s
5473 2681(the)s 3029(print)s 3540(serv)s 3(er)k 4180(which)s
5474 4822(allo)s 6(w)k 5401(a)s 5567(user)s 6025(to)s
5475 6264(e)s 3(x)k 3(ecute)k 7044(commands)s 8132(as)s
5476 8382(the)s gsave
5477 8730 12588 translate
5478 0.6953 1.0000 scale
5479 240 fnt31 0 -52(lp)m 
5480 grestore
5481 0 12294(user)m 458(will)s
5482 884(gi)s 6(v)k 3(e)k 1343(the)s 1691(user)s
5483 2149(the)s 2497(ability)s 3161(to)s 3400(read)s 3869(an)s 3(y)k
5484 4266(\207le)s 4627(on)s 4924(the)s 5272(system.)s 0 11886(Instead,)m
5485 790(it)s 975(is)s 1178(necessary)s 2153(to)s 2385(k)s 2(eep)k
5486 2881(a)s 3040(record)s 3700(of)s 3964(which)s 4599(\207les)s
5487 5040(the)s 5381(daemon)s 6189(has)s 6552(been)s 7053(ask)s 2(ed)k
5488 7647(to)s 7879(print)s 240 fnt83 8382 11888(outside)m 240 fnt82
5489 0 11646(the)m 348(control)s 1080(of)s 1351(the)s 1699(print)s
5490 2210(daemon.)s 3072(This)s 3548(record)s 4216(could)s 4806(be)s
5491 5088(k)s 2(ept)k 5558(by)s 5852(a)s 6018(ne)s 6(w)k
5492 6465(root-pri)s 6(vile)k 3(ged)k 7947(component,)s 0 11406(b)m 4(ut)k
5493 352(this)s 737(is)s 936(not)s 1291(necessary:)s 2315(the)s
5494 2652(record)s 3309(of)s 3569(which)s 4200(\207les)s 4638(a)s
5495 4794(user)s 5241(has)s 5600(ask)s 2(ed)k 6190(to)s
5496 6418(be)s 6689(printed)s 7413(can)s 7791(be)s 8062(k)s 2(ept)k
5497 8521(under)s 0 11166(the)m 348(control)s 1080(of)s 1351(the)s
5498 1699(user)s 2157(in)s 2400(question.)s 3315(The)s 3743(submission)s
5499 4877(program)s gsave
5500 5747 11220 translate
5501 0.6953 1.0000 scale
5502 240 fnt31 0 -52(lpr)m 
5503 grestore
5504 6107(will)s 6533(mak)s 2(e)k
5505 7105(a)s 7271(record)s 7939(in)s 8182(an)s 8465(area)s
5506 0 10926(under)m 605(the)s 953(user')s 13(s)k 1561(control)s
5507 2293(before)s 2959(communicating)s 4500(with)s 4982(the)s 5330(print)s
5508 5841(serv)s 3(er)k 9(,)k 6519(and)s 6923(the)s
5509 7271(print)s 7782(serv)s 3(er)k 8422(w)s 2(ould)k
5510 0 10686(be)m 279(gi)s 6(v)k 3(en)k 855(the)s
5511 1199(ability)s 1859(to)s 2094(run)s 2466(a)s 2628(special)s
5512 3342(\207le-reading)s 4493(program)s 5359(which)s 5997(w)s 2(ould)k
5513 6648(only)s 7124(allo)s 6(w)k 7699(\207les)s 8144(to)s
5514 8379(be)s 8657(read)s 0 10446(which)m 642(were)s 1162(listed)s
5515 1737(in)s 1980(the)s 2328(user')s 13(s)k 2936(\207le)s
5516 3297(of)s 3568(things)s 4204(the)s 3(y')k 12(d)k
5517 4858(ask)s 2(ed)k 5459(to)s 5698(print.)s 0 10038(No)m 6(w)k
5518 502(security)s 1300(holes)s 1844(in)s 2075(most)s 2588(of)s
5519 2846(the)s 3182(printing)s 3980(system)s 4692(do)s 4973(not)s
5520 5327(critically)s 6215(af)s 6(fect)k 6799(the)s 7135(security)s
5521 7933(of)s 8192(the)s 8527(entire)s 0 9798(system:)m 770(the)s 3(y)k
5522 1233(only)s 1713(allo)s 6(w)k 2292(the)s 2640(attack)s 2(er)k
5523 3453(to)s 3692(read)s 4161(and)s 4565(interfere)s 5428(with)s
5524 5910(print)s 6421(jobs.)s 6924(Bugs)s 7468(in)s 7711(the)s
5525 8059(programs)s 0 9558(run)m 373(by)s 664(the)s 1009(print)s
5526 1517(serv)s 3(er)k 2154(to)s 2390(read)s 2856(users')s
5527 3456(\207les)s 3902(\(and)s 4382(to)s 4618(remo)s 3(v)k 3(e)k
5528 5382(entries)s 6066(from)s 6587(the)s 6932(list)s 7280(of)s
5529 7548(\207les)s 7994(when)s 8567(it)s 8756(has)s 0 9318(done)m
5530 522(with)s 1004(them\))s 1610(will)s 2036(still)s 2448(be)s
5531 2730(serious,)s 3514(b)s 4(ut)k 3876(this)s 4272(program)s
5532 5142(can)s 5531(be)s 5813(quite)s 6347(simple.)s 0 8910(Similar)m
5533 762(considerations)s 2194(apply)s 2780(to)s 3019(man)s 3(y)k
5534 gsave
5535 3602 8964 translate
5536 0.6953 1.0000 scale
5537 240 fnt31 0 -52(userv)m 
5538 grestore
5539 4102(-based)s 4784(v)s 3(ersions)k
5540 5629(of)s 5900(f)s 2(acilities)k 6769(which)s 7411(currently)s
5541 8327(run)s 0 8670(as)m 250(root.)s 0 8262(It)m 198(is)s
5542 401(debatable)s 1366(whether)s 2189(the)s 2530(user)s 4(-controlled)k
5543 4023(state)s 4509(should)s 5199(be)s 5474(k)s 2(ept)k
5544 5937(in)s 6173(the)s 6514(user')s 13(s)k 7115(\207lespace)s
5545 8000(\(in)s 8315(dot\207les,)s 0 8022(say\))m 440(or)s 692(k)s 2(ept)k
5546 1155(in)s 1391(a)s 1550(separate)s 2381(area)s 2831(set)s
5547 3149(aside)s 3688(for)s 4019(the)s 4360(purpose;)s 5223(ho)s 6(we)k 6(v)k 3(er)k 9(,)k
5548 6123(using)s 6688(the)s 7029(user')s 13(s)k 7630(home)s
5549 8210(directory)s 0 7782(\(and)m 468(probably)s 1357(creating)s 2164(a)s
5550 2314(separate)s 3137(subdirectory)s 4370(of)s 4626(it)s 4802(as)s
5551 5037(a)s 5187(dot\207le)s 5839(to)s 6062(contain)s 6808(man)s 3(y)k
5552 7375(subsystems')s 8561(state\))s 0 7542(has)m 370(fe)s 6(wer)k
5553 967(implications)s 2199(for)s 2537(the)s 2885(rest)s 3289(of)s
5554 3560(the)s 3908(system)s 4632(and)s 5036(mak)s 2(es)k
5555 5696(it)s 5888(entirely)s 6671(clear)s 7194(where)s 7834(the)s
5556 8182(security)s 0 7302(boundaries)m 1101(lie.)s 9066 670 0 670 240 240 60 0 6278 LoutGr2
5557 newpath 0 ysize 0.3 ft sub moveto
5558 xsize 0 rlineto
5559 0 0.1 ft rlineto
5560 xsize neg 0 rlineto
5561 closepath fill
5562 grestore
5563 320 fnt84 0 66(6.4.)m
5564 gsave
5565 628 139 translate
5566 0.6953 1.0000 scale
5567 320 fnt31 0 -70(userv)m 
5568 grestore
5569 1375(is)s 1659(not)s 2182(a)s
5570 2419(r)s 5(eplacement)k 4178(f)s 8(or)k gsave
5571 4655 139 translate
5572 0.6953 1.0000 scale
5573 320 fnt31
5574 0 -70(really)m 
5575 grestore
5576 5536(and)s gsave
5577 6123 139 translate
5578 0.6953 1.0000 scale
5579 320 fnt31 0 -70(sudo)m 
5580 grestore
5581
5582 grestore
5583 gsave
5584 0 5870 translate
5585 0.6953 1.0000 scale
5586 240 fnt31
5587 0 -52(userv)m 
5588 grestore
5589 560 5816(is)m 770(not)s 1136(intended)s 2018(as)s
5590 2268(a)s 2434(general-purpose)s 4030(system)s 4754(administration)s 6191(tool)s
5591 6618(with)s 7100(which)s 7742(system)s 0 5576(administrators)m 1398(can)s
5592 1767(e)s 3(x)k 3(ecute)k 2528(pri)s 6(vile)k 3(ged)k
5593 3526(programs)s 4461(when)s 5017(the)s 3(y)k 5461(need)s
5594 5951(to.)s 6222(It)s 6407(is)s 6598(unsuitable)s 7617(for)s
5595 7936(this)s 8312(purpose)s 0 5336(precisely)m 916(because)s 1729(it)s
5596 1921(enforces)s 2781(a)s 2947(strong)s 3598(separation)s 4637(between)s
5597 5491(the)s 5839(calling)s 6542(and)s 6946(the)s 7294(called)s
5598 7922(program,)s 0 5096(which)m 642(is)s 852(undesirable)s 2010(in)s
5599 2253(this)s 2649(conte)s 3(xt.)k 0 4688(Its)m 289(f)s 2(acilities)k
5600 1158(for)s 1496(restricting)s 2516(acti)s 6(vities)k 3422(to)s
5601 3661(running)s 4459(certain)s 5165(programs)s 6119(may)s 6585(at)s
5602 6817(\207rst)s 7248(glance)s 7928(seem)s 8479(to)s 0 4420(pro)m 3(vide)k
5603 769(similar)s 1476(functionality)s 2736(to)s gsave
5604 2960 4474 translate
5605 0.6953 1.0000 scale
5606 240 fnt31 0 -52(sudo)m
5607
5608 grestore
5609 153 fnt82 3360 4509(1)m 240 fnt82 3420 4420(.)m 3509(Ho)s 6(we)k 6(v)k 3(er)k 9(,)k
5610 4454(the)s 4787(separation)s 5811(mentioned)s 6864(abo)s 3(v)k 3(e)k
5611 7471(is)s 7666(a)s 7817(problem)s 8659(here)s 0 4180(too,)m
5612 413(particular)s 1387(for)s 1725(interaction)s 2803(-)s 2931(it)s
5613 3123(can)s 3512(be)s 3794(hard)s 4277(for)s 4615(a)s
5614 gsave
5615 4781 4234 translate
5616 0.6953 1.0000 scale
5617 240 fnt31 0 -52(userv)m 
5618 grestore
5619 5341(service)s 6073(program)s 6943(to)s
5620 7182(interact)s 7957(with)s 8439(its)s 8714(real)s 0 3940(caller)m
5621 589(or)s 848(the)s 1196(user)s 1654(in)s 1897(question.)s
5622 9066 670 0 670 240 240 60 0 2916 LoutGr2
5623 newpath 0 ysize 0.3 ft sub moveto
5624 xsize 0 rlineto
5625 0 0.1 ft rlineto
5626 xsize neg 0 rlineto
5627 closepath fill
5628 grestore
5629 320 fnt84 0 66(6.5.)m 628(Don't)s 1488(gi)s 3(v)k 3(e)k
5630 2107(access)s 3013(to)s 3352(general-pur)s 3(pose)k 5640(utilities)s
5631
5632 grestore
5633 0 2454(Do)m 346(not)s 712(specify)s 1456(general)s 2214(purpose)s
5634 3028(programs)s 3982(lik)s 2(e)k gsave
5635 4394 2508 translate
5636 0.6953 1.0000 scale
5637 240 fnt31 0 -52(mv)m
5638
5639 grestore
5640 4654(or)s gsave
5641 4913 2508 translate
5642 0.6953 1.0000 scale
5643 240 fnt31 0 -52(cat)m 
5644 grestore
5645 5273(in)s gsave
5646 5516 2508 translate
5647 0.6953 1.0000 scale
5648 240 fnt31
5649 0 -52(execute\211)m 
5650 grestore
5651 6377(directi)s 6(v)k 3(es)k 7347(without)s
5652 8138(careful)s 0 2214(thought)m 792(about)s 1384(their)s 1881(ar)s 4(guments,)k
5653 2980(and)s 3384(certainly)s 4273(not)s 4639(if)s gsave
5654 4856 2268 translate
5655 0.6953 1.0000 scale
5656 240 fnt31
5657 0 -52(no\211suppress\211args)m 
5658 grestore
5659 6518(is)s 6728(speci\207ed.)s 7682(If)s 7912(you)s
5660 8327(do)s 8620(so)s 8886(it)s 0 1974(will)m 426(gi)s 6(v)k 3(e)k
5661 885(the)s 1233(caller)s 1822(much)s 2411(more)s 2958(pri)s 6(vilige)k
5662 3817(than)s 4286(you)s 4701(probably)s 5606(intend.)s 0 1566(It)m
5663 205(is)s 415(a)s 581(shame)s 1248(that)s 1666(I)s
5664 1801(ha)s 4(v)k 3(e)k 2302(to)s 2541(say)s
5665 2914(this)s 3310(here,)s 3828(b)s 4(ut)k 4190(ine)s 3(xperienced)k
5666 5586(administrators)s 7003(ha)s 4(v)k 3(e)k 7504(made)s
5667 8078(similar)s 1134 0 0 0 240 240 60 0 1178 LoutGr2
5668 0 0 moveto xsize 0 lineto stroke
5669 grestore
5670
5671 grestore
5672 122 fnt82 0 983(1)m gsave
5673 58 956 translate
5674 0.6953 1.0000 scale
5675 192 fnt31 0 -42(sudo)m
5676
5677 grestore
5678 192 fnt82 425 913(is)m 593(a)s 726(program)s 1422(which)s
5679 1936(allo)s 4(ws)k 2472(users)s 2905(to)s 3097(e)s 2(x)k 2(ecute)k
5680 3723(certain)s 4289(programs)s 5052(as)s 5252(root,)s 5646(according)s
5681 6444(to)s 6636(con\207guration)s 7703(\207les)s 8062(speci\207ed)s 8789(by)s
5682 0 683(the)m 279(system)s 858(administrator)s 10(.)k 240 fnt82
5683 0 52(User)m 511(service)s 1243(daemon)s 2058(and)s 2462(client)s
5684 3052(speci\207cation)s 8652(0.62)s 
5685 grestore
5686
5687 grestore
5688
5689 pgsave restore
5690 showpage
5691
5692 %%Page: 22 22
5693 %%BeginPageSetup
5694 %%PageResources: font Times-Roman
5695 %%+ font Times-Bold
5696 %%+ font Courier-Bold
5697 /pgsave save def
5698 0.0500 dup scale 10 setlinewidth
5699 %%EndPageSetup
5700 gsave
5701 0 0 translate
5702 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
5703 gsave
5704 LoutPageSet
5705 grestore
5706 gsave
5707 0 16840 translate
5708 0.0000 rotate
5709
5710 grestore
5711
5712 grestore
5713 gsave
5714 0 16840 translate
5715 0.0000 rotate
5716 gsave
5717 1417 -15423 translate
5718 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
5719 gsave
5720 0 LoutMargSet
5721 grestore
5722 240 fnt84 0 13842(22)m 240 fnt82 0 13254(mistak)m 2(es)k
5723 885(with)s 1367(programs)s 2321(lik)s 2(e)k gsave
5724 2733 13308 translate
5725 0.6953 1.0000 scale
5726 240 fnt31
5727 0 -52(sudo)m 
5728 grestore
5729 3133(.)s 0 52(0.62)m 4809(User)s 5320(service)s
5730 6052(daemon)s 6867(and)s 7271(client)s 7861(speci\207cation)s 
5731 grestore
5732
5733 grestore
5734
5735 pgsave restore
5736 showpage
5737
5738 %%Trailer
5739 %%DocumentNeededResources: font Courier-Bold
5740 %%+ font Times-Roman
5741 %%+ font Times-Italic
5742 %%+ font Times-Bold
5743 %%DocumentSuppliedResources: procset LoutStartUp
5744 %%+  procset LoutMarginNotes
5745 %%+ encoding vec2
5746 %%Pages: 22
5747 %%EOF