2 %%Creator: Basser Lout Version 3.10 (November 1996)
3 %%CreationDate: Sun Jun 20 19:14:05 1999
5 %%DocumentNeededResources: (atend)
6 %%DocumentMedia: Plain 595 842 0 white ()
7 %%DocumentSuppliedResources: (atend)
9 %%BoundingBox: 0 0 595 842
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
38 /LoutGr2 { gsave translate LoutGraphic gsave } def
41 { findfont exch scalefont setfont
45 { findfont dup length dict begin
46 {1 index /FID ne {def} {pop pop} ifelse} forall
48 currentdict end definefont pop
54 /LoutEPSFState save def
55 /dict_count countdictstack def
56 /op_count count 1 sub def
59 0 setgray 0 setlinecap
60 1 setlinewidth 0 setlinejoin
61 10 setmiterlimit [] 0 setdash newpath
65 { false setstrokeadjust false setoverprint
71 count op_count sub { pop } repeat
72 countdictstack dict_count sub { end } repeat
77 %%BeginResource encoding 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
114 %%BeginResource: procset LoutMarginNotes
115 % @PrependGraphic file /usr/lib/lout/include/dl.lpg
117 % path for @FullWidthRule symbol
119 { 0 0 moveto xsize 0 lineto
122 % path for @Box symbol
124 { 0 0 moveto xsize 0 lineto
125 xsize ysize lineto 0 ysize lineto
129 % path for @CurveBox symbol
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
139 % path for @ShadowBox symbol
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
149 % set up dictionary containing margin note data: parity LoutMargSet -
151 { /LoutMargDict 12 dict def
154 /matr matrix currentmatrix 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
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
168 % y coordinate of top of note, in margin coords, before vertical adjust
169 0 ysize transform matr itransform exch pop
171 % decide whether left or right margin based on type and parity
172 exch [ 0 1 parity 1 parity sub ] exch get 0 eq
174 % left margin: adjust top of note downwards if overlaps previous note
177 % bottom of note is new lefty position and also translate position
178 ysize sub dup /lefty exch def
180 % want right edge of note at coordinate zero
184 % right margin: adjust top of note downwards if overlaps previous note
187 % bottom of note is new righty position and also translate position
188 ysize sub dup /righty exch def
190 % want left edge of note at coordinate rightx
194 % stack now contains coord of bottom left corner in margin coordinates
195 matr setmatrix translate
199 % create LoutPageDict with left, right, foot, top for @Place symbol users
202 /LoutPageDict 5 dict def
204 /matr matrix currentmatrix def
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
234 %%PageResources: font Times-Roman
236 %%+ font Courier-Bold
237 %%+ font Times-Italic
239 0.0500 dup scale 10 setlinewidth
244 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
259 1417 -15423 translate
260 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
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
269 200 fnt31 1031 -43(<ian@davenant.greenend.org.uk>)m
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
279 320 fnt84 0 5(0.1.)m 628(Abstract)s
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
294 0 66(0.2.)m 628(Copyright)s 2109(Notice)s
299 240 fnt31 0 -52(userv)m
302 560 9401(is)m 770(Cop)s 2(yright)k 1799(1996-1999)s 2889(Ian)s
303 3251(Jackson.)s gsave
306 240 fnt31 0 -52(userv)m
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
336 240 fnt31 0 -52(userv)m
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
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
377 240 fnt31 0 -52(userv)m
379 5520(-using)s 6171(f)s 2(acilities)k
380 8835(19)s 0 1468(6.4.)m gsave
383 240 fnt31 0 -52(userv)m
386 1970(not)s 2336(a)s 2502(replacement)s 3729(for)s gsave
395 240 fnt31 0 -52(sudo)m
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
411 %%PageResources: font Times-Roman
413 %%+ font Courier-Bold
415 0.0500 dup scale 10 setlinewidth
419 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
434 1417 -15423 translate
435 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
439 240 fnt84 0 13842(2)m gsave
441 240 fnt82 9066 622 0 622 240 240 60 LoutGraphic
443 newpath 0 ysize 0.3 ft sub moveto
449 340 fnt84 0 4(1.)m 412(Intr)s 6(oduction)k
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
466 240 fnt31 0 -52(AF_UNIX)m
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
497 %%PageResources: font Times-Roman
499 %%+ font Courier-Bold
500 %%+ font Times-Italic
502 0.0500 dup scale 10 setlinewidth
506 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
521 1417 -15423 translate
522 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
526 240 fnt84 8953 13842(3)m gsave
528 240 fnt82 9066 688 0 688 240 240 60 LoutGraphic
530 newpath 0 ysize 0.3 ft sub moveto
536 340 fnt84 0 70(2.)m 412(Client)s
537 1382(pr)s 6(ogram)k 2737(usage)s
542 240 fnt31 0 -52(userv)m
546 240 fnt83 0 -52(options)m
548 2003([\211\211])s gsave
551 240 fnt83 0 -52(service\211user)m
557 240 fnt83 0 -52(service\211name)m
562 240 fnt83 0 -52(ar)m 8(gument)k
565 8181(\202])s 0 -305(userv)m gsave
568 240 fnt83 0 -52(options)m
570 2003(\211B|\211\211builtin)s
571 3875([\211\211])s gsave
574 240 fnt83 0 -52(b)m 4(uiltin\211service)k
580 240 fnt83 0 -52(info\211ar)m 8(gument)k
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
592 240 fnt31 0 -52(\211)m
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
610 320 fnt84 0 66(2.1.)m
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
622 240 fnt31 0 -52(\211B)m
627 240 fnt31 0 -52(\211\211builtin)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
637 240 fnt31 0 -52(\211\211override)m
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
645 240 fnt31 0 -52(execute\211builtin)m
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
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
680 0 -52(\211\211override)m
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
698 240 fnt31 0 -52(execute\211builtin)m
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
708 240 fnt31 0 -52(\211f)m gsave
717 240 fnt83 0 -52(modi\207er)m 2(s)k
723 240 fnt83 0 -52(\207lename)m
730 240 fnt31 0 -52(\211\211file)m gsave
739 240 fnt83 0 -52(modi\207er)m 2(s)k
745 240 fnt83 0 -52(\207lename)m
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
762 240 fnt31 0 -52(cat)m
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
770 240 fnt31 0 -52(cat)m
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
786 240 fnt31 0 -52(stdin)m
792 240 fnt31 0 -52(stdout)m
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
820 240 fnt31 0 -52(read)m
825 240 fnt31 0 -52(O_RDONLY)m
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
833 240 fnt31 0 -52(write)m
836 7786(things)s 8422(that)s 960 1541(imply)m 1572(it.)s gsave
842 1134 0 0 0 240 240 60 0 948 LoutGr2
843 0 0 moveto xsize 0 lineto stroke
847 122 fnt82 0 753(1)m gsave
850 192 fnt31 0 -42(userv)m
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
866 %%PageResources: font Times-Roman
868 %%+ font Courier-Bold
869 %%+ font Times-Italic
871 0.0500 dup scale 10 setlinewidth
875 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
890 1417 -15423 translate
891 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
895 240 fnt84 0 13842(4)m gsave
898 240 fnt31 0 -52(O_WRONLY)m
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
907 240 fnt31 0 -52(truncate)m
918 240 fnt31 0 -52(write)m
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
931 240 fnt31 0 -52(overwrite)m
933 960 12534(Equi)m 6(v)k 6(alent)k
937 240 fnt31 0 -52(write,create,truncate)m
948 240 fnt31 0 -52(creat)m
953 240 fnt31 0 -52(O_CREAT)m
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
960 240 fnt31 0 -52(write)m
966 240 fnt31 0 -52(exclusive)m
971 240 fnt31 0 -52(excl)m
977 240 fnt31 0 -52(O_EXCL)m
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
984 240 fnt31 0 -52(write)m
992 6837(.)s 6941(May)s 7434(not)s 7800(be)s
993 8082(used)s 8579(with)s gsave
996 240 fnt31 0 -52(truncate)m
1002 240 fnt31 0 -52(truncate)m
1007 240 fnt31 0 -52(trunc)m
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
1022 5543(.)s 5647(May)s 6140(not)s 6506(be)s
1023 6788(used)s 7285(with)s gsave
1024 7767 10188 translate
1026 240 fnt31 0 -52(exclusive)m
1032 240 fnt31 0 -52(append)m
1037 240 fnt31 0 -52(O_APPEND)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
1044 240 fnt31 0 -52(write)m
1047 6360(\(b)s 4(ut)k 6801(not)s gsave
1050 240 fnt31 0 -52(create)m
1056 240 fnt31 0 -52(sync)m
1061 240 fnt31 0 -52(O_SYNC)m
1064 1560 9174(:)m 1666(Do)s 2012(writes)s 2646(synchronously)s 15(.)k
1065 4132(Implies)s gsave
1068 240 fnt31 0 -52(write)m
1079 240 fnt31 0 -52(nowait)m
1084 240 fnt31 0 -52(close)m
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
1095 240 fnt31 0 -52(fd)m
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
1110 240 fnt31 0 -52(write)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
1119 240 fnt31 0 -52(stdin)m
1125 240 fnt31 0 -52(stdout)m
1130 240 fnt31 0 -52(stderr)m
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
1139 240 fnt31 0 -52(read)m
1145 240 fnt31 0 -52(write)m
1147 4401(are)s 4738(used)s
1148 5226(it)s 5408(is)s 5608(as)s 5848(if)s gsave
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
1161 240 fnt31 0 -52(stdin)m
1164 1782(is)s 1992(as)s 2242(if)s gsave
1167 240 fnt31 0 -52(overwrite)m
1170 3420(had)s 3824(been)s 4333(speci\207ed)s 5241(\(or)s gsave
1176 6139(if)s 6356(only)s gsave
1179 240 fnt31 0 -52(fd)m
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
1186 240 fnt31 0 -52(O_NOCTTY)m
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
1201 240 fnt31 0 -52(wait)m
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
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
1236 240 fnt31 0 -52(cat)m
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
1244 240 fnt31 0 -52(SIGPIPE)m
1249 240 fnt31 0 -52(EPIPE)m
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
1260 240 fnt31 0 -52(nowait)m
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
1278 240 fnt31 0 -52(\211\211signals)m
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
1290 240 fnt31 0 -52(wait)m
1292 480 1707(for)m 818(writing)s 1561(\207le)s
1293 1922(descriptors)s 3021(and)s gsave
1296 240 fnt31 0 -52(close)m
1299 4323(reading)s 5093(ones.)s gsave
1302 240 fnt31 0 -52(\211w)m gsave
1311 240 fnt83 0 -52(action)m
1319 0 -52(\211\211fdwait)m gsave
1322 240 fnt83 0 -52(fd)m
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
1347 %%PageResources: font Times-Roman
1349 %%+ font Courier-Bold
1350 %%+ font Times-Italic
1352 0.0500 dup scale 10 setlinewidth
1356 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
1371 1417 -15423 translate
1372 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
1376 240 fnt84 8953 13844(5)m gsave
1379 240 fnt31 0 -52(wait)m
1385 240 fnt31 0 -52(nowait)m
1388 1886 13308 translate
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
1401 240 fnt31 0 -52(\211\211file)m
1405 7491 13068 translate
1407 240 fnt31 0 -52(\211\211fdwait)m
1409 8352(option)s 480 12774(-)m
1410 608(e)s 6(v)k 3(en)k 1108(by)s 1402(a)s
1412 1568 12828 translate
1414 240 fnt31 0 -52(\211\211file)m
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
1423 240 fnt31 0 -52(\211D)m
1427 240 fnt83 0 -52(name)m
1432 240 fnt83 0 -52(value)m
1440 240 fnt31 0 -52(\211\211defvar)m gsave
1443 240 fnt83 0 -52(name)m
1449 240 fnt83 0 -52(value)m
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
1463 4998 11484 translate
1465 240 fnt31 0 -52(u\211)m gsave
1468 240 fnt83 0 -52(name)m
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
1477 2402 11244 translate
1479 240 fnt31 0 -52(USERV_U_)m gsave
1482 240 fnt83 0 -52(name)m
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
1500 240 fnt31 0 -52(\211t)m gsave
1503 240 fnt83 0 -52(seconds)m
1511 0 -52(\211\211timeout)m gsave
1514 240 fnt83 0 -52(seconds)m
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
1532 240 fnt31 0 -52(\211S)m
1535 380 9012(method)m gsave
1538 240 fnt31 0 -52(\211\211signals)m
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
1549 240 fnt31 0 -52(_exit)m
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
1560 240 fnt31 0 -52(wait)m
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
1578 240 fnt31 0 -52(number)m
1583 240 fnt31 0 -52(number\211nocore)m
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
1593 240 fnt31 0 -52(number)m
1595 3249(is)s 3459(used)s
1596 3956(rather)s 4572(than)s gsave
1599 240 fnt31 0 -52(number\211nocore)m
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
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
1615 240 fnt31 0 -52(highbit)m
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
1627 240 fnt31 0 -52(stdout)m
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
1667 240 fnt31 0 -52(\211H)m
1673 0 -52(\211\211hidecwd)m
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
1691 %%PageResources: font Times-Roman
1693 %%+ font Courier-Bold
1694 %%+ font Times-Italic
1696 0.0500 dup scale 10 setlinewidth
1700 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
1715 1417 -15423 translate
1716 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
1720 240 fnt84 0 13842(6)m gsave
1723 240 fnt31 0 -52(\211P)m
1729 0 -52(\211\211sigpipe)m
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
1734 4665 12852 translate
1736 240 fnt31 0 -52(SIGPIPE)m
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
1753 8830(is)s 480 12078(in)m 723(use.)s gsave
1762 240 fnt31 0 -52(\211\211help)m
1767 240 fnt31 0 -52(\211\211copyright)m
1773 240 fnt31 0 -52(\211h)m
1775 740 11014(or)m gsave
1778 240 fnt31 0 -52(\211\211help)m
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
1785 240 fnt31 0 -52(\211\211copyright)m
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
1796 320 fnt84 0 66(2.2.)m
1797 628(Security-o)s 3(v)k 3(erriding)k 3373(options)s
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
1813 240 fnt31 0 -52(\211\211override)m gsave
1816 240 fnt83 0 -52(con\207gur)m 3(ation\211data)k
1824 240 fnt31 0 -52(\211\211override\211file)m gsave
1827 240 fnt83 0 -52(\207lename)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
1855 240 fnt31 0 -52(\211\211spoof\211user)m
1859 240 fnt83 0 -52(user)m
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
1876 240 fnt31 0 -52(\211\211spoof\211user)m
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
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
1902 %%PageResources: font Times-Roman
1904 %%+ font Courier-Bold
1906 0.0500 dup scale 10 setlinewidth
1910 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
1925 1417 -15423 translate
1926 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
1930 240 fnt84 8951 13844(7)m gsave
1932 240 fnt82 9066 688 0 688 240 240 60 LoutGraphic
1934 newpath 0 ysize 0.3 ft sub moveto
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
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
1970 1773 10306 translate
1972 240 fnt31 0 -52(init)m
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
1979 2819 10066 translate
1981 240 fnt31 0 -52(SIGPIPE)m
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
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
1999 320 fnt84 0 66(3.1.)m 628(File)s
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
2011 3219(.)s 3322(The)s gsave
2014 240 fnt31 0 -52(userv)m
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
2030 240 fnt31 0 -52(SIGPIPE)m
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
2038 240 fnt31 0 -52(EOF)m
2040 1908(if)s 2125(the)s 2473(client-side)s
2041 3523(\207le)s 3884(descriptor)s 4899(gets)s gsave
2044 240 fnt31 0 -52(EOF)m
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
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
2084 240 fnt31 0 -52(SIGPIPE)m
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
2100 240 fnt31 0 -52(SIGPIPE)m
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
2110 240 fnt31 0 -52(disconnect\211hup)m
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
2132 240 fnt31 0 -52(wait)m
2138 240 fnt31 0 -52(nowait)m
2143 240 fnt31 0 -52(close)m
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
2161 %%PageResources: font Times-Roman
2163 %%+ font Courier-Bold
2164 %%+ font Times-Italic
2166 0.0500 dup scale 10 setlinewidth
2170 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
2185 1417 -15423 translate
2186 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
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
2200 240 fnt31 0 -52(SIGHUP)m
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
2212 320 fnt84 0 5(3.2.)m
2213 628(En)s 12(vir)k 5(onment)k
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
2221 240 fnt31 0 -52(USERV_USER)m
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
2228 240 fnt31 0 -52(LOGNAME)m
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
2236 240 fnt31 0 -52(USER)m
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
2252 240 fnt31 0 -52(LOGNAME)m
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
2272 480 9186(The)m 908(uid)s 1272(of)s 1543(the)s
2273 1891(calling)s 2594(process.)s gsave
2276 240 fnt31 0 -52(USERV_GID)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
2287 240 fnt31 0 -52(USERV_GROUP)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
2296 240 fnt31 0 -52(USERV_GID)m
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
2307 240 fnt31 0 -52(USERV_CWD)m
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
2317 240 fnt31 0 -52(\211\211hidecwd)m
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
2327 240 fnt31 0 -52(USERV_SERVICE)m
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
2334 240 fnt31 0 -52(USERV_U_)m gsave
2337 240 fnt83 0 -52(name)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
2348 240 fnt31 0 -52(HOME)m
2353 240 fnt31 0 -52(PATH)m
2359 240 fnt31 0 -52(SHELL)m
2370 240 fnt31 0 -52(USER)m
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
2386 %%PageResources: font Times-Roman
2388 %%+ font Times-Italic
2389 %%+ font Courier-Bold
2391 0.0500 dup scale 10 setlinewidth
2395 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
2410 1417 -15423 translate
2411 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
2415 240 fnt84 8952 13842(9)m gsave
2417 240 fnt82 9066 689 0 689 240 240 60 LoutGraphic
2419 newpath 0 ysize 0.3 ft sub moveto
2425 340 fnt84 0 70(4.)m 412(Ser)s 3(vice-side)k
2426 2219(con\207guration)s
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
2460 240 fnt31 0 -52(/etc/userv/system.default)m
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
2469 240 fnt31 0 -52(~/.userv/rc)m
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
2477 240 fnt31 0 -52(/etc/shells)m
2479 1101 9359(.)m 1205(Finally)s 1936(it)s
2480 2128(will)s 2554(read)s gsave
2483 240 fnt31 0 -52(/etc/userv/system.override)m
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
2499 320 fnt84 0 66(4.1.)m 628(Con\207guration)s 2618(\207le)s 3100(syntax)s
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
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
2528 480 5785(ne)m 6(wline)k gsave
2531 240 fnt31 0 -52(\\t)m
2534 480 5305(tab)m gsave
2537 240 fnt31 0 -52(\\r)m
2539 480 4825(carriage)m 1304(return)s
2543 240 fnt31 0 -52(\\)m gsave
2546 240 fnt83 0 -52(OOO)m
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
2555 240 fnt31 0 -52(\\x)m gsave
2558 240 fnt83 0 -52(XX)m
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
2571 240 fnt83 0 -52(punctuation)m
2575 240 fnt82 480 3385(literal)m
2576 1090(punctuation)s 2277(character)s 3211(\(e)s 3(g)k gsave
2585 240 fnt31 0 -52(\\")m
2591 240 fnt31 0 -52(\\)m gsave
2594 240 fnt83 0 -52(ne)m 3(wline)k
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
2611 240 fnt31 0 -52(~/)m
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
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
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
2638 %%PageResources: font Times-Roman
2640 %%+ font Courier-Bold
2641 %%+ font Times-Italic
2643 0.0500 dup scale 10 setlinewidth
2647 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
2662 1417 -15423 translate
2663 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
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
2674 240 fnt31 0 -52(cd)m gsave
2677 240 fnt83 0 -52(pathname)m
2682 1268(directory)s 2184(in)s 2427(the)s 2775(service)s 3507(program.)s
2684 4421 12099 translate
2686 240 fnt31 0 -52(cd)m
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
2692 2666 11859 translate
2694 240 fnt31 0 -52(cd)m
2696 2926(should)s 3623(not)s
2697 3989(be)s 4271(used)s 4768(between)s gsave
2698 5622 11859 translate
2700 240 fnt31 0 -52(execute\211from\211directory)m
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
2714 240 fnt31 0 -52(eof)m
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
2723 240 fnt31 0 -52(if)m
2727 2612 10265 translate
2729 240 fnt31 0 -52(catch\211quit)m
2732 3932 10265 translate
2735 0 -52(errors\211push)m
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
2745 240 fnt31 0 -52(eof)m
2747 840 9731(to)m 1079(be)s 1361(read.)s
2751 240 fnt31 0 -52(quit)m
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
2759 240 fnt31 0 -52(quit)m
2761 1211(is)s 1421(subject)s
2762 2158(to)s 2397(the)s gsave
2765 240 fnt31 0 -52(catch\211quit)m
2768 4538(construct.)s gsave
2771 240 fnt31 0 -52(include)m gsave
2774 240 fnt83 0 -52(\207lename)m
2782 240 fnt31 0 -52(include\211ifexist)m gsave
2785 240 fnt83 0 -52(\207lename)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
2800 240 fnt31 0 -52(include\211ifexist)m
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
2809 240 fnt31 0 -52(include\211lookup)m gsave
2813 0 -52(par)m 3(ameter)k
2818 240 fnt83 0 -52(dir)m 8(ectory)k
2826 240 fnt31 0 -52(include\211lookup\211all)m gsave
2829 240 fnt83 0 -52(par)m 3(ameter)k
2835 240 fnt83 0 -52(dir)m 8(ectory)k
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
2847 240 fnt31 0 -52(if)m
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
2857 240 fnt31 0 -52(include\211lookup)m
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
2865 240 fnt31 0 -52(include\211lookup\211all)m
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
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
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
2894 240 fnt31 0 -52(:default)m
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
2902 240 fnt31 0 -52(:default)m
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
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
2931 240 fnt31 0 -52(:\211)m
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
2939 240 fnt31 0 -52(:empty)m
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
2948 0 -52(include\211directory)m gsave
2951 240 fnt83 0 -52(dir)m 8(ectory)k
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
2976 240 fnt31 0 -52(error)m gsave
2979 240 fnt83 0 -52(te)m 4(xt)k
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
3006 %%PageResources: font Times-Roman
3008 %%+ font Courier-Bold
3009 %%+ font Times-Italic
3011 0.0500 dup scale 10 setlinewidth
3015 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
3030 1417 -15423 translate
3031 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
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
3048 240 fnt31 0 -52(message)m gsave
3051 240 fnt83 0 -52(te)m 4(xt)k
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
3074 240 fnt31 0 -52(user\211rcfile)m gsave
3077 240 fnt83 0 -52(\207lename)m
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
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
3096 240 fnt31 0 -52(system.default)m
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
3106 240 fnt31 0 -52(system.override)m
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
3116 0 -52(errors\211to\211stderr)m
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
3124 240 fnt31 0 -52(errors\211to\211file)m
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
3136 240 fnt31 0 -52(errors\211to\211syslog)m
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
3145 240 fnt31 0 -52(syslog)m
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
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
3159 240 fnt31 0 -52(error)m
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
3175 240 fnt31 0 -52(if)m gsave
3178 240 fnt83 0 -52(condition)m
3189 240 fnt83 0 -52(condition)m
3196 240 fnt31 0 -52(else)m
3202 240 fnt31 0 -52(fi)m
3204 480 3452(Lines)m 1062(follo)s 6(wing)k
3208 240 fnt31 0 -52(if)m
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
3227 240 fnt31 0 -52(glob)m
3231 240 fnt83 0 -52(par)m 3(ameter)k
3236 240 fnt83 0 -52(glob\211pattern)m
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
3250 240 fnt31 0 -52(range)m gsave
3253 240 fnt83 0 -52(par)m 3(ameter)k
3259 240 fnt83 0 -52(min)m
3264 240 fnt83 0 -52(max)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
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
3285 240 fnt31 0 -52(grep)m gsave
3288 240 fnt83 0 -52(par)m 3(ameter)k
3294 240 fnt83 0 -52(\207lename)m
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
3313 %%PageResources: font Times-Roman
3315 %%+ font Courier-Bold
3316 %%+ font Times-Italic
3318 0.0500 dup scale 10 setlinewidth
3322 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
3337 1417 -15423 translate
3338 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
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
3351 240 fnt31 0 -52(!)m gsave
3354 240 fnt83 0 -52(condition)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
3367 2547 12347 translate
3372 1440 11867 translate
3378 240 fnt83 0 -52(condition)m
3389 240 fnt83 0 -52(condition)m
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
3397 5548 10655 translate
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
3413 240 fnt31 0 -52(service)m
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
3420 240 fnt31 0 -52(calling\211user)m
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
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
3436 240 fnt31 0 -52(calling\211group)m
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
3450 240 fnt31 0 -52(calling\211user\211shell)m
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
3459 240 fnt31 0 -52(USERV_USER)m
3462 3432(,)s 3539(abo)s 3(v)k 3(e\).)k gsave
3466 0 -52(service\211user)m
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
3475 240 fnt31 0 -52(service\211group)m
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
3484 240 fnt31 0 -52(service\211user\211shell)m
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
3495 240 fnt83 0 -52(name)m
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
3506 0 -52(\211\211defvar)m
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
3518 240 fnt31 0 -52(include\211lookup)m
3520 2421 3853(on)m 2718(it)s
3521 2910(will)s 3336(read)s 3805(the)s gsave
3524 240 fnt31 0 -52(:none)m
3527 4713(\207le,)s 5125(or)s gsave
3530 240 fnt31 0 -52(:default)m
3536 240 fnt31 0 -52(:none)m
3538 7022(is)s 7232(not)s 7598(found.)s
3542 240 fnt31 0 -52(errors\211push)m
3544 240 fnt83 1281 3432(\207lename)m gsave
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
3558 0 -52(errors\211push)m
3563 240 fnt31 0 -52(srorre)m
3569 240 fnt31 0 -52(catch\211quit)m
3574 240 fnt31 0 -52(hctac)m
3577 935(use)s 1301(of)s gsave
3580 240 fnt31 0 -52(quit)m
3586 240 fnt31 0 -52(catch\211quit)m
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
3593 240 fnt31 0 -52(hctac)m
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
3600 240 fnt31 0 -52(catch\211quit)m
3602 5346(will)s 5772(be)s 6054(considered)s
3603 7148(\207nished)s 7964(if)s 8181(a)s gsave
3606 240 fnt31 0 -52(quit)m
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
3613 240 fnt31 0 -52(catch\211quit)m
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
3621 240 fnt31 0 -52(reset)m
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
3628 240 fnt31 0 -52(hctac)m
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
3637 240 fnt31 0 -52(catch\211quit)m
3639 5765(,)s 5872(while)s
3640 6459(looking)s 7244(for)s 7582(the)s gsave
3643 240 fnt31 0 -52(hctac)m
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
3657 %%PageResources: font Times-Roman
3659 %%+ font Courier-Bold
3660 %%+ font Times-Italic
3662 0.0500 dup scale 10 setlinewidth
3666 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
3681 1417 -15423 translate
3682 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
3686 240 fnt84 8833 13842(13)m 240 fnt82 480 13251(an)m 763(error)s
3688 1545 13305 translate
3690 240 fnt31 0 -52(quit)m
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
3710 240 fnt31 0 -52(reject)m
3712 480 10884(Reject)m 1150(the)s 1498(request.)s
3714 2292 10938 translate
3716 240 fnt31 0 -52(execute)m
3719 3099 10938 translate
3721 240 fnt31 0 -52(execute\211from\211directory)m
3725 5765 10938 translate
3727 240 fnt31 0 -52(execute\211from\211path)m
3729 7527(will)s 7953(change)s
3730 480 10644(this)m 876(setting.)s gsave
3733 240 fnt31 0 -52(execute)m gsave
3737 0 -52(pr)m 10(o)k 2(gr)k 3(am)k
3743 240 fnt83 0 -52(ar)m 8(gument)k
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
3756 0 -52(no\211suppress\211args)m
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
3771 240 fnt31 0 -52(execute\211from\211directory)m gsave
3774 240 fnt83 0 -52(pathname)m
3780 240 fnt83 0 -52(ar)m 8(gument)k
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
3822 240 fnt31 0 -52(execute\211from\211path)m
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
3830 240 fnt31 0 -52(PATH)m
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
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
3847 240 fnt31 0 -52(\211\211override)m
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
3859 0 -52(execute\211builtin)m gsave
3862 240 fnt83 0 -52(service\211name)m
3867 240 fnt83 0 -52(service\211ar)m 8(guments)k
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
3888 240 fnt31 0 -52(execute)m
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
3897 240 fnt31 0 -52(environment)m
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
3907 240 fnt31 0 -52(parameter)m gsave
3910 240 fnt83 0 -52(par)m 3(ameter)k
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
3920 240 fnt31 0 -52(version)m
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
3928 240 fnt31 0 -52(reset)m
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
3937 240 fnt31 0 -52(reset)m
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
3947 0 -52(catch\211quit)m
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
3960 %%PageResources: font Times-Roman
3962 %%+ font Courier-Bold
3963 %%+ font Times-Italic
3965 0.0500 dup scale 10 setlinewidth
3969 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
3984 1417 -15423 translate
3985 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
3989 240 fnt84 0 13842(14)m gsave
3992 240 fnt31 0 -52(toplevel)m
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
4003 240 fnt31 0 -52(override)m
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
4014 240 fnt31 0 -52(help)m
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
4027 240 fnt31 0 -52(set\211environment)m
4032 240 fnt31 0 -52(no\211set\211environment)m
4036 1024 10313 translate
4038 240 fnt31 0 -52(/etc/environment)m
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
4052 0 -52(.../program)m 1728(arg)s 2304(arg)s 2880(arg)s 3456(\202)s
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
4066 0 -52(no\211set\211environment)m
4068 2342 8864(cancels)m 3096(the)s 3444(ef)s 6(fect)k
4072 240 fnt31 0 -52(set\211environment)m
4078 0 -52(no\211suppress\211args)m
4083 240 fnt31 0 -52(suppress\211args)m
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
4093 240 fnt31 0 -52(execute)m
4098 240 fnt31 0 -52(execute\211from\211directory)m
4104 240 fnt31 0 -52(execute\211from\211path)m
4106 6110(directi)s 6(v)k 3(e.)k
4110 240 fnt31 0 -52(suppress\211args)m
4112 8396(undoes)s 480 7560(the)m 828(ef)s 6(fect)k
4116 240 fnt31 0 -52(no\211suppress\211args)m
4122 0 -52(require\211fd)m gsave
4125 240 fnt83 0 -52(fd\211r)m 3(ang)k 2(e)k
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
4150 240 fnt31 0 -52(require\211fd)m
4161 240 fnt31 0 -52(ignore\211fd)m
4167 240 fnt31 0 -52(null\211fd)m
4172 240 fnt31 0 -52(reject\211fd)m
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
4199 240 fnt31 0 -52(stdout)m
4205 240 fnt31 0 -52(stderr)m
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
4213 240 fnt31 0 -52(reject\211fd)m
4219 0 -52(ignore\211fd)m
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
4237 240 fnt31 0 -52(require\211fd)m
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
4253 240 fnt31 0 -52(exec)m
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
4260 240 fnt31 0 -52(allow\211fd)m gsave
4264 0 -52(fd\211r)m 3(ang)k 2(e)k
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
4274 240 fnt31 0 -52(read)m
4280 240 fnt31 0 -52(write)m
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
4289 240 fnt31 0 -52(/dev/null)m
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
4296 240 fnt31 0 -52(read)m
4301 240 fnt31 0 -52(write)m
4304 7995(or)s 8254(neither)s 480 2750(w)m 2(as)k 901(speci\207ed\).)s
4308 240 fnt31 0 -52(null\211fd)m gsave
4311 240 fnt83 0 -52(fd\211r)m 3(ang)k 2(e)k
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
4321 240 fnt31 0 -52(/dev/null)m
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
4329 240 fnt31 0 -52(read)m
4334 240 fnt31 0 -52(write)m
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
4349 240 fnt31 0 -52(reject\211fd)m gsave
4352 240 fnt83 0 -52(fd\211r)m 3(ang)k 2(e)k
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
4375 %%PageResources: font Times-Roman
4377 %%+ font Courier-Bold
4378 %%+ font Times-Italic
4380 0.0500 dup scale 10 setlinewidth
4384 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
4399 1417 -15423 translate
4400 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
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
4408 240 fnt31 0 -52(ignore\211fd)m gsave
4412 0 -52(fd\211r)m 3(ang)k 2(e)k
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
4428 240 fnt31 0 -52(disconnect\211hup)m
4433 240 fnt31 0 -52(no\211disconnect\211hup)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
4439 4564 11558 translate
4441 240 fnt31 0 -52(SIGHUP)m
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
4448 3055 11318 translate
4450 240 fnt31 0 -52(no\211disconnect\211hup)m
4452 4813(can)s 5142(cels)s gsave
4453 5560 11318 translate
4456 0 -52(disconnect\211hup)m
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
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
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
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
4497 0 7506(If)m 230(no)s gsave
4500 240 fnt31 0 -52(execute)m
4506 240 fnt31 0 -52(execute\211from\211path)m
4512 0 -52(execute\211from\211directory)m
4517 240 fnt31 0 -52(builtin)m
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
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
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
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
4553 0 -52(catch\211quit)m
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
4562 240 fnt31 0 -52(reset)m
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
4570 240 fnt31 0 -52(hctac)m
4572 500 4172(.)m 9066 609 0 609 240 240 60 0 3209 LoutGr2
4573 newpath 0 ysize 0.3 ft sub moveto
4579 320 fnt84 0 5(4.4.)m
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
4598 %%PageResources: font Times-Roman
4600 %%+ font Courier-Bold
4601 %%+ font Times-Italic
4603 0.0500 dup scale 10 setlinewidth
4607 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
4622 1417 -15423 translate
4623 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
4627 240 fnt84 0 13842(16)m gsave
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
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
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
4643 240 fnt82 0 9856(If)m
4644 226(one)s 624(of)s 891(the)s gsave
4647 240 fnt31 0 -52(\211\211override)m
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
4658 0 -52(reset)m 0 -292(errors\211to\211stderr)m 0 -532(include)m gsave
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
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
4679 %%PageResources: font Times-Roman
4681 %%+ font Courier-Bold
4683 0.0500 dup scale 10 setlinewidth
4687 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
4702 1417 -15423 translate
4703 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
4707 240 fnt84 8831 13842(17)m gsave
4709 240 fnt82 9066 688 0 688 240 240 60 LoutGraphic
4711 newpath 0 ysize 0.3 ft sub moveto
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
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
4733 240 fnt31 0 -52(service)m
4735 7008(parameter)s 9(,)k
4736 8045(and)s 8434(is)s 8629(used)s 480 11139(by)m 774(the)s
4738 1122 11193 translate
4740 240 fnt31 0 -52(execute\211from\211directory)m
4743 3788 11193 translate
4745 240 fnt31 0 -52(execute\211from\211path)m
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
4756 240 fnt31 0 -52(USERV_SERVICE)m
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
4805 240 fnt31 0 -52(EPIPE)m
4811 240 fnt31 0 -52(SIGPIPE)m
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
4825 240 fnt31 0 -52(SIGPIPE)m
4830 240 fnt31 0 -52(EPIPE)m
4833 980 6868(.)m 0 6463(\213)m 480(If)s gsave
4836 240 fnt31 0 -52(no\211suppress\211args)m
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
4858 240 fnt31 0 -52(disconnect\211hup)m
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
4865 240 fnt31 0 -52(SIGHUP)m
4868 8247(.)s 0 4871(\213)m 480(The)s 908(v)s 6(alue)k
4869 1476(of)s 1747(the)s gsave
4872 240 fnt31 0 -52(LOGNAME)m
4878 240 fnt31 0 -52(USER)m
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
4898 0 -52(calling\211user)m
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
4911 240 fnt31 0 -52(USERV_UID)m
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
4921 240 fnt31 0 -52(calling\211user\211shell)m
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
4935 240 fnt31 0 -52(calling\211group)m
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
4954 0 -52(\211\211hidecwd)m
4956 4340(,)s 4447(to)s 4686(the)s 5034(service)s
4957 5766(program)s 6636(in)s 6879(the)s gsave
4960 240 fnt31 0 -52(USERV_CWD)m
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
4978 %%PageResources: font Times-Roman
4980 %%+ font Courier-Bold
4981 %%+ font Times-Italic
4983 0.0500 dup scale 10 setlinewidth
4987 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
5002 1417 -15423 translate
5003 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
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
5014 240 fnt31 0 -52(\211\211defvar)m
5018 240 fnt83 0 -52(name)m
5023 240 fnt83 0 -52(value)m
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
5032 6252 12608 translate
5034 240 fnt31 0 -52(u\211)m gsave
5037 240 fnt83 0 -52(name)m
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
5047 240 fnt31 0 -52(USERV_U_)m gsave
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
5075 %%PageResources: font Times-Roman
5077 %%+ font Courier-Bold
5078 %%+ font Times-Italic
5080 0.0500 dup scale 10 setlinewidth
5084 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
5099 1417 -15423 translate
5100 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
5104 240 fnt84 8832 13842(19)m gsave
5106 240 fnt82 9066 687 0 687 240 240 60 LoutGraphic
5108 newpath 0 ysize 0.3 ft sub moveto
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
5119 240 fnt82 9066 670 0 670 240 240 60 LoutGraphic
5121 newpath 0 ysize 0.3 ft sub moveto
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
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
5140 240 fnt31 0 -52(userv)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
5148 240 fnt31 0 -52(userv)m
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
5165 240 fnt31 0 -52(~/.userv/.servdata/)m gsave
5168 240 fnt83 0 -52(service)m
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
5181 240 fnt31 0 -52(~/.userv)m
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
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
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
5220 240 fnt31 0 -52(userv)m
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
5228 240 fnt31 0 -52(cron)m
5230 455 5669(and)m gsave
5233 240 fnt31 0 -52(at)m
5239 240 fnt31 0 -52(lpr)m
5241 1509(and)s 1907(the)s
5242 2249(system')s 13(s)k 3117(mail)s 3591(transfer)s 4373(agent)s
5246 240 fnt31 0 -52(sendmail)m
5257 240 fnt31 0 -52(exim)m
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
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
5274 320 fnt31 0 -70(userv)m
5276 6577(-using)s 7484(facilities)s
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
5285 240 fnt31 0 -52(userv)m
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
5295 240 fnt31 0 -52(lpr)m
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
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
5331 240 fnt31 0 -52(lp)m
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
5339 240 fnt31 0 -52(cat)m
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
5346 240 fnt31 0 -52(lpr)m
5349 3914(program)s 4769(w)s 2(ould)k 5410(use)s 5770(a)s
5353 240 fnt31 0 -52(userv)m
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
5372 %%PageResources: font Times-Roman
5374 %%+ font Courier-Bold
5375 %%+ font Times-Italic
5377 0.0500 dup scale 10 setlinewidth
5381 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
5396 1417 -15423 translate
5397 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
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
5418 8730 12585 translate
5420 240 fnt31 0 -52(lp)m
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
5443 240 fnt31 0 -52(lpr)m
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
5478 240 fnt31 0 -52(userv)m
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
5504 320 fnt84 0 66(6.4.)m
5508 320 fnt31 0 -70(userv)m
5510 1375(is)s 1659(not)s 2182(a)s
5511 2419(r)s 5(eplacement)k 4178(f)s 8(or)k gsave
5520 320 fnt31 0 -70(sudo)m
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
5547 240 fnt31 0 -52(sudo)m
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
5558 240 fnt31 0 -52(userv)m
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
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
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
5578 240 fnt31 0 -52(mv)m
5584 240 fnt31 0 -52(cat)m
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
5598 0 -52(no\211suppress\211args)m
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
5613 122 fnt82 0 983(1)m gsave
5616 192 fnt31 0 -42(sudo)m
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
5635 %%PageResources: font Times-Roman
5637 %%+ font Courier-Bold
5639 0.0500 dup scale 10 setlinewidth
5643 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
5658 1417 -15423 translate
5659 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
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
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
5680 %%DocumentNeededResources: font Courier-Bold
5681 %%+ font Times-Roman
5682 %%+ font Times-Italic
5684 %%DocumentSuppliedResources: procset LoutStartUp
5685 %%+ procset LoutMarginNotes