chiark / gitweb /
9277903f26d5bcbe7f02d7ef0fc8c8632d302720
[userv.git] / spec.ps
1 %!PS-Adobe-3.0
2 %%Creator: Basser Lout Version 3.10 (November 1996)
3 %%CreationDate: Thu Jul 27 00:59:08 2000
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 13772(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 13256(Ian)m
266 3093(Jackson)s gsave
267 3770 13301 translate
268 0.6953 1.0000 scale
269 200 fnt31 1031 -43(<ian@davenant.greenend.org.uk>)m 
270 grestore
271 240 fnt82 4305 12755(1.0.1)m
272 9066 609 0 609 240 240 60 0 11495 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 11201(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 10961(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 9937 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 9697 translate
298 0.6953 1.0000 scale
299 240 fnt31 0 -52(userv)m
300
301 grestore
302 560 9643(is)m 770(Cop)s 2(yright)k 1799(1996-1999)s 2889(Ian)s
303 3251(Jackson.)s gsave
304 0 9289 translate
305 0.6953 1.0000 scale
306 240 fnt31 0 -52(userv)m 
307 grestore
308 544 9235(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 8995(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 8755(\(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 8347(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 8349(without)m
321 6898(any)s 7300(warr)s 3(anty)k 240 fnt82 8171 8347(;)m
322 8283(without)s 0 8106(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 8108(mer)m 8(c)k 3(hantability)k 240 fnt82 4367 8106(or)m
325 240 fnt83 4626 8108(\207tness)m 5279(for)s 5623(a)s 5798(particular)s
326 6833(purpose)s 240 fnt82 7598 8106(.)m 7702(See)s 8103(the)s
327 8451(GNU)s 0 7866(General)m 811(Public)s 1475(License)s 2274(for)s
328 2612(more)s 3159(details.)s 0 7458(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 7512 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 7217(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 6977(USA.)m 9066 610 0 610 240 240 60 0 6013 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 5719(1.)m 1200(Introduction)s 8962(3)s 0 5492(2.)m
354 1200(Client)s 1844(program)s 2714(usage)s 8952(4)s 0 5255(2.1.)m
355 1200(Options)s 8952(4)s 0 5018(2.2.)m 1200(Security-o)s 3(v)k 3(erriding)k
356 3118(options)s 8958(7)s 0 4781(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 4544(3.1.)m 1200(File)s 1627(descriptors)s
359 8959(8)s 0 4307(3.2.)m 1200(En)s 9(vironment)k 8955(9)s
360 0 4080(4.)m 1200(Service-side)s 2436(con\207guration)s 8831(10)s 0 3843(4.1.)m
361 1200(Con\207guration)s 2587(\207le)s 2948(syntax)s 8831(10)s 0 3606(4.2.)m
362 1200(Con\207guration)s 2587(\207le)s 2948(directi)s 6(v)k 3(es)k
363 8831(10)s 0 3368(4.3.)m 1200(Errors)s 1847(in)s 2090(the)s
364 2438(con\207guration)s 3771(\207le)s 8833(16)s 0 3130(4.4.)m 1200(Def)s 2(aults)k
365 8833(16)s 0 2903(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 2665(6.)m
367 1200(Applications)s 2473(and)s 2877(notes)s 3433(on)s 3730(use)s
368 8831(20)s 0 2427(6.1.)m 1200(Standard)s 2108(services)s 2928(and)s
369 3332(directory)s 4248(management)s 8831(20)s 0 2189(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 1951(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 2005 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 1713(6.4.)m gsave
381 1200 1767 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 1767 translate
388 0.6953 1.0000 scale
389 240 fnt31
390 0 -52(really)m 
391 grestore
392 4727(and)s gsave
393 5131 1767 translate
394 0.6953 1.0000 scale
395 240 fnt31 0 -52(sudo)m 
396 grestore
397 8851(21)s
398 0 1474(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 8611(1.0.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(1.0.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 8611(1.0.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 947 LoutGr2
882 0 0 moveto xsize 0 lineto stroke
883 grestore
884
885 grestore
886 122 fnt82 0 752(1)m gsave
887 58 725 translate
888 0.6953 1.0000 scale
889 192 fnt31 0 -42(userv)m
890
891 grestore
892 192 fnt82 505 682(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(1.0.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 8611(1.0.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(1.0.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 8611(1.0.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(1.0.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 8611(1.0.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 154(hash)s 638(character)s gsave
2546 1560 7039 translate
2547 0.6953 1.0000 scale
2548 240 fnt31 0 -52(#)m
2549
2550 grestore
2551 1708(is)s 1906(tak)s 2(en)k 2466(as)s 2704(a)s
2552 2858(comment)s 3796(and)s 4188(ignored.)s 5011(Each)s 5533(directi)s 6(v)k 3(e)k
2553 6403(consists)s 7199(of)s 7458(a)s 7612(series)s 8194(of)s
2554 8452(tok)s 2(ens)k 0 6745(separated)m 960(by)s 1254(linear)s
2555 1857(whitespace)s 2975(\(spaces)s 3729(and)s 4133(tabs\);)s 4709(tok)s 2(ens)k
2556 5383(may)s 5849(be)s 6131(w)s 2(ords)k 6765(consisting)s
2557 7788(of)s 8059(non-space)s 0 6505(characters,)m 1074(or)s 9(,)k
2558 1371(where)s 2011(a)s 2177(string)s 2774(is)s 2984(required,)s
2559 3887(a)s 4053(string)s 4650(in)s 4893(double)s 5601(quotes.)s
2560 6330(Double-quoted)s 7824(strings)s 8512(may)s 0 6265(contain)m 761(the)s
2561 1109(follo)s 6(wing)k 2086(backslash)s 3073(escapes:)s gsave
2562 120 6079 translate
2563 0.6953 1.0000 scale
2564 240 fnt31
2565 0 -52(\\n)m 
2566 grestore
2567 480 5785(ne)m 6(wline)k gsave
2568 120 5599 translate
2569 0.6953 1.0000 scale
2570 240 fnt31 0 -52(\\t)m
2571
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 grestore
2578 480 4825(carriage)m 1304(return)s
2579 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 0 -52(OOO)m 
2586 grestore
2587
2588 grestore
2589 480 4345(character)m
2590 1414(whose)s 2082(octal)s 2601(code)s 3109(is)s 240 fnt83
2591 3319 4347(OOO)m gsave
2592 120 4159 translate
2593 0.6953 1.0000 scale
2594 240 fnt31 0 -52(\\x)m gsave
2595 288 0 translate
2596 1.4219 1.0000 scale
2597 240 fnt83 0 -52(XX)m
2598
2599 grestore
2600
2601 grestore
2602 240 fnt82 480 3865(character)m 1414(whose)s 2082(he)s 3(x)k
2603 2480(code)s 2988(is)s 240 fnt83 3198 3867(XX)m gsave
2604 120 3679 translate
2605 0.6953 1.0000 scale
2606 240 fnt31
2607 0 -52(\\)m gsave
2608 144 0 translate
2609 1.4219 1.0000 scale
2610 240 fnt83 0 -52(punctuation)m 
2611 grestore
2612
2613 grestore
2614 240 fnt82 480 3385(literal)m
2615 1090(punctuation)s 2277(character)s 3211(\(e)s 3(g)k gsave
2616 3566 3439 translate
2617 0.6953 1.0000 scale
2618 240 fnt31
2619 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 grestore
2626 4073(\))s
2627 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 9066 670 0 670 240 240 60 0 838 LoutGr2
2656 newpath 0 ysize 0.3 ft sub moveto
2657 xsize 0 rlineto
2658 0 0.1 ft rlineto
2659 xsize neg 0 rlineto
2660 closepath fill
2661 grestore
2662 320 fnt84 0 66(4.2.)m
2663 628(Con\207guration)s 2618(\207le)s 3100(dir)s 5(ecti)k 3(v)k 3(es)k
2664
2665 grestore
2666 0 52(1.0.1)m 4809(User)s 5320(service)s 6052(daemon)s 6867(and)s
2667 7271(client)s 7861(speci\207cation)s 
2668 grestore
2669
2670 grestore
2671
2672 pgsave restore
2673 showpage
2674
2675 %%Page: 11 11
2676 %%BeginPageSetup
2677 %%PageResources: font Times-Roman
2678 %%+ font Times-Bold
2679 %%+ font Courier-Bold
2680 %%+ font Times-Italic
2681 /pgsave save def
2682 0.0500 dup scale 10 setlinewidth
2683 %%EndPageSetup
2684 gsave
2685 0 0 translate
2686 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
2687 gsave
2688 LoutPageSet
2689 grestore
2690 gsave
2691 0 16840 translate
2692 0.0000 rotate
2693
2694 grestore
2695
2696 grestore
2697 gsave
2698 0 16840 translate
2699 0.0000 rotate
2700 gsave
2701 1417 -15423 translate
2702 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
2703 gsave
2704 1 LoutMargSet
2705 grestore
2706 240 fnt84 8839 13842(11)m 300 fnt84 0 13210(4.2.1.)m 813(Immediate)s
2707 2261(dir)s 5(ecti)k 3(v)k 3(es)k 240 fnt82
2708 0 12696(The)m 428(follo)s 6(wing)k 1405(directi)s 6(v)k 3(es)k
2709 2375(tak)s 2(e)k 2827(ef)s 6(fect)k 3423(immediately:)s
2710 gsave
2711 120 12342 translate
2712 0.6953 1.0000 scale
2713 240 fnt31 0 -52(cd)m gsave
2714 432 0 translate
2715 1.4219 1.0000 scale
2716 240 fnt83 0 -52(pathname)m 
2717 grestore
2718
2719 grestore
2720 480 12048(Change)m
2721 1268(directory)s 2184(in)s 2427(the)s 2775(service)s 3507(program.)s
2722 gsave
2723 4421 12102 translate
2724 0.6953 1.0000 scale
2725 240 fnt31 0 -52(cd)m 
2726 grestore
2727 4681(is)s 4891(cumulati)s 6(v)k 3(e.)k
2728 6048(It)s 6253(is)s 6463(an)s 6746(error)s 7269(if)s
2729 7486(the)s 7834(directory)s 480 11808(cannot)m 1178(be)s 1460(changed)s
2730 2316(to.)s gsave
2731 2666 11862 translate
2732 0.6953 1.0000 scale
2733 240 fnt31 0 -52(cd)m 
2734 grestore
2735 2926(should)s 3623(not)s
2736 3989(be)s 4271(used)s 4768(between)s gsave
2737 5622 11862 translate
2738 0.6953 1.0000 scale
2739 240 fnt31 0 -52(execute\211from\211directory)m
2740
2741 grestore
2742 7884(and)s 8288(the)s 480 11568(in)m 9(v)k 4(ocation)k
2743 1534(of)s 1805(the)s 2153(service)s 2885(program,)s 3802(as)s
2744 4052(the)s 4400(test)s 4791(for)s 5129(the)s 5477(a)s 4(v)k 6(ailability)k
2745 6595(of)s 6866(the)s 7214(service)s 7946(program)s 480 11328(w)m 2(ould)k
2746 1117(be)s 1380(done)s 1884(with)s 2347(the)s 2677(old)s
2747 3022(current)s 3740(directory)s 4637(and)s 5023(the)s 5352(actual)s
2748 5959(e)s 3(x)k 3(ecution)k 6921(with)s 7385(the)s
2749 7714(ne)s 6(w)k 8142(\(probably)s 480 11088(causing)m 1264(an)s
2750 1547(error\).)s gsave
2751 120 10748 translate
2752 0.6953 1.0000 scale
2753 240 fnt31 0 -52(eof)m 
2754 grestore
2755 480 10454(Stop)m 972(reading)s
2756 1742(the)s 2090(con\207guration)s 3423(\207le)s 3784(in)s 4027(question,)s
2757 4945(as)s 5195(if)s 5412(end)s 5816(of)s 6087(\207le)s
2758 6448(had)s 6852(been)s 7361(reached.)s 8208(An)s 3(y)k
2759 480 10214(control)m 1212(constructs)s 2232(\()s gsave
2760 2305 10268 translate
2761 0.6953 1.0000 scale
2762 240 fnt31 0 -52(if)m
2763
2764 grestore
2765 2505(,)s gsave
2766 2612 10268 translate
2767 0.6953 1.0000 scale
2768 240 fnt31 0 -52(catch\211quit)m 
2769 grestore
2770 3673(or)s gsave
2771 3932 10268 translate
2772 0.6953 1.0000 scale
2773 240 fnt31
2774 0 -52(errors\211push)m 
2775 grestore
2776 5033(\))s 5161(which)s 5803(were)s 6323(started)s
2777 7017(in)s 7260(that)s 7678(\207le)s 8039(will)s 8465(be)s
2778 480 9974(considered)m 1574(\207nished.)s 2436(P)s 3(arsing)k 3203(will)s
2779 3629(continue)s 4509(in)s 4752(the)s 5100(\207le)s 5461(which)s
2780 6103(caused)s 6812(the)s 7160(\207le)s 7521(containing)s 8584(the)s
2781 gsave
2782 480 9788 translate
2783 0.6953 1.0000 scale
2784 240 fnt31 0 -52(eof)m 
2785 grestore
2786 840 9734(to)m 1079(be)s 1361(read.)s
2787 gsave
2788 120 9444 translate
2789 0.6953 1.0000 scale
2790 240 fnt31 0 -52(quit)m 
2791 grestore
2792 480 9150(Stop)m 969(reading)s 1735(con\207guration)s
2793 3064(\207les)s 3510(and)s 3910(act)s 4244(immediately)s 5489(on)s
2794 5782(the)s 6126(current)s 6859(settings.)s 7689(The)s 8113(beha)s 4(viour)k
2795 480 8910(of)m gsave
2796 751 8964 translate
2797 0.6953 1.0000 scale
2798 240 fnt31 0 -52(quit)m 
2799 grestore
2800 1211(is)s 1421(subject)s
2801 2158(to)s 2397(the)s gsave
2802 2745 8964 translate
2803 0.6953 1.0000 scale
2804 240 fnt31 0 -52(catch\211quit)m 
2805 grestore
2806 3806(control)s
2807 4538(construct.)s gsave
2808 120 8570 translate
2809 0.6953 1.0000 scale
2810 240 fnt31 0 -52(include)m gsave
2811 1152 0 translate
2812 1.4219 1.0000 scale
2813 240 fnt83 0 -52(\207lename)m
2814
2815 grestore
2816
2817 grestore
2818 gsave
2819 120 8330 translate
2820 0.6953 1.0000 scale
2821 240 fnt31 0 -52(include\211ifexist)m gsave
2822 2304 0 translate
2823 1.4219 1.0000 scale
2824 240 fnt83 0 -52(\207lename)m 
2825 grestore
2826
2827 grestore
2828 480 8036(Read)m
2829 1026(the)s 1369(con\207guration)s 2698(\207le)s 240 fnt83 3054 8038(\207lename)m
2830 240 fnt82 3858 8036(,)m 3961(and)s 4360(then)s 4825(return)s
2831 5447(to)s 5682(this)s 6073(\207le)s 6430(and)s 6829(continue)s
2832 7705(parsing)s 8457(it)s 8644(with)s 480 7796(the)m 822(ne)s 3(xt)k
2833 1284(directi)s 6(v)k 3(e.)k 2207(It)s 2405(is)s
2834 2608(an)s 2884(error)s 3400(if)s 3610(the)s 3952(\207le)s
2835 4306(cannot)s 4997(be)s 5272(opened)s 6015(and)s 6412(read,)s
2836 6923(unless)s gsave
2837 7565 7850 translate
2838 0.6953 1.0000 scale
2839 240 fnt31 0 -52(include\211ifexist)m 
2840 grestore
2841 480 7556(is)m 690(used)s
2842 1187(and)s 1591(the)s 1939(\207le)s 2300(does)s 2790(not)s
2843 3156(e)s 3(xist,)k 3711(in)s 3954(which)s 4596(case)s
2844 5063(the)s 5411(directi)s 6(v)k 3(e)k 6293(is)s
2845 6503(silently)s 7260(ignored.)s gsave
2846 120 7216 translate
2847 0.6953 1.0000 scale
2848 240 fnt31 0 -52(include\211lookup)m gsave
2849 2160 0 translate
2850 1.4219 1.0000 scale
2851 240 fnt83
2852 0 -52(par)m 3(ameter)k 
2853 grestore
2854 gsave
2855 3724 0 translate
2856 1.4219 1.0000 scale
2857 240 fnt83 0 -52(dir)m 8(ectory)k
2858
2859 grestore
2860
2861 grestore
2862 gsave
2863 120 6976 translate
2864 0.6953 1.0000 scale
2865 240 fnt31 0 -52(include\211lookup\211all)m gsave
2866 2736 0 translate
2867 1.4219 1.0000 scale
2868 240 fnt83 0 -52(par)m 3(ameter)k
2869
2870 grestore
2871 gsave
2872 4300 0 translate
2873 1.4219 1.0000 scale
2874 240 fnt83 0 -52(dir)m 8(ectory)k 
2875 grestore
2876
2877 grestore
2878 480 6682(Read)m 1030(the)s
2879 1378(con\207guration)s 2711(\207le)s 3072(in)s 240 fnt83 3315 6684(dir)m 8(ectory)k
2880 240 fnt82 4239 6682(whose)m 4907(name)s 5481(is)s 5691(the)s
2881 6039(v)s 6(alue)k 6607(of)s 240 fnt83 6878 6684(par)m 3(ameter)k
2882 240 fnt82 7937 6682(\(see)m 8377(the)s 480 6442(description)m 1599(of)s
2883 gsave
2884 1870 6496 translate
2885 0.6953 1.0000 scale
2886 240 fnt31 0 -52(if)m 
2887 grestore
2888 2070(,)s 2177(`Control)s 3042(structure)s
2889 3933(directi)s 6(v)k 3(es',)k 5038(page)s 5546(12\).)s
2890 5969(If)s 240 fnt83 6199 6444(par)m 3(ameter)k 240 fnt82
2891 7258 6442(has)m 7628(se)s 6(v)k 3(eral)k 8350(v)s 6(alues)k
2892 480 6202(the)m 3(y)k 943(will)s 1369(be)s 1651(tried)s
2893 2146(in)s 2389(order;)s 3005(with)s gsave
2894 3487 6256 translate
2895 0.6953 1.0000 scale
2896 240 fnt31 0 -52(include\211lookup)m
2897
2898 grestore
2899 4948(this)s 5344(search)s 6011(will)s 6437(stop)s 6889(when)s
2900 7465(one)s 7867(is)s 8077(found,)s 8743(b)s 4(ut)k
2901 480 5962(with)m gsave
2902 962 6016 translate
2903 0.6953 1.0000 scale
2904 240 fnt31 0 -52(include\211lookup\211all)m 
2905 grestore
2906 2824(the)s 3172(search)s
2907 3839(will)s 4265(continue)s 5145(and)s 5549(an)s 3(y)k
2908 5946(\207les)s 6395(appropriate)s 7539(to)s 7778(other)s 8329(v)s 6(alues)k
2909 480 5722(will)m 906(be)s 1188(read)s 1657(too.)s 2127(If)s
2910 2357(none)s 2879(of)s 3150(the)s 3498(parameter')s 13(s)k
2911 4662(v)s 6(alues)k 5318(had)s 5722(a)s 5888(corresponding)s
2912 7310(\207le)s 7671(then)s 8140(the)s 8488(\207le)s gsave
2913 480 5536 translate
2914 0.6953 1.0000 scale
2915 240 fnt31
2916 0 -52(:default)m 
2917 grestore
2918 1340 5482(will)m 1765(be)s 2045(read,)s 2562(if)s
2919 2778(it)s 2968(e)s 3(xists.)k 3612(If)s 240 fnt83
2920 3841 5484(par)m 3(ameter)k 240 fnt82 4840 5482(')m 13(s)k
2921 5048(list)s 5398(of)s 5668(v)s 6(alues)k 6322(w)s 2(as)k
2922 6742(empty)s 7393(then)s 7860(the)s 8207(\207le)s gsave
2923 8566 5536 translate
2924 0.6953 1.0000 scale
2925 240 fnt31
2926 0 -52(:none)m 
2927 grestore
2928 480 5242(will)m 906(be)s 1188(tried)s 1683(\207rst)s
2929 2114(and)s 2518(read)s 2987(if)s 3204(it)s 3396(e)s 3(xists,)k
2930 4044(otherwise)s gsave
2931 5029 5296 translate
2932 0.6953 1.0000 scale
2933 240 fnt31 0 -52(:default)m 
2934 grestore
2935 5890(will)s 6316(be)s
2936 6598(tried.)s 7199(It)s 7404(is)s 7614(not)s 7980(an)s
2937 8263(error)s 8786(for)s 480 5002(an)m 3(y)k 877(of)s
2938 1148(the)s 1496(\207les)s 1945(\(including)s gsave
2939 2981 5056 translate
2940 0.6953 1.0000 scale
2941 240 fnt31 0 -52(:default)m
2942
2943 grestore
2944 3782(\))s 3910(not)s 4276(to)s 4515(e)s 3(xist,)k
2945 5070(b)s 4(ut)k 5432(it)s 5624(is)s 5834(an)s
2946 6117(error)s 6640(if)s 6857(a)s 7023(\207le)s 7384(e)s 3(xists)k
2947 7976(and)s 8380(cannot)s 480 4762(be)m 753(read)s 1213(or)s
2948 1462(if)s 1670(the)s 2008(directory)s 2915(cannot)s 3603(be)s
2949 3876(accessed.)s 4867(A)s 5087(translation)s 6143(will)s 6559(be)s
2950 6832(applied)s 7584(to)s 7814(v)s 6(alues)k 8460(before)s
2951 480 4522(the)m 3(y)k 943(are)s 1290(used)s 1787(to)s
2952 2026(construct)s 2962(a)s 3128(\207lename,)s 4058(so)s 4324(that)s
2953 4742(the)s 5090(lookup)s 5809(cannot)s 6507(access)s 7168(dot\207les)s
2954 7923(or)s 8182(\207les)s 8631(in)s 480 4282(other)m 1031(directories:)s
2955 2144(v)s 6(alues)k 2800(starting)s 3569(with)s 4051(full)s
2956 4437(stops)s 4980(will)s 5406(ha)s 4(v)k 3(e)k
2957 5907(a)s 6073(colon)s 6662(prepended)s 7717(\(making)s gsave
2958 8567 4336 translate
2959 0.6953 1.0000 scale
2960 240 fnt31
2961 0 -52(:.)m 
2962 grestore
2963 8767(\),)s 480 4042(colons)m 1156(will)s 1582(be)s
2964 1864(doubled,)s 2743(and)s 3147(each)s 3642(slash)s 4177(will)s
2965 4603(be)s 4885(replaced)s 5752(with)s 6234(a)s 6400(colon)s
2966 6989(follo)s 6(wed)k 7891(by)s 8185(a)s 8351(h)s 1(yphen)k
2967 gsave
2968 480 3856 translate
2969 0.6953 1.0000 scale
2970 240 fnt31 0 -52(:\211)m 
2971 grestore
2972 680 3802(.)m 784(A)s 1014(parameter)s
2973 2028(v)s 6(alue)k 2596(which)s 3238(is)s 3448(the)s
2974 3796(empty)s 4448(string)s 5045(will)s 5471(be)s 5753(replaced)s
2975 6620(with)s gsave
2976 7102 3856 translate
2977 0.6953 1.0000 scale
2978 240 fnt31 0 -52(:empty)m 
2979 grestore
2980 7762(\(note)s 8309(that)s
2981 8727(this)s 480 3562(is)m 690(dif)s 6(ferent)k 1565(from)s
2982 2089(a)s 2255(parameter)s 3269(not)s 3635(ha)s 4(ving)k
2983 4336(an)s 3(y)k 4733(v)s 6(alues\).)k gsave
2984 120 3222 translate
2985 0.6953 1.0000 scale
2986 240 fnt31
2987 0 -52(include\211directory)m gsave
2988 2592 0 translate
2989 1.4219 1.0000 scale
2990 240 fnt83 0 -52(dir)m 8(ectory)k 
2991 grestore
2992
2993 grestore
2994 480 2928(Read)m
2995 1030(con\207guration)s 2363(from)s 2887(all)s 3180(\207les)s 3629(in)s
2996 3872(directory)s 240 fnt83 4788 2930(dir)m 8(ectory)k 240 fnt82
2997 5712 2928(which)m 6354(are)s 6701(plain)s 7236(\207les)s 7685(whose)s
2998 8353(names)s 480 2688(consist)m 1204(only)s 1684(of)s 1955(alphanumerics)s
2999 3400(and)s 3804(h)s 1(yphens)k 4653(and)s 5057(start)s
3000 5527(with)s 6009(an)s 6292(alphanumeric.)s 7697(The)s 3(y)k
3001 8240(will)s 8666(be)s 480 2448(read)m 949(in)s 1192(le)s 3(xical)k
3002 1880(order)s 13(.)k 2475(It)s 2680(is)s 2890(an)s
3003 3173(error)s 3696(for)s 4034(the)s 4382(directory)s 5298(not)s
3004 5664(to)s 5903(e)s 3(xist)k 6411(or)s 6670(for)s
3005 7008(it)s 7200(or)s 7459(an)s 3(y)k 7856(of)s
3006 8127(the)s 8475(\207les)s 480 2208(found)m 1089(not)s 1447(to)s
3007 1677(be)s 1951(read)s 2411(successfully)s 15(,)k 3663(or)s
3008 3914(for)s 4243(an)s 3(ything)k 5123(with)s 5596(an)s
3009 5871(appropriate)s 7007(name)s 7572(not)s 7930(to)s 8160(be)s
3010 8434(a)s 8591(plain)s 480 1968(\207le)m 841(or)s 1100(a)s
3011 1266(symbolic)s 2196(link)s 2629(to)s 2868(a)s 3034(plain)s
3012 3569(\207le.)s gsave
3013 120 1628 translate
3014 0.6953 1.0000 scale
3015 240 fnt31 0 -52(error)m gsave
3016 864 0 translate
3017 1.4219 1.0000 scale
3018 240 fnt83 0 -52(te)m 4(xt)k
3019 404(\202)s 
3020 grestore
3021
3022 grestore
3023 480 1334(Causes)m 1209(an)s 1492(error)s 2015(whose)s
3024 2683(message)s 3549(includes)s 4397(the)s 4745(descripti)s 6(v)k 3(e)k
3025 5840(string)s 240 fnt83 6437 1336(te)m 4(xt)k 240 fnt82
3026 6781 1334(.)m 240 fnt83 6885 1336(te)m 4(xt)k 240 fnt82
3027 7289 1334(may)m 7755(consist)s 8479(of)s 480 1094(se)m 6(v)k 3(eral)k
3028 1192(tok)s 2(ens)k 1855(with)s 2326(interv)s 3(ening)k
3029 3454(whitespace.)s 4609(The)s 5026(whitespace)s 6134(will)s 6549(be)s
3030 6820(included)s 7691(in)s 7923(the)s 8260(message)s 480 854(as)m
3031 726(found)s 1338(in)s 1576(the)s 1919(con\207guration)s 3247(\207le:)s
3032 3653(all)s 3941(the)s 4284(characters)s 5298(until)s 5786(the)s
3033 6129(end)s 6528(of)s 6794(the)s 7137(line)s 7546(will)s
3034 7967(be)s 8244(included)s 0 52(User)m 511(service)s 1243(daemon)s
3035 2058(and)s 2462(client)s 3052(speci\207cation)s 8611(1.0.1)s 
3036 grestore
3037
3038 grestore
3039
3040 pgsave restore
3041 showpage
3042
3043 %%Page: 12 12
3044 %%BeginPageSetup
3045 %%PageResources: font Times-Roman
3046 %%+ font Times-Bold
3047 %%+ font Courier-Bold
3048 %%+ font Times-Italic
3049 /pgsave save def
3050 0.0500 dup scale 10 setlinewidth
3051 %%EndPageSetup
3052 gsave
3053 0 0 translate
3054 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
3055 gsave
3056 LoutPageSet
3057 grestore
3058 gsave
3059 0 16840 translate
3060 0.0000 rotate
3061
3062 grestore
3063
3064 grestore
3065 gsave
3066 0 16840 translate
3067 0.0000 rotate
3068 gsave
3069 1417 -15423 translate
3070 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
3071 gsave
3072 0 LoutMargSet
3073 grestore
3074 240 fnt84 0 13842(12)m 240 fnt82 480 13254(v)m 3(erbatim,)k
3075 1433(unless)s 2082(the)s 3(y)k 2545(are)s 2892(part)s
3076 3323(of)s 3594(a)s 3760(double-quoted)s 5201(string,)s 5852(in)s
3077 6095(which)s 6737(case)s 7204(the)s 7552(usual)s 8112(meaning)s
3078 480 13014(of)m 751(the)s 1099(string)s 1696(\(i.e.,)s 2174(after)s
3079 2670(backslash)s 3657(escape)s 4350(processing\))s 5501(will)s 5927(be)s
3080 6209(used.)s 6752(Comments)s 7840(and)s 8244(linear)s 480 12774(whitespace)m
3081 1598(at)s 1830(the)s 2178(end)s 2582(of)s 2853(the)s
3082 3201(line)s 3615(\(or)s 3953(just)s 4358(before)s 5024(the)s
3083 5372(comment\))s 6390(will)s 6816(still)s 7228(be)s 7510(ignored.)s
3084 gsave
3085 120 12434 translate
3086 0.6953 1.0000 scale
3087 240 fnt31 0 -52(message)m gsave
3088 1152 0 translate
3089 1.4219 1.0000 scale
3090 240 fnt83 0 -52(te)m 4(xt)k
3091 404(\202)s 
3092 grestore
3093
3094 grestore
3095 480 12140(Causes)m 1209(a)s 1375(message)s 2241(including)s
3096 3198(the)s 3546(descripti)s 6(v)k 3(e)k 4641(string)s
3097 240 fnt83 5238 12142(te)m 4(xt)k 240 fnt82 5642 12140(to)m
3098 5881(be)s 6163(deli)s 6(v)k 3(ered)k 7101(as)s
3099 7351(if)s 7568(it)s 7760(were)s 8280(an)s 8563(error)s
3100 480 11900(message,)m 1397(b)s 4(ut)k 1759(does)s 2249(not)s
3101 2615(actually)s 3425(cause)s 4012(an)s 4295(error)s 13(.)k
3102 300 fnt84 0 11233(4.2.2.)m 813(Dir)s 5(ecti)k 3(v)k 3(es)k
3103 2148(with)s 2781(delay)s 3(ed)k 3828(effect)s 240 fnt82
3104 0 10662(The)m 428(follo)s 6(wing)k 1405(directi)s 6(v)k 3(es)k
3105 2375(ha)s 4(v)k 3(e)k 2876(no)s 3169(immediate)s
3106 4233(ef)s 6(fect,)k 4876(b)s 4(ut)k 5238(are)s
3107 5585(remembered)s 6837(and)s 7241(ha)s 4(v)k 3(e)k
3108 7742(an)s 8025(ef)s 6(fect)k 8621(on)s 0 10422(later)m
3109 483(processing)s 1559(of)s 1830(the)s 2178(con\207guration)s 3511(\207les.)s
3110 gsave
3111 120 10068 translate
3112 0.6953 1.0000 scale
3113 240 fnt31 0 -52(user\211rcfile)m gsave
3114 1728 0 translate
3115 1.4219 1.0000 scale
3116 240 fnt83 0 -52(\207lename)m 
3117 grestore
3118
3119 grestore
3120 480 9774(Speci\207es)m
3121 1380(that)s 1784(the)s 2118(\207le)s 240 fnt83 2465 9776(\207lename)m
3122 240 fnt82 3315 9774(should)m 3998(be)s 4266(read)s 4721(instead)s
3123 5442(of)s 5699(the)s 6033(user')s 13(s)k gsave
3124 6627 9828 translate
3125 0.6953 1.0000 scale
3126 240 fnt31
3127 0 -52(~/.userv/rc)m 
3128 grestore
3129 7728(.)s 7818(This)s 8280(does)s 240 fnt83
3130 8756 9776(not)m 240 fnt82 480 9534(happen)m 1229(immediately;)s 2535(instead,)s
3131 3319(the)s 3667(setting)s 4357(is)s 4567(remembered)s 5819(and)s
3132 6223(used)s 6720(after)s 7216(the)s gsave
3133 7564 9588 translate
3134 0.6953 1.0000 scale
3135 240 fnt31 0 -52(system.default)m
3136
3137 grestore
3138 480 9294(con\207guration)m 1812(\207le)s 2171(has)s 2539(been)s 3046(read.)s
3139 3559(This)s 4033(directi)s 6(v)k 3(e)k 4913(has)s
3140 5281(no)s 5572(ef)s 6(fect)k 6166(in)s 6407(a)s
3141 6571(user')s 13(s)k 7177(con\207guration)s 8508(\207le)s 8867(or)s
3142 480 9054(in)m 723(the)s gsave
3143 1071 9108 translate
3144 0.6953 1.0000 scale
3145 240 fnt31 0 -52(system.override)m 
3146 grestore
3147 2632(\207le,)s
3148 3044(as)s 3294(the)s 3642(user')s 13(s)k 4250(con\207guration)s
3149 5583(\207le)s 5944(has)s 6314(already)s 7071(been)s 7580(found)s
3150 8197(and)s 8601(read)s 480 8814(by)m 774(then)s 1243(and)s
3151 1647(will)s 2073(not)s 2439(be)s 2721(re-read.)s gsave
3152 120 8474 translate
3153 0.6953 1.0000 scale
3154 240 fnt31
3155 0 -52(errors\211to\211stderr)m 
3156 grestore
3157 480 8180(Causes)m 1209(error)s 1732(messages)s 2686(to)s
3158 2925(be)s 3207(deli)s 6(v)k 3(ered)k 4145(to)s
3159 4384(the)s 4732(client')s 13(s)k 5472(stderr)s 13(.)k
3160 gsave
3161 120 7840 translate
3162 0.6953 1.0000 scale
3163 240 fnt31 0 -52(errors\211to\211file)m 
3164 grestore
3165 240 fnt83 1581 7788(\207lename)m 240 fnt82
3166 480 7546(Error)m 1039(messages)s 1989(will)s 2410(be)s 2688(written)s
3167 3416(to)s 240 fnt83 3651 7548(\207lename)m 240 fnt82 4455 7546(,)m
3168 4557(which)s 5195(will)s 5617(be)s 5894(opened)s 6640(in)s
3169 6878(the)s 7222(conte)s 3(xt)k 7978(of)s 8245(and)s
3170 8644(with)s 480 7306(the)m 828(pri)s 6(vile)k 3(ges)k
3171 1812(of)s 2083(the)s 2431(service)s 3163(user)s 13(.)k
3172 gsave
3173 120 6966 translate
3174 0.6953 1.0000 scale
3175 240 fnt31 0 -52(errors\211to\211syslog)m 
3176 grestore
3177 1782 6912([)m 240 fnt83 1853 6914(facility)m
3178 240 fnt82 2571 6912([)m 240 fnt83 2642 6914(le)m 3(vel)k
3179 240 fnt82 3089 6912(]])m 480 6672(Error)m 1043(messages)s 1997(will)s
3180 2423(be)s 2705(deli)s 6(v)k 3(ered)k 3643(using)s
3181 gsave
3182 4215 6726 translate
3183 0.6953 1.0000 scale
3184 240 fnt31 0 -52(syslog)m 
3185 grestore
3186 4815(.)s 4919(The)s 5347(def)s 2(ault)k
3187 240 fnt83 6068 6674(facility)m 240 fnt82 6786 6672(is)m gsave
3188 6996 6726 translate
3189 0.6953 1.0000 scale
3190 240 fnt31
3191 0 -52(user)m 
3192 grestore
3193 7396(;)s 7508(the)s 7856(def)s 2(ault)k
3194 240 fnt83 8577 6674(le)m 3(vel)k 240 fnt82 480 6432(is)m
3195 gsave
3196 690 6486 translate
3197 0.6953 1.0000 scale
3198 240 fnt31 0 -52(error)m 
3199 grestore
3200 1190(.)s 300 fnt84 0 5815(4.2.3.)m
3201 813(Contr)s 5(ol)k 1874(structur)s 5(e)k 3117(dir)s 5(ecti)k 3(v)k 3(es)k
3202 240 fnt82 0 5300(The)m 421(follo)s 6(wing)k 1390(directi)s 6(v)k 3(es)k
3203 2353(are)s 2692(used)s 3182(to)s 3413(create)s 4031(control)s
3204 4755(structures.)s 5780(If)s 6002(the)s 6343(end)s 6739(of)s
3205 7003(the)s 7343(\207le)s 7697(is)s 7899(encountered)s 0 5060(before)m
3206 666(the)s 1014(end)s 1418(of)s 1689(an)s 3(y)k
3207 2086(control)s 2818(structure)s 3709(which)s 4351(w)s 2(as)k
3208 4772(started)s 5466(inside)s 6093(it)s 6285(then)s 6754(that)s
3209 7172(control)s 7904(structure)s 8795(is)s 0 4820(considered)m 1094(\207nished.)s
3210 1956(This)s 2432(is)s 2642(not)s 3008(an)s 3291(error)s 13(.)k
3211 gsave
3212 120 4466 translate
3213 0.6953 1.0000 scale
3214 240 fnt31 0 -52(if)m gsave
3215 432 0 translate
3216 1.4219 1.0000 scale
3217 240 fnt83 0 -52(condition)m 
3218 grestore
3219
3220 grestore
3221 gsave
3222 120 4226 translate
3223 0.6953 1.0000 scale
3224 240 fnt31
3225 0 -52(elif)m gsave
3226 720 0 translate
3227 1.4219 1.0000 scale
3228 240 fnt83 0 -52(condition)m 
3229 grestore
3230
3231 grestore
3232 gsave
3233 120 3986 translate
3234 0.6953 1.0000 scale
3235 240 fnt31 0 -52(else)m
3236
3237 grestore
3238 gsave
3239 120 3746 translate
3240 0.6953 1.0000 scale
3241 240 fnt31 0 -52(fi)m 
3242 grestore
3243 480 3452(Lines)m 1062(follo)s 6(wing)k
3244 gsave
3245 2039 3506 translate
3246 0.6953 1.0000 scale
3247 240 fnt31 0 -52(if)m 
3248 grestore
3249 2299(are)s 2646(interpreted)s 3738(only)s
3250 4218(if)s 4435(the)s 4783(condition)s 5744(is)s 5954(true.)s
3251 6429(Man)s 3(y)k 7039(conditions)s 8087(are)s 480 3212(properties)m
3252 1486(of)s 1757(parameter)s 2771(v)s 6(alues.)k 3480(Most)s
3253 4032(parameters)s 5130(ha)s 4(v)k 3(e)k 5631(a)s
3254 5797(single)s 6424(string)s 7021(as)s 7271(a)s 7437(v)s 6(alue;)k
3255 8061(ho)s 6(we)k 6(v)k 3(er)k 9(,)k
3256 480 2972(some)m 1035(may)s 1495(yield)s 2025(zero)s 2483(or)s
3257 2735(se)s 6(v)k 3(eral)k 3451(strings,)s 4189(in)s
3258 4426(which)s 5062(case)s 5522(the)s 5864(condition)s 6819(is)s
3259 7023(true)s 7444(if)s 7654(it)s 7840(is)s 8044(true)s
3260 8465(of)s 8729(an)s 3(y)k 480 2732(of)m 751(the)s
3261 1099(strings)s 1787(indi)s 6(vidually)k 15(.)k 3026(P)s 3(arameters)k
3262 4134(are)s 4481(described)s 5455(belo)s 6(w)k 15(.)k
3263 6183(The)s 6611(conditions)s 7659(are:)s gsave
3264 600 2545 translate
3265 0.6953 1.0000 scale
3266 240 fnt31 0 -52(glob)m
3267 gsave
3268 720 0 translate
3269 1.4219 1.0000 scale
3270 240 fnt83 0 -52(par)m 3(ameter)k 
3271 grestore
3272 gsave
3273 2284 0 translate
3274 1.4219 1.0000 scale
3275 240 fnt83 0 -52(glob\211pattern)m
3276
3277 grestore
3278 4178(\202)s 
3279 grestore
3280 960 2251(The)m 1388(v)s 6(alue)k 1956(of)s
3281 2227(the)s 2575(parameter)s 3589(whose)s 4257(name)s 4831(is)s
3282 5041(gi)s 6(v)k 3(en)k 5621(matches)s 6455(one)s
3283 6857(of)s 7128(the)s 7476(glob)s 7955(patterns)s 960 2011(\(anchored)m
3284 1974(at)s 2206(both)s 2689(ends;)s 3240(backslashes)s 4420(can)s
3285 4809(be)s 5091(used)s 5588(to)s 5827(escape)s 6520(metacharacters\).)s
3286 gsave
3287 600 1825 translate
3288 0.6953 1.0000 scale
3289 240 fnt31 0 -52(range)m gsave
3290 864 0 translate
3291 1.4219 1.0000 scale
3292 240 fnt83 0 -52(par)m 3(ameter)k
3293
3294 grestore
3295 gsave
3296 2428 0 translate
3297 1.4219 1.0000 scale
3298 240 fnt83 0 -52(min)m 
3299 grestore
3300 gsave
3301 3073 0 translate
3302 1.4219 1.0000 scale
3303 240 fnt83 0 -52(max)m 
3304 grestore
3305
3306 grestore
3307 960 1531(The)m
3308 1380(v)s 6(alue)k 1940(of)s 2203(the)s 2543(parameter)s
3309 3548(is)s 3750(a)s 3908(nonne)s 3(g)k 1(ati)k 6(v)k 3(e)k
3310 5113(inte)s 3(ger)k 5825(and)s 6220(lies)s 6594(within)s
3311 7254(the)s 7594(range)s 8172(speci\207ed.)s 240 fnt83 960 1293(min)m
3312 240 fnt82 1373 1291(or)m 240 fnt83 1632 1293(max)m 240 fnt82
3313 2091 1291(may)m 2557(be)s gsave
3314 2839 1345 translate
3315 0.6953 1.0000 scale
3316 240 fnt31 0 -52($)m 
3317 grestore
3318 2999(to)s
3319 3238(indicate)s 4050(no)s 4343(lo)s 6(wer)k 4941(or)s
3320 5200(upper)s 5805(limit,)s 6362(respecti)s 6(v)k 3(ely)k 15(.)k
3321 gsave
3322 600 1104 translate
3323 0.6953 1.0000 scale
3324 240 fnt31 0 -52(grep)m gsave
3325 720 0 translate
3326 1.4219 1.0000 scale
3327 240 fnt83 0 -52(par)m 3(ameter)k
3328
3329 grestore
3330 gsave
3331 2284 0 translate
3332 1.4219 1.0000 scale
3333 240 fnt83 0 -52(\207lename)m 
3334 grestore
3335
3336 grestore
3337 960 810(The)m 240 fnt83 1388 812(\207lename)m
3338 240 fnt82 2252 810(refers)m 2845(to)s 3084(a)s 3250(\207le)s
3339 3611(one)s 4013(of)s 4284(whose)s 4952(lines)s 5454(is)s
3340 5664(the)s 6012(v)s 6(alue)k 6580(of)s 6851(the)s
3341 7199(parameter)s 8213(\(leading)s 0 52(1.0.1)m 4809(User)s 5320(service)s
3342 6052(daemon)s 6867(and)s 7271(client)s 7861(speci\207cation)s 
3343 grestore
3344
3345 grestore
3346
3347 pgsave restore
3348 showpage
3349
3350 %%Page: 13 13
3351 %%BeginPageSetup
3352 %%PageResources: font Times-Roman
3353 %%+ font Times-Bold
3354 %%+ font Courier-Bold
3355 %%+ font Times-Italic
3356 /pgsave save def
3357 0.0500 dup scale 10 setlinewidth
3358 %%EndPageSetup
3359 gsave
3360 0 0 translate
3361 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
3362 gsave
3363 LoutPageSet
3364 grestore
3365 gsave
3366 0 16840 translate
3367 0.0000 rotate
3368
3369 grestore
3370
3371 grestore
3372 gsave
3373 0 16840 translate
3374 0.0000 rotate
3375 gsave
3376 1417 -15423 translate
3377 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
3378 gsave
3379 1 LoutMargSet
3380 grestore
3381 240 fnt84 8833 13842(13)m 240 fnt82 960 13251(or)m 1211(trailing)s
3382 1944(whitespace)s 3053(on)s 3341(each)s 3827(line)s 4232(and)s
3383 4627(empty)s 5270(lines)s 5764(in)s 5998(the)s 6337(\207le)s
3384 6689(are)s 7027(ignored\).)s 7932(It)s 8128(is)s 8329(an)s
3385 8603(error)s 960 13011(for)m 1298(the)s 1646(\207le)s 2007(not)s
3386 2373(to)s 2612(be)s 2894(opened)s 3644(and)s 4048(read.)s
3387 gsave
3388 600 12824 translate
3389 0.6953 1.0000 scale
3390 240 fnt31 0 -52(!)m gsave
3391 288 0 translate
3392 1.4219 1.0000 scale
3393 240 fnt83 0 -52(condition)m 
3394 grestore
3395
3396 grestore
3397 960 12530(The)m
3398 240 fnt83 1388 12532(condition)m 240 fnt82 2346 12530(is)m 240 fnt83
3399 2556 12532(not)m 240 fnt82 2926 12530(true.)m 600 12290(Conjunctions:)m gsave
3400 1983 12344 translate
3401 0.6953 1.0000 scale
3402 240 fnt31
3403 0 -52(&)m 
3404 grestore
3405 2143(and)s gsave
3406 2547 12344 translate
3407 0.6953 1.0000 scale
3408 240 fnt31 0 -52(|)m 
3409 grestore
3410 gsave
3411 1440 11864 translate
3412 0.6953 1.0000 scale
3413 240 fnt31
3414 0 -52(\()m gsave
3415 288 0 translate
3416 1.4219 1.0000 scale
3417 240 fnt83 0 -52(condition)m 
3418 grestore
3419 0 -292(&)m gsave
3420 288 -240 translate
3421 1.4219 1.0000 scale
3422 240 fnt83
3423 0 -52(condition)m 
3424 grestore
3425 0 -532(&)m gsave
3426 288 -480 translate
3427 1.4219 1.0000 scale
3428 240 fnt83 0 -52(condition)m 
3429 grestore
3430 0 -772(\202)m
3431 0 -1012(\))m 
3432 grestore
3433 960 10598(is)m 1170(true)s 1597(if)s 1814(all)s
3434 2107(the)s 2455(listed)s 3030(conditions)s 4078(are)s 4425(true;)s
3435 4908(where)s gsave
3436 5548 10652 translate
3437 0.6953 1.0000 scale
3438 240 fnt31 0 -52(|)m 
3439 grestore
3440 5708(is)s 5918(used)s
3441 6415(it)s 6607(is)s 6817(true)s 7244(if)s 7461(an)s 3(y)k
3442 7858(of)s 8129(them)s 8667(is)s 960 10353(true.)m 1428(Ne)s 6(wlines)k
3443 2368(must)s 2885(be)s 3159(used)s 3648(to)s 3879(separate)s
3444 4709(one)s 5104(condition)s 6057(from)s 6573(the)s 6913(ne)s 3(xt,)k
3445 7421(as)s 7663(sho)s 6(wn,)k 8382(and)s 8778(the)s
3446 960 10113(parentheses)m 2126(are)s 2473(mandatory)s 15(.)k 3585(These)s
3447 4212(conjunctions)s 5486(do)s 5779(not)s 6145(do)s 6438(lazy)s
3448 6890(e)s 6(v)k 6(aluation.)k 480 9850(The)m 908(parameters)s
3449 2006(are:)s gsave
3450 600 9664 translate
3451 0.6953 1.0000 scale
3452 240 fnt31 0 -52(service)m 
3453 grestore
3454 960 9370(The)m 1388(service)s
3455 2120(name)s 2694(speci\207ed)s 3602(when)s 4178(the)s 4526(client)s
3456 5116(w)s 2(as)k 5537(called.)s gsave
3457 600 9184 translate
3458 0.6953 1.0000 scale
3459 240 fnt31 0 -52(calling\211user)m
3460
3461 grestore
3462 960 8890(T)m 19(w)k 2(o)k 1431(strings:)s 2174(the)s
3463 2522(login)s 3071(name)s 3645(of)s 3916(the)s 4264(calling)s
3464 4967(user)s 5425(\(determined)s 6637(as)s 6887(for)s gsave
3465 7225 8944 translate
3466 0.6953 1.0000 scale
3467 240 fnt31
3468 0 -52(USERV_USER)m 
3469 grestore
3470 8226(,)s 8333(abo)s 3(v)k 3(e\))k
3471 960 8650(and)m 1364(the)s 1712(calling)s 2415(uid)s 2779(\(represented)s
3472 4017(in)s 4260(decimal\).)s gsave
3473 600 8464 translate
3474 0.6953 1.0000 scale
3475 240 fnt31 0 -52(calling\211group)m 
3476 grestore
3477 960 8170(Se)m 6(v)k 3(eral)k
3478 1722(strings:)s 2465(the)s 2813(primary)s 3623(and)s 4027(supplementary)s
3479 5489(group)s 6101(names)s 6763(and)s 7167(gids)s 7617(\(in)s
3480 7939(decimal\))s 960 7930(of)m 1231(the)s 1579(calling)s 2282(process.)s
3481 3103(All)s 3463(the)s 3811(group)s 4423(names)s 5085(come)s
3482 5659(\207rst,)s 6137(and)s 6541(then)s 7010(the)s 7358(gids.)s
3483 7861(If)s 8091(the)s 8439(\207rst)s 960 7690(supplementary)m 2422(group)s
3484 3034(is)s 3244(the)s 3592(same)s 4139(as)s 4389(the)s
3485 4737(primary)s 5547(group)s 6159(then)s 6628(it)s 6820(is)s
3486 7030(elided.)s gsave
3487 600 7504 translate
3488 0.6953 1.0000 scale
3489 240 fnt31 0 -52(calling\211user\211shell)m 
3490 grestore
3491 960 7210(The)m 1388(calling)s
3492 2091(user')s 13(s)k 2699(shell,)s 3257(as)s 3507(listed)s
3493 4082(in)s 4325(the)s 4673(passw)s 2(ord)k 5633(entry)s
3494 6178(for)s 6516(the)s 6864(calling)s 7567(login)s 8116(name)s
3495 8690(\(as)s 960 6970(determined)m 2093(for)s gsave
3496 2431 7024 translate
3497 0.6953 1.0000 scale
3498 240 fnt31 0 -52(USERV_USER)m
3499
3500 grestore
3501 3432(,)s 3539(abo)s 3(v)k 3(e\).)k gsave
3502 600 6784 translate
3503 0.6953 1.0000 scale
3504 240 fnt31
3505 0 -52(service\211user)m 
3506 grestore
3507 960 6490(T)m 19(w)k 2(o)k 1431(strings:)s
3508 2174(the)s 2522(name)s 3096(of)s 3367(the)s 3715(service)s
3509 4447(user)s 4905(\(as)s 5234(speci\207ed)s 6142(to)s 6381(the)s
3510 6729(client\))s 7387(and)s 7791(their)s 8288(uid)s 960 6250(\(represented)m
3511 2198(in)s 2441(decimal\).)s gsave
3512 600 6064 translate
3513 0.6953 1.0000 scale
3514 240 fnt31 0 -52(service\211group)m 
3515 grestore
3516 960 5770(Se)m 6(v)k 3(eral)k
3517 1722(strings:)s 2465(the)s 2813(primary)s 3623(and)s 4027(supplementary)s
3518 5489(group)s 6101(names)s 6763(and)s 7167(gids)s 7617(\(in)s
3519 7939(decimal\))s 8823(of)s 960 5530(the)m 1308(service)s 2040(user)s 13(.)k
3520 gsave
3521 600 5344 translate
3522 0.6953 1.0000 scale
3523 240 fnt31 0 -52(service\211user\211shell)m 
3524 grestore
3525 960 5050(The)m 1388(service)s 2120(user')s 13(s)k
3526 2728(shell,)s 3286(as)s 3536(listed)s 4111(in)s 4354(their)s
3527 4851(passw)s 2(ord)k 5811(entry)s 15(.)k gsave
3528 600 4864 translate
3529 0.6953 1.0000 scale
3530 240 fnt31
3531 0 -52(u\211)m gsave
3532 288 0 translate
3533 1.4219 1.0000 scale
3534 240 fnt83 0 -52(name)m 
3535 grestore
3536
3537 grestore
3538 960 4570(The)m 1388(v)s 6(alue)k
3539 1956(of)s 2227(the)s 2575(user)s 4(-de\207ned)k 3811(v)s 6(ariable)k
3540 240 fnt83 4630 4572(name)m 240 fnt82 5202 4570(passed)m 5898(by)s
3541 6192(the)s 6540(caller)s 7129(using)s 7701(the)s gsave
3542 8049 4624 translate
3543 0.6953 1.0000 scale
3544 240 fnt31
3545 0 -52(\211\211defvar)m 
3546 grestore
3547 960 4330(command-line)m 2397(option)s 3066(to)s 3305(the)s
3548 3653(client.)s 4287(If)s 4517(the)s 4865(v)s 6(ariable)k
3549 5684(w)s 2(as)k 6105(not)s 6471(de\207ned)s 7234(then)s
3550 7703(this)s 8099(parameter)s 960 4090(is)m 1170(an)s 1453(empty)s
3551 2105(list)s 2456(of)s 2727(strings;)s 3476(in)s 3719(this)s
3552 4115(case)s 4582(an)s 3(y)k 4979(condition)s 5940(which)s
3553 6582(tests)s 7057(it)s 7249(will)s 7675(be)s 7957(f)s 2(alse,)k
3554 8512(and)s gsave
3555 960 3904 translate
3556 0.6953 1.0000 scale
3557 240 fnt31 0 -52(include\211lookup)m 
3558 grestore
3559 2421 3850(on)m 2718(it)s
3560 2910(will)s 3336(read)s 3805(the)s gsave
3561 4153 3904 translate
3562 0.6953 1.0000 scale
3563 240 fnt31 0 -52(:none)m
3564
3565 grestore
3566 4713(\207le,)s 5125(or)s gsave
3567 5384 3904 translate
3568 0.6953 1.0000 scale
3569 240 fnt31 0 -52(:default)m 
3570 grestore
3571 6245(if)s
3572 gsave
3573 6462 3904 translate
3574 0.6953 1.0000 scale
3575 240 fnt31 0 -52(:none)m 
3576 grestore
3577 7022(is)s 7232(not)s 7598(found.)s
3578 gsave
3579 120 3481 translate
3580 0.6953 1.0000 scale
3581 240 fnt31 0 -52(errors\211push)m 
3582 grestore
3583 240 fnt83 1281 3429(\207lename)m gsave
3584 120 3241 translate
3585 0.6953 1.0000 scale
3586 240 fnt31
3587 0 -52(srorre)m 
3588 grestore
3589 240 fnt82 480 2947(Stacks)m 1155(the)s 1503(error)s
3590 2026(handling)s 2917(beha)s 4(viour)k 3930(currently)s 4846(in)s
3591 5089(ef)s 6(fect.)k 5729(An)s 3(y)k 6193(changes)s
3592 7015(to)s 7254(error)s 7777(handling)s 8668(will)s 480 2707(tak)m 2(e)k
3593 932(ef)s 6(fect)k 1528(only)s 2008(between)s gsave
3594 2862 2761 translate
3595 0.6953 1.0000 scale
3596 240 fnt31
3597 0 -52(errors\211push)m 
3598 grestore
3599 4023(and)s gsave
3600 4427 2761 translate
3601 0.6953 1.0000 scale
3602 240 fnt31 0 -52(srorre)m 
3603 grestore
3604 5027(.)s
3605 gsave
3606 120 2367 translate
3607 0.6953 1.0000 scale
3608 240 fnt31 0 -52(catch\211quit)m 
3609 grestore
3610 gsave
3611 120 2127 translate
3612 0.6953 1.0000 scale
3613 240 fnt31 0 -52(hctac)m 
3614 grestore
3615 480 1833(An)m 3(y)k
3616 935(use)s 1301(of)s gsave
3617 1563 1887 translate
3618 0.6953 1.0000 scale
3619 240 fnt31 0 -52(quit)m 
3620 grestore
3621 2013(inside)s
3622 gsave
3623 2631 1887 translate
3624 0.6953 1.0000 scale
3625 240 fnt31 0 -52(catch\211quit)m 
3626 grestore
3627 3683(will)s 4100(merely)s 4807(cause)s
3628 5385(the)s 5724(parsing)s 6472(to)s 6701(continue)s 7572(at)s
3629 gsave
3630 7795 1887 translate
3631 0.6953 1.0000 scale
3632 240 fnt31 0 -52(hctac)m 
3633 grestore
3634 8345(instead.)s 480 1593(An)m 3(y)k
3635 944(control)s 1676(constructs)s 2696(started)s 3390(since)s 3937(the)s
3636 gsave
3637 4285 1647 translate
3638 0.6953 1.0000 scale
3639 240 fnt31 0 -52(catch\211quit)m 
3640 grestore
3641 5346(will)s 5772(be)s 6054(considered)s
3642 7148(\207nished)s 7964(if)s 8181(a)s gsave
3643 8347 1647 translate
3644 0.6953 1.0000 scale
3645 240 fnt31 0 -52(quit)m
3646
3647 grestore
3648 8807(is)s 480 1353(found.)m 1203(If)s 1433(an)s 1716(error)s
3649 2239(occurs)s 2914(inside)s gsave
3650 3541 1407 translate
3651 0.6953 1.0000 scale
3652 240 fnt31 0 -52(catch\211quit)m 
3653 grestore
3654 4602(the)s
3655 4950(e)s 3(x)k 3(ecution)k 5931(settings)s 6712(will)s
3656 7138(be)s 7420(reset)s 7930(\(as)s 8259(if)s 8476(by)s
3657 8770(the)s gsave
3658 480 1167 translate
3659 0.6953 1.0000 scale
3660 240 fnt31 0 -52(reset)m 
3661 grestore
3662 1040 1113(directi)m 6(v)k 3(e\))k
3663 1994(and)s 2398(parsing)s 3155(will)s 3581(lik)s 2(e)k 6(wise)k
3664 4425(continue)s 5305(at)s gsave
3665 5537 1167 translate
3666 0.6953 1.0000 scale
3667 240 fnt31 0 -52(hctac)m 
3668 grestore
3669 6037(.)s
3670 6201(If)s 6431(a)s 6597(le)s 3(xical)k 7285(or)s
3671 7544(syntax)s 8224(error)s 8747(is)s 480 873(detected)m 1334(in)s
3672 1577(the)s 1925(same)s 2472(con\207guration)s 3805(\207le)s 4166(as)s
3673 4416(the)s gsave
3674 4764 927 translate
3675 0.6953 1.0000 scale
3676 240 fnt31 0 -52(catch\211quit)m 
3677 grestore
3678 5765(,)s 5872(while)s
3679 6459(looking)s 7244(for)s 7582(the)s gsave
3680 7930 927 translate
3681 0.6953 1.0000 scale
3682 240 fnt31 0 -52(hctac)m
3683
3684 grestore
3685 8490(after)s 0 52(User)m 511(service)s 1243(daemon)s 2058(and)s
3686 2462(client)s 3052(speci\207cation)s 8611(1.0.1)s 
3687 grestore
3688
3689 grestore
3690
3691 pgsave restore
3692 showpage
3693
3694 %%Page: 14 14
3695 %%BeginPageSetup
3696 %%PageResources: font Times-Roman
3697 %%+ font Times-Bold
3698 %%+ font Courier-Bold
3699 %%+ font Times-Italic
3700 /pgsave save def
3701 0.0500 dup scale 10 setlinewidth
3702 %%EndPageSetup
3703 gsave
3704 0 0 translate
3705 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
3706 gsave
3707 LoutPageSet
3708 grestore
3709 gsave
3710 0 16840 translate
3711 0.0000 rotate
3712
3713 grestore
3714
3715 grestore
3716 gsave
3717 0 16840 translate
3718 0.0000 rotate
3719 gsave
3720 1417 -15423 translate
3721 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
3722 gsave
3723 0 LoutMargSet
3724 grestore
3725 240 fnt84 0 13842(14)m 240 fnt82 480 13254(an)m 763(error)s
3726 1286(or)s gsave
3727 1545 13308 translate
3728 0.6953 1.0000 scale
3729 240 fnt31 0 -52(quit)m 
3730 grestore
3731 1945(,)s 2052(that)s
3732 2470(ne)s 6(w)k 2917(error)s 3440(will)s 3866(not)s
3733 4232(be)s 4514(caught.)s 300 fnt84 0 12587(4.2.4.)m 813(Dir)s 5(ecti)k 3(v)k 3(es)k
3734 2148(f)s 7(or)k 2595(changing)s 3829(execution)s 5112(settings)s
3735 240 fnt82 0 12016(The)m 419(follo)s 6(wing)k 1386(directi)s 6(v)k 3(es)k
3736 2346(modify)s 3082(the)s 3420(e)s 3(x)k 3(ecution)k
3737 4391(settings;)s 5223(the)s 5562(serv)s 3(er)k 6192(will)s
3738 6608(remember)s 7627(the)s 7965(f)s 2(act)k 8370(that)s
3739 8778(the)s 0 11775(directi)m 6(v)k 3(e)k 881(w)s 2(as)k
3740 1300(encountered)s 2525(and)s 2927(act)s 3263(on)s 3559(it)s
3741 3749(only)s 4227(after)s 4721(all)s 5012(the)s 5359(con\207guration)s
3742 6690(has)s 7058(been)s 7565(parsed.)s 8291(The)s 240 fnt83
3743 8717 11777(last)m 240 fnt82 0 11535(directi)m 6(v)k 3(e)k
3744 882(which)s 1524(modi\207es)s 2399(an)s 3(y)k 2796(particuar)s
3745 3704(setting)s 4394(will)s 4820(tak)s 2(e)k 5272(ef)s 6(fect.)k
3746 gsave
3747 120 11181 translate
3748 0.6953 1.0000 scale
3749 240 fnt31 0 -52(reject)m 
3750 grestore
3751 480 10887(Reject)m 1150(the)s 1498(request.)s
3752 gsave
3753 2292 10941 translate
3754 0.6953 1.0000 scale
3755 240 fnt31 0 -52(execute)m 
3756 grestore
3757 2992(,)s gsave
3758 3099 10941 translate
3759 0.6953 1.0000 scale
3760 240 fnt31 0 -52(execute\211from\211directory)m
3761
3762 grestore
3763 5361(and)s gsave
3764 5765 10941 translate
3765 0.6953 1.0000 scale
3766 240 fnt31 0 -52(execute\211from\211path)m 
3767 grestore
3768 7527(will)s 7953(change)s
3769 480 10647(this)m 876(setting.)s gsave
3770 120 10307 translate
3771 0.6953 1.0000 scale
3772 240 fnt31 0 -52(execute)m gsave
3773 1152 0 translate
3774 1.4219 1.0000 scale
3775 240 fnt83
3776 0 -52(pr)m 10(o)k 2(gr)k 3(am)k 
3777 grestore
3778 2461([)s
3779 gsave
3780 2605 0 translate
3781 1.4219 1.0000 scale
3782 240 fnt83 0 -52(ar)m 8(gument)k 
3783 grestore
3784 4048(\202])s 
3785 grestore
3786 480 10013(Ex)m 3(ecute)k
3787 1300(the)s 1645(program)s 240 fnt83 2512 10015(pr)m 10(o)k 2(gr)k 3(am)k
3788 240 fnt82 3332 10013(,)m 3436(with)s 3915(the)s 4259(ar)s 4(guments)k
3789 5299(as)s 5546(speci\207ed,)s 6500(follo)s 6(wed)k 7399(by)s
3790 7690(an)s 3(y)k 8083(ar)s 4(guments)k 480 9773(gi)m 6(v)k 3(en)k
3791 1052(to)s 1282(the)s 1621(client)s 2203(if)s gsave
3792 2411 9827 translate
3793 0.6953 1.0000 scale
3794 240 fnt31
3795 0 -52(no\211suppress\211args)m 
3796 grestore
3797 4064(is)s 4266(in)s 4500(ef)s 6(fect.)k
3798 5131(It)s 5328(is)s 5529(an)s 5803(error)s 6318(for)s
3799 6647(the)s 6986(e)s 3(x)k 3(ecution)k 7959(to)s
3800 8189(f)s 2(ail)k 8550(when)s 480 9533(it)m 672(is)s
3801 882(attempted)s 1882(\(after)s 2457(all)s 2750(the)s 3098(con\207guration)s
3802 4431(has)s 4801(been)s 5310(parsed\).)s 6117(If)s 240 fnt83
3803 6347 9535(pr)m 10(o)k 2(gr)k 3(am)k 240 fnt82
3804 7227 9533(does)m 7717(not)s 8083(contain)s 8844(a)s 480 9293(slash)m
3805 1015(it)s 1207(will)s 1633(be)s 1915(searched)s 2809(for)s
3806 3147(on)s 3444(the)s 3792(service)s 4524(user')s 13(s)k
3807 5132(path.)s gsave
3808 120 8953 translate
3809 0.6953 1.0000 scale
3810 240 fnt31 0 -52(execute\211from\211directory)m gsave
3811 3312 0 translate
3812 1.4219 1.0000 scale
3813 240 fnt83 0 -52(pathname)m
3814
3815 grestore
3816 4789([)s gsave
3817 4933 0 translate
3818 1.4219 1.0000 scale
3819 240 fnt83 0 -52(ar)m 8(gument)k 
3820 grestore
3821 6376(\202])s
3822
3823 grestore
3824 480 8659(T)m 19(ak)k 2(e)k 993(all)s 1286(the)s
3825 1634(characters)s 2652(after)s 3148(the)s 3496(last)s 3887(slash)s
3826 4422(of)s 4693(the)s 5041(service)s 5773(name)s 6347(speci\207ed)s
3827 7255(when)s 7831(the)s 8179(client)s 480 8418(w)m 2(as)k
3828 901(called,)s 1578(and)s 1982(e)s 3(x)k 3(ecute)k
3829 2762(that)s 3180(program)s 4050(in)s 4293(the)s 4641(directory)s
3830 5557(named)s 6253(by)s 240 fnt83 6547 8420(pathname)m 240 fnt82
3831 7545 8418(as)m 7795(if)s 8012(it)s 8204(had)s 8608(been)s
3832 480 8178(speci\207ed)m 1388(for)s 240 fnt83 1726 8180(e)m 4(xecute)k
3833 240 fnt82 2431 8178(.)m 2535(The)s 2963(part)s 3394(of)s
3834 3665(the)s 4013(service)s 4745(name)s 5319(used)s 5816(may)s
3835 6282(contain)s 7043(only)s 7523(alphanumerics)s 480 7938(and)m 884(h)s 1(yphens)k
3836 1732(and)s 2136(must)s 2660(start)s 3130(with)s 3611(an)s
3837 3894(alphanumeric)s 5247(\(and)s 5730(it)s 5921(must)s 6446(be)s
3838 6727(non-empty\),)s 7950(otherwise)s 8934(it)s 480 7698(is)m 690(an)s
3839 973(error)s 13(.)k 1587(This)s 2063(directi)s 6(v)k 3(e)k
3840 2945(is)s 3155(ignored)s 3944(if)s 4161(the)s 4509(rele)s 6(v)k 6(ant)k
3841 5326(program)s 6196(does)s 6686(not)s 7052(e)s 3(xist)k
3842 7560(in)s 7803(the)s 8151(directory)s 480 7458(speci\207ed;)m 1437(in)s
3843 1675(this)s 2066(case)s 2528(the)s 2871(program)s 3735(to)s
3844 3969(e)s 3(x)k 3(ecute)k 4744(is)s 4949(left)s
3845 5321(at)s 5548(its)s 5818(pre)s 6(vious)k 6682(setting)s
3846 7367(\(or)s 7700(unset,)s 8307(if)s 8519(it)s 8705(w)s 2(as)k
3847 480 7218(not)m 846(set)s 1171(before\).)s 2024(It)s 2229(is)s
3848 2439(an)s 2722(error)s 3245(for)s 3583(the)s 3931(test)s
3849 4322(for)s 4660(the)s 5008(e)s 3(xistence)k 5950(of)s
3850 6221(the)s 6569(program)s 7439(to)s 7678(f)s 2(ail)k
3851 8048(other)s 8599(than)s 480 6978(with)m 958(a)s 1120(`no)s
3852 1488(such)s 1980(\207le)s 2336(or)s 2591(directory')s 3561(indication.)s
3853 4617(It)s 4818(is)s 5023(also)s 5457(an)s 5736(error)s
3854 6255(for)s 6589(the)s 6932(e)s 3(x)k 3(ecution)k
3855 7909(to)s 8144(f)s 2(ail)k 8510(if)s 8722(and)s
3856 480 6738(when)m 1056(it)s 1248(is)s 1458(attempted)s 2458(\(after)s
3857 3033(all)s 3326(the)s 3674(con\207guration)s 5007(has)s 5377(been)s
3858 5886(parsed\).)s gsave
3859 120 6398 translate
3860 0.6953 1.0000 scale
3861 240 fnt31 0 -52(execute\211from\211path)m 
3862 grestore
3863 240 fnt83 480 6106(service)m
3864 240 fnt82 1202 6104(is)m 1404(interpreted)s 2488(as)s 2731(a)s
3865 2889(program)s 3751(on)s 4041(the)s 4381(def)s 2(ault)k
3866 gsave
3867 5094 6158 translate
3868 0.6953 1.0000 scale
3869 240 fnt31 0 -52(PATH)m 
3870 grestore
3871 5546(\(or)s 5877(as)s 6119(a)s
3872 6277(pathname)s 7256(of)s 7519(an)s 7794(e)s 3(x)k 3(ecutable,)k
3873 8909(if)s 480 5863(it)m 660(contains)s 1495(a)s gsave
3874 1649 5917 translate
3875 0.6953 1.0000 scale
3876 240 fnt31
3877 0 -52(/)m 
3878 grestore
3879 1749(\).)s 1919(This)s 2383(directi)s 6(v)k 3(e)k
3880 3252(is)s 240 fnt83 3450 5865(very)m 3904(dang)s 2(er)k 10(ous)k
3881 240 fnt82 4899 5863(,)m 4994(and)s 5385(is)s 5583(only)s
3882 6050(pro)s 3(vided)k 6944(to)s 7170(mak)s 2(e)k
3883 7730(the)s gsave
3884 8065 5917 translate
3885 0.6953 1.0000 scale
3886 240 fnt31 0 -52(\211\211override)m 
3887 grestore
3888 480 5623(options)m 1230(ef)s 6(fecti)k 6(v)k 3(e.)k
3889 2146(It)s 2344(should)s 3034(not)s 3393(normally)s 4304(be)s
3890 4579(used.)s 5115(It)s 5313(is)s 5516(an)s 5792(error)s
3891 6309(for)s 6640(the)s 6981(e)s 3(x)k 3(ecution)k
3892 7955(to)s 8187(f)s 2(ail)k 8550(when)s 480 5383(it)m
3893 672(is)s 882(attempted)s 1882(\(after)s 2457(all)s 2750(the)s
3894 3098(con\207guration)s 4431(has)s 4801(been)s 5310(parsed\).)s gsave
3895 120 5043 translate
3896 0.6953 1.0000 scale
3897 240 fnt31
3898 0 -52(execute\211builtin)m gsave
3899 2304 0 translate
3900 1.4219 1.0000 scale
3901 240 fnt83 0 -52(service\211name)m 
3902 grestore
3903 gsave
3904 4307 0 translate
3905 1.4219 1.0000 scale
3906 240 fnt83 0 -52(service\211ar)m 8(guments)k
3907
3908 grestore
3909
3910 grestore
3911 480 4749(Ex)m 3(ecutes)k 1388(the)s 1732(b)s 4(uiltin)k
3912 2405(service)s 240 fnt83 3133 4751(service-name)m 240 fnt82 4400 4749(.)m
3913 4500(These)s 5123(b)s 4(uiltin)k 5796(services)s 6612(display)s
3914 7353(information)s 8534(about)s 480 4509(the)m 822(serv)s 3(er)k
3915 1455(and/or)s 2120(the)s 2461(request,)s 3252(and)s 3649(ignore)s
3916 4310(an)s 3(y)k 4700(ar)s 4(guments)k 5737(passed)s
3917 6426(from)s 6944(the)s 7285(service)s 8011(side)s 8445(e)s 3(xcept)k
3918 480 4269(possibly)m 1320(to)s 1547(print)s 2046(them)s 2572(as)s
3919 2810(part)s 3228(of)s 3487(their)s 3972(output.)s 4676(The)s 3(y)k
3920 5207(write)s 5740(their)s 6225(results)s 6887(to)s 7114(their)s
3921 7599(standard)s 8454(output)s 480 4029(\(i.e.,)m 958(where)s 6(v)k 3(er)k
3922 1898(\207le)s 2259(descriptor)s 3274(1)s 3429(is)s 3639(directed\).)s
3923 4591(The)s 5019(b)s 4(uiltin)k 5696(services)s 6516(are:)s
3924 gsave
3925 600 3843 translate
3926 0.6953 1.0000 scale
3927 240 fnt31 0 -52(execute)m 
3928 grestore
3929 960 3549(Displays)m 1848(the)s 2196(e)s 3(x)k 3(ecution)k
3930 3177(settings,)s 4014(de\207ned)s 4777(v)s 6(ariables,)k 5740(ar)s 4(guments,)k
3931 6839(etc.)s 7221(with)s 7703(which)s 8345(the)s 960 3309(b)m 4(uiltin)k
3932 1637(service)s 2369(w)s 2(as)k 2790(in)s 9(v)k 4(ok)k 2(ed.)k
3933 gsave
3934 600 3123 translate
3935 0.6953 1.0000 scale
3936 240 fnt31 0 -52(environment)m 
3937 grestore
3938 960 2829(Dis)m 1283(plays)s 1839(the)s
3939 2187(en)s 2410(vi)s 2590(ron)s 2906(ment)s 3444(v)s 6(ari)k
3940 3803(able)s 4257(set)s 4522(tings)s 5038(with)s 5520(which)s
3941 6162(the)s 6510(b)s 4(uiltin)k 7187(ser)s 7465(vice)s
3942 7919(w)s 2(as)k 960 2589(in)m 1143(v)s 4(ok)k 2(ed.)k
3943 gsave
3944 600 2403 translate
3945 0.6953 1.0000 scale
3946 240 fnt31 0 -52(parameter)m gsave
3947 1440 0 translate
3948 1.4219 1.0000 scale
3949 240 fnt83 0 -52(par)m 3(ameter)k
3950
3951 grestore
3952
3953 grestore
3954 960 2109(Displays)m 1848(the)s 2196(v)s 6(alues)k 2852(of)s
3955 3123(the)s 3471(service)s 4203(con\207guration)s 5536(language)s 6456(parameter)s
3956 7470(speci\207ed.)s gsave
3957 600 1923 translate
3958 0.6953 1.0000 scale
3959 240 fnt31 0 -52(version)m 
3960 grestore
3961 960 1629(Displays)m 1848(the)s
3962 2196(v)s 3(ersion)k 2954(string)s 3551(and)s 3955(compilation)s
3963 5154(details)s 5828(of)s 6099(the)s 6447(uservd)s 7143(serv)s 3(er)k
3964 7783(program.)s gsave
3965 600 1443 translate
3966 0.6953 1.0000 scale
3967 240 fnt31 0 -52(reset)m 
3968 grestore
3969 960 1149(Dis)m 1283(plays)s
3970 1838(the)s 2184(de)s 2406(f)s 2(ault)k 2899(re)s
3971 3080(set)s 3403(con)s 3746(\207g)s 3992(u)s 4107(ra)s
3972 4292(tion)s 4719(\(e)s 6(v)k 6(al)k 5179(u)s
3973 5294(at)s 5466(ed)s 5748(when)s gsave
3974 6323 1203 translate
3975 0.6953 1.0000 scale
3976 240 fnt31 0 -52(reset)m
3977
3978 grestore
3979 6881(is)s 7089(found)s 7704(in)s 7945(a)s 8109(con)s
3980 8452(\207g)s 8698(u)s 8813(ra)s 8998(-)s 960 909(tion)m
3981 1389(\207le,)s 1801(or)s 2060(when)s 2636(an)s 2919(er)s
3982 3104(ror)s 3442(is)s 3652(caught)s 4350(by)s gsave
3983 4644 963 translate
3984 0.6953 1.0000 scale
3985 240 fnt31
3986 0 -52(catch\211quit)m 
3987 grestore
3988 5645(\).)s 0 52(1.0.1)m 4809(User)s 5320(service)s
3989 6052(daemon)s 6867(and)s 7271(client)s 7861(speci\207cation)s 
3990 grestore
3991
3992 grestore
3993
3994 pgsave restore
3995 showpage
3996
3997 %%Page: 15 15
3998 %%BeginPageSetup
3999 %%PageResources: font Times-Roman
4000 %%+ font Times-Bold
4001 %%+ font Courier-Bold
4002 %%+ font Times-Italic
4003 /pgsave save def
4004 0.0500 dup scale 10 setlinewidth
4005 %%EndPageSetup
4006 gsave
4007 0 0 translate
4008 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
4009 gsave
4010 LoutPageSet
4011 grestore
4012 gsave
4013 0 16840 translate
4014 0.0000 rotate
4015
4016 grestore
4017
4018 grestore
4019 gsave
4020 0 16840 translate
4021 0.0000 rotate
4022 gsave
4023 1417 -15423 translate
4024 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
4025 gsave
4026 1 LoutMargSet
4027 grestore
4028 240 fnt84 8833 13842(15)m gsave
4029 600 13318 translate
4030 0.6953 1.0000 scale
4031 240 fnt31 0 -52(toplevel)m 
4032 grestore
4033 240 fnt82
4034 960 13024(Displays)m 1848(the)s 2196(top-le)s 6(v)k 3(el)k
4035 3091(def)s 2(ault)k 3812(con\207guration)s 5145(\(the)s 5572(con\207guration)s
4036 6905(data,)s 7410(e)s 6(v)k 6(aluated)k 8372(by)s
4037 8666(the)s 960 12784(serv)m 3(er)k 9(,)k 1638(which)s
4038 2280(calls)s 2768(all)s 3061(the)s 3409(other)s 3960(con\207guration)s
4039 5293(\207les\).)s gsave
4040 600 12598 translate
4041 0.6953 1.0000 scale
4042 240 fnt31 0 -52(override)m 
4043 grestore
4044 960 12304(Displays)m 1847(the)s
4045 2194(top-le)s 6(v)k 3(el)k 3088(o)s 3(v)k 3(erride)k
4046 3932(con\207guration)s 5264(\(the)s 5690(con\207guration)s 7021(data,)s 7525(e)s 6(v)k 6(aluated)k
4047 8486(by)s 8778(the)s 960 12064(serv)m 3(er)k 9(,)k
4048 1638(which)s 2280(causes)s 2955(all)s 3248(the)s 3596(other)s
4049 4147(con\207guration)s 5480(data)s 5938(to)s 6177(be)s 6459(parsed\).)s
4050 gsave
4051 600 11878 translate
4052 0.6953 1.0000 scale
4053 240 fnt31 0 -52(help)m 
4054 grestore
4055 960 11584(Displays)m 1848(a)s 2014(list)s
4056 2365(of)s 2636(the)s 2984(understood)s 4106(b)s 4(uiltin)k
4057 4783(service)s 5515(names)s 6177(and)s 6581(ar)s 4(guments.)k
4058 480 11321(In)m 736(the)s 1084(fu)s 1278(ture)s 1705(oth)s
4059 2008(er)s 2253(b)s 4(uiltin)k 2930(ser)s 3208(vices)s
4060 3750(may)s 4216(be)s 4498(de)s 4720(\207ned)s 5257(which)s
4061 5899(do)s 6192(more)s 6739(than)s 7208(just)s 7613(print)s
4062 8124(in)s 8307(for)s 8585(-)s 480 11081(ma)m 772(tion.)s
4063 gsave
4064 120 10791 translate
4065 0.6953 1.0000 scale
4066 240 fnt31 0 -52(set\211environment)m 
4067 grestore
4068 gsave
4069 120 10551 translate
4070 0.6953 1.0000 scale
4071 240 fnt31 0 -52(no\211set\211environment)m 
4072 grestore
4073 480 10257(Runs)m
4074 gsave
4075 1024 10311 translate
4076 0.6953 1.0000 scale
4077 240 fnt31 0 -52(/etc/environment)m 
4078 grestore
4079 2686(to)s 2925(set)s 3250(the)s
4080 3598(service)s 4330(user')s 13(s)k 4938(en)s 9(vironment.)k
4081 6242(This)s 6718(adds)s 7208(the)s 7556(o)s 3(v)k 3(erhead)k
4082 8485(of)s 480 10017(in)m 9(v)k 4(oking)k 1372(a)s
4083 1538(shell,)s 2096(b)s 4(ut)k 2458(doesn')s 4(t)k
4084 3218(cause)s 3805(an)s 3(y)k 4202(shell)s 4708(\(de\)mangling)s
4085 6049(of)s 6320(the)s 6668(service')s 13(s)k 7554(ar)s 4(guments.)k
4086 8650(This)s 480 9777(is)m 690(achie)s 6(v)k 3(ed)k
4087 1589(by)s 1883(in)s 9(v)k 4(oking)k gsave
4088 960 9591 translate
4089 0.6953 1.0000 scale
4090 240 fnt31
4091 0 -52(.../program)m 1728(arg)s 2304(arg)s 2880(arg)s 3456(\202)s
4092
4093 grestore
4094 480 9346(as)m gsave
4095 960 9160 translate
4096 0.6953 1.0000 scale
4097 240 fnt31 0 -52(/bin/sh)m 1152(\211c)s 1584('.)s
4098 2016(/etc/environment;)s 4608(exec)s 5328("$@"')s 6192(\211)s 6480(.../program)s
4099 8208(arg)s 8784(arg)s 9360(arg)s 9936(\202)s 
4100 grestore
4101 gsave
4102 480 8916 translate
4103 0.6953 1.0000 scale
4104 240 fnt31
4105 0 -52(no\211set\211environment)m 
4106 grestore
4107 2342 8862(cancels)m 3096(the)s 3444(ef)s 6(fect)k
4108 4040(of)s gsave
4109 4311 8916 translate
4110 0.6953 1.0000 scale
4111 240 fnt31 0 -52(set\211environment)m 
4112 grestore
4113 5812(.)s gsave
4114 120 8572 translate
4115 0.6953 1.0000 scale
4116 240 fnt31
4117 0 -52(no\211suppress\211args)m 
4118 grestore
4119 gsave
4120 120 8332 translate
4121 0.6953 1.0000 scale
4122 240 fnt31 0 -52(suppress\211args)m 
4123 grestore
4124 480 8038(Include)m 1253(an)s 3(y)k
4125 1650(ar)s 4(guments)k 2693(gi)s 6(v)k 3(en)k
4126 3273(to)s 3512(the)s 3860(client)s 4450(as)s 4700(ar)s 4(guments)k
4127 5743(to)s 5982(the)s 6330(program)s 7200(in)s 9(v)k 4(ok)k 2(ed)k
4128 8015(as)s 8265(a)s 8431(result)s 480 7798(of)m 749(an)s
4129 gsave
4130 1030 7852 translate
4131 0.6953 1.0000 scale
4132 240 fnt31 0 -52(execute)m 
4133 grestore
4134 1730(,)s gsave
4135 1834 7852 translate
4136 0.6953 1.0000 scale
4137 240 fnt31 0 -52(execute\211from\211directory)m
4138
4139 grestore
4140 4094(or)s gsave
4141 4351 7852 translate
4142 0.6953 1.0000 scale
4143 240 fnt31 0 -52(execute\211from\211path)m 
4144 grestore
4145 6110(directi)s 6(v)k 3(e.)k
4146 gsave
4147 7038 7852 translate
4148 0.6953 1.0000 scale
4149 240 fnt31 0 -52(suppress\211args)m 
4150 grestore
4151 8396(undoes)s 480 7558(the)m 828(ef)s 6(fect)k
4152 1424(of)s gsave
4153 1695 7612 translate
4154 0.6953 1.0000 scale
4155 240 fnt31 0 -52(no\211suppress\211args)m 
4156 grestore
4157 3297(.)s gsave
4158 120 7237 translate
4159 0.6953 1.0000 scale
4160 240 fnt31
4161 0 -52(require\211fd)m gsave
4162 1584 0 translate
4163 1.4219 1.0000 scale
4164 240 fnt83 0 -52(fd\211r)m 3(ang)k 2(e)k
4165
4166 grestore
4167 2940(read|write)s 
4168 grestore
4169 480 6938(In)m 676(sist)s 1054(that)s 1472(the)s
4170 1820(\207ledescrip)s 2808(tor\(s\))s 3373(be)s 3655(opened)s 4405(for)s
4171 4743(read)s 5152(ing)s 5511(resp.)s 6013(writ)s 6397(ing.)s
4172 6807(It)s 7012(is)s 7222(an)s 7505(er)s 7690(ror)s
4173 8028(if)s 8245(an)s 3(y)k 8642(de)s 8864(-)s
4174 480 6698(scrip)m 937(tor)s 1258(mark)s 2(ed)k 2027(as)s
4175 2272(re)s 2453(quired)s 3118(when)s 3689(the)s 4033(ser)s
4176 4311(vice)s 4760(is)s 4966(about)s 5554(to)s 5788(be)s
4177 6066(in)s 6249(v)s 4(ok)k 2(ed)k 6882(\(af)s
4178 7158(ter)s 7465(the)s 7808(con)s 8151(\207g)s 8397(u)s
4179 8512(ra)s 8697(tion)s 480 6458(has)m 850(been)s 1359(parsed\))s
4180 2111(w)s 2(as)k 2532(not)s 2898(spec)s 3316(i)s
4181 3376(\207ed)s 3793(when)s 4369(the)s 4717(client)s 5307(w)s 2(as)k
4182 5728(in)s 5911(v)s 4(ok)k 2(ed.)k 6595(Each)s
4183 7130(\207le)s 7491(de)s 7713(scrip)s 8170(tor)s 8495(has)s
4184 480 6218(a)m 646(sep)s 958(a)s 1064(rate)s 1477(set)s
4185 1742(ting,)s 2221(and)s 2625(the)s 2973(last)s 3364(one)s
4186 3766(of)s gsave
4187 4037 6272 translate
4188 0.6953 1.0000 scale
4189 240 fnt31 0 -52(require\211fd)m 
4190 grestore
4191 5038(,)s gsave
4192 5145 6272 translate
4193 0.6953 1.0000 scale
4194 240 fnt31
4195 0 -52(allow\211fd)m 
4196 grestore
4197 5946(,)s gsave
4198 6053 6272 translate
4199 0.6953 1.0000 scale
4200 240 fnt31 0 -52(ignore\211fd)m 
4201 grestore
4202 6954(,)s
4203 gsave
4204 7061 6272 translate
4205 0.6953 1.0000 scale
4206 240 fnt31 0 -52(null\211fd)m 
4207 grestore
4208 7821(or)s gsave
4209 8080 6272 translate
4210 0.6953 1.0000 scale
4211 240 fnt31 0 -52(reject\211fd)m
4212
4213 grestore
4214 480 5977(which)m 1122(af)s 1319(fect)s 1676(ed)s 1960(a)s
4215 2126(par)s 2431(tic)s 2662(u)s 2777(lar)s 3088(\207le)s
4216 3449(de)s 3671(scrip)s 4128(tor)s 4453(will)s 4879(tak)s 2(e)k
4217 5331(ef)s 5528(fect.)s 240 fnt83 6049 5979(fd-)m 6302(r)s 3(ang)k 2(e)k
4218 240 fnt82 6909 5977(may)m 7375(be)s 7657(a)s 7823(sin)s
4219 8099(gle)s 8447(num)s 8873(-)s 480 5737(ber)m 9(,)k
4220 883(tw)s 2(o)k 1293(num)s 1719(bers)s 2168(sep)s
4221 2480(a)s 2586(rat)s 2837(ed)s 3121(by)s 3415(a)s
4222 3581(h)s 1(y)k 3814(phen,)s 4387(or)s 4646(one)s
4223 5048(num)s 5474(ber)s 5839(fol)s 6099(lo)s 6(wed)k
4224 6736(by)s 7030(a)s 7196(h)s 1(y)k 7429(phen)s
4225 7952(\(in)s 8214(di)s 8394(cat)s 8672(ing)s 480 5497(all)m
4226 772(de)s 994(scrip)s 1451(tors)s 1858(from)s 2380(that)s
4227 2796(num)s 3222(ber)s 3585(on)s 3822(w)s 2(ards\).)k
4228 4573(It)s 4776(may)s 5240(also)s 5676(be)s 5956(one)s
4229 6357(of)s 6626(the)s 6972(w)s 2(ords)k gsave
4230 7604 5551 translate
4231 0.6953 1.0000 scale
4232 240 fnt31
4233 0 -52(stdin)m 
4234 grestore
4235 8104(,)s gsave
4236 8209 5551 translate
4237 0.6953 1.0000 scale
4238 240 fnt31 0 -52(stdout)m 
4239 grestore
4240 8867(or)s
4241 gsave
4242 480 5311 translate
4243 0.6953 1.0000 scale
4244 240 fnt31 0 -52(stderr)m 
4245 grestore
4246 1080 5257(.)m 1174(Open-)s 1761(ended)s
4247 2380(\207le)s 2730(de)s 2952(scrip)s 3409(tor)s 3723(rangers)s
4248 4466(are)s 4802(al)s 4969(lo)s 6(wed)k 5596(only)s
4249 6065(with)s gsave
4250 6536 5311 translate
4251 0.6953 1.0000 scale
4252 240 fnt31 0 -52(reject\211fd)m 
4253 grestore
4254 7486(and)s gsave
4255 7879 5311 translate
4256 0.6953 1.0000 scale
4257 240 fnt31
4258 0 -52(ignore\211fd)m 
4259 grestore
4260 8780(,)s 8876(as)s 480 5017(oth)m 783(er)s
4261 968(wise)s 1457(the)s 1799(ser)s 2077(vice)s 2526(pro)s
4262 2838(gram)s 3383(w)s 2(ould)k 4033(\207nd)s 4458(it)s
4263 4590(self)s 5001(with)s 5477(a)s 5638(v)s 3(ery)k
4264 6108(lar)s 4(ge)k 6632(num)s 7058(ber)s 7417(of)s
4265 7683(\207le)s 8038(de)s 8260(scrip)s 8717(tors)s 480 4777(open.)m
4266 1090(When)s 1699(the)s 2027(con)s 2370(\207g)s 2616(u)s
4267 2731(ra)s 2916(tion)s 3325(has)s 3674(been)s 4163(parsed,)s
4268 4874(and)s 5258(be)s 5480(fore)s 5900(the)s 6227(ser)s
4269 6505(vice)s 6939(is)s 7129(about)s 7701(to)s 7920(be)s
4270 8181(e)s 3(x)k 8399(e)s 8501(cut)s 8793(ed,)s
4271 480 4537(stderr)m 1083(\(fd)s 1418(2\))s 1665(must)s 2189(be)s
4272 2470(re)s 2651(quired)s 3320(or)s 3578(al)s 3745(lo)s 6(wed)k
4273 4381(\()s gsave
4274 4454 4591 translate
4275 0.6953 1.0000 scale
4276 240 fnt31 0 -52(require\211fd)m 
4277 grestore
4278 5514(or)s gsave
4279 5772 4591 translate
4280 0.6953 1.0000 scale
4281 240 fnt31
4282 0 -52(allow\211fd)m 
4283 grestore
4284 6573(\))s 6701(for)s 7038(writ)s 7422(ing;)s
4285 7839(this)s 8234(is)s 8443(so)s 8708(that)s 480 4297(the)m
4286 825(er)s 1010(ror)s 1345(mes)s 1721(sage)s 2198(print)s
4287 2649(ed)s 2930(by)s 3220(the)s 3565(serv)s 3958(er')s 13(s)k
4288 4350(child)s 4882(pro)s 5194(cess)s 5640(if)s 5853(it)s
4289 6042(can)s 6371(not)s gsave
4290 6734 4351 translate
4291 0.6953 1.0000 scale
4292 240 fnt31 0 -52(exec)m 
4293 grestore
4294 7190(the)s
4295 7535(ser)s 7813(vice)s 8263(pro)s 8575(gram)s 480 4057(is)m
4296 690(not)s 1056(lost.)s gsave
4297 120 3767 translate
4298 0.6953 1.0000 scale
4299 240 fnt31 0 -52(allow\211fd)m gsave
4300 1296 0 translate
4301 1.4219 1.0000 scale
4302 240 fnt83
4303 0 -52(fd\211r)m 3(ang)k 2(e)k 
4304 grestore
4305 2652([read|write])s 
4306 grestore
4307 480 3468(Allo)m 6(w)k
4308 1126(the)s 1474(descriptor\(s\))s 2729(to)s 2968(be)s 3250(opened)s
4309 4000(for)s 4338(reading)s 5108(resp.)s 5610(writing,)s 6407(or)s
4310 6666(either)s 7269(if)s 7486(neither)s gsave
4311 8209 3522 translate
4312 0.6953 1.0000 scale
4313 240 fnt31 0 -52(read)m
4314
4315 grestore
4316 8669(nor)s gsave
4317 480 3282 translate
4318 0.6953 1.0000 scale
4319 240 fnt31 0 -52(write)m 
4320 grestore
4321 1040 3228(is)m 1250(speci\207ed.)s
4322 2204(If)s 2434(a)s 2600(particular)s 3574(descriptor)s 4589(not)s
4323 4955(speci\207ed)s 5863(by)s 6157(the)s 6505(client)s 7095(then)s
4324 7564(it)s 7756(will)s 8182(be)s 8464(open)s 480 2988(onto)m
4325 gsave
4326 959 3042 translate
4327 0.6953 1.0000 scale
4328 240 fnt31 0 -52(/dev/null)m 
4329 grestore
4330 1920(\(for)s 2337(reading,)s 3161(writing,)s
4331 3958(or)s 4217(both,)s 4750(depending)s 5801(on)s 6098(whether)s
4332 gsave
4333 6928 3042 translate
4334 0.6953 1.0000 scale
4335 240 fnt31 0 -52(read)m 
4336 grestore
4337 7328(,)s gsave
4338 7435 3042 translate
4339 0.6953 1.0000 scale
4340 240 fnt31 0 -52(write)m
4341
4342 grestore
4343 7995(or)s 8254(neither)s 480 2748(w)m 2(as)k 901(speci\207ed\).)s
4344 gsave
4345 120 2408 translate
4346 0.6953 1.0000 scale
4347 240 fnt31 0 -52(null\211fd)m gsave
4348 1152 0 translate
4349 1.4219 1.0000 scale
4350 240 fnt83 0 -52(fd\211r)m 3(ang)k 2(e)k
4351
4352 grestore
4353 2508([read|write])s 
4354 grestore
4355 480 2109(Spec)m 938(i)s 998(fy)s 1251(that)s
4356 1669(the)s 2017(de)s 2239(scrip)s 2696(tor\(s\))s 3261(be)s
4357 3543(opened)s 4293(onto)s gsave
4358 4772 2163 translate
4359 0.6953 1.0000 scale
4360 240 fnt31 0 -52(/dev/null)m 
4361 grestore
4362 5733(for)s
4363 6071(read)s 6480(ing)s 6839(resp.)s 7341(writ)s 7725(ing,)s
4364 8138(or)s 8397(both)s 8880(if)s 480 1869(nei)m 766(ther)s
4365 gsave
4366 1181 1923 translate
4367 0.6953 1.0000 scale
4368 240 fnt31 0 -52(read)m 
4369 grestore
4370 1624(nor)s gsave
4371 1986 1923 translate
4372 0.6953 1.0000 scale
4373 240 fnt31 0 -52(write)m
4374
4375 grestore
4376 2529(is)s 2722(spec)s 3140(i)s 3200(\207ed.)s 3646(An)s 3(y)k
4377 4093(spec)s 4511(i)s 4571(\207)s 4696(ca)s 4908(tion)s
4378 5320(of)s 5574(these)s 6104(\207le)s 6448(de)s 6670(scrip)s
4379 7127(tors)s 7519(by)s 7796(the)s 8127(client)s 8700(will)s
4380 480 1629(be)m 762(silent)s 1279(ly)s 1519(ig)s 1698(nored;)s
4381 2355(the)s 2703(client)s 3293(will)s 3719(see)s 4080(its)s
4382 4356(ends)s 4846(of)s 5117(the)s 5465(de)s 5687(scrip)s
4383 6144(tors)s 6553(be)s 6775(ing)s 7134(closed)s 7803(im)s
4384 8055(me)s 8343(di)s 8523(ate)s 8797(ly)s 15(.)k
4385 gsave
4386 120 1289 translate
4387 0.6953 1.0000 scale
4388 240 fnt31 0 -52(reject\211fd)m gsave
4389 1440 0 translate
4390 1.4219 1.0000 scale
4391 240 fnt83 0 -52(fd\211r)m 3(ang)k 2(e)k
4392
4393 grestore
4394
4395 grestore
4396 480 995(Do)m 824(not)s 1187(allo)s 6(w)k 1764(the)s
4397 2109(descriptor\(s\))s 3362(to)s 3598(be)s 3878(speci\207ed)s 4783(by)s
4398 5075(the)s 5420(client.)s 6052(It)s 6254(is)s 6462(an)s
4399 6742(error)s 7263(if)s 7477(an)s 3(y)k 7871(descriptor\(s\))s
4400 480 755(mark)m 2(ed)k 1253(for)s 1591(rejection)s 2483(are)s
4401 2830(speci\207ed)s 3738(when)s 4314(the)s 4662(service)s 5394(is)s
4402 5604(about)s 6196(to)s 6435(be)s 6717(in)s 9(v)k 4(ok)k 2(ed)k
4403 7532(\(after)s 8107(the)s 0 52(User)m 511(service)s 1243(daemon)s
4404 2058(and)s 2462(client)s 3052(speci\207cation)s 8611(1.0.1)s 
4405 grestore
4406
4407 grestore
4408
4409 pgsave restore
4410 showpage
4411
4412 %%Page: 16 16
4413 %%BeginPageSetup
4414 %%PageResources: font Times-Roman
4415 %%+ font Times-Bold
4416 %%+ font Courier-Bold
4417 %%+ font Times-Italic
4418 /pgsave save def
4419 0.0500 dup scale 10 setlinewidth
4420 %%EndPageSetup
4421 gsave
4422 0 0 translate
4423 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
4424 gsave
4425 LoutPageSet
4426 grestore
4427 gsave
4428 0 16840 translate
4429 0.0000 rotate
4430
4431 grestore
4432
4433 grestore
4434 gsave
4435 0 16840 translate
4436 0.0000 rotate
4437 gsave
4438 1417 -15423 translate
4439 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
4440 gsave
4441 0 LoutMargSet
4442 grestore
4443 240 fnt84 0 13842(16)m 240 fnt82 480 13251(con\207guration)m 1813(has)s
4444 2183(been)s 2692(parsed\).)s gsave
4445 120 12911 translate
4446 0.6953 1.0000 scale
4447 240 fnt31 0 -52(ignore\211fd)m gsave
4448 1440 0 translate
4449 1.4219 1.0000 scale
4450 240 fnt83
4451 0 -52(fd\211r)m 3(ang)k 2(e)k 
4452 grestore
4453
4454 grestore
4455 480 12617(Silent)m 1037(ly)s
4456 1260(ig)s 1439(nore)s 1902(an)s 3(y)k 2281(spec)s
4457 2699(i)s 2759(\207)s 2884(ca)s 3096(tion)s 3507(by)s
4458 3783(the)s 4113(client)s 4685(of)s 4938(those)s 5481(de)s
4459 5703(scrip)s 6160(tor\(s\).)s 6762(The)s 7172(pipes)s 7710(cor)s
4460 8015(re)s 8196(spond)s 8767(ing)s 480 12377(to)m 719(these)s
4461 1266(de)s 1488(scrip)s 1945(tors)s 2354(will)s 2780(be)s
4462 3062(closed)s 3731(just)s 4136(be)s 4358(fore)s 4798(the)s
4463 5146(ser)s 5424(vice)s 5878(is)s 6088(in)s 6271(v)s 4(ok)k 2(ed.)k
4464 gsave
4465 120 12037 translate
4466 0.6953 1.0000 scale
4467 240 fnt31 0 -52(disconnect\211hup)m 
4468 grestore
4469 gsave
4470 120 11797 translate
4471 0.6953 1.0000 scale
4472 240 fnt31 0 -52(no\211disconnect\211hup)m 
4473 grestore
4474 480 11503(Caus)m
4475 950(es)s 1200(the)s 1548(ser)s 1826(vice')s 13(s)k
4476 2434(pro)s 2746(cess)s 3195(group)s 3807(to)s 4046(get)s
4477 4398(a)s gsave
4478 4564 11557 translate
4479 0.6953 1.0000 scale
4480 240 fnt31 0 -52(SIGHUP)m 
4481 grestore
4482 5224(if)s 5441(the)s
4483 5789(client)s 6379(dis)s 6649(con)s 6992(nects)s 7534(be)s
4484 7756(fore)s 8196(the)s 8544(main)s 480 11263(ser)m 758(vice)s
4485 1209(pro)s 1521(cess)s 1966(ter)s 2217(mi)s 2463(nates.)s
4486 gsave
4487 3055 11317 translate
4488 0.6953 1.0000 scale
4489 240 fnt31 0 -52(no\211disconnect\211hup)m 
4490 grestore
4491 4813(can)s 5142(cels)s gsave
4492 5560 11317 translate
4493 0.6953 1.0000 scale
4494 240 fnt31
4495 0 -52(disconnect\211hup)m 
4496 grestore
4497 6961(.)s 7122(If)s 7348(one)s 7747(of)s
4498 8014(the)s 8358(read)s 8767(ing)s 480 11023(de)m 702(scrip)s
4499 1159(tors)s 1568(spec)s 1986(i)s 2046(\207ed)s 2463(when)s
4500 3039(the)s 3387(client)s 3977(is)s 4187(called)s 4815(gets)s
4501 5251(a)s 5417(read)s 5886(er)s 6071(ror)s 9(,)k
4502 6447(or)s 6706(if)s 6923(the)s 7271(ser)s 7549(vice)s
4503 8003(is)s 8213(dis)s 8483(con)s 8826(-)s 480 10782(nect)m
4504 878(ed)s 1162(for)s 1500(some)s 2061(oth)s 2364(er)s
4505 2609(rea)s 2900(son,)s 3340(then)s 3809(the)s gsave
4506 4157 10836 translate
4507 0.6953 1.0000 scale
4508 240 fnt31
4509 0 -52(SIGHUP)m 
4510 grestore
4511 4817(will)s 5243(be)s 5525(de)s 5747(li)s 6(v)k
4512 5988(ered)s 240 fnt83 6457 10784(be)m 6676(for)s 8(e)k
4513 240 fnt82 7106 10782(the)m 7454(writ)s 7838(ing)s 8197(end\(s\))s
4514 8843(of)s 480 10542(the)m 818(ser)s 1096(vice')s 13(s)k
4515 1694(read)s 2103(ing)s 2452(pipe\(s\))s 3154(are)s 3491(closed,)s
4516 4199(so)s 4455(that)s 4863(the)s 5201(client)s 5781(can)s
4517 6160(dis)s 6430(tin)s 6679(guish)s 7245(dis)s 7515(con)s
4518 7858(nec)s 8183(tion)s 8602(from)s 480 10302(read)m 889(ing)s
4519 1248(EOF)s 1758(on)s 2055(a)s 2221(pipe.)s gsave
4520 120 9962 translate
4521 0.6953 1.0000 scale
4522 240 fnt31
4523 0 -52(reset)m 
4524 grestore
4525 480 9668(Resets)m 1155(the)s 1503(e)s 3(x)k 3(ecution)k
4526 2484(settings)s 3265(to)s 3504(the)s 3852(def)s 2(ault.)k
4527 4617(This)s 5093(is)s 5303(equi)s 6(v)k 6(alent)k
4528 6347(to:)s gsave
4529 960 9482 translate
4530 0.6953 1.0000 scale
4531 240 fnt31 0 -52(cd)m 432(~/)s 0 -292(reject)m
4532 0 -532(no\211set\211environment)m 0 -772(suppress\211args)m 0 -1012(allow\211fd)m 1296(0)s 1584(read)s
4533 0 -1252(allow\211fd)m 1296(1\2112)s 1872(write)s 0 -1492(reject\211fd)m 1440(3\211)s
4534 0 -1732(disconnect\211hup)m 
4535 grestore
4536 0 7505(If)m 230(no)s gsave
4537 523 7559 translate
4538 0.6953 1.0000 scale
4539 240 fnt31 0 -52(execute)m
4540
4541 grestore
4542 1223(,)s gsave
4543 1330 7559 translate
4544 0.6953 1.0000 scale
4545 240 fnt31 0 -52(execute\211from\211path)m 
4546 grestore
4547 3032(,)s gsave
4548 3139 7559 translate
4549 0.6953 1.0000 scale
4550 240 fnt31
4551 0 -52(execute\211from\211directory)m 
4552 grestore
4553 5401(or)s gsave
4554 5660 7559 translate
4555 0.6953 1.0000 scale
4556 240 fnt31 0 -52(builtin)m 
4557 grestore
4558 6420(is)s
4559 6630(interpreted)s 7722(before)s 8388(all)s 8681(the)s 0 7265(\207les)m
4560 449(are)s 796(read)s 1265(then)s 1734(the)s 2082(request)s
4561 2832(is)s 3042(rejected.)s 9066 670 0 670 240 240 60 0 6241 LoutGr2
4562 newpath 0 ysize 0.3 ft sub moveto
4563 xsize 0 rlineto
4564 0 0.1 ft rlineto
4565 xsize neg 0 rlineto
4566 closepath fill
4567 grestore
4568 320 fnt84 0 66(4.3.)m 628(Err)s 5(ors)k
4569 1618(in)s 1958(the)s 2458(con\207guration)s 4359(\207le)s 
4570 grestore
4571 0 5779(If)m
4572 230(a)s 396(syntax)s 1076(error)s 1599(or)s 1858(other)s
4573 2409(problem)s 3266(occurs)s 3941(when)s 4517(processing)s 5593(a)s
4574 5759(con\207guration)s 7092(\207le)s 7453(then)s 7922(a)s 8088(diagnostic)s
4575 0 5539(will)m 422(be)s 699(issued,)s 1399(to)s 1633(where)s 6(v)k 3(er)k
4576 2568(the)s 2911(error)s 3429(messages)s 4378(are)s 4721(currently)s
4577 5632(being)s 6212(sent)s 6652(\(see)s 7087(the)s gsave
4578 7430 5593 translate
4579 0.6953 1.0000 scale
4580 240 fnt31
4581 0 -52(errors\211)m 
4582 grestore
4583 8185(f)s 2(amily)k 8855(of)s 0 5299(directi)m 6(v)k 3(es,)k
4584 1026(abo)s 3(v)k 3(e\).)k 0 4891(The)m 428(error)s
4585 951(will)s 1377(cause)s 1964(processing)s 3040(of)s 3311(the)s
4586 3659(con\207guration)s 4992(\207les)s 5441(to)s 5680(cease)s 6253(at)s
4587 6485(that)s 6903(point,)s 7502(unless)s 8151(the)s 8499(error)s
4588 0 4651(w)m 2(as)k 421(inside)s 1048(a)s gsave
4589 1214 4705 translate
4590 0.6953 1.0000 scale
4591 240 fnt31
4592 0 -52(catch\211quit)m 
4593 grestore
4594 2275(construct.)s 3255(In)s 3511(this)s 3907(case)s
4595 4374(the)s 4722(settings)s 5503(controlling)s 6605(the)s 6953(program')s 13(s)k
4596 7973(e)s 3(x)k 3(ecution)k 0 4411(will)m 426(be)s
4597 708(reset)s 1218(to)s 1457(the)s 1805(def)s 2(aults)k
4598 2610(as)s 2860(if)s 3077(a)s gsave
4599 3243 4465 translate
4600 0.6953 1.0000 scale
4601 240 fnt31 0 -52(reset)m
4602
4603 grestore
4604 3803(directi)s 6(v)k 3(e)k 4685(had)s 5089(been)s
4605 5598(issued,)s 6303(and)s 6707(parsing)s 7464(continues)s 8432(after)s
4606 gsave
4607 0 4225 translate
4608 0.6953 1.0000 scale
4609 240 fnt31 0 -52(hctac)m 
4610 grestore
4611 500 4171(.)m 9066 609 0 609 240 240 60 0 3208 LoutGr2
4612 newpath 0 ysize 0.3 ft sub moveto
4613 xsize 0 rlineto
4614 0 0.1 ft rlineto
4615 xsize neg 0 rlineto
4616 closepath fill
4617 grestore
4618 320 fnt84 0 5(4.4.)m
4619 628(Defaults)s 
4620 grestore
4621 0 2746(The)m 428(def)s 2(ault)k 1149(con\207guration)s
4622 2482(processing)s 3558(is)s 3768(as)s 4018(if)s 4235(the)s
4623 4583(daemon)s 5398(were)s 5918(parsing)s 6675(an)s 6958(o)s 3(v)k 3(erall)k
4624 7670(con\207guration)s 0 2506(\207le)m 361(whose)s 1029(contents)s 1877(were)s
4625 2397(as)s 2647(follo)s 6(ws:)k 0 52(1.0.1)m 4809(User)s
4626 5320(service)s 6052(daemon)s 6867(and)s 7271(client)s 7861(speci\207cation)s
4627
4628 grestore
4629
4630 grestore
4631
4632 pgsave restore
4633 showpage
4634
4635 %%Page: 17 17
4636 %%BeginPageSetup
4637 %%PageResources: font Times-Roman
4638 %%+ font Times-Bold
4639 %%+ font Courier-Bold
4640 %%+ font Times-Italic
4641 /pgsave save def
4642 0.0500 dup scale 10 setlinewidth
4643 %%EndPageSetup
4644 gsave
4645 0 0 translate
4646 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
4647 gsave
4648 LoutPageSet
4649 grestore
4650 gsave
4651 0 16840 translate
4652 0.0000 rotate
4653
4654 grestore
4655
4656 grestore
4657 gsave
4658 0 16840 translate
4659 0.0000 rotate
4660 gsave
4661 1417 -15423 translate
4662 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
4663 gsave
4664 1 LoutMargSet
4665 grestore
4666 240 fnt84 8831 13842(17)m gsave
4667 480 13335 translate
4668 0.6953 1.0000 scale
4669 240 fnt31 0 -52(reset)m 0 -292(user\211rcfile)m
4670 1728(~/.userv/rc)s 0 -532(errors\211to\211stderr)m 0 -772(include)m 1152(/etc/userv/system.default)s 0 -1012(if)m
4671 432(grep)s 1152(service\211user\211shell)s 3888(/etc/shells)s 432 -1252(errors\211push)m 720 -1492(catch\211quit)m
4672 1008 -1732(include\211ifexist)m gsave
4673 3312 -1680 translate
4674 1.4219 1.0000 scale
4675 240 fnt83 0 -52(\207le)m 345(speci\207ed)s 1248(by)s
4676 1530(most)s 2046(r)s 8(ecent)k 2699(user\211r)s 8(c\207le)k
4677 3767(dir)s 8(ective)k 
4678 grestore
4679 720 -1972(hctac)m 432 -2212(srorre)m 0 -2452(fi)m
4680 0 -2692(include)m 1152(/etc/userv/system.override)s 0 -2932(quit)m 
4681 grestore
4682 240 fnt82 0 9859(If)m
4683 226(one)s 624(of)s 891(the)s gsave
4684 1235 9913 translate
4685 0.6953 1.0000 scale
4686 240 fnt31 0 -52(\211\211override)m
4687
4688 grestore
4689 2292(options)s 3044(to)s 3279(the)s 3623(client)s 4209(is)s
4690 4415(used)s 4908(then)s 5373(it)s 5561(will)s 5983(instead)s
4691 6714(be)s 6992(as)s 7238(if)s 7451(the)s 7795(daemon)s
4692 8606(were)s 0 9619(parsing)m 757(an)s 1040(o)s 3(v)k 3(erall)k
4693 1752(con\207guration)s 3085(as)s 3335(follo)s 6(ws:)k gsave
4694 480 9433 translate
4695 0.6953 1.0000 scale
4696 240 fnt31
4697 0 -52(reset)m 0 -292(errors\211to\211stderr)m 0 -532(include)m gsave
4698 1152 -480 translate
4699 1.4219 1.0000 scale
4700 240 fnt83 0 -52(\207le)m
4701 345(containing)s 1423(con\207gur)s 3(ation)k 2765(data)s 3246(sent)s
4702 3695(by)s 3977(client)s 
4703 grestore
4704 0 -772(quit)m 
4705 grestore
4706 0 52(User)m 511(service)s
4707 1243(daemon)s 2058(and)s 2462(client)s 3052(speci\207cation)s 8611(1.0.1)s
4708
4709 grestore
4710
4711 grestore
4712
4713 pgsave restore
4714 showpage
4715
4716 %%Page: 18 18
4717 %%BeginPageSetup
4718 %%PageResources: font Times-Roman
4719 %%+ font Times-Bold
4720 %%+ font Courier-Bold
4721 /pgsave save def
4722 0.0500 dup scale 10 setlinewidth
4723 %%EndPageSetup
4724 gsave
4725 0 0 translate
4726 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
4727 gsave
4728 LoutPageSet
4729 grestore
4730 gsave
4731 0 16840 translate
4732 0.0000 rotate
4733
4734 grestore
4735
4736 grestore
4737 gsave
4738 0 16840 translate
4739 0.0000 rotate
4740 gsave
4741 1417 -15423 translate
4742 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
4743 gsave
4744 0 LoutMargSet
4745 grestore
4746 240 fnt84 0 13842(18)m gsave
4747 0 12726 translate
4748 240 fnt82 9066 688 0 688 240 240 60 LoutGraphic
4749 gsave
4750 newpath 0 ysize 0.3 ft sub moveto
4751 xsize 0 rlineto
4752 0 0.2 ft rlineto
4753 xsize neg 0 rlineto
4754 closepath fill
4755 grestore
4756 340 fnt84 0 70(5.)m 412(Inf)s 8(ormation)k
4757 2257(passed)s 3297(thr)s 6(ough)k 4539(the)s 5070(client/daemon)s
4758 7185(combination)s 
4759 grestore
4760 240 fnt82 0 12264(The)m 428(information)s 1613(described)s
4761 2587(belo)s 6(w)k 3220(is)s 3430(the)s 3778(only)s
4762 4258(information)s 5443(which)s 6085(passes)s 6747(between)s 7601(the)s
4763 7949(caller)s 8538(and)s 0 12024(the)m 348(service.)s 0 11616(\213)m
4764 480(The)s 908(service)s 1640(name)s 2214(supplied)s 3083(by)s
4765 3377(the)s 3725(caller)s 4314(is)s 4524(a)s 4(v)k 6(ailable)k
4766 5432(in)s 5675(the)s 6023(con\207guration)s 7356(language)s 8276(for)s
4767 480 11376(deciding)m 1343(whether)s 2158(and)s 2547(which)s 3175(service)s
4768 3892(program)s 4747(to)s 4971(in)s 9(v)k 4(ok)k 2(e,)k
4769 5701(in)s 5929(the)s gsave
4770 6262 11430 translate
4771 0.6953 1.0000 scale
4772 240 fnt31 0 -52(service)m 
4773 grestore
4774 7008(parameter)s 9(,)k
4775 8045(and)s 8434(is)s 8629(used)s 480 11136(by)m 774(the)s
4776 gsave
4777 1122 11190 translate
4778 0.6953 1.0000 scale
4779 240 fnt31 0 -52(execute\211from\211directory)m 
4780 grestore
4781 3384(and)s gsave
4782 3788 11190 translate
4783 0.6953 1.0000 scale
4784 240 fnt31 0 -52(execute\211from\211path)m
4785
4786 grestore
4787 5550(con\207guration)s 6883(directi)s 6(v)k 3(es.)k 7906(It)s
4788 8111(is)s 8321(usually)s 480 10896(used)m 977(to)s 1216(select)s
4789 1819(which)s 2461(service)s 3193(program)s 4063(to)s 4302(in)s 9(v)k 4(ok)k 2(e.)k
4790 5043(It)s 5248(is)s 5458(also)s 5896(passed)s 6592(to)s
4791 6831(the)s 7179(service)s 7911(program)s 8781(in)s 480 10656(the)m
4792 gsave
4793 828 10710 translate
4794 0.6953 1.0000 scale
4795 240 fnt31 0 -52(USERV_SERVICE)m 
4796 grestore
4797 2189(en)s 9(vironment)k 3449(v)s 6(ariable.)k
4798 0 10225(\213)m 480(File)s 902(descriptors)s 1995(speci\207ed)s 2897(by)s
4799 3185(the)s 3528(client)s 4112(and)s 4510(allo)s 6(wed)k
4800 5313(according)s 6304(to)s 6537(the)s 6879(con\207guration)s 8206(language)s
4801 480 9985(will)m 906(be)s 1188(connected.)s 2262(Each)s 2797(\207le)s
4802 3158(descriptor)s 4173(is)s 4383(opened)s 5133(for)s 5471(reading)s
4803 6241(or)s 6500(writing.)s 7294(Communication)s 8893(is)s 480 9745(via)m
4804 832(pipes,)s 1444(one)s 1846(end)s 2250(of)s 2521(each)s
4805 3016(pipe)s 3484(being)s 4069(open)s 4592(on)s 4889(the)s
4806 5237(appropriate)s 6381(\207le)s 6742(descriptor)s 7757(in)s 8000(the)s
4807 8348(service)s 480 9505(program)m 1347(\(when)s 1999(it)s 2188(is)s
4808 2394(in)s 9(v)k 4(ok)k 2(ed\))k 3276(and)s
4809 3677(the)s 4022(other)s 4569(end)s 4970(being)s 5552(held)s
4810 6019(by)s 6309(the)s 6654(client)s 7241(process,)s 8062(which)s
4811 8700(will)s 480 9265(read)m 942(and)s 1339(write)s 1878(\207les)s
4812 2320(it)s 2505(opens)s 3108(on)s 3398(behalf)s 4060(of)s
4813 4324(its)s 4593(caller)s 5175(or)s 5427(\207le)s 5781(descriptors)s
4814 6873(it)s 7058(is)s 7261(passed)s 7950(by)s 8237(its)s
4815 8506(caller)s 13(.)k 480 9025(Data)m 991(may)s 1457(be)s
4816 1739(passed)s 2435(into)s 2860(the)s 3208(service)s 3940(through)s
4817 4742(reading)s 5512(pipes)s 6068(and)s 6472(out)s 6838(of)s
4818 7109(it)s 7301(through)s 8103(writing)s 480 8785(pipes.)m 1083(These)s
4819 1703(pipes)s 2252(can)s 2634(remain)s 3347(open)s 3864(only)s
4820 4337(until)s 4823(the)s 5164(service)s 5889(and)s 6287(client)s
4821 6870(ha)s 4(v)k 3(e)k 7364(terminated,)s 8485(or)s
4822 8737(can)s 480 8545(be)m 762(made)s 1336(to)s 1575(stay)s
4823 2014(open)s 2537(after)s 3033(the)s 3381(client)s 3971(has)s
4824 4341(terminated)s 5420(and)s 5824(\(if)s 6120(the)s 6468(service)s
4825 7200(program)s 8070(forks\))s 8689(the)s 480 8305(main)m 998(service)s
4826 1712(process)s 2462(has)s 2814(e)s 3(xited;)k 3489(the)s
4827 3820(beha)s 4(viour)k 4815(is)s 5007(controlled)s 6016(by)s
4828 6292(options)s 7031(passed)s 7709(to)s 7930(the)s 8260(client)s
4829 8832(by)s 480 8065(its)m 751(caller)s 13(.)k 1426(The)s
4830 1848(caller)s 2432(can)s 2816(arrange)s 3582(that)s 3995(a)s
4831 4156(writing)s 4893(pipe)s 5356(be)s 5633(connected)s 6655(to)s
4832 6889(a)s 7050(pipe)s 7512(or)s 7766(similar)s 8482(object)s
4833 480 7825(and)m 884(cause)s 1471(attempts)s 2331(to)s 2570(write)s
4834 3116(to)s 3355(that)s 3773(descriptor)s 4788(by)s 5082(the)s
4835 5430(service)s 6162(to)s 6401(generate)s 7266(a)s gsave
4836 7432 7879 translate
4837 0.6953 1.0000 scale
4838 240 fnt31
4839 0 -52(SIGPIPE)m 
4840 grestore
4841 8192(\(or)s gsave
4842 8530 7879 translate
4843 0.6953 1.0000 scale
4844 240 fnt31 0 -52(EPIPE)m 
4845 grestore
4846 480 7585(if)m
4847 gsave
4848 684 7639 translate
4849 0.6953 1.0000 scale
4850 240 fnt31 0 -52(SIGPIPE)m 
4851 grestore
4852 1431(is)s 1628(caught)s 2313(or)s
4853 2559(ignored\))s 3405(in)s 3635(the)s 3970(service.)s 4797(Lik)s 2(e)k 6(wise,)k
4854 5759(the)s 6094(service)s 6813(can)s 7189(close)s 7722(\207ledescriptors)s
4855 480 7345(speci\207ed)m 1373(for)s 1696(reading,)s 2505(which)s 3132(will)s
4856 3543(cause)s 4115(the)s 4448(corresponding)s 5855(\207ledescriptors)s 7244(passed)s
4857 7925(by)s 8204(the)s 8537(caller)s 480 7105(to)m 716(be)s
4858 995(closed,)s 1709(so)s 1972(that)s 2387(if)s 2600(these)s
4859 3144(are)s 3488(pipes)s 4040(processes)s 5004(which)s 5643(write)s
4860 6185(to)s 6421(them)s 6956(will)s 7378(recei)s 6(v)k 3(e)k
4861 gsave
4862 8111 7159 translate
4863 0.6953 1.0000 scale
4864 240 fnt31 0 -52(SIGPIPE)m 
4865 grestore
4866 8867(or)s gsave
4867 480 6919 translate
4868 0.6953 1.0000 scale
4869 240 fnt31 0 -52(EPIPE)m
4870
4871 grestore
4872 980 6865(.)m 0 6460(\213)m 480(If)s gsave
4873 706 6514 translate
4874 0.6953 1.0000 scale
4875 240 fnt31 0 -52(no\211suppress\211args)m
4876
4877 grestore
4878 2363(is)s 2568(set)s 2888(then)s 3353(ar)s 4(guments)k
4879 4391(passed)s 5082(to)s 5316(the)s 5660(client)s 6245(by)s
4880 6534(its)s 6805(caller)s 7390(will)s 7811(be)s 8088(passed)s
4881 8779(on,)s 480 6220(v)m 3(erbatim,)k 1433(to)s 1672(the)s
4882 2020(service.)s 0 5784(\213)m 480(F)s 3(a)k 716(tal)s
4883 1009(sig)s 1281(nals)s 1717(and)s 2121(sys)s 2418(tem)s
4884 2836(call)s 3235(f)s 2(ail)k 3545(ures)s 3994(e)s 3(x)k
4885 4212(pe)s 4434(ri)s 4573(enced)s 5189(by)s 5483(the)s
4886 5831(client)s 6421(will)s 6847(re)s 7028(sult)s 7433(in)s
4887 7676(the)s 8024(dis)s 8294(con)s 8637(nec)s 8962(-)s
4888 480 5544(tion)m 909(of)s 1180(the)s 1528(ser)s 1806(vice)s
4889 2260(from)s 2784(the)s 3132(client)s 3722(and)s 4126(pos)s
4890 4450(si)s 4603(bly)s 4963(some)s 5524(of)s 5795(the)s
4891 6143(com)s 6555(mu)s 6856(ni)s 7036(ca)s 7248(tion)s
4892 7677(\207le)s 8038(de)s 8260(scrip)s 8717(tors)s 480 5304(de)m
4893 702(scribed)s 1450(abo)s 3(v)k 3(e;)k 2128(if)s
4894 gsave
4895 2345 5358 translate
4896 0.6953 1.0000 scale
4897 240 fnt31 0 -52(disconnect\211hup)m 
4898 grestore
4899 3806(is)s 4016(set)s 4341(then)s
4900 4810(the)s 5158(ser)s 5436(vice)s 5890(will)s 6316(also)s
4901 6754(be)s 7036(sent)s 7481(a)s gsave
4902 7647 5358 translate
4903 0.6953 1.0000 scale
4904 240 fnt31 0 -52(SIGHUP)m
4905
4906 grestore
4907 8247(.)s 0 4868(\213)m 480(The)s 908(v)s 6(alue)k
4908 1476(of)s 1747(the)s gsave
4909 2095 4922 translate
4910 0.6953 1.0000 scale
4911 240 fnt31 0 -52(LOGNAME)m 
4912 grestore
4913 2855(\(or)s
4914 gsave
4915 3193 4922 translate
4916 0.6953 1.0000 scale
4917 240 fnt31 0 -52(USER)m 
4918 grestore
4919 3593(\))s 3721(en)s 9(vironment)k
4920 4981(v)s 6(ariable)k 5800(as)s 6050(passed)s 6746(to)s
4921 6985(the)s 7333(client)s 7923(will)s 8349(be)s 480 4628(used)m
4922 977(as)s 1227(the)s 1575(login)s 2124(name)s 2698(of)s
4923 2969(the)s 3317(calling)s 4020(user)s 4478(if)s 4695(the)s
4924 5043(uid)s 5407(of)s 5678(the)s 6026(calling)s 6729(process)s
4925 7497(matches)s 8331(the)s 8679(uid)s 480 4388(corresponding)m 1902(to)s
4926 2141(that)s 2559(login)s 3108(name.)s 3730(Otherwise)s 4768(the)s
4927 5116(calling)s 5819(uid')s 13(s)k 6335(passw)s 2(ord)k
4928 7295(entry)s 7840(will)s 8266(be)s 8548(used)s 480 4148(to)m
4929 708(determine)s 1708(the)s 2045(calling)s 2737(user')s 13(s)k
4930 3334(login)s 3872(name.)s 4543(This)s 5007(login)s 5545(name)s
4931 6108(and)s 6501(the)s 6838(calling)s 7530(uid)s 7883(are)s
4932 8218(a)s 4(v)k 6(ailable)k 480 3908(in)m 723(the)s
4933 1071(con\207guration)s 2404(language)s 3324(in)s 3567(the)s gsave
4934 3915 3962 translate
4935 0.6953 1.0000 scale
4936 240 fnt31
4937 0 -52(calling\211user)m 
4938 grestore
4939 5176(parameter)s 6190(and)s 6594(are)s 6941(passed)s
4940 7637(to)s 7876(the)s 8224(service)s 480 3668(program)m 1334(in)s
4941 1561(en)s 9(vironment)k 2805(v)s 6(ariables)k gsave
4942 3696 3722 translate
4943 0.6953 1.0000 scale
4944 240 fnt31
4945 0 -52(USERV_USER)m 
4946 grestore
4947 4741(and)s gsave
4948 5129 3722 translate
4949 0.6953 1.0000 scale
4950 240 fnt31 0 -52(USERV_UID)m 
4951 grestore
4952 6030(.)s
4953 6178(The)s 6590(shell)s 7080(corresponding)s 8486(to)s 8708(that)s
4954 480 3428(login)m 1023(name)s 1591(\(according)s 2659(to)s 2892(the)s
4955 3233(passw)s 2(ord)k 4187(entry\))s 4799(is)s 5003(a)s 4(v)k 6(ailable)k
4956 5904(as)s 6148(in)s 6384(the)s 6726(con\207guration)s 8052(language')s 13(s)k
4957 gsave
4958 480 3242 translate
4959 0.6953 1.0000 scale
4960 240 fnt31 0 -52(calling\211user\211shell)m 
4961 grestore
4962 2342 3188(parameter)m 13(.)k 3447(If)s
4963 3677(no)s 3970(rele)s 6(v)k 6(ant)k 4787(passw)s 2(ord)k
4964 5747(entry)s 6292(can)s 6681(be)s 6963(found)s 7580(then)s
4965 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
4966 0 2542(\213)m 480(The)s 908(numeric)s 1744(v)s 6(alues)k
4967 2400(and)s 2804(te)s 3(xtual)k 3506(names)s 4168(for)s
4968 4506(calling)s 5209(gid)s 5573(and)s 5977(supplementary)s 7439(group)s
4969 8051(list)s 8402(are)s 480 2302(a)m 4(v)k 6(ailable)k
4970 1380(in)s 1615(the)s 1955(con\207guration)s 3280(language)s 4192(in)s
4971 4427(the)s gsave
4972 4766 2356 translate
4973 0.6953 1.0000 scale
4974 240 fnt31 0 -52(calling\211group)m 
4975 grestore
4976 6119(parameter)s 7125(and)s
4977 7521(are)s 7860(passed)s 8548(to)s 8778(the)s 480 2062(service)m
4978 1212(in)s 1455(en)s 9(vironment)k 2715(v)s 6(ariables.)k
4979 3735(If)s 3965(no)s 4258(name)s 4832(can)s 5221(be)s
4980 5503(found)s 6120(for)s 6458(a)s 6624(numeric)s 7460(group)s
4981 8072(to)s 8311(which)s 480 1822(the)m 828(calling)s 1531(process)s
4982 2299(belongs)s 3095(then)s 3564(no)s 3857(service)s 4589(will)s
4983 5015(be)s 5297(in)s 9(v)k 4(ok)k 2(ed.)k
4984 0 1367(\213)m 480(The)s 908(name)s 1482(of)s 1753(the)s
4985 2101(current)s 2837(w)s 2(orking)k 3686(directory)s 4602(in)s
4986 4845(which)s 5487(the)s 5835(client)s 6425(w)s 2(as)k
4987 6846(in)s 9(v)k 4(ok)k 2(ed)k 7661(is)s
4988 7871(passed,)s 8616(if)s 480 1127(a)m 4(v)k 6(ailable)k
4989 1388(and)s 1792(not)s 2158(hidden)s 2867(using)s gsave
4990 3439 1181 translate
4991 0.6953 1.0000 scale
4992 240 fnt31
4993 0 -52(\211\211hidecwd)m 
4994 grestore
4995 4340(,)s 4447(to)s 4686(the)s 5034(service)s
4996 5766(program)s 6636(in)s 6879(the)s gsave
4997 7227 1181 translate
4998 0.6953 1.0000 scale
4999 240 fnt31 0 -52(USERV_CWD)m
5000
5001 grestore
5002 8188(v)s 6(ariable.)k 480 887(This)m 946(grants)s 1570(no)s
5003 1852(special)s 2560(access)s 3210(to)s 3438(that)s 3846(directory)s
5004 4751(unless)s 5389(it)s 5571(is)s 5770(a)s 5925(subdirectory)s
5005 7164(of)s 7424(a)s 7579(directory)s 8484(which)s 0 52(1.0.1)m
5006 4809(User)s 5320(service)s 6052(daemon)s 6867(and)s 7271(client)s
5007 7861(speci\207cation)s 
5008 grestore
5009
5010 grestore
5011
5012 pgsave restore
5013 showpage
5014
5015 %%Page: 19 19
5016 %%BeginPageSetup
5017 %%PageResources: font Times-Roman
5018 %%+ font Times-Bold
5019 %%+ font Courier-Bold
5020 %%+ font Times-Italic
5021 /pgsave save def
5022 0.0500 dup scale 10 setlinewidth
5023 %%EndPageSetup
5024 gsave
5025 0 0 translate
5026 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
5027 gsave
5028 LoutPageSet
5029 grestore
5030 gsave
5031 0 16840 translate
5032 0.0000 rotate
5033
5034 grestore
5035
5036 grestore
5037 gsave
5038 0 16840 translate
5039 0.0000 rotate
5040 gsave
5041 1417 -15423 translate
5042 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
5043 gsave
5044 1 LoutMargSet
5045 grestore
5046 240 fnt84 8832 13842(19)m 240 fnt82 480 13251(is)m 690(e)s 3(x)k 3(ecutable)k
5047 1762(\(searchable\))s 2977(b)s 4(ut)k 3339(not)s 3705(readable)s
5048 4570(by)s 4864(the)s 5212(service)s 5944(user)s 13(.)k
5049 0 12794(\213)m 480(Settings)s 1301(speci\207ed)s 2209(by)s 2503(the)s
5050 2851(caller)s 3440(using)s 4012(the)s gsave
5051 4360 12848 translate
5052 0.6953 1.0000 scale
5053 240 fnt31 0 -52(\211\211defvar)m
5054 gsave
5055 1295 0 translate
5056 1.4219 1.0000 scale
5057 240 fnt83 0 -52(name)m 
5058 grestore
5059 2023(=)s gsave
5060 2167 0 translate
5061 1.4219 1.0000 scale
5062 240 fnt83 0 -52(value)m
5063
5064 grestore
5065
5066 grestore
5067 6432(option)s 7101(to)s 7340(the)s 7688(client)s 8278(are)s
5068 480 12554(a)m 4(v)k 6(ailable)k 1388(in)s 1631(the)s
5069 1979(con\207guration)s 3312(language)s 4232(as)s 4482(the)s 4830(corresponding)s
5070 gsave
5071 6252 12608 translate
5072 0.6953 1.0000 scale
5073 240 fnt31 0 -52(u\211)m gsave
5074 288 0 translate
5075 1.4219 1.0000 scale
5076 240 fnt83 0 -52(name)m 
5077 grestore
5078
5079 grestore
5080 7018(parameters)s
5081 8116(and)s 8520(are)s 480 12314(passed)m 1176(to)s 1415(the)s
5082 1763(service)s 2495(program)s 3365(in)s 3608(en)s 9(vironment)k
5083 4868(v)s 6(ariables)k gsave
5084 5775 12368 translate
5085 0.6953 1.0000 scale
5086 240 fnt31 0 -52(USERV_U_)m gsave
5087 1152 0 translate
5088 1.4219 1.0000 scale
5089 240 fnt83
5090 0 -52(name)m 
5091 grestore
5092
5093 grestore
5094 7082(.)s 0 11859(\213)m 480(If)s 710(the)s
5095 1058(calling)s 1761(user)s 2219(is)s 2429(root)s 2874(or)s
5096 3133(the)s 3481(same)s 4028(as)s 4278(the)s 4626(service)s
5097 5358(user)s 5816(then)s 6285(options)s 7041(may)s 7507(be)s
5098 7789(gi)s 6(v)k 3(en)k 8369(to)s 8608(the)s
5099 480 11619(client)m 1070(which)s 1712(bypass)s 2415(the)s 2763(usual)s
5100 3323(security)s 4133(features;)s 5000(in)s 5243(this)s 5639(case)s
5101 6106(other)s 6657(information)s 7842(may)s 8308(pass)s 480 11379(between)m
5102 1334(the)s 1682(caller)s 2271(and)s 2675(the)s 3023(service.)s
5103 0 52(User)m 511(service)s 1243(daemon)s 2058(and)s 2462(client)s
5104 3052(speci\207cation)s 8611(1.0.1)s 
5105 grestore
5106
5107 grestore
5108
5109 pgsave restore
5110 showpage
5111
5112 %%Page: 20 20
5113 %%BeginPageSetup
5114 %%PageResources: font Times-Roman
5115 %%+ font Times-Bold
5116 %%+ font Courier-Bold
5117 %%+ font Times-Italic
5118 /pgsave save def
5119 0.0500 dup scale 10 setlinewidth
5120 %%EndPageSetup
5121 gsave
5122 0 0 translate
5123 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
5124 gsave
5125 LoutPageSet
5126 grestore
5127 gsave
5128 0 16840 translate
5129 0.0000 rotate
5130
5131 grestore
5132
5133 grestore
5134 gsave
5135 0 16840 translate
5136 0.0000 rotate
5137 gsave
5138 1417 -15423 translate
5139 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
5140 gsave
5141 0 LoutMargSet
5142 grestore
5143 240 fnt84 0 13842(20)m gsave
5144 0 12727 translate
5145 240 fnt82 9066 687 0 687 240 240 60 LoutGraphic
5146 gsave
5147 newpath 0 ysize 0.3 ft sub moveto
5148 xsize 0 rlineto
5149 0 0.2 ft rlineto
5150 xsize neg 0 rlineto
5151 closepath fill
5152 grestore
5153 340 fnt84 0 69(6.)m 412(A)s 8(pplications)k
5154 2309(and)s 2935(notes)s 3765(on)s 4204(use)s 
5155 grestore
5156 gsave
5157 0 11649 translate
5158 240 fnt82 9066 670 0 670 240 240 60 LoutGraphic
5159 gsave
5160 newpath 0 ysize 0.3 ft sub moveto
5161 xsize 0 rlineto
5162 0 0.1 ft rlineto
5163 xsize neg 0 rlineto
5164 closepath fill
5165 grestore
5166 320 fnt84
5167 0 66(6.1.)m 628(Standard)s 1977(ser)s 3(vices)k 3110(and)s
5168 3697(dir)s 5(ectory)k 5025(management)s 
5169 grestore
5170 240 fnt82 0 11187(In)m
5171 250(later)s 726(v)s 3(ersions)k 1565(of)s 1829(this)s
5172 2219(speci\207cation)s 3477(standard)s 4339(service)s 5064(names)s 5720(and)s
5173 6117(interf)s 2(aces)k 7087(for)s 7418(common)s 8306(services)s
5174 0 10947(such)m 496(as)s 746(mail)s 1225(deli)s 6(v)k 3(ery)k
5175 2053(and)s 2457(WWW)s 3193(CGI)s 3661(scripts)s 4335(will)s
5176 4761(be)s 5043(speci\207ed.)s gsave
5177 0 10593 translate
5178 0.6953 1.0000 scale
5179 240 fnt31 0 -52(userv)m 
5180 grestore
5181 500 10539(-us)m
5182 783(ing)s 1142(ap)s 1361(pli)s 1607(ca)s 1819(tions)s
5183 2335(and)s 2739(sys)s 3036(tem)s 3454(ser)s 3732(vices)s
5184 4274(which)s 4916(hide)s gsave
5185 5384 10593 translate
5186 0.6953 1.0000 scale
5187 240 fnt31 0 -52(userv)m 
5188 grestore
5189 5944(be)s
5190 6166(hind)s 6650(wrap)s 7121(per)s 7486(scripts)s 8160(may)s
5191 0 10299(need)m 510(to)s 749(store)s 1269(in)s 1452(for)s
5192 1730(ma)s 2022(tion)s 2451(in)s 2694(the)s 3042(user')s 13(s)k
5193 3650(\207lespace)s 4542(to)s 4781(pre)s 5082(serv)s 3(e)k
5194 5639(the)s 5987(cor)s 6292(rect)s 6709(place)s 7209(ment)s
5195 7747(of)s 8018(the)s 8366(se)s 8561(-)s 0 10059(cu)m
5196 221(ri)s 360(ty)s 600(perim)s 1157(iters.)s 1671(Such)s
5197 2207(ap)s 2426(pli)s 2672(ca)s 2884(tions)s 3400(should)s
5198 4097(usu)s 4425(al)s 4592(ly)s 4832(do)s 5125(so)s
5199 5391(in)s 5634(a)s 5800(di)s 5980(rec)s 6264(to)s
5200 6443(ry)s 6696(\(cre)s 7062(at)s 7234(ed)s 7518(by)s
5201 7812(them\))s gsave
5202 0 9873 translate
5203 0.6953 1.0000 scale
5204 240 fnt31 0 -52(~/.userv/.servdata/)m gsave
5205 2736 0 translate
5206 1.4219 1.0000 scale
5207 240 fnt83 0 -52(service)m
5208
5209 grestore
5210
5211 grestore
5212 2563 9819(,)m 2670(where)s 240 fnt83 3310 9821(ser)m 3607(vice)s
5213 240 fnt82 4044 9819(is)m 4254(the)s 4602(ser)s 4880(vice)s
5214 5334(name)s 5908(or)s 6167(ap)s 6386(pli)s 6632(ca)s
5215 6844(tion)s 7273(in)s 7516(ques)s 7946(tion.)s 0 9411(The)m
5216 428(use)s 803(of)s 1074(a)s 1240(dot-directory)s 2541(inside)s
5217 gsave
5218 3168 9465 translate
5219 0.6953 1.0000 scale
5220 240 fnt31 0 -52(~/.userv)m 
5221 grestore
5222 4029(will)s 4455(hopefully)s 5426(a)s 4(v)k 4(oid)k
5223 6008(the)s 6356(user)s 6814(becoming)s 7811(confused)s 0 9171(by)m
5224 294(\207nding)s 1026(parts)s 1541(of)s 1812(a)s 1978(semi-pri)s 6(vile)k 3(ged)k
5225 3526(application')s 13(s)k 4798(internal)s 5582(state)s 6075(in)s
5226 6318(their)s 6815(\207lespace,)s 7758(and)s 8162(or)s 0 8931(discourage)m
5227 1092(them)s 1630(from)s 2154(\207ddling)s 2952(with)s 3434(and)s
5228 3838(thus)s 4288(corrupting)s 5337(it.)s 5573(\(Note)s 6173(that)s
5229 6591(such)s 7087(applications)s 8293(should)s 0 8691(of)m 271(course)s
5230 951(not)s 1317(rely)s 1742(for)s 2080(their)s 2577(global)s
5231 3230(inte)s 3(grity)k 4090(on)s 4387(the)s 4735(inte)s 3(grity)k
5232 5595(of)s 5866(the)s 6214(data)s 6672(on)s 6969(the)s
5233 7317(user')s 13(s)k 7925(side)s 8366(of)s 8637(the)s
5234 0 8451(security)m 810(boundary)s 15(.\))k 9066 670 0 670 240 240 60 0 7427 LoutGr2
5235 newpath 0 ysize 0.3 ft sub moveto
5236 xsize 0 rlineto
5237 0 0.1 ft rlineto
5238 xsize neg 0 rlineto
5239 closepath fill
5240 grestore
5241 320 fnt84 0 66(6.2.)m
5242 628(Reducing)s 1997(the)s 2497(number)s 3655(of)s 4018(absolutely)s
5243 5474(pri)s 3(vileged)k 6908(subsystems)s 
5244 grestore
5245 0 6965(Currently)m 970(most)s
5246 1495(Unix)s 2029(systems)s 2837(ha)s 4(v)k 3(e)k
5247 3338(man)s 3(y)k 3921(components)s 5129(which)s 5771(need)s
5248 6281(to)s 6520(run)s 6896(as)s 7146(root,)s 7638(e)s 6(v)k 3(en)k
5249 8138(though)s 0 6725(most)m 525(of)s 796(their)s 1293(acti)s 6(vity)k
5250 2057(does)s 2547(not)s 2913(strictly)s 3629(require)s 4361(it.)s
5251 4597(This)s 5073(gi)s 6(v)k 3(es)k 5620(rise)s
5252 6020(to)s 6259(a)s 6425(lar)s 4(ge)k 6954(and)s
5253 7358(comple)s 3(x)k 8234(body)s 8768(of)s 0 6485(code)m
5254 508(which)s 1150(must)s 1675(be)s 1957(trusted)s 2665(with)s
5255 3147(the)s 3495(security)s 4305(of)s 4576(the)s 4924(system.)s
5256 0 6077(Using)m gsave
5257 625 6131 translate
5258 0.6953 1.0000 scale
5259 240 fnt31 0 -52(userv)m 
5260 grestore
5261 1185(man)s 3(y)k
5262 1768(of)s 2039(these)s 2586(subsystems)s 3727(no)s 4020(longer)s
5263 4691(need)s 5201(an)s 3(y)k 5598(unusual)s 6398(pri)s 6(vile)k 3(ge.)k
5264 gsave
5265 0 5723 translate
5266 0.6953 1.0000 scale
5267 240 fnt31 0 -52(cron)m 
5268 grestore
5269 455 5669(and)m gsave
5270 853 5723 translate
5271 0.6953 1.0000 scale
5272 240 fnt31 0 -52(at)m
5273
5274 grestore
5275 1053(,)s gsave
5276 1154 5723 translate
5277 0.6953 1.0000 scale
5278 240 fnt31 0 -52(lpr)m 
5279 grestore
5280 1509(and)s 1907(the)s
5281 2249(system')s 13(s)k 3117(mail)s 3591(transfer)s 4373(agent)s
5282 4945(\()s gsave
5283 5018 5723 translate
5284 0.6953 1.0000 scale
5285 240 fnt31 0 -52(sendmail)m 
5286 grestore
5287 5819(,)s gsave
5288 5921 5723 translate
5289 0.6953 1.0000 scale
5290 240 fnt31
5291 0 -52(smail)m 
5292 grestore
5293 6421(,)s gsave
5294 6522 5723 translate
5295 0.6953 1.0000 scale
5296 240 fnt31 0 -52(exim)m 
5297 grestore
5298 6976(or)s
5299 7229(the)s 7572(lik)s 2(e\))k 8050(all)s 8337(f)s 2(all)k
5300 8701(into)s 0 5429(this)m 396(cate)s 3(gory)k 15(.)k
5301 9066 670 0 670 240 240 60 0 4405 LoutGr2
5302 newpath 0 ysize 0.3 ft sub moveto
5303 xsize 0 rlineto
5304 0 0.1 ft rlineto
5305 xsize neg 0 rlineto
5306 closepath fill
5307 grestore
5308 320 fnt84 0 66(6.3.)m 628(Do)s 1092(not)s 1615(gi)s 3(v)k 3(e)k
5309 2234(away)s 3019(excessi)s 3(v)k 3(e)k 4312(pri)s 3(vilege)k
5310 5571(to)s gsave
5311 5910 139 translate
5312 0.6953 1.0000 scale
5313 320 fnt31 0 -70(userv)m 
5314 grestore
5315 6577(-using)s 7484(facilities)s
5316
5317 grestore
5318 0 3943(There)m 613(is)s 823(a)s 989(danger)s 1700(that)s
5319 2118(people)s 2812(reimplementing)s 4378(the)s 4726(f)s 2(acilities)k
5320 5595(I)s 5730(mention)s 6571(abo)s 3(v)k 3(e)k
5321 7193(using)s gsave
5322 7765 3997 translate
5323 0.6953 1.0000 scale
5324 240 fnt31 0 -52(userv)m 
5325 grestore
5326 8325(will)s 0 3703(discard)m
5327 731(much)s 1303(of)s 1557(the)s 1888(security)s 2680(bene\207t)s
5328 3374(by)s 3651(using)s 4206(a)s 4355(nai)s 6(v)k 3(e)k
5329 4902(implementation)s 6442(technique.)s 7459(This)s 7918(will)s 8326(become)s
5330 0 3463(clearer)m 708(with)s 1190(an)s 1473(e)s 3(xample:)k
5331 0 3055(Consider)m 924(the)s gsave
5332 1272 3109 translate
5333 0.6953 1.0000 scale
5334 240 fnt31 0 -52(lpr)m 
5335 grestore
5336 1632(program.)s
5337 2546(In)s 2802(current)s 3538(systems)s 4346(this)s 4742(needs)s
5338 5338(to)s 5577(ha)s 4(v)k 3(e)k 6078(an)s
5339 6361(absolutely)s 7398(pri)s 6(vile)k 3(ged)k 0 2815(component)m
5340 1124(in)s 1367(order)s 1931(to)s 2170(support)s 2948(delayed)s
5341 3750(printing)s 4560(without)s 5351(cop)s 2(ying:)k 6227(when)s
5342 6803(the)s 7151(user)s 7609(queues)s 8325(a)s 8491(\207le)s
5343 0 2575(to)m 239(be)s 521(printed)s 1256(the)s 1604(\207lename)s
5344 2483(is)s 2693(stored)s 3335(in)s 3578(the)s 3926(print)s
5345 4437(queue,)s 5116(rather)s 5732(than)s 6201(a)s 6367(cop)s 2(y)k
5346 6885(of)s 7156(it,)s 7395(and)s 7799(the)s 8147(printer)s
5347 0 2335(daemon)m 813(accesses)s 1671(the)s 2016(\207le)s 2375(directly)s
5348 3155(when)s 3729(it)s 3918(is)s 4126(ready)s 4708(to)s
5349 4945(print)s 5453(the)s 5799(job)s 9(.)k 6197(In)s
5350 6451(order)s 7012(that)s 7428(the)s 7773(user)s 8229(can)s
5351 8615(print)s 0 2095(\207les)m 449(which)s 1091(are)s 1438(not)s
5352 1804(w)s 2(orld-readable)k 3304(the)s 3652(daemon)s 4467(is)s
5353 4677(gi)s 6(v)k 3(en)k 5257(root)s 5702(pri)s 6(vile)k 3(ge)k
5354 6598(so)s 6864(that)s 7282(it)s 7474(can)s 7863(open)s
5355 8386(the)s 8734(\207le)s 0 1855(in)m 243(the)s 591(conte)s 3(xt)k
5356 1352(of)s 1623(the)s 1971(user)s 9(,)k 2467(rather)s
5357 3083(than)s 3552(its)s 3828(o)s 6(wn.)k 0 1447(A)m
5358 212(simple-minded)s 1686(approach)s 2602(to)s 2823(con)s 9(v)k 3(erting)k
5359 3868(this)s 4246(scheme)s 5001(to)s 5222(use)s gsave
5360 5579 1501 translate
5361 0.6953 1.0000 scale
5362 240 fnt31
5363 0 -52(userv)m 
5364 grestore
5365 6120(might)s 6720(in)s 9(v)k 4(olv)k 3(e)k
5366 7460(gi)s 6(ving)k 8101(the)s 8430(printer)s 0 1207(daemon)m
5367 811(\(the)s gsave
5368 1233 1261 translate
5369 0.6953 1.0000 scale
5370 240 fnt31 0 -52(lp)m 
5371 grestore
5372 1489(user\))s 2010(the)s
5373 2354(ability)s 3013(to)s 3248(read)s 3712(the)s 4055(\207le)s
5374 4412(by)s 4701(allo)s 6(wing)k 5581(them)s 6114(to)s
5375 6349(run)s gsave
5376 6720 1261 translate
5377 0.6953 1.0000 scale
5378 240 fnt31 0 -52(cat)m 
5379 grestore
5380 7076(\(or)s 7409(a)s
5381 7570(special-purpose)s 0 967(\207le-reading)m 1140(program\))s 2063(as)s 2299(an)s 3(y)k
5382 2681(user)s 13(.)k 3155(The)s gsave
5383 3569 1021 translate
5384 0.6953 1.0000 scale
5385 240 fnt31 0 -52(lpr)m
5386
5387 grestore
5388 3914(program)s 4769(w)s 2(ould)k 5410(use)s 5770(a)s
5389 gsave
5390 5922 1021 translate
5391 0.6953 1.0000 scale
5392 240 fnt31 0 -52(userv)m 
5393 grestore
5394 6467(service)s 7184(to)s 7409(store)s
5395 7914(the)s 8247(\207lename)s 0 727(in)m 243(the)s 591(printer)s
5396 1287(daemon')s 13(s)k 2255(queues,)s 3027(and)s 3431(the)s
5397 3779(daemon)s 4594(w)s 2(ould)k 5249(read)s 5718(the)s
5398 6066(\207le)s 6427(later)s 6910(when)s 7486(it)s 7678(felt)s
5399 8055(lik)s 2(e)k 8467(it.)s 0 52(1.0.1)m 4809(User)s
5400 5320(service)s 6052(daemon)s 6867(and)s 7271(client)s 7861(speci\207cation)s
5401
5402 grestore
5403
5404 grestore
5405
5406 pgsave restore
5407 showpage
5408
5409 %%Page: 21 21
5410 %%BeginPageSetup
5411 %%PageResources: font Times-Roman
5412 %%+ font Times-Bold
5413 %%+ font Courier-Bold
5414 %%+ font Times-Italic
5415 /pgsave save def
5416 0.0500 dup scale 10 setlinewidth
5417 %%EndPageSetup
5418 gsave
5419 0 0 translate
5420 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
5421 gsave
5422 LoutPageSet
5423 grestore
5424 gsave
5425 0 16840 translate
5426 0.0000 rotate
5427
5428 grestore
5429
5430 grestore
5431 gsave
5432 0 16840 translate
5433 0.0000 rotate
5434 gsave
5435 1417 -15423 translate
5436 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
5437 gsave
5438 1 LoutMargSet
5439 grestore
5440 240 fnt84 8839 13842(21)m 240 fnt82 0 13254(Ho)m 6(we)k 6(v)k 3(er)k 9(,)k
5441 960(this)s 1356(w)s 2(ould)k 2011(allo)s 6(w)k
5442 2590(the)s 2938(printer)s 3634(daemon)s 4449(to)s 4688(read)s
5443 5157(an)s 3(y)k 5554(\207le)s 5915(on)s 6212(the)s
5444 6560(system,)s 7331(whether)s 8161(or)s 8420(not)s 0 13014(someone)m
5445 907(had)s 1311(ask)s 2(ed)k 1912(for)s 2250(it)s
5446 2442(to)s 2681(be)s 2963(printed.)s 3744(Since)s 4331(man)s 3(y)k
5447 4914(\207les)s 5363(will)s 5789(contain)s 6550(passw)s 2(ords)k
5448 7596(and)s 8000(other)s 0 12774(security-critical)m 1551(information)s 2736(this)s
5449 3132(is)s 3342(nearly)s 3993(as)s 4243(bad)s 4647(as)s
5450 4897(gi)s 6(ving)k 5556(the)s 5904(daemon)s 6719(root)s
5451 7164(access)s 7825(in)s 8068(the)s 8416(\207rst)s 0 12534(place.)m
5452 608(An)s 3(y)k 1072(security)s 1882(holes)s 2438(in)s
5453 2681(the)s 3029(print)s 3540(serv)s 3(er)k 4180(which)s
5454 4822(allo)s 6(w)k 5401(a)s 5567(user)s 6025(to)s
5455 6264(e)s 3(x)k 3(ecute)k 7044(commands)s 8132(as)s
5456 8382(the)s gsave
5457 8730 12588 translate
5458 0.6953 1.0000 scale
5459 240 fnt31 0 -52(lp)m 
5460 grestore
5461 0 12294(user)m 458(will)s
5462 884(gi)s 6(v)k 3(e)k 1343(the)s 1691(user)s
5463 2149(the)s 2497(ability)s 3161(to)s 3400(read)s 3869(an)s 3(y)k
5464 4266(\207le)s 4627(on)s 4924(the)s 5272(system.)s 0 11886(Instead,)m
5465 790(it)s 975(is)s 1178(necessary)s 2153(to)s 2385(k)s 2(eep)k
5466 2881(a)s 3040(record)s 3700(of)s 3964(which)s 4599(\207les)s
5467 5040(the)s 5381(daemon)s 6189(has)s 6552(been)s 7053(ask)s 2(ed)k
5468 7647(to)s 7879(print)s 240 fnt83 8382 11888(outside)m 240 fnt82
5469 0 11646(the)m 348(control)s 1080(of)s 1351(the)s 1699(print)s
5470 2210(daemon.)s 3072(This)s 3548(record)s 4216(could)s 4806(be)s
5471 5088(k)s 2(ept)k 5558(by)s 5852(a)s 6018(ne)s 6(w)k
5472 6465(root-pri)s 6(vile)k 3(ged)k 7947(component,)s 0 11406(b)m 4(ut)k
5473 352(this)s 737(is)s 936(not)s 1291(necessary:)s 2315(the)s
5474 2652(record)s 3309(of)s 3569(which)s 4200(\207les)s 4638(a)s
5475 4794(user)s 5241(has)s 5600(ask)s 2(ed)k 6190(to)s
5476 6418(be)s 6689(printed)s 7413(can)s 7791(be)s 8062(k)s 2(ept)k
5477 8521(under)s 0 11166(the)m 348(control)s 1080(of)s 1351(the)s
5478 1699(user)s 2157(in)s 2400(question.)s 3315(The)s 3743(submission)s
5479 4877(program)s gsave
5480 5747 11220 translate
5481 0.6953 1.0000 scale
5482 240 fnt31 0 -52(lpr)m 
5483 grestore
5484 6107(will)s 6533(mak)s 2(e)k
5485 7105(a)s 7271(record)s 7939(in)s 8182(an)s 8465(area)s
5486 0 10926(under)m 605(the)s 953(user')s 13(s)k 1561(control)s
5487 2293(before)s 2959(communicating)s 4500(with)s 4982(the)s 5330(print)s
5488 5841(serv)s 3(er)k 9(,)k 6519(and)s 6923(the)s
5489 7271(print)s 7782(serv)s 3(er)k 8422(w)s 2(ould)k
5490 0 10686(be)m 279(gi)s 6(v)k 3(en)k 855(the)s
5491 1199(ability)s 1859(to)s 2094(run)s 2466(a)s 2628(special)s
5492 3342(\207le-reading)s 4493(program)s 5359(which)s 5997(w)s 2(ould)k
5493 6648(only)s 7124(allo)s 6(w)k 7699(\207les)s 8144(to)s
5494 8379(be)s 8657(read)s 0 10446(which)m 642(were)s 1162(listed)s
5495 1737(in)s 1980(the)s 2328(user')s 13(s)k 2936(\207le)s
5496 3297(of)s 3568(things)s 4204(the)s 3(y')k 12(d)k
5497 4858(ask)s 2(ed)k 5459(to)s 5698(print.)s 0 10038(No)m 6(w)k
5498 502(security)s 1300(holes)s 1844(in)s 2075(most)s 2588(of)s
5499 2846(the)s 3182(printing)s 3980(system)s 4692(do)s 4973(not)s
5500 5327(critically)s 6215(af)s 6(fect)k 6799(the)s 7135(security)s
5501 7933(of)s 8192(the)s 8527(entire)s 0 9798(system:)m 770(the)s 3(y)k
5502 1233(only)s 1713(allo)s 6(w)k 2292(the)s 2640(attack)s 2(er)k
5503 3453(to)s 3692(read)s 4161(and)s 4565(interfere)s 5428(with)s
5504 5910(print)s 6421(jobs.)s 6924(Bugs)s 7468(in)s 7711(the)s
5505 8059(programs)s 0 9558(run)m 373(by)s 664(the)s 1009(print)s
5506 1517(serv)s 3(er)k 2154(to)s 2390(read)s 2856(users')s
5507 3456(\207les)s 3902(\(and)s 4382(to)s 4618(remo)s 3(v)k 3(e)k
5508 5382(entries)s 6066(from)s 6587(the)s 6932(list)s 7280(of)s
5509 7548(\207les)s 7994(when)s 8567(it)s 8756(has)s 0 9318(done)m
5510 522(with)s 1004(them\))s 1610(will)s 2036(still)s 2448(be)s
5511 2730(serious,)s 3514(b)s 4(ut)k 3876(this)s 4272(program)s
5512 5142(can)s 5531(be)s 5813(quite)s 6347(simple.)s 0 8910(Similar)m
5513 762(considerations)s 2194(apply)s 2780(to)s 3019(man)s 3(y)k
5514 gsave
5515 3602 8964 translate
5516 0.6953 1.0000 scale
5517 240 fnt31 0 -52(userv)m 
5518 grestore
5519 4102(-based)s 4784(v)s 3(ersions)k
5520 5629(of)s 5900(f)s 2(acilities)k 6769(which)s 7411(currently)s
5521 8327(run)s 0 8670(as)m 250(root.)s 0 8262(It)m 198(is)s
5522 401(debatable)s 1366(whether)s 2189(the)s 2530(user)s 4(-controlled)k
5523 4023(state)s 4509(should)s 5199(be)s 5474(k)s 2(ept)k
5524 5937(in)s 6173(the)s 6514(user')s 13(s)k 7115(\207lespace)s
5525 8000(\(in)s 8315(dot\207les,)s 0 8022(say\))m 440(or)s 692(k)s 2(ept)k
5526 1155(in)s 1391(a)s 1550(separate)s 2381(area)s 2831(set)s
5527 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
5528 6123(using)s 6688(the)s 7029(user')s 13(s)k 7630(home)s
5529 8210(directory)s 0 7782(\(and)m 468(probably)s 1357(creating)s 2164(a)s
5530 2314(separate)s 3137(subdirectory)s 4370(of)s 4626(it)s 4802(as)s
5531 5037(a)s 5187(dot\207le)s 5839(to)s 6062(contain)s 6808(man)s 3(y)k
5532 7375(subsystems')s 8561(state\))s 0 7542(has)m 370(fe)s 6(wer)k
5533 967(implications)s 2199(for)s 2537(the)s 2885(rest)s 3289(of)s
5534 3560(the)s 3908(system)s 4632(and)s 5036(mak)s 2(es)k
5535 5696(it)s 5888(entirely)s 6671(clear)s 7194(where)s 7834(the)s
5536 8182(security)s 0 7302(boundaries)m 1101(lie.)s 9066 670 0 670 240 240 60 0 6278 LoutGr2
5537 newpath 0 ysize 0.3 ft sub moveto
5538 xsize 0 rlineto
5539 0 0.1 ft rlineto
5540 xsize neg 0 rlineto
5541 closepath fill
5542 grestore
5543 320 fnt84 0 66(6.4.)m
5544 gsave
5545 628 139 translate
5546 0.6953 1.0000 scale
5547 320 fnt31 0 -70(userv)m 
5548 grestore
5549 1375(is)s 1659(not)s 2182(a)s
5550 2419(r)s 5(eplacement)k 4178(f)s 8(or)k gsave
5551 4655 139 translate
5552 0.6953 1.0000 scale
5553 320 fnt31
5554 0 -70(really)m 
5555 grestore
5556 5536(and)s gsave
5557 6123 139 translate
5558 0.6953 1.0000 scale
5559 320 fnt31 0 -70(sudo)m 
5560 grestore
5561
5562 grestore
5563 gsave
5564 0 5870 translate
5565 0.6953 1.0000 scale
5566 240 fnt31
5567 0 -52(userv)m 
5568 grestore
5569 560 5816(is)m 770(not)s 1136(intended)s 2018(as)s
5570 2268(a)s 2434(general-purpose)s 4030(system)s 4754(administration)s 6191(tool)s
5571 6618(with)s 7100(which)s 7742(system)s 0 5576(administrators)m 1398(can)s
5572 1767(e)s 3(x)k 3(ecute)k 2528(pri)s 6(vile)k 3(ged)k
5573 3526(programs)s 4461(when)s 5017(the)s 3(y)k 5461(need)s
5574 5951(to.)s 6222(It)s 6407(is)s 6598(unsuitable)s 7617(for)s
5575 7936(this)s 8312(purpose)s 0 5336(precisely)m 916(because)s 1729(it)s
5576 1921(enforces)s 2781(a)s 2947(strong)s 3598(separation)s 4637(between)s
5577 5491(the)s 5839(calling)s 6542(and)s 6946(the)s 7294(called)s
5578 7922(program,)s 0 5096(which)m 642(is)s 852(undesirable)s 2010(in)s
5579 2253(this)s 2649(conte)s 3(xt.)k 0 4688(Its)m 289(f)s 2(acilities)k
5580 1158(for)s 1496(restricting)s 2516(acti)s 6(vities)k 3422(to)s
5581 3661(running)s 4459(certain)s 5165(programs)s 6119(may)s 6585(at)s
5582 6817(\207rst)s 7248(glance)s 7928(seem)s 8479(to)s 0 4420(pro)m 3(vide)k
5583 769(similar)s 1476(functionality)s 2736(to)s gsave
5584 2960 4474 translate
5585 0.6953 1.0000 scale
5586 240 fnt31 0 -52(sudo)m
5587
5588 grestore
5589 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
5590 4454(the)s 4787(separation)s 5811(mentioned)s 6864(abo)s 3(v)k 3(e)k
5591 7471(is)s 7666(a)s 7817(problem)s 8659(here)s 0 4180(too,)m
5592 413(particular)s 1387(for)s 1725(interaction)s 2803(-)s 2931(it)s
5593 3123(can)s 3512(be)s 3794(hard)s 4277(for)s 4615(a)s
5594 gsave
5595 4781 4234 translate
5596 0.6953 1.0000 scale
5597 240 fnt31 0 -52(userv)m 
5598 grestore
5599 5341(service)s 6073(program)s 6943(to)s
5600 7182(interact)s 7957(with)s 8439(its)s 8714(real)s 0 3940(caller)m
5601 589(or)s 848(the)s 1196(user)s 1654(in)s 1897(question.)s
5602 9066 670 0 670 240 240 60 0 2916 LoutGr2
5603 newpath 0 ysize 0.3 ft sub moveto
5604 xsize 0 rlineto
5605 0 0.1 ft rlineto
5606 xsize neg 0 rlineto
5607 closepath fill
5608 grestore
5609 320 fnt84 0 66(6.5.)m 628(Don't)s 1488(gi)s 3(v)k 3(e)k
5610 2107(access)s 3013(to)s 3352(general-pur)s 3(pose)k 5640(utilities)s
5611
5612 grestore
5613 0 2454(Do)m 346(not)s 712(specify)s 1456(general)s 2214(purpose)s
5614 3028(programs)s 3982(lik)s 2(e)k gsave
5615 4394 2508 translate
5616 0.6953 1.0000 scale
5617 240 fnt31 0 -52(mv)m
5618
5619 grestore
5620 4654(or)s gsave
5621 4913 2508 translate
5622 0.6953 1.0000 scale
5623 240 fnt31 0 -52(cat)m 
5624 grestore
5625 5273(in)s gsave
5626 5516 2508 translate
5627 0.6953 1.0000 scale
5628 240 fnt31
5629 0 -52(execute\211)m 
5630 grestore
5631 6377(directi)s 6(v)k 3(es)k 7347(without)s
5632 8138(careful)s 0 2214(thought)m 792(about)s 1384(their)s 1881(ar)s 4(guments,)k
5633 2980(and)s 3384(certainly)s 4273(not)s 4639(if)s gsave
5634 4856 2268 translate
5635 0.6953 1.0000 scale
5636 240 fnt31
5637 0 -52(no\211suppress\211args)m 
5638 grestore
5639 6518(is)s 6728(speci\207ed.)s 7682(If)s 7912(you)s
5640 8327(do)s 8620(so)s 8886(it)s 0 1974(will)m 426(gi)s 6(v)k 3(e)k
5641 885(the)s 1233(caller)s 1822(much)s 2411(more)s 2958(pri)s 6(vilige)k
5642 3817(than)s 4286(you)s 4701(probably)s 5606(intend.)s 0 1566(It)m
5643 205(is)s 415(a)s 581(shame)s 1248(that)s 1666(I)s
5644 1801(ha)s 4(v)k 3(e)k 2302(to)s 2541(say)s
5645 2914(this)s 3310(here,)s 3828(b)s 4(ut)k 4190(ine)s 3(xperienced)k
5646 5586(administrators)s 7003(ha)s 4(v)k 3(e)k 7504(made)s
5647 8078(similar)s 1134 0 0 0 240 240 60 0 1177 LoutGr2
5648 0 0 moveto xsize 0 lineto stroke
5649 grestore
5650
5651 grestore
5652 122 fnt82 0 982(1)m gsave
5653 58 955 translate
5654 0.6953 1.0000 scale
5655 192 fnt31 0 -42(sudo)m
5656
5657 grestore
5658 192 fnt82 425 912(is)m 593(a)s 726(program)s 1422(which)s
5659 1936(allo)s 4(ws)k 2472(users)s 2905(to)s 3097(e)s 2(x)k 2(ecute)k
5660 3723(certain)s 4289(programs)s 5052(as)s 5252(root,)s 5646(according)s
5661 6444(to)s 6636(con\207guration)s 7703(\207les)s 8062(speci\207ed)s 8789(by)s
5662 0 682(the)m 279(system)s 858(administrator)s 10(.)k 240 fnt82
5663 0 52(User)m 511(service)s 1243(daemon)s 2058(and)s 2462(client)s
5664 3052(speci\207cation)s 8611(1.0.1)s 
5665 grestore
5666
5667 grestore
5668
5669 pgsave restore
5670 showpage
5671
5672 %%Page: 22 22
5673 %%BeginPageSetup
5674 %%PageResources: font Times-Roman
5675 %%+ font Courier-Bold
5676 /pgsave save def
5677 0.0500 dup scale 10 setlinewidth
5678 %%EndPageSetup
5679 gsave
5680 0 0 translate
5681 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
5682 gsave
5683 LoutPageSet
5684 grestore
5685 gsave
5686 0 16840 translate
5687 0.0000 rotate
5688
5689 grestore
5690
5691 grestore
5692 gsave
5693 0 16840 translate
5694 0.0000 rotate
5695 gsave
5696 1417 -15423 translate
5697 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
5698 gsave
5699 0 LoutMargSet
5700 grestore
5701 0 13844(??)m 0 13255(mistak)m 2(es)k 885(with)s 1367(programs)s
5702 2321(lik)s 2(e)k gsave
5703 2733 13309 translate
5704 0.6953 1.0000 scale
5705 240 fnt31 0 -52(sudo)m 
5706 grestore
5707 3133(.)s
5708
5709 grestore
5710
5711 grestore
5712
5713 pgsave restore
5714 showpage
5715
5716 %%Trailer
5717 %%DocumentNeededResources: font Courier-Bold
5718 %%+ font Times-Roman
5719 %%+ font Times-Italic
5720 %%+ font Times-Bold
5721 %%DocumentSuppliedResources: procset LoutStartUp
5722 %%+  procset LoutMarginNotes
5723 %%+ encoding vec2
5724 %%Pages: 22
5725 %%EOF