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