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