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