2 %%Creator: Basser Lout Version 3.10 (November 1996)
3 %%CreationDate: Sun Apr 18 20:08:36 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 4326 12513(0.62)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 10791(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 10551(only)m 480(limited)s 1214(trust)s
286 1698(e)s 3(xists)k 2290(between)s 3144(them.)s 9066 610 0 610 240 240 60 0 9587 LoutGr2
287 newpath 0 ysize 0.3 ft sub moveto
294 0 6(0.2.)m 628(Contents)s
296 240 fnt84 0 9175(1.)m 1200(Intr)s 4(oduction)k
297 8953(3)s 0 8818(2.)m 1200(Client)s 1883(pr)s 4(ogram)k
298 2839(usage)s 8952(4)s 240 fnt82 0 8579(2.1.)m 1200(Options)s
299 8952(4)s 0 8342(2.2.)m 1200(Security-o)s 3(v)k 3(erriding)k
300 3118(options)s 8958(7)s 240 fnt84 0 7997(3.)m 1200(Execution)s
301 2279(en)s 9(vir)k 4(onment)k 3627(of)s 3899(the)s
302 4273(ser)s 2(vice)k 5030(pr)s 4(ogram)k 8952(8)s
303 240 fnt82 0 7758(3.1.)m 1200(File)s 1627(descriptors)s 8959(8)s
304 0 7521(3.2.)m 1200(En)s 9(vironment)k 8955(9)s 240 fnt84
305 0 7176(4.)m 1200(Ser)s 2(vice-side)k 2474(con\207guration)s 8831(10)s
306 240 fnt82 0 6937(4.1.)m 1200(Con\207guration)s 2587(\207le)s 2948(syntax)s
307 8831(10)s 0 6700(4.2.)m 1200(Con\207guration)s 2587(\207le)s 2948(directi)s 6(v)k 3(es)k
308 8831(10)s 0 6462(4.3.)m 1200(Errors)s 1847(in)s 2090(the)s
309 2438(con\207guration)s 3771(\207le)s 8833(16)s 0 6225(4.4.)m 1200(Def)s 2(aults)k
310 8838(17)s 240 fnt84 0 5880(5.)m 1200(Inf)s 6(ormation)k
311 2498(passed)s 3231(thr)s 4(ough)k 4106(the)s 4480(client/daemon)s
312 5969(combination)s 8832(18)s 0 5523(6.)m 1200(A)s 6(pplications)k
313 2536(and)s 2977(notes)s 3562(on)s 3871(use)s 8831(20)s
314 240 fnt82 0 5284(6.1.)m 1200(Standard)s 2108(services)s 2928(and)s
315 3332(directory)s 4248(management)s 8831(20)s 0 5046(6.2.)m 1200(Reducing)s
316 2171(the)s 2519(number)s 3310(of)s 3581(absolutely)s 4618(pri)s 6(vile)k 3(ged)k
317 5636(subsystems)s 8831(20)s 0 4808(6.3.)m 1200(Do)s 1546(not)s
318 1912(gi)s 6(v)k 3(e)k 2371(a)s 3(w)k 2(ay)k
319 2925(e)s 3(xcessi)k 6(v)k 3(e)k 3885(pri)s 6(vile)k 3(ge)k
323 240 fnt31 0 -52(userv)m
325 5520(-using)s 6171(f)s 2(acilities)k
326 8831(20)s 0 4570(6.4.)m gsave
329 240 fnt31 0 -52(userv)m
332 1970(not)s 2336(a)s 2502(replacement)s 3729(for)s gsave
341 240 fnt31 0 -52(sudo)m
344 0 4331(6.5.)m 1200(Don')s 4(t)k 1814(gi)s 6(v)k 3(e)k
345 2273(access)s 2934(to)s 3173(general-purpose)s 4769(utilities)s 8851(21)s
346 9066 670 0 670 240 240 60 0 3080 LoutGr2
347 newpath 0 ysize 0.3 ft sub moveto
353 320 fnt84 0 66(0.3.)m 628(Copyright)s 2109(Notice)s
361 560 2916(is)m 770(Cop)s 2(yright)k 1799(1996-1999)s
362 2889(Ian)s 3251(Jackson.)s gsave
365 240 fnt31 0 -52(userv)m
368 737(free)s 1146(softw)s 2(are;)k 2062(you)s 2460(can)s
369 2832(redistrib)s 4(ute)k 3955(it)s 4130(and/or)s 4784(modify)s
370 5512(it)s 5688(under)s 6276(the)s 6607(terms)s 7172(of)s
371 7426(the)s 7757(GNU)s 8315(General)s 0 2063(Public)m 659(License)s
372 1453(as)s 1698(published)s 2682(by)s 2971(the)s 3314(Free)s
373 3789(Softw)s 2(are)k 4699(F)s 3(oundation;)k 5894(either)s
374 6492(v)s 3(ersion)k 7245(2)s 7414(of)s 7680(the)s
375 8023(License,)s 8867(or)s 0 1823(\(at)m 311(your)s 810(option\))s
376 1550(an)s 3(y)k 1947(later)s 2430(v)s 3(ersion.)k
377 0 1415(This)m 476(program)s 1346(is)s 1556(distrib)s 4(uted)k
378 2632(in)s 2875(the)s 3223(hope)s 3745(that)s 4163(it)s
379 4355(will)s 4781(be)s 5063(useful,)s 5754(b)s 4(ut)k
380 240 fnt83 6116 1417(without)m 6898(any)s 7300(warr)s 3(anty)k
381 240 fnt82 8171 1415(;)m 8283(without)s 0 1174(e)m 6(v)k 3(en)k
382 500(the)s 848(implied)s 1636(w)s 2(arranty)k 2537(of)s
383 240 fnt83 2808 1176(mer)m 8(c)k 3(hantability)k 240 fnt82
384 4367 1174(or)m 240 fnt83 4626 1176(\207tness)m 5279(for)s 5623(a)s
385 5798(particular)s 6833(purpose)s 240 fnt82 7598 1174(.)m 7702(See)s
386 8103(the)s 8451(GNU)s 0 934(General)m 811(Public)s 1475(License)s
387 2274(for)s 2612(more)s 3159(details.)s 0 52(User)m 511(service)s
388 1243(daemon)s 2058(and)s 2462(client)s 3052(speci\207cation)s 8652(0.62)s
399 %%PageResources: font Times-Roman
401 %%+ font Courier-Bold
403 0.0500 dup scale 10 setlinewidth
407 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
422 1417 -15423 translate
423 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
427 240 fnt84 0 13842(2)m 240 fnt82 0 13254(Y)m 26(ou)k
428 442(should)s 1139(ha)s 4(v)k 3(e)k 1640(re)s
429 1821(cei)s 6(v)k 3(ed)k 2494(a)s 2660(cop)s 2(y)k
430 3178(of)s 3449(the)s 3797(GNU)s 4372(Gen)s 4768(er)s
431 4953(al)s 5180(Pub)s 5546(lic)s 5837(Li)s 6043(cense)s
432 6630(along)s 7215(with)s gsave
435 240 fnt31 0 -52(userv)m
438 8309(if)s 8526(not,)s 0 13013(write)m 546(to)s 785(the)s
439 1133(Free)s 1613(Soft)s 2011(w)s 2(are)k 2529(F)s 3(oun)k
440 3016(da)s 3242(tion,)s 3721(59)s 4012(T)s 16(em)k
441 4434(ple)s 4782(Place)s 5355(-)s 5483(Suite)s 6030(330,)s
442 6497(Boston,)s 7283(MA)s 7726(02111-1307,)s 0 12773(USA.)m 0 52(0.62)m
443 4809(User)s 5320(service)s 6052(daemon)s 6867(and)s 7271(client)s
444 7861(speci\207cation)s
454 %%PageResources: font Times-Roman
456 %%+ font Courier-Bold
458 0.0500 dup scale 10 setlinewidth
462 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
477 1417 -15423 translate
478 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
482 240 fnt84 8953 13842(3)m gsave
484 240 fnt82 9066 622 0 622 240 240 60 LoutGraphic
486 newpath 0 ysize 0.3 ft sub moveto
492 340 fnt84 0 4(1.)m 412(Intr)s 6(oduction)k
495 240 fnt82 0 12330(There)m 613(is)s 823(a)s 989(daemon)s
496 1804(which)s 2446(in)s 9(v)k 4(ok)k 2(es)k
497 3227(user)s 3685(service)s 4417(programs)s 5371(\(henceforth)s 6529(`services'\))s
498 7584(in)s 7827(response)s 8720(to)s 0 12090(requests)m 822(by)s
499 1104(callers)s 1765(of)s 2024(a)s 2178(companion)s 3287(client)s
500 3865(program)s 4723(\(henceforth)s 5869(the)s 6205(`client'\))s 7009(and)s
501 7401(according)s 8385(to)s 8611(rules)s 0 11850(set)m 325(forth)s
502 846(in)s 1089(system-wide)s 2353(and)s 2757(user)s 4(-speci\207c)k
503 4013(con\207guration)s 5346(\207les.)s 5848(The)s 6276(companion)s 7397(client)s
504 7987(program)s 0 11610(is)m 210(setuid)s 839(root,)s 1331(and)s
505 1735(ne)s 3(gotiates)k 2752(with)s 3234(the)s 3582(daemon)s
506 4397(through)s 5199(an)s gsave
509 240 fnt31 0 -52(AF_UNIX)m
512 6911(and)s 7315(associated)s 8355(objects)s 0 11370(in)m 243(a)s
513 409(system-wide)s 1673(pri)s 6(v)k 6(ate)k 2380(directory)s
514 3296(set)s 3621(aside)s 4168(for)s 4506(the)s 4854(purpose.)s
515 5716(The)s 6144(user)s 6602(who)s 7068(wishes)s 7770(the)s
516 8118(service)s 8850(to)s 0 11130(be)m 282(performed)s 1335(and)s
517 1739(calls)s 2227(the)s 2575(client)s 3165(is)s 3375(called)s
518 4003(the)s 4351(`calling)s 5133(user';)s 5722(the)s 6070(process)s
519 6838(which)s 7480(calls)s 7968(the)s 8316(client)s 8906(is)s
520 0 10890(called)m 628(the)s 976(`calling)s 1758(process'.)s 0 10482(The)m
521 428(daemon)s 1243(and)s 1647(the)s 1995(client)s 2585(are)s
522 2932(responsible)s 4077(for)s 4415(ensuring)s 5292(that)s 5710(information)s
523 6895(is)s 7105(safely)s 7729(carried)s 8449(across)s 0 10242(the)m
524 338(security)s 1138(boundary)s 2087(between)s 2931(the)s 3269(tw)s 2(o)k
525 3669(users,)s 4257(and)s 4650(that)s 5058(the)s 5396(processes)s
526 6353(on)s 6640(either)s 7233(side)s 7664(cannot)s 8351(interact)s
527 0 10002(with)m 482(each)s 977(other)s 1528(in)s 1771(an)s 3(y)k
528 2168(une)s 3(xpected)k 3313(w)s 2(ays.)k 0 52(User)m
529 511(service)s 1243(daemon)s 2058(and)s 2462(client)s 3052(speci\207cation)s
540 %%PageResources: font Times-Roman
542 %%+ font Courier-Bold
543 %%+ font Times-Italic
545 0.0500 dup scale 10 setlinewidth
549 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
564 1417 -15423 translate
565 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
569 240 fnt84 0 13842(4)m gsave
571 240 fnt82 9066 688 0 688 240 240 60 LoutGraphic
573 newpath 0 ysize 0.3 ft sub moveto
579 340 fnt84 0 70(2.)m 412(Client)s
580 1382(pr)s 6(ogram)k 2737(usage)s
585 240 fnt31 0 -52(userv)m
589 240 fnt83 0 -52(options)m
591 2003([\211\211])s gsave
594 240 fnt83 0 -52(service\211user)m
600 240 fnt83 0 -52(service\211name)m
605 240 fnt83 0 -52(ar)m 8(gument)k
608 8181(\202])s 0 -305(userv)m gsave
611 240 fnt83 0 -52(options)m
613 2003(\211B|\211\211builtin)s
614 3875([\211\211])s gsave
617 240 fnt83 0 -52(b)m 4(uiltin\211service)k
623 240 fnt83 0 -52(info\211ar)m 8(gument)k
628 0 11448(service-user)m 240 fnt82 1232 11446(speci\207es)m 2106(which)s 2748(user)s
629 3206(is)s 3416(to)s 3655(pro)s 3(vide)k 4439(the)s
630 4787(service.)s 5567(The)s 5995(user)s 6453(may)s 6919(be)s
631 7201(a)s 7367(login)s 7916(name)s 8490(or)s 8749(a)s
632 0 11206(numeric)m 836(uid,)s 1249(or)s gsave
635 240 fnt31 0 -52(\211)m
638 1668(to)s 1907(indicate)s 2719(that)s 3137(the)s 3485(service)s
639 4217(user)s 4675(is)s 4885(to)s 5124(be)s 5406(the)s
640 5754(same)s 6301(as)s 6551(the)s 6899(calling)s 7602(user)s 13(.)k
641 0 10798(The)m 428(service)s 1160(name)s 1734(is)s 1944(interpreted)s
642 3036(by)s 3330(the)s 3678(userv)s 153 fnt82 4191 10887(1)m
643 240 fnt82 4311 10798(daemon)m 5126(on)s 5423(behalf)s 6092(of)s
644 6363(the)s 6711(service)s 7443(user)s 13(.)k 7932(It)s
645 8137(will)s 8563(often)s 0 10558(be)m 282(the)s 630(name)s
646 1204(of)s 1475(a)s 1641(program.)s 9066 670 0 670 240 240 60 0 9534 LoutGr2
647 newpath 0 ysize 0.3 ft sub moveto
653 320 fnt84 0 66(2.1.)m
656 0 9072(Single-letter)m 1233(options)s 1983(may)s 2442(be)s
657 2718(combined)s 3714(as)s 3957(is)s 4161(usual)s 4714(with)s
658 5190(Unix)s 5718(programs,)s 6721(and)s 7119(the)s 7461(v)s 6(alue)k
659 8022(for)s 8354(such)s 8843(an)s 0 8832(option)m 669(may)s
660 1135(appear)s 1832(in)s 2075(the)s 2423(same)s 2970(ar)s 4(gument)k
661 3929(or)s 4188(in)s 4431(the)s 4779(ne)s 3(xt.)k
665 240 fnt31 0 -52(\211B)m
670 240 fnt31 0 -52(\211\211builtin)m
673 1387(that)s 1797(a)s 1955(b)s 4(uiltin)k 2624(service)s
674 3347(be)s 3621(pro)s 3(vided.)k 4565(This)s 5033(is)s
675 5235(equi)s 6(v)k 6(alent)k 6270(to)s 6501(using)s
679 240 fnt31 0 -52(\211\211override)m
681 8457(option)s 480 7703(to)m
682 719(specify)s 1463(a)s 1629(string)s 2226(consisting)s 3249(of)s
686 240 fnt31 0 -52(execute\211builtin)m
688 5081(follo)s 6(wed)k 5983(by)s
689 6277(the)s 240 fnt83 6625 7705(b)m 4(uiltin-service)k 240 fnt82
690 8053 7703(requested,)m 480 7463(and)m 884(requesting)s 1933(a)s 2099(service)s
691 2831(user)s 3289(of)s gsave
694 240 fnt31 0 -52(\211)m
697 4808(the)s 5156(calling)s 5859(user\).)s 480 7055(If)m 701(the)s
698 1039(b)s 4(uiltin)k 1707(ser)s 1985(vice)s 2429(be)s
699 2651(ing)s 3000(re)s 3181(quest)s 3686(ed)s 3961(re)s
700 4142(quires)s 4767(a)s 240 fnt83 4924 7057(service-)m 5667(ar)s 8(gument)k
701 240 fnt82 6631 7055(then)m 7090(this)s 7477(must)s 7992(be)s
702 8264(sup)s 8590(plied)s 480 6814(to)m 712(the)s 1052(client)s
703 1635(in)s 1870(the)s 2211(same)s 2750(ar)s 2935(gu)s
704 3170(ment)s 3700(as)s 3943(the)s 240 fnt83 4283 6816(b)m 4(uiltin-)k
705 4970(service)s 240 fnt82 5639 6814(.)m 5736(See)s 6129(`Di)s
706 6441(rec)s 6725(ti)s 6(v)k 3(es)k 7211(for)s
707 7541(chang)s 8106(ing)s 8457(e)s 3(x)k 8675(e)s
708 8777(cu)s 8998(-)s 480 6574(tion)m 909(set)s 1174(tings',)s
709 1825(page)s 2333(14)s 2627(for)s 2965(de)s 3187(tails)s
710 3635(of)s 3906(the)s 4254(b)s 4(uiltin)k 4931(ser)s
711 5209(vices)s 5751(a)s 4(v)k 6(ail)k 6200(able,)s
712 6705(and)s 7109(`Security-)s 8052(o)s 3(v)k 3(erriding)k
713 480 6334(op)m 713(tions',)s 1364(page)s 1872(7)s 2040(for)s
714 2378(de)s 2600(tails)s 3048(of)s 3319(the)s gsave
718 0 -52(\211\211override)m
720 4728(op)s 4961(tions.)s 480 5926(The)m 897(actual)s
721 1511(service)s 2232(name)s 2794(passed)s 3479(will)s 3894(be)s
722 4164(the)s 240 fnt83 4501 5928(b)m 4(uiltin-service)k 240 fnt82
723 5869 5926(;)m 5970(note)s 6427(that)s 6833(this)s 7218(actual)s
724 7832(service)s 8552(name)s 480 5686(\(as)m 809(opposed)s 1666(to)s
725 1905(the)s 2253(o)s 3(v)k 3(erride)k 3099(data\))s
726 3625(and)s 4029(the)s 240 fnt83 4377 5688(info-ar)m 8(gument)k
727 240 fnt82 5742 5686(s)m 5886(supplied)s 6755(will)s 7181(be)s
728 7463(ignored)s 8252(by)s 8546(most)s 480 5446(b)m 4(uiltin)k
729 1149(services;)s 2022(the)s 2361(o)s 3(v)k 3(erride)k
730 3199(mechanism)s 4339(and)s gsave
733 240 fnt31 0 -52(execute\211builtin)m
736 6705(be)s 6978(used)s 7467(to)s 7697(ensure)s 8369(that)s
737 8778(the)s 480 5206(right)m 991(b)s 4(uiltin)k 1668(service)s
738 2400(is)s 2610(called)s 3238(with)s 3720(the)s 4068(right)s
739 240 fnt83 4579 5208(service-ar)m 8(gument)k 240 fnt82 6248 5206(s.)m
743 240 fnt31 0 -52(\211f)m gsave
752 240 fnt83 0 -52(modi\207er)m 2(s)k
765 240 fnt31 0 -52(\211\211file)m gsave
774 240 fnt83 0 -52(modi\207er)m 2(s)k
780 240 fnt83 0 -52(\207lename)m
784 480 4332(Requests)m 1384(that)s 1791(data)s
785 2238(be)s 2509(copied)s 3194(in)s 3426(and)s 3819(out)s
786 4174(of)s 4434(the)s 4771(service)s 5492(using)s 6053(pipes.)s
787 6651(F)s 3(or)k 7029(each)s 7513(\207le)s 7863(or)s
788 8111(descriptor)s 480 4092(this)m 858(will)s 1266(be)s 1530(done)s
789 2033(by)s 2309(creating)s 3113(a)s 3261(pipe,)s 3761(one)s
790 4145(end)s 4531(of)s 4784(which)s 5407(is)s 5599(passed)s
791 6277(to)s 6498(the)s 6827(service)s 7541(program)s 8393(and)s
792 8778(the)s 480 3852(other)m 1028(end)s 1429(of)s 1697(which)s
793 2336(is)s 2543(passed)s 3236(to)s 3472(a)s 3635(cop)s 2(y)k
797 240 fnt31 0 -52(cat)m
799 4774(in)s 9(v)k 4(ok)k 2(ed)k
800 5586(by)s 5877(the)s 6222(client;)s 6861(the)s 7206(other)s
801 7754(\207le)s 8111(descriptor)s 480 3612(passed)m 1176(to)s gsave
807 1775(will)s 2201(be)s 2483(one)s 2885(inherited)s
808 3792(by)s 4086(the)s 4434(client)s 5024(program)s 5894(from)s
809 6418(the)s 6766(caller)s 7355(or)s 7614(one)s 8016(opened)s
810 8766(by)s 480 3372(the)m 828(client)s 1418(program)s 2288(on)s
811 2585(behalf)s 3254(of)s 3525(the)s 3873(caller)s 13(.)k
812 480 2964(The)m 890(descriptor)s 1886(in)s 2110(the)s 2439(service)s
813 3152(program)s 4004(that)s 4403(should)s 5081(be)s 5344(connected)s
814 6353(must)s 6860(be)s 7123(speci\207ed)s 8012(as)s 240 fnt83
815 8243 2966(fd)m 240 fnt82 8435 2964(,)m 8523(either)s 480 2724(as)m
816 728(a)s 891(decimal)s 1699(number)s 2487(or)s 2743(as)s
817 2990(one)s 3389(of)s 3657(the)s 4002(strings)s gsave
826 240 fnt31 0 -52(stdout)m
832 240 fnt31 0 -52(stderr)m
834 6805(.)s 6906(The)s 7331(ne)s 3(xt)k
835 7797(ar)s 4(gument)k 8753(is)s 8960(a)s 480 2484(\207lename)m
836 1359(which)s 2001(will)s 2427(be)s 2709(opened)s 3459(by)s
837 3753(the)s 4101(client)s 4691(with)s 5173(the)s 5521(pri)s 6(vile)k 3(ges)k
838 6505(of)s 6776(the)s 7124(calling)s 7827(user)s 13(.)k
839 240 fnt83 480 2078(modi\207er)m 2(s)k 240 fnt82 1424 2076(is)m
840 1634(used)s 2131(to)s 2370(specify)s 3114(whether)s 3944(the)s
841 4292(\207le)s 4653(or)s 4912(descriptor)s 5927(is)s 6137(to)s
842 6376(be)s 6658(read)s 7127(from)s 7651(or)s 7910(written)s
843 8643(to.)s 480 1835(It)m 682(consists)s 1487(of)s 1755(a)s
844 1918(series)s 2508(of)s 2776(w)s 2(ords)k 3407(separated)s
845 4364(by)s 4655(commas.)s 5552(A)s 5779(comma)s 6540(may)s
846 7003(separate)s 7838(the)s 240 fnt83 8182 1837(modi\207er)m 2(s)k
847 240 fnt82 480 1594(from)m 1004(the)s 240 fnt83 1352 1596(fd)m
848 240 fnt82 1604 1594(and)m 2008(is)s 2218(required)s 3072(if)s
849 240 fnt83 3289 1596(fd)m 240 fnt82 3541 1594(is)m 3751(not)s
850 4117(numeric.)s 1134 0 0 0 240 240 60 0 948 LoutGr2
851 0 0 moveto xsize 0 lineto stroke
855 122 fnt82 0 753(1)m gsave
858 192 fnt31 0 -42(userv)m
861 192 fnt82 505 683(is)m 673(short)s 1103(for)s 1373(`user)s
862 1802(services',)s 2566(and)s 2890(is)s 3058(pronounced)s 4010(`you-serv)s 2(e'.)k
863 240 fnt82 0 52(0.62)m 4809(User)s 5320(service)s 6052(daemon)s
864 6867(and)s 7271(client)s 7861(speci\207cation)s
874 %%PageResources: font Times-Roman
876 %%+ font Courier-Bold
877 %%+ font Times-Italic
879 0.0500 dup scale 10 setlinewidth
883 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
898 1417 -15423 translate
899 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
903 240 fnt84 8953 13844(5)m 240 fnt82 480 13254(The)m 908(modi\207er)s
904 1778(w)s 2(ords)k 2412(are:)s gsave
907 240 fnt31 0 -52(read)m
913 240 fnt31 0 -52(O_RDONLY)m
915 1761 12774(:)m 1867(Allo)s 6(w)k
916 2513(reading)s 3283(and)s 3687(not)s 4053(writing.)s 4847(May)s
917 5340(not)s 5706(be)s 5988(used)s 6485(with)s gsave
923 7527(or)s 7786(things)s 8422(that)s 960 12534(imply)m
927 240 fnt31 0 -52(write)m
932 240 fnt31 0 -52(O_WRONLY)m
935 1761 12054(:)m 1867(Allo)s 6(w)k 2513(writing)s 3256(and)s
936 3660(not)s 4026(reading.)s 240 fnt83 4847 12056(Doesn')m 7(t)k
937 5661(truncate)s 6511(or)s 6789(cr)s 8(eate)k 240 fnt82
938 7431 12054(without)m gsave
941 240 fnt31 0 -52(truncate)m
952 240 fnt31 0 -52(write)m
955 2742(things)s 3378(that)s 3796(imply)s 4408(it)s 4600(may)s
956 5066(not)s 5432(be)s 5714(used)s 6211(with)s gsave
965 240 fnt31 0 -52(overwrite)m
967 960 11334(Equi)m 6(v)k 6(alent)k
971 240 fnt31 0 -52(write,create,truncate)m
982 240 fnt31 0 -52(creat)m
987 240 fnt31 0 -52(O_CREAT)m
990 1660 10614(:)m 1766(Creates)s 2533(the)s 2881(\207le)s 3242(if)s
991 3459(necessary)s 15(.)k 4477(Implies)s gsave
994 240 fnt31 0 -52(write)m
1000 240 fnt31 0 -52(exclusive)m
1005 240 fnt31 0 -52(excl)m
1011 240 fnt31 0 -52(O_EXCL)m
1013 1560 9894(:)m 1666(F)s 3(ails)k
1014 2178(if)s 2395(the)s 2743(\207le)s 3104(already)s 3861(e)s 3(xists.)k
1015 4506(Implies)s gsave
1018 240 fnt31 0 -52(write)m
1026 6837(.)s 6941(May)s 7434(not)s 7800(be)s
1027 8082(used)s 8579(with)s gsave
1030 240 fnt31 0 -52(truncate)m
1036 240 fnt31 0 -52(truncate)m
1041 240 fnt31 0 -52(trunc)m
1049 1660 8934(:)m 1766(T)s 8(runcate)k 2663(an)s 3(y)k
1050 3060(e)s 3(xisting)k 3867(\207le.)s 4276(Implies)s gsave
1056 5543(.)s 5647(May)s 6140(not)s 6506(be)s
1057 6788(used)s 7285(with)s gsave
1060 240 fnt31 0 -52(exclusive)m
1066 240 fnt31 0 -52(append)m
1071 240 fnt31 0 -52(O_APPEND)m
1074 1867(All)s 2227(writes)s 2861(will)s 3287(append)s 4037(to)s
1075 4276(the)s 4624(\207le.)s 5033(Implies)s gsave
1078 240 fnt31 0 -52(write)m
1081 6360(\(b)s 4(ut)k 6801(not)s gsave
1084 240 fnt31 0 -52(create)m
1090 240 fnt31 0 -52(sync)m
1095 240 fnt31 0 -52(O_SYNC)m
1098 1560 7974(:)m 1666(Do)s 2012(writes)s 2646(synchronously)s 15(.)k
1099 4132(Implies)s gsave
1102 240 fnt31 0 -52(write)m
1113 240 fnt31 0 -52(nowait)m
1118 240 fnt31 0 -52(close)m
1121 960 7014(These)m 1587(modi\207ers)s 2541(control)s 3273(the)s 3621(beha)s 4(viour)k
1122 4634(of)s 4905(the)s 5253(client,)s 5890(with)s 6372(respect)s
1123 7108(to)s 7347(the)s 7695(pipes)s 8251(carrying)s 960 6774(data)m
1124 1418(to)s 1657(and)s 2061(from)s 2585(the)s 2933(service,)s
1125 3716(when)s 4292(the)s 4640(service)s 5372(terminates.)s 6470(See)s
1126 6871(belo)s 6(w)k 15(.)k gsave
1129 240 fnt31 0 -52(fd)m
1132 960 6294(The)m 240 fnt83 1388 6296(\207lename)m 240 fnt82 2252 6294(is)m
1133 2462(not)s 2828(a)s 2994(\207lename)s 3873(b)s 4(ut)k
1134 4235(a)s 4401(numeric)s 5237(\207le)s 5598(descriptor)s 13(.)k
1135 6644(One)s 7099(or)s 7358(both)s 7841(of)s gsave
1144 240 fnt31 0 -52(write)m
1147 2045(be)s 2327(speci\207ed,)s 3284(and)s 3688(no)s 3981(other)s
1148 4532(w)s 2(ords)k 5166(are)s 5513(allo)s 6(wed.)k
1149 6368(The)s 240 fnt83 6796 6055(\207lename)m 240 fnt82 7660 6053(may)m
1150 8126(also)s 8564(be)s gsave
1153 240 fnt31 0 -52(stdin)m
1159 240 fnt31 0 -52(stdout)m
1164 240 fnt31 0 -52(stderr)m
1167 3146(for)s 3484(\207le)s 3845(descriptor)s 4860(0,)s 5087(1)s
1168 5242(or)s 5501(2)s 5675(respecti)s 6(v)k 3(ely)k 15(.)k
1169 480 5251(If)m 701(no)s 240 fnt83 984 5253(modi\207er)m 2(s)k
1170 240 fnt82 1918 5251(which)m 2550(imply)s gsave
1173 240 fnt31 0 -52(read)m
1179 240 fnt31 0 -52(write)m
1181 4401(are)s 4738(used)s
1182 5226(it)s 5408(is)s 5608(as)s 5848(if)s gsave
1188 6605(had)s 6999(been)s 7498(speci\207ed,)s 8445(e)s 3(xcept)k
1189 480 5011(that)m 898(if)s 1115(the)s 1463(\207ledescriptor)s 2783(0)s
1190 2958(of)s 3229(the)s 3577(service)s 4309(is)s 4519(being)s
1191 5104(opened)s 5854(\(either)s 6536(speci\207ed)s 7444(numerically)s 8639(or)s
1192 480 4771(with)m gsave
1195 240 fnt31 0 -52(stdin)m
1198 1782(is)s 1992(as)s 2242(if)s gsave
1201 240 fnt31 0 -52(overwrite)m
1204 3420(had)s 3824(been)s 4333(speci\207ed)s 5241(\(or)s gsave
1210 6139(if)s 6356(only)s gsave
1213 240 fnt31 0 -52(fd)m
1216 7096(w)s 2(as)k 7517(speci\207ed\).)s 480 4363(The)m 892(client)s
1217 1465(will)s 1874(also)s 2296(use)s gsave
1220 240 fnt31 0 -52(O_NOCTTY)m
1223 3498(when)s 4057(opening)s 4866(\207les)s 5298(speci\207ed)s 6189(by)s
1224 6466(the)s 6798(caller)s 9(,)k 7408(to)s 7630(a)s 4(v)k 4(oid)k
1225 8195(changing)s 480 4123(its)m 756(controlling)s 1858(terminal.)s 480 3715(By)m
1226 810(de)s 1032(f)s 2(ault)k 1523(stdin,)s 2091(std)s
1227 2368(out)s 2729(and)s 3129(stderr)s 3728(of)s 3995(the)s
1228 4338(ser)s 4616(vice)s 5066(will)s 5488(be)s 5766(con)s
1229 6109(nect)s 6507(ed)s 6786(to)s 7021(the)s 7365(cor)s
1230 7670(re)s 7851(spond)s 8422(ing)s 8776(de)s 8998(-)s
1231 480 3475(scrip)m 937(tors)s 1346(on)s 1643(the)s 1991(client.)s
1232 2625(Di)s 2858(ag)s 3077(nos)s 3401(tics)s 3783(from)s
1233 4307(the)s 4655(client)s 5245(and)s 5649(dae)s 5977(mon)s
1234 6460(will)s 6886(also)s 7324(ap)s 7543(pear)s 8014(on)s
1235 8311(stderr)s 13(.)k 480 3067(If)m gsave
1238 240 fnt31 0 -52(wait)m
1241 1170(is)s 1380(speci\207ed,)s 2337(the)s 2685(client)s 3275(will)s
1242 3701(w)s 2(ait)k 4170(for)s 4508(the)s 4856(pipe)s
1243 5324(to)s 5563(be)s 5845(closed,)s 6563(and)s 6967(only)s
1244 7447(e)s 3(xit)k 7862(after)s 8358(this)s 480 2827(has)m
1245 850(happened.)s 1872(This)s 2348(means)s 3010(that)s 3428(either)s
1246 4031(the)s 4379(recei)s 6(ving)k 5315(end)s 5719(of)s
1247 5990(the)s 6338(pipe)s 6806(connection)s 7913(w)s 2(as)k
1248 8334(closed)s 480 2587(while)m 1067(data)s 1525(w)s 2(as)k
1249 1946(still)s 2358(a)s 4(v)k 6(ailable)k 3266(at)s
1250 3498(the)s 3846(sending)s 4644(end,)s 5097(or)s 5356(that)s
1251 5774(the)s 6122(end)s 6526(of)s 6797(\207le)s 7158(w)s 2(as)k
1252 7579(reached)s 8380(on)s 8677(the)s 480 2347(reading)m 1250(\207le)s
1253 1611(descriptor)s 13(.)k 2657(Errors)s 3304(encountered)s 4531(reading)s
1254 5301(or)s 5560(writing)s 6303(in)s 6546(the)s 6894(client)s
1255 7484(at)s 7716(this)s 8112(stage)s 8659(will)s 480 2106(be)m
1256 762(considered)s 1855(a)s 2021(system)s 2744(error)s 3266(and)s
1257 3670(cause)s 4256(the)s 4603(client)s 5193(to)s 5431(e)s 3(xit)k
1258 5845(with)s 6327(status)s 6921(255,)s 7387(b)s 4(ut)k
1259 7749(will)s 8174(not)s 8539(cause)s 480 1866(disconnection)m 1866(at)s
1260 2098(the)s 2446(service)s 3178(side)s 3619(since)s 4166(the)s
1261 4514(service)s 5246(has)s 5616(already)s 6373(e)s 3(xited.)k
1265 240 fnt31 0 -52(close)m
1267 1270(is)s 1480(speci\207ed)s
1268 2388(the)s 2736(client)s 3326(will)s 3752(immediately)s 5000(close)s
1269 5547(the)s 5895(pipe)s 6363(connection)s 7470(by)s 7764(killing)s
1270 8441(the)s 480 1218(rele)m 6(v)k 6(ant)k 1297(cop)s 2(y)k
1274 240 fnt31 0 -52(cat)m
1277 2720(the)s 3068(service)s 3800(uses)s 4263(the)s 4611(descriptor)s
1278 5626(it)s 5818(will)s 6244(get)s gsave
1281 240 fnt31 0 -52(SIGPIPE)m
1287 240 fnt31 0 -52(EPIPE)m
1289 8194(\))s 8322(for)s
1290 8660(a)s 480 978(writing)m 1218(descriptor)s 2228(or)s 2482(end)s
1291 2881(of)s 3147(\207le)s 3502(for)s 3835(a)s 3996(reading)s
1292 4761(one;)s 5214(the)s 5557(descriptor)s 6566(opened)s 7311(by)s
1293 7600(or)s 7854(passed)s 8545(to)s 8778(the)s 480 738(client)m
1294 1070(will)s 1496(also)s 1934(be)s 2216(closed.)s 0 52(User)m
1295 511(service)s 1243(daemon)s 2058(and)s 2462(client)s 3052(speci\207cation)s
1306 %%PageResources: font Times-Roman
1308 %%+ font Courier-Bold
1309 %%+ font Times-Italic
1311 0.0500 dup scale 10 setlinewidth
1315 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
1330 1417 -15423 translate
1331 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
1335 240 fnt84 0 13842(6)m 240 fnt82 480 13251(If)m gsave
1341 1364(is)s 1570(speci\207ed)s 2475(then)s 2941(the)s
1342 3285(client)s 3872(will)s 4294(not)s 4657(w)s 2(ait)k
1343 5123(and)s 5523(the)s 5868(connection)s 6972(will)s 7394(remain)s
1344 8111(open)s 8630(after)s 480 13011(the)m 824(client)s 1409(terminates.)s
1345 2502(Data)s 3008(may)s 3469(continue)s 4344(to)s 4578(be)s
1346 4856(passed)s 5547(between)s 6396(the)s 6739(inheritors)s 7700(of)s
1347 7966(the)s 8309(rele)s 6(v)k 6(ant)k 480 12771(descriptor)m
1348 1484(on)s 1770(the)s 2107(service)s 2828(side)s 3258(and)s
1349 3651(the)s 3988(corresponding)s 5399(\207le)s 5749(or)s 5997(descriptor)s
1350 7001(on)s 7287(the)s 7624(client)s 8203(side)s 8633(until)s
1351 480 12531(either)m 1071(side)s 1499(closes)s 2121(their)s 2606(descriptor)s 13(.)k
1352 3639(This)s 4102(should)s 4786(not)s 5140(usually)s 5872(be)s
1353 6141(speci\207ed)s 7036(for)s 7362(stderr)s 7952(\(or)s 8277(stdout)s
1357 240 fnt31 0 -52(\211\211signals)m 1440(stdout)s
1360 2350(used\))s 2916(since)s 3462(diagnostics)s 4588(from)s 5111(the)s
1361 5457(service)s 6188(side)s 6628(may)s 7093(arri)s 6(v)k 3(e)k
1362 7695(after)s 8190(the)s 8536(client)s 480 12051(has)m 850(e)s 3(xited)k
1363 1489(and)s 1893(be)s 2175(confused)s 3097(with)s 3579(e)s 3(xpected)k
1364 4484(output.)s 480 11643(The)m 908(def)s 2(ault)k 1629(is)s
1366 1839 11697 translate
1368 240 fnt31 0 -52(wait)m
1370 2299(for)s 2637(writing)s 3380(\207le)s
1371 3741(descriptors)s 4840(and)s gsave
1372 5244 11697 translate
1374 240 fnt31 0 -52(close)m
1377 6142(reading)s 6912(ones.)s gsave
1380 240 fnt31 0 -52(\211w)m gsave
1389 240 fnt83 0 -52(action)m
1397 0 -52(\211\211fdwait)m gsave
1400 240 fnt83 0 -52(fd)m
1410 480 10769(Sets)m 924(the)s 1267(action)s 1903(on)s
1411 2194(termination)s 3347(of)s 3613(the)s 3956(service)s 4682(for)s
1412 5015(the)s 5358(speci\207ed)s 6261(\207le)s 6616(descriptor;)s 240 fnt83
1413 7678 10771(action)m 240 fnt82 8325 10769(must)m 8844(be)s gsave
1422 240 fnt31 0 -52(nowait)m
1426 1886 10583 translate
1428 240 fnt31 0 -52(close)m
1430 2439(as)s 2682(described)s 3650(abo)s 3(v)k 3(e.)k
1431 4313(The)s 4734(\207le)s 5088(descriptor)s 6096(must)s 6615(be)s
1432 6890(speci\207ed)s 7791(as)s 8034(open)s 8550(when)s 480 10289(this)m
1433 876(option)s 1545(is)s 1755(encountered;)s 3036(this)s 3432(option)s
1434 4101(is)s 4311(o)s 3(v)k 3(erridden)k 5398(by)s
1435 5692(an)s 3(y)k 6089(later)s gsave
1436 6572 10343 translate
1438 240 fnt31 0 -52(\211\211file)m
1442 7491 10343 translate
1444 240 fnt31 0 -52(\211\211fdwait)m
1446 8352(option)s 480 10049(-)m
1447 608(e)s 6(v)k 3(en)k 1108(by)s 1402(a)s
1449 1568 10103 translate
1451 240 fnt31 0 -52(\211\211file)m
1453 2228(which)s 2870(does)s 3360(not)s
1454 3726(specify)s 4470(an)s 4753(action)s 5394(on)s 5691(termination)s
1455 6849(\(in)s 7171(this)s 7567(case)s 8034(the)s 8382(def)s 2(ault)k
1456 480 9809(will)m 906(be)s 1188(used,)s 1734(as)s 1984(described)s
1457 2958(abo)s 3(v)k 3(e\).)k gsave
1460 240 fnt31 0 -52(\211D)m
1464 240 fnt83 0 -52(name)m
1469 240 fnt83 0 -52(value)m
1477 240 fnt31 0 -52(\211\211defvar)m gsave
1480 240 fnt83 0 -52(name)m
1486 240 fnt83 0 -52(value)m
1490 480 8945(Set)m 845(a)s 1011(user)s 4(-)k
1491 1473(de\207ned)s 2236(v)s 6(ari)k 2595(able)s 240 fnt83
1492 3049 8947(name)m 240 fnt82 3621 8945(to)m 240 fnt83 3860 8947(val)m
1493 4152(ue)s 240 fnt82 4371 8945(.)m 4475(These)s 5102(user)s 4(-)k
1494 5564(de\207ned)s 6327(v)s 6(ari)k 6686(ables)s 7228(are)s
1495 7575(made)s 8149(a)s 4(v)k 6(ail)k 8598(able)s
1496 480 8705(in)m 723(the)s 1071(con)s 1414(\207g)s 1660(u)s
1497 1775(ra)s 1960(tion)s 2389(lan)s 2678(guage)s 3306(as)s
1498 3556(the)s 3904(pa)s 4130(ram)s 4501(e)s 4603(ters)s
1502 240 fnt31 0 -52(u\211)m gsave
1505 240 fnt83 0 -52(name)m
1510 6168(are)s 6515(passed)s 7211(to)s 7450(the)s 7798(ser)s
1511 8076(vice)s 8530(in)s 8773(en)s 8996(-)s 480 8465(vi)m
1512 660(ron)s 976(ment)s 1508(v)s 6(ari)k 1867(ables)s
1516 240 fnt31 0 -52(USERV_U_)m gsave
1519 240 fnt83 0 -52(name)m
1524 240 fnt83 3806 8467(name)m 240 fnt82 4371 8465(may)m 4831(con)s
1525 5174(tain)s 5582(only)s 6055(al)s 6222(phanu)s 6803(mer)s
1526 7174(ics)s 7483(and)s 7880(un)s 8117(der)s 8422(scores,)s
1527 480 8225(and)m 884(must)s 1409(start)s 1879(with)s 2360(a)s
1528 2526(let)s 2764(ter)s 13(.)k 3106(If)s 3335(se)s 6(v)k
1529 3643(er)s 3828(al)s 4055(de\207)s 4406(ni)s 4586(tions)s
1530 5102(are)s 5449(gi)s 6(v)k 5744(en)s 6026(for)s
1531 6364(the)s 6712(same)s 240 fnt83 7258 8227(name)m 240 fnt82
1532 7830 8225(then)m 8299(only)s 8778(the)s 480 7985(last)m 871(is)s
1533 1081(ef)s 1278(fec)s 1562(ti)s 6(v)k 3(e.)k
1537 240 fnt31 0 -52(\211t)m gsave
1540 240 fnt83 0 -52(seconds)m
1548 0 -52(\211\211timeout)m gsave
1551 240 fnt83 0 -52(seconds)m
1555 480 7160(T)m 8(ime)k
1556 1029(out)s 1392(the)s 1736(service)s 2465(if)s 2678(it)s
1557 2867(tak)s 2(es)k 3403(longer)s 4071(than)s 240 fnt83
1558 4536 7162(seconds)m 240 fnt82 5346 7160(seconds)m 6151(\(a)s 6393(positi)s 6(v)k 3(e)k
1559 7193(inte)s 3(ger)k 9(,)k 7948(in)s 8187(decimal\).)s
1560 480 6919(T)m 8(imeout)k 1331(will)s 1746(produce)s 2562(a)s
1561 2717(diagnostic)s 3742(on)s 4028(stderr)s 4620(and)s 5013(an)s
1562 5284(e)s 3(xit)k 5688(status)s 6272(of)s 6532(255.)s
1563 6985(If)s 240 fnt83 7204 6921(seconds)m 240 fnt82 8006 6919(is)m
1564 8205(zero)s 8657(then)s 480 6679(no)m 773(timeout)s 1563(will)s
1565 1989(be)s 2271(implemented)s 3577(\(this)s 4052(is)s 4262(the)s
1566 4610(def)s 2(ault\).)k gsave
1569 240 fnt31 0 -52(\211S)m
1572 380 6287(method)m gsave
1575 240 fnt31 0 -52(\211\211signals)m
1577 1081 6047(method)m 240 fnt82
1578 480 5805(Af)m 6(fects)k 1212(the)s 1544(handling)s 2420(of)s
1579 2675(the)s 3008(e)s 3(xit)k 3407(status)s 3987(when)s
1580 4547(the)s 4879(service)s 5596(terminates)s 6625(due)s 7012(to)s
1581 7235(a)s 7386(signal.)s 8045(\(The)s 8536(client)s 480 5564(will)m
1582 906(al)s 2(w)k 2(ays)k 1617(\207nish)s 2206(by)s
1583 2500(calling)s gsave
1586 240 fnt31 0 -52(_exit)m
1589 4076(that)s 4494(only)s 4974(numbers)s 5849(from)s 6373(0)s
1590 6548(to)s 6787(255)s 7193(can)s 7582(be)s 7864(returned)s
1591 8718(and)s 480 5324(not)m 830(the)s 1162(full)s 1532(range)s
1592 2102(of)s 2357(numbers)s 3216(and)s 3603(signal)s 4213(indications)s
1593 5297(which)s 5922(can)s 6295(be)s 6561(returned)s 7398(by)s
1597 240 fnt31 0 -52(wait)m
1600 480 5084(of)m 751(system)s 1475(calls.\))s 480 4676(The)m 240 fnt83
1601 908 4678(method)m 240 fnt82 1679 4676(may)m 2145(be)s 2427(one)s
1602 2829(of)s 3100(the)s 3448(follo)s 6(wing:)k 240 fnt83
1603 600 4438(status)m 240 fnt82 960 4196(The)m 1386(client')s 13(s)k
1604 2123(e)s 3(xit)k 2536(status)s 3128(will)s 3552(be)s
1605 240 fnt83 3831 4198(status)m 240 fnt82 4384 4196(.)m 4486(This)s
1606 4959(will)s 5383(not)s 5746(be)s 6026(distinguishable)s 7527(from)s
1607 8049(the)s 8394(service)s 960 3955(really)m 1557(ha)s 4(ving)k
1608 2258(e)s 3(xited)k 2897(with)s 3379(code)s 240 fnt83
1609 3887 3957(status)m 240 fnt82 4440 3955(.)m 4544(This)s 5020(method)s
1610 5796(is)s 6006(the)s 6354(def)s 2(ault,)k 7122(with)s
1611 7604(a)s 240 fnt83 7770 3957(status)m 240 fnt82 8383 3955(of)m
1615 240 fnt31 0 -52(number)m
1620 240 fnt31 0 -52(number\211nocore)m
1623 960 3235(The)m 1388(client')s 13(s)k 2128(e)s 3(xit)k
1624 2543(status)s 3138(will)s 3564(be)s 3846(the)s 4194(number)s
1625 4985(of)s 5256(the)s 5604(signal)s 6230(which)s 6872(caused)s
1626 7581(the)s 7929(termination)s 960 2995(of)m 1231(the)s 1579(service.)s
1630 240 fnt31 0 -52(number)m
1632 3249(is)s 3459(used)s
1633 3956(rather)s 4572(than)s gsave
1636 240 fnt31 0 -52(number\211nocore)m
1639 6871(128)s 7278(will)s 7704(be)s 7986(added)s 960 2755(if)m
1640 1177(the)s 1525(service)s 2257(dumped)s 3087(core.)s gsave
1646 4262(is)s 4472(v)s 3(ery)k 4948(lik)s 2(e)k
1647 5360(the)s 5708(e)s 3(xit)k 6123(code)s 6631(mangling)s
1648 7588(done)s 8110(by)s 8404(the)s 960 2515(Bourne)m 1721(shell.)s
1652 240 fnt31 0 -52(highbit)m
1654 960 2035(The)m 1388(client')s 13(s)k
1655 2128(e)s 3(xit)k 2543(status)s 3138(will)s 3564(be)s
1656 3846(the)s 4194(number)s 4985(of)s 5256(the)s 5604(signal)s
1657 6230(with)s 6712(128)s 7119(added.)s 7795(If)s 8025(the)s
1658 8373(service)s 960 1795(e)m 3(xits)k 1459(normally)s 2376(with)s
1659 2858(an)s 3141(e)s 3(xit)k 3556(code)s 4064(of)s
1660 4335(greater)s 5057(than)s 5526(127)s 5934(then)s 6403(127)s
1661 6811(will)s 7237(be)s 7519(returned.)s gsave
1664 240 fnt31 0 -52(stdout)m
1667 960 1315(The)m 1375(service')s 13(s)k 2247(numeric)s 3069(w)s 2(ait)k
1668 3524(status)s 4105(as)s 4341(tw)s 2(o)k 4737(decimal)s
1669 5534(numbers)s 6395(\(high)s 6943(byte)s 7397(\207rst\))s 7882(and)s
1670 8272(a)s 8424(te)s 3(xtual)k 960 1075(description)m 2079(of)s
1671 2350(its)s 2626(meaning)s 3503(will)s 3929(be)s 4211(printed)s
1672 4946(to)s 5185(the)s 5533(client')s 13(s)k 6273(standard)s
1673 7141(output.)s 7857(It)s 8062(will)s 8488(be)s 960 835(preceded)m
1674 1865(by)s 2142(a)s 2292(ne)s 6(wline)k 3082(and)s
1675 3470(follo)s 6(wed)k 4355(by)s 4633(an)s 4899(e)s 3(xtra)k
1676 5417(ne)s 6(wline,)k 6258(and)s 6646(the)s 6977(numbers)s
1677 7836(are)s 8166(separated)s 0 52(0.62)m 4809(User)s 5320(service)s
1678 6052(daemon)s 6867(and)s 7271(client)s 7861(speci\207cation)s
1688 %%PageResources: font Times-Roman
1690 %%+ font Courier-Bold
1691 %%+ font Times-Italic
1693 0.0500 dup scale 10 setlinewidth
1697 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
1712 1417 -15423 translate
1713 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
1717 240 fnt84 8951 13844(7)m 240 fnt82 960 13256(from)m 1484(each)s
1718 1979(other)s 2530(and)s 2934(from)s 3458(the)s 3806(te)s 3(xtual)k
1719 4508(description)s 5627(by)s 5921(single)s 6548(spaces.)s 7276(The)s
1720 7704(e)s 3(xit)k 8119(status)s 8714(of)s 960 13016(the)m
1721 1308(client)s 1898(will)s 2324(be)s 2606(zero,)s 3124(unless)s
1722 3773(a)s 3939(system)s 4663(error)s 5186(occurs)s 5861(in)s
1723 6104(which)s 6746(case)s 7213(no)s 7506(e)s 3(xit)k
1724 7921(status)s 8516(and)s 960 12776(description)m 2079(will)s 2505(be)s
1725 2787(printed)s 3522(to)s 3761(stdout,)s 4453(and)s 4857(an)s
1726 5140(error)s 5663(message)s 6529(will)s 6955(be)s 7237(printed)s
1727 7972(to)s 8211(stderr)s 960 12536(as)m 1210(usual.)s 480 12024(Problems)m
1728 1420(such)s 1902(as)s 2137(client)s 2713(usage)s 3299(errors,)s
1729 3948(the)s 4281(service)s 4999(not)s 5351(being)s 5921(found)s
1730 6524(or)s 6768(permission)s 7860(being)s 8430(denied)s 480 11784(or)m
1731 739(f)s 2(ailure)k 1415(of)s 1686(a)s 1852(system)s
1732 2576(call)s 2975(are)s 3322(system)s 4046(errors.)s 4706(An)s
1733 5056(error)s 5579(message)s 6445(describing)s 7494(the)s 7842(problem)s
1734 8699(will)s 480 11543(be)m 758(printed)s 1489(on)s 1782(the)s
1735 2125(client')s 13(s)k 2861(stderr)s 9(,)k 3498(and)s
1736 3898(the)s 4241(client')s 13(s)k 4977(e)s 3(xit)k
1737 5388(status)s 5978(will)s 6400(be)s 6678(255.)s 7138(If)s
1738 7363(the)s 7707(client)s 8293(dies)s 8724(due)s 480 11303(to)m
1739 719(a)s 885(signal)s 1511(this)s 1907(should)s 2604(be)s
1740 2886(treated)s 3593(as)s 3843(a)s 4009(serious)s 4737(system)s
1741 5461(error)s 13(.)k gsave
1744 240 fnt31 0 -52(\211H)m
1750 0 -52(\211\211hidecwd)m
1752 480 10429(Pre)m 6(v)k 3(ents)k 1345(the)s
1753 1693(calling)s 2396(process')s 13(s)k 3323(current)s 4059(directory)s
1754 4975(name)s 5549(from)s 6073(being)s 6658(passed)s 7354(to)s
1755 7593(the)s 7941(service;)s 8729(the)s 480 10189(null)m 907(string)s
1756 1504(will)s 1930(be)s 2212(passed)s 2908(instead.)s gsave
1765 240 fnt31 0 -52(\211\211sigpipe)m
1767 480 9315(If)m 700(the)s
1768 1038(service)s 1760(program)s 2620(is)s 2820(terminated)s 3888(due)s
1769 4280(to)s 4509(a)s gsave
1772 240 fnt31 0 -52(SIGPIPE)m
1775 5753(e)s 3(xit)k 6157(status)s 6742(of)s 7003(the)s
1776 7341(client)s 7921(will)s 8337(be)s 8608(zero,)s 480 9075(e)m 6(v)k 3(en)k
1777 967(if)s 1170(it)s 1349(w)s 2(ould)k 1990(ha)s 4(v)k 3(e)k
1778 2477(been)s 2973(something)s 4009(else)s 4423(according)s 5405(to)s
1779 5630(the)s 5965(e)s 3(xit)k 6366(status)s 6948(method)s
1780 7710(speci\207ed.)s 8650(This)s 480 8835(option)m 1149(has)s 1519(no)s
1781 1812(ef)s 6(fect)k 2408(on)s 2705(the)s 3053(code)s
1782 3561(and)s 3965(description)s 5084(printed)s 5819(if)s 6036(the)s
1783 6384(e)s 3(xit)k 6799(status)s 7394(method)s gsave
1789 8830(is)s 480 8595(in)m 723(use.)s gsave
1798 240 fnt31 0 -52(\211\211help)m
1803 240 fnt31 0 -52(\211\211copyright)m
1809 240 fnt31 0 -52(\211h)m
1814 240 fnt31 0 -52(\211\211help)m
1817 1659(prints)s 2254(the)s 2602(client')s 13(s)k 3342(usage)s
1818 3943(message;)s gsave
1821 240 fnt31 0 -52(\211\211copyright)m
1823 6026(prints)s 6621(the)s
1824 6969(cop)s 2(yright)k 7944(and)s 8348(lack)s 8807(of)s
1825 480 7291(w)m 2(arranty)k 1381(notice.)s 9066 670 0 670 240 240 60 0 6161 LoutGr2
1826 newpath 0 ysize 0.3 ft sub moveto
1832 320 fnt84 0 66(2.2.)m
1833 628(Security-o)s 3(v)k 3(erriding)k 3373(options)s
1836 613(are)s 960(also)s 1398(some)s 1959(options)s 2715(which)s
1837 3357(are)s 3704(a)s 4(v)k 6(ailable)k 4612(for)s
1838 4950(deb)s 4(ugging)k 6011(and)s 6415(to)s 6654(allo)s 6(w)k
1839 7233(the)s 7581(system)s 0 5459(administrator)m 1333(to)s 1572(o)s 3(v)k 3(erride)k
1840 2418(a)s 2584(user')s 13(s)k 3192(polic)s 3(y)k 15(.)k
1841 3876(These)s 4503(options)s 5259(are)s 5606(a)s 4(v)k 6(ailable)k
1842 6514(only)s 6994(if)s 7211(the)s 7559(client)s 8149(is)s
1843 8359(called)s 0 5219(by)m 294(root)s 739(or)s 998(if)s
1844 1215(the)s 1563(calling)s 2266(user)s 2724(is)s 2934(the)s
1845 3282(same)s 3829(as)s 4079(the)s 4427(service)s 5159(user)s 13(.)k
1849 240 fnt31 0 -52(\211\211override)m gsave
1852 240 fnt83 0 -52(con\207gur)m 3(ation-data)k
1860 240 fnt31 0 -52(\211\211override\211file)m gsave
1863 240 fnt83 0 -52(\207lename)m
1868 826(not)s 1192(read)s 1661(the)s 2009(usual)s 2569(con\207guration)s
1869 3902(\207les.)s 4404(Instead,)s 5201(the)s 5549(client)s 6139(sends)s
1870 240 fnt83 6722 4333(con\207gur)m 3(ation-data)k 240 fnt82 480 4090(\(follo)m 6(wed)k
1871 1461(by)s 1755(a)s 1921(ne)s 6(wline\))k 2800(or)s
1872 3059(the)s 3407(contents)s 4255(of)s 240 fnt83 4526 4092(\207lename)m
1873 240 fnt82 5390 4090(\(which)m 6111(is)s 6321(opened)s 7071(in)s
1874 7314(the)s 7662(conte)s 3(xt)k 8423(of)s 8694(the)s
1875 480 3849(client\))m 1138(to)s 1377(the)s 1725(daemon)s 2540(and)s
1876 2944(the)s 3292(daemon)s 4107(uses)s 4570(that)s 4988(data)s
1877 5446(instead.)s 6227(The)s 240 fnt83 6655 3851(con\207gur)m 3(ation-data)k
1878 240 fnt82 8503 3849(must)m 480 3609(all)m 772(be)s 1052(in)s
1879 1293(one)s 1693(ar)s 4(gument.)k 2694(It)s 2897(will)s
1880 3321(ha)s 4(v)k 3(e)k 3820(a)s 3984(single)s
1881 4609(ne)s 6(wline)k 5414(appended)s 6388(so)s 6652(that)s
1882 7068(a)s 7232(single)s 7857(directi)s 6(v)k 3(e)k
1883 8737(can)s 480 3369(easily)m 1083(be)s 1357(gi)s 6(v)k 3(en,)k
1884 1979(b)s 4(ut)k 2333(if)s 2542(more)s 3080(than)s
1885 3541(one)s 3935(directi)s 6(v)k 3(e)k 4809(is)s
1886 5011(required)s 5857(it)s 6040(will)s 6458(ha)s 4(v)k 3(e)k
1887 6951(to)s 7182(contain)s 7935(one)s 8329(or)s 8579(more)s
1888 480 3129(real)m 892(ne)s 6(wlines.)k gsave
1891 240 fnt31 0 -52(\211\211spoof\211user)m
1895 240 fnt83 0 -52(user)m
1899 480 2544(Pretend)m 1268(to)s 1507(the)s
1900 1855(service)s 2587(that)s 3005(it)s 3197(is)s 3407(being)s
1901 3992(called)s 4620(by)s 240 fnt83 4914 2546(user)m 240 fnt82
1902 5391 2544(\(which)m 6112(may)s 6578(be)s 6860(a)s 7026(username)s
1903 7998(or)s 8257(a)s 8423(uid\).)s 480 2304(This)m 956(will)s
1904 1382(also)s 1820(af)s 6(fect)k 2416(the)s 2764(group)s
1905 3376(and)s 3780(supplementary)s 5242(groups)s 5945(supplied)s 6814(to)s
1906 7053(the)s 7401(service;)s 8189(the)s 3(y)k 8652(will)s
1907 480 2064(be)m 759(the)s 1103(standard)s 1968(group)s 2576(and)s
1908 2977(supplementary)s 4435(groups)s 5135(for)s 240 fnt83 5469 2066(user)m
1909 240 fnt82 5886 2064(.)m 5987(The)s gsave
1912 240 fnt31 0 -52(\211\211spoof\211user)m
1915 7669(option)s 8334(will)s 240 fnt83 8756 2066(not)m 240 fnt82
1916 480 1824(af)m 6(fect)k 1076(which)s 1718(user)s 2176(is)s
1917 2386(chosen)s 3108(if)s 3325(the)s 3673(service)s 4405(user)s
1918 4863(is)s 5073(speci\207ed)s 5981(as)s 6231(just)s gsave
1924 6736(;)s 6848(in)s 7091(this)s 7487(case)s
1925 7954(the)s 8302(service)s 480 1584(user)m 938(will)s 1364(be)s
1926 1646(the)s 1994(real)s 2406(calling)s 3109(user)s 13(.)k
1927 0 52(User)m 511(service)s 1243(daemon)s 2058(and)s 2462(client)s
1928 3052(speci\207cation)s 8652(0.62)s
1938 %%PageResources: font Times-Roman
1940 %%+ font Courier-Bold
1942 0.0500 dup scale 10 setlinewidth
1946 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
1961 1417 -15423 translate
1962 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
1966 240 fnt84 0 13842(8)m gsave
1968 240 fnt82 9066 688 0 688 240 240 60 LoutGraphic
1970 newpath 0 ysize 0.3 ft sub moveto
1976 340 fnt84 0 70(3.)m 412(Execution)s
1977 1943(en)s 13(vir)k 6(onment)k 3856(of)s 4243(the)s
1978 4774(ser)s 3(vice)k 5846(pr)s 6(ogram)k
1981 0 12264(The)m 428(daemon)s 1243(which)s 1885(is)s 2095(handling)s
1982 2986(the)s 3334(service)s 4066(user)s 4524(side)s 4965(of)s
1983 5236(things)s 5872(will)s 6298(read)s 6767(con\207guration)s 8100(\207les)s
1984 8549(to)s 0 12024(decide)m 680(what)s 1205(to)s 1444(do.)s
1985 1788(If)s 2018(it)s 2210(decides)s 2978(to)s 3217(allo)s 6(w)k
1986 3796(the)s 4144(service)s 4876(to)s 5115(be)s 5397(pro)s 3(vided)k
1987 6303(it)s 6495(will)s 6921(fork)s 7380(a)s 7546(subprocess)s
1988 8647(to)s 0 11784(e)m 3(x)k 3(ecute)k 780(the)s
1989 1128(service.)s 0 11376(The)m 428(service)s 1160(will)s 1586(ha)s 4(v)k 3(e)k
1990 2087(no)s 2380(controlling)s 3482(terminal,)s 4384(b)s 4(ut)k
1991 4746(it)s 4938(will)s 5364(be)s 5646(a)s 5812(process)s
1992 6580(group)s 7192(leader)s 13(.)k 0 10968(If)m 223(the)s
1993 563(client)s 1146(is)s 1348(killed)s 1942(or)s 2194(times)s
1994 2754(out)s 3112(or)s 3364(a)s 3522(\207le)s 3875(or)s
1995 4127(descriptor)s 5134(being)s 5711(read)s 6173(or)s 6424(written)s
1996 7149(by)s 7436(the)s 7776(client)s 8358(process)s 0 10728(gets)m
1997 436(an)s 719(error)s 1242(then)s 1711(the)s 2059(service)s
1998 2791(will)s 3217(be)s 3499(disconnected)s 4806(from)s 5330(the)s
1999 5678(client.)s 6312(The)s 6740(client)s 7330(will)s 7756(return)s
2000 8383(an)s 0 10487(e)m 3(xit)k 415(status)s 1010(of)s
2001 1281(255)s 1687(and)s 2091(some)s 2652(the)s 3000(service')s 13(s)k
2002 3886(pipes)s 4442(may)s 4908(be)s 5190(closed)s 5859(at)s
2003 6091(the)s 6439(other)s 6990(end.)s 7440(The)s 7868(service)s
2004 8600(will)s 0 10247(become)m 800(a)s 966(child)s 1502(of)s
2006 1773 10301 translate
2008 240 fnt31 0 -52(init)m
2010 2173(.)s 2277(The)s 2705(service)s
2011 3437(may)s 3903(well)s 4369(not)s 4735(notice)s 5375(the)s
2012 5723(disconnection,)s 7159(though)s 7882(writing)s 8625(to)s 8864(a)s
2013 0 10007(pipe)m 468(after)s 964(this)s 1360(may)s 1826(produce)s
2015 2819 10061 translate
2017 240 fnt31 0 -52(SIGPIPE)m
2019 3579(and)s 3983(the)s
2020 4331(f)s 2(acility)k 5058(e)s 3(xists)k 5650(to)s
2021 5889(ha)s 4(v)k 3(e)k 6390(a)s gsave
2022 6556 10061 translate
2027 7216(sent)s 7661(to)s 7900(the)s 8248(service)s
2028 0 9767(on)m 297(disconnection.)s 9066 670 0 670 240 240 60 0 8743 LoutGr2
2029 newpath 0 ysize 0.3 ft sub moveto
2035 320 fnt84 0 66(3.1.)m 628(File)s
2038 0 8281(The)m 428(service)s 1160(program')s 13(s)k
2039 2180(standard)s 3048(\207ledescriptors,)s 4508(and)s 4912(possibly)s 5764(other)s
2040 6315(\207le)s 6676(descriptors,)s 7831(will)s 8257(be)s 0 8041(connected)m
2041 1028(to)s 1266(pipes)s 1821(or)s 2080(to)s gsave
2047 3219(.)s 3322(The)s gsave
2050 240 fnt31 0 -52(userv)m
2053 4309(client/daemon)s 5719(pair)s 6150(will)s 6575(arrange)s 7346(that)s
2054 7764(data)s 8221(is)s 8430(copied)s 0 7801(between)m 854(the)s
2055 1202(\207les)s 1651(or)s 1910(\207le)s 2271(descriptors)s 3370(speci\207ed)s
2056 4278(to)s 4517(to)s 4756(the)s 5104(client)s 5694(by)s
2057 5988(the)s 6336(caller)s 6925(and)s 7329(these)s 7876(these)s
2058 8423(pipes.)s 0 7393(Pipes)m 569(which)s 1211(may)s 1677(be)s
2059 1959(written)s 2692(to)s 2931(will)s 3357(be)s 3639(closed)s
2060 4308(if)s 4525(a)s 4691(write)s 5237(error)s 5760(occurs)s
2061 6435(on)s 6732(the)s 7080(corresponding)s 0 7153(client-side)m 1043(\207le)s
2062 1396(or)s 1647(descriptor)s 9(,)k 2692(which)s 3326(may)s
2063 3784(result)s 4366(in)s 4601(a)s gsave
2066 240 fnt31 0 -52(SIGPIPE)m
2069 5512(in)s 5747(the)s 6087(service)s 6811(program;)s 7725(pipes)s
2070 8273(open)s 8788(for)s 0 6913(reading)m 770(will)s 1196(get)s
2074 240 fnt31 0 -52(EOF)m
2076 1908(if)s 2125(the)s 2473(client-side)s
2077 3523(\207le)s 3884(descriptor)s 4899(gets)s gsave
2080 240 fnt31 0 -52(EOF)m
2083 5695(or)s 5954(an)s 6237(error)s 13(.)k 0 6505(If)m
2084 230(the)s 578(service)s 1310(closes)s 1945(one)s 2347(of)s
2085 2618(its)s 2894(reading)s 3663(\207le)s 4024(descriptors)s 5123(the)s
2086 5471(writing)s 6214(end)s 6618(of)s 6889(the)s 7237(corresponding)s
2087 8658(pipe)s 0 6265(will)m 421(generate)s 1280(a)s gsave
2093 2195(when)s 2766(attempts)s 3620(are)s 3962(made)s
2094 4530(by)s 4819(the)s 5161(client/daemon)s 6567(pair)s 6992(to)s
2095 7226(write)s 7766(to)s 8000(it.)s 8230(This)s 8700(will)s
2096 0 6025(not)m 366(be)s 648(considered)s 1742(an)s 2025(error;)s
2097 2600(rather)s 9(,)k 3254(the)s 3602(rele)s 6(v)k 6(ant)k
2098 4419(pipe)s 4887(will)s 5313(be)s 5595(discarded)s 6569(and)s
2099 6973(the)s 7321(corresponding)s 8743(\207le)s 0 5785(or)m 259(\207le)s
2100 620(descriptor)s 1635(held)s 2105(by)s 2399(the)s 2747(client)s
2101 3337(will)s 3763(be)s 4045(closed.)s 0 5377(Lik)m 2(e)k 6(wise,)k
2102 975(if)s 1192(one)s 1594(of)s 1865(the)s 2213(\207le)s
2103 2574(descriptors)s 3673(held)s 4143(by)s 4437(the)s 4785(client)s
2104 5375(for)s 5713(writing)s 6456(by)s 6750(the)s 7098(service)s
2105 7830(is)s 8040(a)s 8206(pipe)s 0 5137(whose)m 665(other)s
2106 1213(end)s 1613(is)s 1820(closed)s 2485(by)s 2776(the)s
2107 3120(caller)s 3706(then)s 4171(the)s 4516(client/daemon)s 5923(pair)s
2108 6351(will)s 6773(see)s 7131(an)s 7410(error)s 7930(when)s
2109 8502(trying)s 0 4897(to)m 239(cop)s 2(y)k 757(data)s
2110 1215(pro)s 3(vided)k 2121(by)s 2415(the)s 2763(service.)s
2111 3543(This)s 4019(too)s 4378(will)s 4804(not)s 5170(be)s
2112 5452(considered)s 6546(an)s 6829(error;)s 7404(rather)s 9(,)k
2113 8058(the)s 8406(pipe)s 0 4657(correspondong)m 1476(to)s 1715(that)s
2114 2133(descriptor)s 3148(will)s 3574(be)s 3856(closed)s 4525(and)s
2115 4929(an)s 3(y)k 5326(further)s 6035(writes)s 6669(will)s
2116 7095(cause)s 7682(the)s 8030(service)s 8762(to)s 0 4417(get)m
2120 240 fnt31 0 -52(SIGPIPE)m
2122 1218(.)s 0 4009(Note)m
2123 521(that)s 939(not)s 1305(all)s 1598(write)s 2144(errors)s
2124 2751(or)s 3010(brok)s 2(en)k 3730(pipes)s 4286(on)s
2125 4583(\207le)s 4944(descriptors)s 6043(may)s 6509(be)s 6791(visible)s
2126 7484(to)s 7723(the)s 8071(service,)s 0 3769(since)m 547(b)s 4(uf)k 6(fered)k
2127 1404(data)s 1862(may)s 2328(be)s 2610(discarded)s 3584(by)s
2128 3878(the)s 4226(operating)s 5182(system)s 5906(and)s 6310(there)s
2129 6843(will)s 7269(be)s 7551(a)s 7717(\207nite)s 8264(interv)s 6(al)k
2130 0 3529(between)m 847(the)s 1188(error)s 1703(happening)s 2747(and)s
2131 3144(the)s 3484(service)s 4209(being)s 4787(disconnected)s 6086(from)s
2132 6603(the)s 6944(client)s 7526(or)s 7778(the)s 8119(ne)s 3(xt)k
2133 8580(write)s 0 3289(causing)m 784(a)s gsave
2136 240 fnt31 0 -52(SIGPIPE)m
2139 1650(.)s 0 2881(Read)m 550(errors)s 1157(on)s 1454(\207le)s
2140 1815(descriptors)s 2914(\(and)s 3397(disconnection\))s 4854(will)s 5280(only)s
2141 5760(be)s 6042(visible)s 6735(to)s 6974(the)s 7322(service)s
2142 8054(and)s 0 2641(distinguishable)m 1504(from)s 2028(normal)s 2760(end)s
2143 3164(of)s 3435(\207le)s 3796(if)s gsave
2146 240 fnt31 0 -52(disconnect\211hup)m
2149 5474(is)s 5684(in)s 5927(ef)s 6(fect.)k 0 2233(Read)m
2150 549(and)s 951(write)s 1495(errors)s 2100(\(other)s 2728(than)s
2151 3196(brok)s 2(en)k 3914(pipes,)s 4524(as)s 4772(described)s
2152 5744(abo)s 3(v)k 3(e\))k 6437(will)s 6861(al)s 2(w)k 2(ays)k
2153 7570(be)s 7850(visible)s 8541(to)s 8778(the)s 0 1993(caller;)m
2154 627(the)s 3(y)k 1075(are)s 1408(system)s 2117(errors,)s
2155 2766(and)s 3155(will)s 3566(therefore)s 4469(cause)s 5041(the)s
2156 5375(client)s 5950(to)s 6174(print)s 6671(an)s 6939(error)s
2157 7448(message)s 8299(to)s 8523(stderr)s 0 1752(and)m 404(return)s
2158 1031(with)s 1513(an)s 1796(e)s 3(xit)k 2211(status)s
2159 2806(of)s 3077(255.)s 0 1344(If)m 230(the)s 578(main)s
2160 1113(service)s 1845(program)s 2715(process)s 3483(e)s 3(xits)k
2161 3982(while)s 4569(it)s 4761(still)s 5173(has)s 5543(running)s
2162 6341(children)s 7181(an)s 3(y)k 7578(\207le)s 7939(descriptors)s
2163 0 1104(held)m 470(by)s 764(those)s 1325(children)s 2165(can)s
2164 2554(remain)s 3274(open,)s 3847(depending)s 4898(on)s 5195(the)s
2165 5543(use)s 5918(of)s gsave
2168 240 fnt31 0 -52(wait)m
2174 240 fnt31 0 -52(nowait)m
2179 240 fnt31 0 -52(close)m
2182 8175(for)s 8513(the)s 0 864(rele)m 6(v)k 6(ant)k
2183 817(\207le)s 1178(descriptor)s 2193(in)s 2436(the)s 2784(client')s 13(s)k
2184 3524(ar)s 4(guments.)k 4620(By)s 4954(def)s 2(ault)k
2185 5675(writing)s 6418(\207ledescriptors)s 7822(remain)s 8542(open)s 0 52(0.62)m
2186 4809(User)s 5320(service)s 6052(daemon)s 6867(and)s 7271(client)s
2187 7861(speci\207cation)s
2197 %%PageResources: font Times-Roman
2199 %%+ font Courier-Bold
2200 %%+ font Times-Italic
2202 0.0500 dup scale 10 setlinewidth
2206 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
2221 1417 -15423 translate
2222 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
2226 240 fnt84 8952 13842(9)m 240 fnt82 0 13251(and)m 404(the)s
2227 752(client)s 1342(will)s 1768(w)s 2(ait)k 2237(for)s
2228 2575(them)s 3113(to)s 3352(be)s 3634(closed)s 4303(at)s
2229 4535(the)s 4883(service)s 5615(end,)s 6068(and)s 6472(reading)s
2230 7242(\207le)s 7603(descriptors)s 8702(are)s 0 13011(closed)m 669(immediately)s 15(.)k
2231 1952(These)s 2579(lefto)s 3(v)k 3(er)k 3375(child)s
2232 3911(processes)s 4878(will)s 5304(not)s 5670(get)s 6022(a)s
2233 6188(an)s 3(y)k gsave
2234 6585 13065 translate
2236 240 fnt31 0 -52(SIGHUP)m
2238 7245(e)s 6(v)k 3(en)k
2239 7745(if)s 7962(a)s 8128(read)s 8597(or)s 0 12771(write)m
2240 546(error)s 1069(occurs)s 1744(or)s 2003(the)s 2351(client)s
2241 2941(disconnects)s 4108(before)s 4774(then.)s 9066 609 0 609 240 240 60 0 11808 LoutGr2
2242 newpath 0 ysize 0.3 ft sub moveto
2248 320 fnt84 0 5(3.2.)m
2249 628(En)s 12(vir)k 5(onment)k
2251 0 11346(The)m 428(service)s
2252 1160(will)s 1586(ha)s 4(v)k 3(e)k 2087(some)s
2253 2648(information)s 3833(in)s 4076(en)s 9(vironment)k 5336(v)s 6(ariables:)k
2257 240 fnt31 0 -52(USERV_USER)m
2259 480 10866(The)m 908(login)s 1457(name)s
2260 2031(of)s 2302(the)s 2650(calling)s 3353(user)s 13(.)k
2261 3842(If)s 4072(the)s gsave
2262 4420 10920 translate
2264 240 fnt31 0 -52(LOGNAME)m
2266 5180(v)s 6(ariable)k
2267 5999(is)s 6209(set)s 6534(\(or)s 9(,)k 6910(if)s
2268 7127(that)s 7545(is)s 7755(unset,)s 8367(if)s 8584(the)s
2272 240 fnt31 0 -52(USER)m
2274 940 10626(v)m 6(ariable)k 1759(is)s
2275 1969(set\))s 2362(in)s 2605(the)s 2953(en)s 9(vironment)k
2276 4213(passed)s 4909(to)s 5148(the)s 5496(client)s 6086(by)s
2277 6380(the)s 6728(caller)s 7317(then)s 7786(the)s 8134(passw)s 2(ord)k
2278 480 10386(entry)m 1025(for)s 1363(that)s 1781(login)s 2330(name)s
2279 2904(will)s 3330(be)s 3612(look)s 2(ed)k 4320(up;)s
2280 4672(if)s 4889(that)s 5307(passw)s 2(ord)k 6267(entry')s 13(s)k
2281 6968(uid)s 7332(is)s 7542(the)s 7890(same)s 8437(as)s
2282 8687(that)s 480 10146(of)m 745(the)s 1086(calling)s 1782(process)s
2283 2543(then)s 3005(that)s 3416(login)s 3958(name)s 4525(will)s
2284 4945(be)s 5220(used,)s 5759(otherwise)s 6737(\(or)s 7068(if)s
2285 7278(neither)s gsave
2286 7994 10200 translate
2288 240 fnt31 0 -52(LOGNAME)m
2296 938 9906(is)m 1146(set\))s 1537(the)s 1883(calling)s
2297 2583(process')s 13(s)k 3508(uid)s 3870(will)s 4294(be)s
2298 4573(look)s 2(ed)k 5279(up)s 5570(to)s 5807(determine)s
2299 6815(their)s 7310(login)s 7857(name)s 8429(\(and)s 8909(if)s
2300 480 9666(this)m 876(lookup)s 1595(f)s 2(ails)k 2054(then)s
2301 2523(the)s 2871(service)s 3603(will)s 4029(not)s 4395(be)s
2302 4677(in)s 9(v)k 4(ok)k 2(ed\).)k gsave
2308 480 9186(The)m 908(uid)s 1272(of)s 1543(the)s
2309 1891(calling)s 2594(process.)s gsave
2312 240 fnt31 0 -52(USERV_GID)m
2315 908(gid)s 1272(and)s 1676(supplementary)s 3138(group)s 3750(list)s
2316 4101(of)s 4372(the)s 4720(calling)s 5423(process:)s 6246(\207rst)s
2317 6677(the)s 7025(group)s 7637(in)s 7880(gid)s 8244(and)s
2318 8648(then)s 480 8466(those)m 1041(in)s 1284(the)s 1632(supplementary)s
2319 3094(group)s 3706(list,)s 4104(in)s 4347(decimal,)s 5210(separated)s
2320 6170(by)s 6464(spaces.)s gsave
2323 240 fnt31 0 -52(USERV_GROUP)m
2326 908(group)s 1520(names)s 2182(of)s 2453(the)s 2801(calling)s
2327 3504(process,)s 4328(listed)s 4903(in)s 5146(the)s 5494(same)s
2328 6041(w)s 2(ay)k 6492(as)s 6742(the)s 7090(ids)s
2329 7420(are)s 7767(in)s gsave
2332 240 fnt31 0 -52(USERV_GID)m
2335 480 7746(If)m 710(no)s 1003(name)s 1577(can)s 1966(be)s
2336 2248(found)s 2865(for)s 3203(an)s 3(y)k 3600(of)s
2337 3871(the)s 4219(calling)s 4922(process')s 13(s)k 5849(group\(s\))s
2338 6708(then)s 7177(the)s 7525(service)s 8257(will)s 8683(not)s
2339 480 7506(be)m 762(in)s 9(v)k 4(ok)k 2(ed.)k
2343 240 fnt31 0 -52(USERV_CWD)m
2345 480 7026(The)m 908(client')s 13(s)k
2346 1648(current)s 2384(w)s 2(orking)k 3233(directory)s 4149(name)s
2347 4723(\(this)s 5198(directory)s 6114(may)s 6580(not)s 6946(be)s
2348 7228(accessible)s 8252(to)s 8491(the)s 480 6786(service\).)m 1339(If)s
2349 1568(it)s 1759(could)s 2348(not)s 2713(be)s 2994(determined)s
2350 4126(or)s 4384(the)s gsave
2353 240 fnt31 0 -52(\211\211hidecwd)m
2356 6103(w)s 2(as)k 6523(used)s 7019(then)s 7487(this)s
2357 7882(v)s 6(ariable)k 8700(will)s 480 6546(be)m 762(set)s
2358 1087(to)s 1326(an)s 1609(empty)s 2261(string)s 2858(\(this)s
2359 3333(is)s 3543(not)s 3909(considered)s 5003(an)s 5286(error\).)s
2363 240 fnt31 0 -52(USERV_SERVICE)m
2365 480 6066(The)m 908(service)s 1640(name)s
2366 2214(requested)s 3188(by)s 3482(the)s 3830(caller)s 13(.)k
2370 240 fnt31 0 -52(USERV_U_)m gsave
2373 240 fnt83 0 -52(name)m
2378 908(v)s 6(alue)k 1476(supplied)s 2345(to)s 2584(the)s
2379 2932(client)s 3522(by)s 3816(the)s 4164(caller)s 4753(using)s
2380 5325(-D)s 240 fnt83 5569 5588(name)m 240 fnt82 6081 5586(.)m
2384 240 fnt31 0 -52(HOME)m
2389 240 fnt31 0 -52(PATH)m
2395 240 fnt31 0 -52(SHELL)m
2406 240 fnt31 0 -52(USER)m
2409 3671(be)s 3953(set)s 4278(appropriately)s 5606(\(according)s 6681(to)s
2410 6920(the)s 7268(details)s 7942(of)s 8213(the)s 0 5083(service)m
2411 732(user\).)s 0 52(User)m 511(service)s 1243(daemon)s 2058(and)s
2412 2462(client)s 3052(speci\207cation)s 8652(0.62)s
2422 %%PageResources: font Times-Roman
2424 %%+ font Times-Italic
2425 %%+ font Courier-Bold
2427 0.0500 dup scale 10 setlinewidth
2431 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
2446 1417 -15423 translate
2447 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
2451 240 fnt84 0 13842(10)m gsave
2453 240 fnt82 9066 689 0 689 240 240 60 LoutGraphic
2455 newpath 0 ysize 0.3 ft sub moveto
2461 340 fnt84 0 70(4.)m 412(Ser)s 3(vice-side)k
2462 2219(con\207guration)s
2464 240 fnt82 0 12263(Which)m 695(ser)s 973(vices)s
2465 1515(may)s 1981(be)s 2263(run)s 2639(by)s 2933(whom)s
2466 3592(and)s 3996(un)s 4233(der)s 4598(what)s 5123(con)s
2467 5466(di)s 5646(tions)s 6162(is)s 6372(con)s 6715(trolled)s
2468 7396(by)s 7690(con)s 8033(\207g)s 8279(u)s 8394(ra)s
2469 8579(-)s 0 12023(tion)m 429(\207les.)s 0 11615(The)m 428(daemon)s
2470 1243(will)s 1669(read)s 2138(these)s 2685(\207les)s 3134(in)s
2471 3377(order)s 13(.)k 3972(Certain)s 4732(directi)s 6(v)k 3(es)k
2472 5702(in)s 5945(the)s 6293(\207les)s 6742(modify)s 7487(the)s
2473 7835(daemon')s 13(s)k 0 11375(e)m 3(x)k 3(ecution)k
2474 981(settings)s 1762(for)s 2100(in)s 9(v)k 4(oking)k
2475 2992(the)s 3340(service,)s 4123(for)s 4461(e)s 3(xample)k
2476 5324(allo)s 6(wing)k 6208(certain)s 6914(\207le)s 7275(descriptors)s
2477 8374(to)s 8613(be)s 0 11135(speci\207ed)m 908(by)s 1202(the)s
2478 1550(client)s 2140(or)s 2399(specifying)s 3448(which)s 4090(program)s
2479 4960(to)s 5199(e)s 3(x)k 3(ecute)k 5979(to)s
2480 6218(pro)s 3(vide)k 7002(the)s 7350(service.)s 0 10727(The)m
2481 240 fnt83 428 10729(last)m 240 fnt82 837 10727(instance)m 1676(of)s
2482 1947(each)s 2442(such)s 2938(setting)s 3628(will)s 4054(tak)s 2(e)k
2483 4506(ef)s 6(fect.)k 5146(The)s 5574(directi)s 6(v)k 3(es)k
2484 6544(which)s 7186(specify)s 7930(which)s 0 10487(program)m 864(to)s
2485 1096(e)s 3(x)k 3(ecute)k 1869(will)s 2288(not)s
2486 2647(stop)s 3092(the)s 3433(con\207guration)s 4759(\207le)s 5113(from)s
2487 5630(being)s 6208(read;)s 6724(the)s 3(y)k 7180(will)s
2488 7599(be)s 7874(remembered)s 0 10247(and)m 404(will)s 830(only)s
2489 1310(tak)s 2(e)k 1762(ef)s 6(fect)k 2358(if)s
2490 2575(the)s 3(y)k 3038(are)s 3385(not)s 3751(o)s 3(v)k 3(erridden)k
2491 4838(by)s 5132(a)s 5298(later)s 5781(directi)s 6(v)k 3(e.)k
2492 0 9839(The)m 428(daemon)s 1243(will)s 1669(\207rst)s 2100(read)s
2496 240 fnt31 0 -52(/etc/userv/system.default)m
2498 5072(.)s 5176(Then,)s 5775(by)s
2499 6069(def)s 2(ault)k 6790(\(this)s 7265(beha)s 4(viour)k
2500 8278(may)s 0 9599(be)m 282(modi\207ed\),)s 1319(it)s 1511(will)s
2501 1937(read)s 2406(a)s 2572(per)s 4(-user)k 3410(\207le)s
2505 240 fnt31 0 -52(~/.userv/rc)m
2507 4872(,)s 4979(if)s 5196(it)s
2508 5388(e)s 3(xists)k 5980(and)s 6384(the)s 6732(service)s
2509 7464(user')s 13(s)k 8072(shell)s 8578(is)s 8788(in)s
2513 240 fnt31 0 -52(/etc/shells)m
2515 1101 9359(.)m 1205(Finally)s 1936(it)s
2516 2128(will)s 2554(read)s gsave
2519 240 fnt31 0 -52(/etc/userv/system.override)m
2522 0 8951(When)m 627(it)s 816(has)s 1183(read)s 1650(all)s
2523 1940(of)s 2208(these)s 2753(\207les)s 3199(it)s 3388(will)s
2524 3812(act)s 4147(ac)s 4352(cord)s 4775(ing)s 5131(to)s
2525 5368(the)s 5713(cur)s 6018(rent)s 6389(ly)s 6626(v)s 6(al)k
2526 6907(ues)s 7275(of)s 7543(of)s 7811(the)s 8156(e)s 3(x)k
2527 8374(e)s 8476(cu)s 8697(tion)s 0 8711(set)m 265(tings.)s
2528 9066 670 0 670 240 240 60 0 7687 LoutGr2
2529 newpath 0 ysize 0.3 ft sub moveto
2535 320 fnt84 0 66(4.1.)m 628(Con\207guration)s 2618(\207le)s 3100(syntax)s
2538 0 7225(The)m 414(con\207guration)s 1733(\207le)s 2080(is)s 2276(a)s
2539 2428(series)s 3007(of)s 3264(directi)s 6(v)k 3(es,)k
2540 4276(usually)s 5007(one)s 5395(per)s 5746(line.)s 6193(The)s
2541 6607(portion)s 7341(of)s 7598(a)s 7750(line)s 8149(follo)s 6(wing)k
2542 0 6985(a)m 154(hash)s 638(character)s gsave
2548 1708(is)s 1906(tak)s 2(en)k 2466(as)s 2704(a)s
2549 2858(comment)s 3796(and)s 4188(ignored.)s 5011(Each)s 5533(directi)s 6(v)k 3(e)k
2550 6403(consists)s 7199(of)s 7458(a)s 7612(series)s 8194(of)s
2551 8452(tok)s 2(ens)k 0 6745(separated)m 960(by)s 1254(linear)s
2552 1857(whitespace)s 2975(\(spaces)s 3729(and)s 4133(tabs\);)s 4709(tok)s 2(ens)k
2553 5383(may)s 5849(be)s 6131(w)s 2(ords)k 6765(consisting)s
2554 7788(of)s 8059(non-space)s 0 6505(characters,)m 1074(or)s 9(,)k
2555 1371(where)s 2011(a)s 2177(string)s 2774(is)s 2984(required,)s
2556 3887(a)s 4053(string)s 4650(in)s 4893(double)s 5601(quotes.)s
2557 6330(Double-quoted)s 7824(strings)s 8512(may)s 0 6265(contain)m 761(the)s
2558 1109(follo)s 6(wing)k 2086(backslash)s 3073(escapes:)s gsave
2564 480 5785(ne)m 6(wline)k gsave
2567 240 fnt31 0 -52(\\t)m
2570 480 5305(tab)m gsave
2573 240 fnt31 0 -52(\\r)m
2575 480 4825(carriage)m 1304(return)s
2579 240 fnt31 0 -52(\\)m gsave
2582 240 fnt83 0 -52(OOO)m
2586 480 4345(character)m
2587 1414(whose)s 2082(octal)s 2601(code)s 3109(is)s 240 fnt83
2588 3319 4347(OOO)m gsave
2591 240 fnt31 0 -52(\\x)m gsave
2594 240 fnt83 0 -52(XX)m
2599 240 fnt82 480 3865(character)m 1414(whose)s 2082(he)s 3(x)k
2600 2480(code)s 2988(is)s 240 fnt83 3198 3867(XX)m gsave
2607 240 fnt83 0 -52(punctuation)m
2611 240 fnt82 480 3385(literal)m
2612 1090(punctuation)s 2277(character)s 3211(\(e)s 3(g)k gsave
2621 240 fnt31 0 -52(\\")m
2627 240 fnt31 0 -52(\\)m gsave
2630 240 fnt83 0 -52(ne)m 3(wline)k
2635 1005 3144(\(ie,)m 1363(backslash)s 2350(at)s 2582(end)s 2986(of)s
2636 3257(line\))s 480 2904(string)m 1077(continues)s 2045(on)s 2342(ne)s 3(xt)k
2637 2811(line)s 0 2342(Relati)m 6(v)k 3(e)k 843(pathnames)s
2638 1917(in)s 2160(directi)s 6(v)k 3(es)k 3130(are)s
2639 3477(relati)s 6(v)k 3(e)k 4239(to)s 4478(the)s
2640 4826(service)s 5558(program')s 13(s)k 6578(current)s 7314(directory)s
2641 8230(\(usually)s 0 2102(the)m 348(service)s 1080(user')s 13(s)k
2642 1687(home)s 2275(directory\).)s 3319(P)s 3(athnames)k 4403(starting)s
2643 5171(with)s 5653(the)s 6000(tw)s 2(o)k 6410(characters)s
2647 240 fnt31 0 -52(~/)m
2649 7687(are)s 8033(tak)s 2(en)k
2650 8606(to)s 8844(be)s 0 1862(relati)m 6(v)k 3(e)k
2651 762(to)s 1001(the)s 1349(service)s 2081(user')s 13(s)k
2652 2689(home)s 3277(directory)s 15(.)k 9066 670 0 670 240 240 60 0 838 LoutGr2
2653 newpath 0 ysize 0.3 ft sub moveto
2659 320 fnt84 0 66(4.2.)m
2660 628(Con\207guration)s 2618(\207le)s 3100(dir)s 5(ecti)k 3(v)k 3(es)k
2663 0 52(0.62)m 4809(User)s 5320(service)s 6052(daemon)s 6867(and)s
2664 7271(client)s 7861(speci\207cation)s
2674 %%PageResources: font Times-Roman
2676 %%+ font Courier-Bold
2677 %%+ font Times-Italic
2679 0.0500 dup scale 10 setlinewidth
2683 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
2698 1417 -15423 translate
2699 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
2703 240 fnt84 8839 13842(11)m 300 fnt84 0 13210(4.2.1.)m 813(Immediate)s
2704 2261(dir)s 5(ecti)k 3(v)k 3(es)k 240 fnt82
2705 0 12696(The)m 428(follo)s 6(wing)k 1405(directi)s 6(v)k 3(es)k
2706 2375(tak)s 2(e)k 2827(ef)s 6(fect)k 3423(immediately:)s
2710 240 fnt31 0 -52(cd)m gsave
2713 240 fnt83 0 -52(pathname)m
2718 1268(directory)s 2184(in)s 2427(the)s 2775(service)s 3507(program.)s
2720 4421 12102 translate
2722 240 fnt31 0 -52(cd)m
2724 4681(is)s 4891(cumulati)s 6(v)k 3(e.)k
2725 6048(It)s 6253(is)s 6463(an)s 6746(error)s 7269(if)s
2726 7486(the)s 7834(directory)s 480 11808(cannot)m 1178(be)s 1460(changed)s
2730 240 fnt31 0 -52(cd)m
2732 740 11400(should)m 1437(not)s
2733 1803(be)s 2085(used)s 2582(between)s gsave
2734 3436 11454 translate
2736 240 fnt31 0 -52(execute\211from\211directory)m
2739 5698(and)s 6102(the)s 6450(in)s 9(v)k 4(ocation)k
2740 7504(of)s 7775(the)s 8123(service)s 480 11160(program,)m 1397(as)s
2741 1647(the)s 1995(test)s 2386(for)s 2724(the)s 3072(a)s 4(v)k 6(ailability)k
2742 4190(of)s 4461(the)s 4809(service)s 5541(program)s 6411(w)s 2(ould)k
2743 7066(be)s 7348(done)s 7870(with)s 8352(the)s 8700(old)s
2744 480 10920(current)m 1216(directory)s 2132(and)s 2536(the)s 2884(actual)s
2745 3509(e)s 3(x)k 3(ecution)k 4490(with)s 4972(the)s
2746 5320(ne)s 6(w)k 5767(\(probably)s 6751(causing)s 7535(an)s
2747 7818(error\).)s gsave
2750 240 fnt31 0 -52(eof)m
2752 480 10286(Stop)m 972(reading)s
2753 1742(the)s 2090(con\207guration)s 3423(\207le)s 3784(in)s 4027(question,)s
2754 4945(as)s 5195(if)s 5412(end)s 5816(of)s 6087(\207le)s
2755 6448(had)s 6852(been)s 7361(reached.)s 8208(An)s 3(y)k
2756 480 10046(control)m 1212(constructs)s 2232(\()s gsave
2757 2305 10100 translate
2759 240 fnt31 0 -52(if)m
2763 2612 10100 translate
2765 240 fnt31 0 -52(catch\211quit)m
2768 3932 10100 translate
2771 0 -52(errors\211push)m
2773 5033(\))s 5161(which)s 5803(were)s 6323(started)s
2774 7017(in)s 7260(that)s 7678(\207le)s 8039(will)s 8465(be)s
2775 480 9806(considered)m 1574(\207nished.)s 2436(P)s 3(arsing)k 3203(will)s
2776 3629(continue)s 4509(in)s 4752(the)s 5100(\207le)s 5461(which)s
2777 6103(caused)s 6812(the)s 7160(\207le)s 7521(containing)s 8584(the)s
2781 240 fnt31 0 -52(eof)m
2783 840 9566(to)m 1079(be)s 1361(read.)s
2787 240 fnt31 0 -52(quit)m
2789 480 8982(Stop)m 969(reading)s 1735(con\207guration)s
2790 3064(\207les)s 3510(and)s 3910(act)s 4244(immediately)s 5489(on)s
2791 5782(the)s 6126(current)s 6859(settings.)s 7689(The)s 8113(beha)s 4(viour)k
2795 240 fnt31 0 -52(quit)m
2797 1211(is)s 1421(subject)s
2798 2158(to)s 2397(the)s gsave
2801 240 fnt31 0 -52(catch\211quit)m
2804 4538(construct.)s gsave
2807 240 fnt31 0 -52(include)m gsave
2810 240 fnt83 0 -52(\207lename)m
2818 240 fnt31 0 -52(include\211ifexist)m gsave
2821 240 fnt83 0 -52(\207lename)m
2826 1026(the)s 1369(con\207guration)s 2698(\207le)s 240 fnt83 3054 7870(\207lename)m
2827 240 fnt82 3858 7868(,)m 3961(and)s 4360(then)s 4825(return)s
2828 5447(to)s 5682(this)s 6073(\207le)s 6430(and)s 6829(continue)s
2829 7705(parsing)s 8457(it)s 8644(with)s 480 7628(the)m 822(ne)s 3(xt)k
2830 1284(directi)s 6(v)k 3(e.)k 2207(It)s 2405(is)s
2831 2608(an)s 2884(error)s 3400(if)s 3610(the)s 3952(\207le)s
2832 4306(cannot)s 4997(be)s 5272(opened)s 6015(and)s 6412(read,)s
2836 240 fnt31 0 -52(include\211ifexist)m
2838 480 7388(is)m 690(used)s
2839 1187(and)s 1591(the)s 1939(\207le)s 2300(does)s 2790(not)s
2840 3156(e)s 3(xist,)k 3711(in)s 3954(which)s 4596(case)s
2841 5063(the)s 5411(directi)s 6(v)k 3(e)k 6293(is)s
2842 6503(silently)s 7260(ignored.)s gsave
2845 240 fnt31 0 -52(include\211lookup)m gsave
2849 0 -52(par)m 3(ameter)k
2854 240 fnt83 0 -52(dir)m 8(ectory)k
2862 240 fnt31 0 -52(include\211lookup\211all)m gsave
2865 240 fnt83 0 -52(par)m 3(ameter)k
2871 240 fnt83 0 -52(dir)m 8(ectory)k
2875 480 6514(Read)m 1030(the)s
2876 1378(con\207guration)s 2711(\207le)s 3072(in)s 240 fnt83 3315 6516(dir)m 8(ectory)k
2877 240 fnt82 4239 6514(whose)m 4907(name)s 5481(is)s 5691(the)s
2878 6039(v)s 6(alue)k 6607(of)s 240 fnt83 6878 6516(par)m 3(ameter)k
2879 240 fnt82 7937 6514(\(see)m 8377(the)s 480 6274(description)m 1599(of)s
2883 240 fnt31 0 -52(if)m
2885 2070(,)s 2177(`Control)s 3042(structure)s
2886 3933(directi)s 6(v)k 3(es',)k 5038(page)s 5546(12\).)s
2887 5969(If)s 240 fnt83 6199 6276(par)m 3(ameter)k 240 fnt82
2888 7258 6274(has)m 7628(se)s 6(v)k 3(eral)k 8350(v)s 6(alues)k
2889 480 6034(the)m 3(y)k 943(will)s 1369(be)s 1651(tried)s
2890 2146(in)s 2389(order;)s 3005(with)s gsave
2893 240 fnt31 0 -52(include\211lookup)m
2896 4948(this)s 5344(search)s 6011(will)s 6437(stop)s 6889(when)s
2897 7465(one)s 7867(is)s 8077(found,)s 8743(b)s 4(ut)k
2898 480 5794(with)m gsave
2901 240 fnt31 0 -52(include\211lookup\211all)m
2903 2824(the)s 3172(search)s
2904 3839(will)s 4265(continue)s 5145(and)s 5549(an)s 3(y)k
2905 5946(\207les)s 6395(appropriate)s 7539(to)s 7778(other)s 8329(v)s 6(alues)k
2906 480 5554(will)m 906(be)s 1188(read)s 1657(too.)s 480 5146(If)m
2907 700(none)s 1212(of)s 1473(the)s 1811(parameter')s 13(s)k
2908 2965(v)s 6(alues)k 3610(had)s 4004(a)s 4160(corresponding)s
2909 5572(\207le)s 5923(then)s 6381(the)s 6719(\207le)s gsave
2915 7921(will)s 8337(be)s 8608(read,)s 480 4906(if)m
2916 697(it)s 889(e)s 3(xists.)k 1534(If)s 240 fnt83
2917 1764 4908(par)m 3(ameter)k 240 fnt82 2763 4906(')m 13(s)k
2918 2973(list)s 3324(of)s 3595(v)s 6(alues)k 4251(w)s 2(as)k
2919 4672(empty)s 5324(then)s 5793(the)s 6141(\207le)s gsave
2925 7062(will)s 7488(be)s 7770(tried)s 8265(\207rst)s
2926 8696(and)s 480 4666(read)m 949(if)s 1166(it)s 1358(e)s 3(xists,)k
2927 2006(otherwise)s gsave
2930 240 fnt31 0 -52(:default)m
2932 3852(will)s 4278(be)s
2933 4560(tried.)s 480 4258(It)m 685(is)s 895(not)s 1261(an)s
2934 1544(error)s 2067(for)s 2405(an)s 3(y)k 2802(of)s
2935 3073(the)s 3421(\207les)s 3870(\(including)s gsave
2938 240 fnt31 0 -52(:default)m
2941 5707(\))s 5835(not)s 6201(to)s 6440(e)s 3(xist,)k
2942 6995(b)s 4(ut)k 7357(it)s 7549(is)s 7759(an)s
2943 8042(error)s 8565(if)s 8782(a)s 480 4018(\207le)m 841(e)s 3(xists)k
2944 1433(and)s 1837(cannot)s 2535(be)s 2817(read)s 3286(or)s
2945 3545(if)s 3762(the)s 4110(directory)s 5026(cannot)s 5724(be)s
2946 6006(accessed.)s 480 3610(A)m 693(translation)s 1741(will)s 2150(be)s
2947 2415(applied)s 3160(to)s 3382(v)s 6(alues)k 4021(before)s
2948 4670(the)s 3(y)k 5116(are)s 5446(used)s 5926(to)s
2949 6148(construct)s 7067(a)s 7216(\207lename,)s 8129(so)s 8378(that)s
2950 8778(the)s 480 3370(lookup)m 1195(cannot)s 1888(access)s 2545(dot\207les)s
2951 3295(or)s 3550(\207les)s 3994(in)s 4232(other)s 4779(directories:)s
2952 5887(v)s 6(alues)k 6539(starting)s 7303(with)s 7781(full)s
2953 8162(stops)s 8700(will)s 480 3130(ha)m 4(v)k 3(e)k
2954 970(a)s 1124(colon)s 1702(prepended)s 2745(\(making)s gsave
2960 3784(\),)s 3958(colons)s 4623(will)s 5037(be)s
2961 5308(doubled,)s 6175(and)s 6568(each)s 7051(slash)s 7575(will)s
2962 7989(be)s 8259(replaced)s 480 2890(with)m 962(a)s 1128(colon)s
2963 1717(follo)s 6(wed)k 2619(by)s 2913(a)s 3079(h)s 1(yphen)k
2967 240 fnt31 0 -52(:\211)m
2969 4041(.)s 4145(A)s 4375(parameter)s
2970 5389(v)s 6(alue)k 5957(which)s 6599(is)s 6809(the)s
2971 7157(empty)s 7809(string)s 8406(will)s 8832(be)s 480 2650(replaced)m
2975 240 fnt31 0 -52(:empty)m
2977 2489(\(note)s 3036(that)s
2978 3454(this)s 3850(is)s 4060(dif)s 6(ferent)k 4935(from)s
2979 5459(a)s 5625(parameter)s 6639(not)s 7005(ha)s 4(ving)k
2980 7706(an)s 3(y)k 8103(v)s 6(alues\).)k gsave
2984 0 -52(include\211directory)m gsave
2987 240 fnt83 0 -52(dir)m 8(ectory)k
2992 1030(con\207guration)s 2363(from)s 2887(all)s 3180(\207les)s 3629(in)s
2993 3872(directory)s 240 fnt83 4788 2018(dir)m 8(ectory)k 240 fnt82
2994 5712 2016(which)m 6354(are)s 6701(plain)s 7236(\207les)s 7685(whose)s
2995 8353(names)s 480 1776(consist)m 1204(only)s 1684(of)s 1955(alphanumerics)s
2996 3400(and)s 3804(h)s 1(yphens)k 4653(and)s 5057(start)s
2997 5527(with)s 6009(an)s 6292(alphanumeric.)s 7697(The)s 3(y)k
2998 8240(will)s 8666(be)s 480 1536(read)m 949(in)s 1192(le)s 3(xical)k
2999 1880(order)s 13(.)k 2475(It)s 2680(is)s 2890(an)s
3000 3173(error)s 3696(for)s 4034(the)s 4382(directory)s 5298(not)s
3001 5664(to)s 5903(e)s 3(xist)k 6411(or)s 6670(for)s
3002 7008(it)s 7200(or)s 7459(an)s 3(y)k 7856(of)s
3003 8127(the)s 8475(\207les)s 480 1296(found)m 1089(not)s 1447(to)s
3004 1677(be)s 1951(read)s 2411(successfully)s 15(,)k 3663(or)s
3005 3914(for)s 4243(an)s 3(ything)k 5123(with)s 5596(an)s
3006 5871(appropriate)s 7007(name)s 7572(not)s 7930(to)s 8160(be)s
3007 8434(a)s 8591(plain)s 480 1056(\207le)m 841(or)s 1100(a)s
3008 1266(symbolic)s 2196(link)s 2629(to)s 2868(a)s 3034(plain)s
3009 3569(\207le.)s gsave
3012 240 fnt31 0 -52(error)m gsave
3015 240 fnt83 0 -52(te)m 4(xt)k
3020 0 52(User)m 511(service)s 1243(daemon)s 2058(and)s
3021 2462(client)s 3052(speci\207cation)s 8652(0.62)s
3031 %%PageResources: font Times-Roman
3033 %%+ font Times-Italic
3034 %%+ font Courier-Bold
3036 0.0500 dup scale 10 setlinewidth
3040 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
3055 1417 -15423 translate
3056 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
3060 240 fnt84 0 13842(12)m 240 fnt82 480 13254(Causes)m 1209(an)s
3061 1492(error)s 2015(whose)s 2683(message)s 3549(includes)s 4397(the)s
3062 4745(descripti)s 6(v)k 3(e)k 5840(string)s 240 fnt83
3063 6437 13256(te)m 4(xt)k 240 fnt82 6781 13254(.)m 240 fnt83
3064 6885 13256(te)m 4(xt)k 240 fnt82 7289 13254(may)m 7755(consist)s
3065 8479(of)s 480 13014(se)m 6(v)k 3(eral)k 1192(tok)s 2(ens)k
3066 1855(with)s 2326(interv)s 3(ening)k 3454(whitespace.)s 4609(The)s
3067 5026(whitespace)s 6134(will)s 6549(be)s 6820(included)s 7691(in)s
3068 7923(the)s 8260(message)s 480 12774(as)m 726(found)s 1338(in)s
3069 1576(the)s 1919(con\207guration)s 3247(\207le:)s 3653(all)s 3941(the)s
3070 4284(characters)s 5298(until)s 5786(the)s 6129(end)s 6528(of)s
3071 6794(the)s 7137(line)s 7546(will)s 7967(be)s 8244(included)s
3072 480 12534(v)m 3(erbatim,)k 1433(unless)s 2082(the)s 3(y)k
3073 2545(are)s 2892(part)s 3323(of)s 3594(a)s 3760(double-quoted)s
3074 5201(string,)s 5852(in)s 6095(which)s 6737(case)s 7204(the)s
3075 7552(usual)s 8112(meaning)s 480 12294(of)m 751(the)s 1099(string)s
3076 1696(\(i.e.,)s 2174(after)s 2670(backslash)s 3657(escape)s 4350(processing\))s
3077 5501(will)s 5927(be)s 6209(used.)s 6752(Comments)s 7840(and)s
3078 8244(linear)s 480 12054(whitespace)m 1598(at)s 1830(the)s 2178(end)s
3079 2582(of)s 2853(the)s 3201(line)s 3615(\(or)s 3953(just)s
3080 4358(before)s 5024(the)s 5372(comment\))s 6390(will)s 6816(still)s
3081 7228(be)s 7510(ignored.)s gsave
3084 240 fnt31 0 -52(message)m gsave
3088 0 -52(te)m 4(xt)k 404(\202)s
3092 480 11420(Causes)m 1209(a)s
3093 1375(message)s 2241(including)s 3198(the)s 3546(descripti)s 6(v)k 3(e)k
3094 4641(string)s 240 fnt83 5238 11422(te)m 4(xt)k 240 fnt82
3095 5642 11420(to)m 5881(be)s 6163(deli)s 6(v)k 3(ered)k
3096 7101(as)s 7351(if)s 7568(it)s 7760(were)s 8280(an)s
3097 8563(error)s 480 11180(message,)m 1397(b)s 4(ut)k 1759(does)s
3098 2249(not)s 2615(actually)s 3425(cause)s 4012(an)s 4295(error)s 13(.)k
3099 300 fnt84 0 10513(4.2.2.)m 813(Dir)s 5(ecti)k 3(v)k 3(es)k
3100 2148(with)s 2781(delay)s 3(ed)k 3828(effect)s 240 fnt82
3101 0 9942(The)m 428(follo)s 6(wing)k 1405(directi)s 6(v)k 3(es)k
3102 2375(ha)s 4(v)k 3(e)k 2876(no)s 3169(immediate)s
3103 4233(ef)s 6(fect,)k 4876(b)s 4(ut)k 5238(are)s
3104 5585(remembered)s 6837(and)s 7241(ha)s 4(v)k 3(e)k
3105 7742(an)s 8025(ef)s 6(fect)k 8621(on)s 0 9702(later)m
3106 483(processing)s 1559(of)s 1830(the)s 2178(con\207guration)s 3511(\207les.)s
3110 240 fnt31 0 -52(user\211rcfile)m gsave
3113 240 fnt83 0 -52(\207lename)m
3117 480 9054(Speci\207es)m
3118 1380(that)s 1784(the)s 2118(\207le)s 240 fnt83 2465 9056(\207lename)m
3119 240 fnt82 3315 9054(should)m 3998(be)s 4266(read)s 4721(instead)s
3120 5442(of)s 5699(the)s 6033(user')s 13(s)k gsave
3126 7728(.)s 7818(This)s 8280(does)s 240 fnt83
3127 8756 9056(not)m 240 fnt82 480 8814(happen)m 1229(immediately;)s 2535(instead,)s
3128 3319(the)s 3667(setting)s 4357(is)s 4567(remembered)s 5819(and)s
3129 6223(used)s 6720(after)s 7216(the)s gsave
3132 240 fnt31 0 -52(system.default)m
3135 480 8574(con\207guration)m 1812(\207le)s 2171(has)s 2539(been)s 3046(read.)s
3136 3559(This)s 4033(directi)s 6(v)k 3(e)k 4913(has)s
3137 5281(no)s 5572(ef)s 6(fect)k 6166(in)s 6407(a)s
3138 6571(user')s 13(s)k 7177(con\207guration)s 8508(\207le)s 8867(or)s
3139 480 8334(in)m 723(the)s gsave
3142 240 fnt31 0 -52(system.override)m
3145 3044(as)s 3294(the)s 3642(user')s 13(s)k 4250(con\207guration)s
3146 5583(\207le)s 5944(has)s 6314(already)s 7071(been)s 7580(found)s
3147 8197(and)s 8601(read)s 480 8094(by)m 774(then)s 1243(and)s
3148 1647(will)s 2073(not)s 2439(be)s 2721(re-read.)s gsave
3152 0 -52(errors\211to\211stderr)m
3154 480 7460(Causes)m 1209(error)s 1732(messages)s 2686(to)s
3155 2925(be)s 3207(deli)s 6(v)k 3(ered)k 4145(to)s
3156 4384(the)s 4732(client')s 13(s)k 5472(stderr)s 13(.)k
3160 240 fnt31 0 -52(errors\211to\211file)m
3162 240 fnt83 1581 7068(\207lename)m 240 fnt82
3163 480 6826(Error)m 1039(messages)s 1989(will)s 2410(be)s 2688(written)s
3164 3416(to)s 240 fnt83 3651 6828(\207lename)m 240 fnt82 4455 6826(,)m
3165 4557(which)s 5195(will)s 5617(be)s 5894(opened)s 6640(in)s
3166 6878(the)s 7222(conte)s 3(xt)k 7978(of)s 8245(and)s
3167 8644(with)s 480 6586(the)m 828(pri)s 6(vile)k 3(ges)k
3168 1812(of)s 2083(the)s 2431(service)s 3163(user)s 13(.)k
3172 240 fnt31 0 -52(errors\211to\211syslog)m
3174 1782 6192([)m 240 fnt83 1853 6194(facility)m
3175 240 fnt82 2571 6192([)m 240 fnt83 2642 6194(le)m 3(vel)k
3176 240 fnt82 3089 6192(]])m 480 5952(Error)m 1043(messages)s 1997(will)s
3177 2423(be)s 2705(deli)s 6(v)k 3(ered)k 3643(using)s
3181 240 fnt31 0 -52(syslog)m
3183 4815(.)s 4919(The)s 5347(def)s 2(ault)k
3184 240 fnt83 6068 5954(facility)m 240 fnt82 6786 5952(is)m gsave
3190 7396(;)s 7508(the)s 7856(def)s 2(ault)k
3191 240 fnt83 8577 5954(le)m 3(vel)k 240 fnt82 480 5712(is)m
3195 240 fnt31 0 -52(error)m
3197 1190(.)s 300 fnt84 0 5095(4.2.3.)m
3198 813(Contr)s 5(ol)k 1874(structur)s 5(e)k 3117(dir)s 5(ecti)k 3(v)k 3(es)k
3199 240 fnt82 0 4580(The)m 421(follo)s 6(wing)k 1390(directi)s 6(v)k 3(es)k
3200 2353(are)s 2692(used)s 3182(to)s 3413(create)s 4031(control)s
3201 4755(structures.)s 5780(If)s 6002(the)s 6343(end)s 6739(of)s
3202 7003(the)s 7343(\207le)s 7697(is)s 7899(encountered)s 0 4340(before)m
3203 666(the)s 1014(end)s 1418(of)s 1689(an)s 3(y)k
3204 2086(control)s 2818(structure)s 3709(which)s 4351(w)s 2(as)k
3205 4772(started)s 5466(inside)s 6093(it)s 6285(then)s 6754(that)s
3206 7172(control)s 7904(structure)s 8795(is)s 0 4100(considered)m 1094(\207nished.)s
3207 1956(This)s 2432(is)s 2642(not)s 3008(an)s 3291(error)s 13(.)k
3211 240 fnt31 0 -52(if)m gsave
3214 240 fnt83 0 -52(condition)m
3225 240 fnt83 0 -52(condition)m
3232 240 fnt31 0 -52(else)m
3238 240 fnt31 0 -52(fi)m
3240 480 2732(Lines)m 1062(follo)s 6(wing)k
3244 240 fnt31 0 -52(if)m
3246 2299(are)s 2646(interpreted)s 3738(only)s
3247 4218(if)s 4435(the)s 4783(condition)s 5744(is)s 5954(true.)s
3248 6429(Man)s 3(y)k 7039(conditions)s 8087(are)s 480 2492(properties)m
3249 1486(of)s 1757(parameter)s 2771(v)s 6(alues.)k 3480(Most)s
3250 4032(parameters)s 5130(ha)s 4(v)k 3(e)k 5631(a)s
3251 5797(single)s 6424(string)s 7021(as)s 7271(a)s 7437(v)s 6(alue;)k
3252 8061(ho)s 6(we)k 6(v)k 3(er)k 9(,)k
3253 480 2252(some)m 1035(may)s 1495(yield)s 2025(zero)s 2483(or)s
3254 2735(se)s 6(v)k 3(eral)k 3451(strings,)s 4189(in)s
3255 4426(which)s 5062(case)s 5522(the)s 5864(condition)s 6819(is)s
3256 7023(true)s 7444(if)s 7654(it)s 7840(is)s 8044(true)s
3257 8465(of)s 8729(an)s 3(y)k 480 2012(of)m 751(the)s
3258 1099(strings)s 1787(indi)s 6(vidually)k 15(.)k 3026(P)s 3(arameters)k
3259 4134(are)s 4481(described)s 5455(belo)s 6(w)k 15(.)k
3260 480 1604(The)m 908(conditions)s 1956(are:)s gsave
3263 240 fnt31 0 -52(glob)m
3267 240 fnt83 0 -52(par)m 3(ameter)k
3272 240 fnt83 0 -52(glob-pattern)m
3277 960 1124(The)m 1388(v)s 6(alue)k 1956(of)s
3278 2227(the)s 2575(parameter)s 3589(whose)s 4257(name)s 4831(is)s
3279 5041(gi)s 6(v)k 3(en)k 5621(matches)s 6455(one)s
3280 6857(of)s 7128(the)s 7476(glob)s 7955(patterns)s 960 884(\(anchored)m
3281 1974(at)s 2206(both)s 2689(ends;)s 3240(backslashes)s 4420(can)s
3282 4809(be)s 5091(used)s 5588(to)s 5827(escape)s 6520(metacharacters\).)s
3283 0 52(0.62)m 4809(User)s 5320(service)s 6052(daemon)s 6867(and)s
3284 7271(client)s 7861(speci\207cation)s
3294 %%PageResources: font Times-Roman
3296 %%+ font Courier-Bold
3297 %%+ font Times-Italic
3299 0.0500 dup scale 10 setlinewidth
3303 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
3318 1417 -15423 translate
3319 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
3323 240 fnt84 8833 13842(13)m gsave
3326 240 fnt31 0 -52(range)m gsave
3330 0 -52(par)m 3(ameter)k
3335 240 fnt83 0 -52(min)m
3345 240 fnt82 960 13016(The)m 1380(v)s 6(alue)k
3346 1940(of)s 2203(the)s 2543(parameter)s 3548(is)s 3750(a)s
3347 3908(nonne)s 3(g)k 1(ati)k 6(v)k 3(e)k
3348 5113(inte)s 3(ger)k 5825(and)s 6220(lies)s 6594(within)s
3349 7254(the)s 7594(range)s 8172(speci\207ed.)s 240 fnt83 960 12778(min)m
3350 240 fnt82 1373 12776(or)m 240 fnt83 1632 12778(max)m 240 fnt82
3351 2091 12776(may)m 2557(be)s gsave
3352 2839 12830 translate
3357 3238(indicate)s 4050(no)s 4343(lo)s 6(wer)k 4941(or)s
3358 5200(upper)s 5805(limit,)s 6362(respecti)s 6(v)k 3(ely)k 15(.)k
3362 240 fnt31 0 -52(grep)m gsave
3365 240 fnt83 0 -52(par)m 3(ameter)k
3371 240 fnt83 0 -52(\207lename)m
3375 960 12295(The)m 240 fnt83 1388 12297(\207lename)m
3376 240 fnt82 2252 12295(refers)m 2845(to)s 3084(a)s 3250(\207le)s
3377 3611(one)s 4013(of)s 4284(whose)s 4952(lines)s 5454(is)s
3378 5664(the)s 6012(v)s 6(alue)k 6580(of)s 6851(the)s
3379 7199(parameter)s 8213(\(leading)s 960 12055(or)m 1211(trailing)s 1944(whitespace)s
3380 3053(on)s 3341(each)s 3827(line)s 4232(and)s 4627(empty)s
3381 5270(lines)s 5764(in)s 5998(the)s 6337(\207le)s 6689(are)s
3382 7027(ignored\).)s 7932(It)s 8128(is)s 8329(an)s 8603(error)s
3383 960 11815(for)m 1298(the)s 1646(\207le)s 2007(not)s 2373(to)s
3384 2612(be)s 2894(opened)s 3644(and)s 4048(read.)s gsave
3391 240 fnt83 0 -52(condition)m
3395 960 11334(The)m 240 fnt83
3396 1388 11336(condition)m 240 fnt82 2346 11334(is)m 240 fnt83 2556 11336(not)m
3397 240 fnt82 2926 11334(true.)m 600 11094(Conjunctions:)m gsave
3398 1983 11148 translate
3404 2547 11148 translate
3409 1440 10901 translate
3411 240 fnt31 0 -52(\()m
3415 240 fnt83 0 -52(condition)m
3420 240 fnt83 0 -52(condition)m
3426 240 fnt83 0 -52(condition)m
3428 0 -772(\202)m 0 -1012(\))m
3431 960 9635(is)m 1170(true)s 1597(if)s 1814(all)s 2107(the)s
3432 2455(listed)s 3030(conditions)s 4078(are)s 4425(true;)s 4908(where)s
3438 5708(is)s 5918(used)s 6415(it)s
3439 6607(is)s 6817(true)s 7244(if)s 7461(an)s 3(y)k
3440 7858(of)s 8129(them)s 8667(is)s 960 9390(true.)m 1428(Ne)s 6(wlines)k
3441 2368(must)s 2885(be)s 3159(used)s 3648(to)s 3879(separate)s
3442 4709(one)s 5104(condition)s 6057(from)s 6573(the)s 6913(ne)s 3(xt,)k
3443 7421(as)s 7663(sho)s 6(wn,)k 8382(and)s 8778(the)s
3444 960 9150(parentheses)m 2126(are)s 2473(mandatory)s 15(.)k 3585(These)s
3445 4212(conjunctions)s 5486(do)s 5779(not)s 6145(do)s 6438(lazy)s
3446 6890(e)s 6(v)k 6(aluation.)k 480 8588(The)m 908(parameters)s
3450 240 fnt31 0 -52(service)m
3452 960 8108(The)m 1388(service)s
3453 2120(name)s 2694(speci\207ed)s 3602(when)s 4178(the)s 4526(client)s
3454 5116(w)s 2(as)k 5537(called.)s gsave
3457 240 fnt31 0 -52(calling\211user)m
3460 960 7628(T)m 19(w)k 2(o)k 1431(strings:)s 2174(the)s
3461 2522(login)s 3071(name)s 3645(of)s 3916(the)s 4264(calling)s
3462 4967(user)s 5425(\(determined)s 6637(as)s 6887(for)s gsave
3468 8226(,)s 8333(abo)s 3(v)k 3(e\))k
3469 960 7388(and)m 1364(the)s 1712(calling)s 2415(uid)s 2779(\(represented)s
3470 4017(in)s 4260(decimal\).)s gsave
3473 240 fnt31 0 -52(calling\211group)m
3475 960 6908(Se)m 6(v)k 3(eral)k
3476 1722(strings:)s 2465(the)s 2813(primary)s 3623(and)s 4027(supplementary)s
3477 5489(group)s 6101(names)s 6763(and)s 7167(gids)s 7617(\(in)s
3478 7939(decimal\))s 960 6668(of)m 1231(the)s 1579(calling)s 2282(process.)s
3479 3103(All)s 3463(the)s 3811(group)s 4423(names)s 5085(come)s
3480 5659(\207rst,)s 6137(and)s 6541(then)s 7010(the)s 7358(gids.)s
3481 7861(If)s 8091(the)s 8439(\207rst)s 960 6428(supplementary)m 2422(group)s
3482 3034(is)s 3244(the)s 3592(same)s 4139(as)s 4389(the)s
3483 4737(primary)s 5547(group)s 6159(then)s 6628(it)s 6820(is)s
3484 7030(elided.)s gsave
3487 240 fnt31 0 -52(calling\211user\211shell)m
3489 960 5948(The)m 1388(calling)s
3490 2091(user')s 13(s)k 2699(shell,)s 3257(as)s 3507(listed)s
3491 4082(in)s 4325(the)s 4673(passw)s 2(ord)k 5633(entry)s
3492 6178(for)s 6516(the)s 6864(calling)s 7567(login)s 8116(name)s
3493 8690(\(as)s 960 5708(determined)m 2093(for)s gsave
3496 240 fnt31 0 -52(USERV_USER)m
3499 3432(,)s 3539(abo)s 3(v)k 3(e\).)k gsave
3503 0 -52(service\211user)m
3505 960 5228(T)m 19(w)k 2(o)k 1431(strings:)s
3506 2174(the)s 2522(name)s 3096(of)s 3367(the)s 3715(service)s
3507 4447(user)s 4905(\(as)s 5234(speci\207ed)s 6142(to)s 6381(the)s
3508 6729(client\))s 7387(and)s 7791(their)s 8288(uid)s 960 4988(\(represented)m
3509 2198(in)s 2441(decimal\).)s gsave
3512 240 fnt31 0 -52(service\211group)m
3514 960 4508(Se)m 6(v)k 3(eral)k
3515 1722(strings:)s 2465(the)s 2813(primary)s 3623(and)s 4027(supplementary)s
3516 5489(group)s 6101(names)s 6763(and)s 7167(gids)s 7617(\(in)s
3517 7939(decimal\))s 8823(of)s 960 4268(the)m 1308(service)s 2040(user)s 13(.)k
3521 240 fnt31 0 -52(service\211user\211shell)m
3523 960 3788(The)m 1388(service)s 2120(user')s 13(s)k
3524 2728(shell,)s 3286(as)s 3536(listed)s 4111(in)s 4354(their)s
3525 4851(passw)s 2(ord)k 5811(entry)s 15(.)k gsave
3532 240 fnt83 0 -52(name)m
3536 960 3308(The)m 1388(v)s 6(alue)k
3537 1956(of)s 2227(the)s 2575(user)s 4(-de\207ned)k 3811(v)s 6(ariable)k
3538 240 fnt83 4630 3310(name)m 240 fnt82 5202 3308(passed)m 5898(by)s
3539 6192(the)s 6540(caller)s 7129(using)s 7701(the)s gsave
3543 0 -52(\211\211defvar)m
3545 960 3068(command-line)m 2397(option)s 3066(to)s 3305(the)s
3546 3653(client.)s 4287(If)s 4517(the)s 4865(v)s 6(ariable)k
3547 5684(w)s 2(as)k 6105(not)s 6471(de\207ned)s 7234(then)s
3548 7703(this)s 8099(parameter)s 960 2828(is)m 1170(an)s 1453(empty)s
3549 2105(list)s 2456(of)s 2727(strings;)s 3476(in)s 3719(this)s
3550 4115(case)s 4582(an)s 3(y)k 4979(condition)s 5940(which)s
3551 6582(tests)s 7057(it)s 7249(will)s 7675(be)s 7957(f)s 2(alse,)k
3555 240 fnt31 0 -52(include\211lookup)m
3557 2421 2588(on)m 2718(it)s
3558 2910(will)s 3336(read)s 3805(the)s gsave
3561 240 fnt31 0 -52(:none)m
3564 4713(\207le,)s 5125(or)s gsave
3567 240 fnt31 0 -52(:default)m
3573 240 fnt31 0 -52(:none)m
3575 7022(is)s 7232(not)s 7598(found.)s
3579 240 fnt31 0 -52(errors\211push)m
3581 240 fnt83 1281 2167(\207lename)m gsave
3587 240 fnt82 480 1685(Stacks)m 1155(the)s 1503(error)s
3588 2026(handling)s 2917(beha)s 4(viour)k 3930(currently)s 4846(in)s
3589 5089(ef)s 6(fect.)k 5729(An)s 3(y)k 6193(changes)s
3590 7015(to)s 7254(error)s 7777(handling)s 8668(will)s 480 1445(tak)m 2(e)k
3591 932(ef)s 6(fect)k 1528(only)s 2008(between)s gsave
3595 0 -52(errors\211push)m
3600 240 fnt31 0 -52(srorre)m
3606 240 fnt31 0 -52(catch\211quit)m
3611 240 fnt31 0 -52(hctac)m
3614 511(service)s 1243(daemon)s 2058(and)s 2462(client)s 3052(speci\207cation)s
3625 %%PageResources: font Times-Roman
3627 %%+ font Courier-Bold
3628 %%+ font Times-Italic
3630 0.0500 dup scale 10 setlinewidth
3634 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
3649 1417 -15423 translate
3650 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
3654 240 fnt84 0 13842(14)m 240 fnt82 480 13254(An)m 3(y)k
3655 935(use)s 1301(of)s gsave
3656 1563 13308 translate
3658 240 fnt31 0 -52(quit)m
3662 2631 13308 translate
3664 240 fnt31 0 -52(catch\211quit)m
3666 3683(will)s 4100(merely)s 4807(cause)s
3667 5385(the)s 5724(parsing)s 6472(to)s 6701(continue)s 7572(at)s
3669 7795 13308 translate
3671 240 fnt31 0 -52(hctac)m
3673 8345(instead.)s 480 13014(An)m 3(y)k
3674 944(control)s 1676(constructs)s 2696(started)s 3390(since)s 3937(the)s
3676 4285 13068 translate
3678 240 fnt31 0 -52(catch\211quit)m
3680 5346(will)s 5772(be)s 6054(considered)s
3681 7148(\207nished)s 7964(if)s 8181(a)s gsave
3682 8347 13068 translate
3684 240 fnt31 0 -52(quit)m
3687 480 12774(is)m 690(found.)s 480 12366(If)m 710(an)s 993(error)s
3688 1516(occurs)s 2191(inside)s gsave
3689 2818 12420 translate
3691 240 fnt31 0 -52(catch\211quit)m
3694 4227(e)s 3(x)k 3(ecution)k 5208(settings)s 5989(will)s
3695 6415(be)s 6697(reset)s 7207(\(as)s 7536(if)s 7753(by)s
3697 8395 12420 translate
3699 240 fnt31 0 -52(reset)m
3701 480 12126(directi)m 6(v)k 3(e\))k
3702 1434(and)s 1838(parsing)s 2595(will)s 3021(lik)s 2(e)k 6(wise)k
3703 3865(continue)s 4745(at)s gsave
3704 4977 12180 translate
3706 240 fnt31 0 -52(hctac)m
3709 480 11718(If)m 705(a)s 865(le)s 3(xical)k 1548(or)s
3710 1801(syntax)s 2476(error)s 2993(is)s 3198(detected)s 4046(in)s
3711 4283(the)s 4626(same)s 5167(con\207guration)s 6495(\207le)s 6850(as)s
3713 7437 11772 translate
3715 240 fnt31 0 -52(catch\211quit)m
3717 8438(,)s 8539(while)s
3718 480 11478(looking)m 1265(for)s 1603(the)s gsave
3719 1951 11532 translate
3721 240 fnt31 0 -52(hctac)m
3724 2511(after)s 3007(an)s 3290(error)s 3813(or)s gsave
3725 4072 11532 translate
3730 4472(,)s 4579(that)s 4997(ne)s 6(w)k
3731 5444(error)s 5967(will)s 6393(not)s 6759(be)s 7041(caught.)s
3732 300 fnt84 0 10811(4.2.4.)m 813(Dir)s 5(ecti)k 3(v)k 3(es)k
3733 2148(f)s 7(or)k 2595(changing)s 3829(execution)s 5112(settings)s
3734 240 fnt82 0 10240(The)m 419(follo)s 6(wing)k 1386(directi)s 6(v)k 3(es)k
3735 2346(modify)s 3082(the)s 3420(e)s 3(x)k 3(ecution)k
3736 4391(settings;)s 5223(the)s 5562(serv)s 3(er)k 6192(will)s
3737 6608(remember)s 7627(the)s 7965(f)s 2(act)k 8370(that)s
3738 8778(the)s 0 9999(directi)m 6(v)k 3(e)k 881(w)s 2(as)k
3739 1300(encountered)s 2525(and)s 2927(act)s 3263(on)s 3559(it)s
3740 3749(only)s 4227(after)s 4721(all)s 5012(the)s 5359(con\207guration)s
3741 6690(has)s 7058(been)s 7565(parsed.)s 8291(The)s 240 fnt83
3742 8717 10001(last)m 240 fnt82 0 9759(directi)m 6(v)k 3(e)k
3743 882(which)s 1524(modi\207es)s 2399(an)s 3(y)k 2796(particuar)s
3744 3704(setting)s 4394(will)s 4820(tak)s 2(e)k 5272(ef)s 6(fect.)k
3748 240 fnt31 0 -52(reject)m
3750 480 9111(Reject)m 1150(the)s 1498(request.)s
3754 240 fnt31 0 -52(execute)m
3759 240 fnt31 0 -52(execute\211from\211directory)m
3765 240 fnt31 0 -52(execute\211from\211path)m
3767 7527(will)s 7953(change)s
3768 480 8871(this)m 876(setting.)s gsave
3771 240 fnt31 0 -52(execute)m gsave
3775 0 -52(pr)m 10(o)k 2(gr)k 3(am)k
3781 240 fnt83 0 -52(ar)m 8(gument)k
3785 480 8237(Ex)m 3(ecute)k
3786 1300(the)s 1645(program)s 240 fnt83 2512 8239(pr)m 10(o)k 2(gr)k 3(am)k
3787 240 fnt82 3332 8237(,)m 3436(with)s 3915(the)s 4259(ar)s 4(guments)k
3788 5299(as)s 5546(speci\207ed,)s 6500(follo)s 6(wed)k 7399(by)s
3789 7690(an)s 3(y)k 8083(ar)s 4(guments)k 480 7997(gi)m 6(v)k 3(en)k
3790 1052(to)s 1282(the)s 1621(client)s 2203(if)s gsave
3794 0 -52(no\211suppress\211args)m
3796 4064(is)s 4266(in)s 4500(ef)s 6(fect.)k
3797 5131(It)s 5328(is)s 5529(an)s 5803(error)s 6318(for)s
3798 6647(the)s 6986(e)s 3(x)k 3(ecution)k 7959(to)s
3799 8189(f)s 2(ail)k 8550(when)s 480 7757(it)m 672(is)s
3800 882(attempted)s 1882(\(after)s 2457(all)s 2750(the)s 3098(con\207guration)s
3801 4431(has)s 4801(been)s 5310(parsed\).)s 6117(If)s 240 fnt83
3802 6347 7759(pr)m 10(o)k 2(gr)k 3(am)k 240 fnt82
3803 7227 7757(does)m 7717(not)s 8083(contain)s 8844(a)s 480 7517(slash)m
3804 1015(it)s 1207(will)s 1633(be)s 1915(searched)s 2809(for)s
3805 3147(on)s 3444(the)s 3792(service)s 4524(user')s 13(s)k
3809 240 fnt31 0 -52(execute\211from\211directory)m gsave
3812 240 fnt83 0 -52(pathname)m
3818 240 fnt83 0 -52(ar)m 8(gument)k
3823 480 6883(T)m 19(ak)k 2(e)k 993(all)s 1286(the)s
3824 1634(characters)s 2652(after)s 3148(the)s 3496(last)s 3887(slash)s
3825 4422(of)s 4693(the)s 5041(service)s 5773(name)s 6347(speci\207ed)s
3826 7255(when)s 7831(the)s 8179(client)s 480 6642(w)m 2(as)k
3827 901(called,)s 1578(and)s 1982(e)s 3(x)k 3(ecute)k
3828 2762(that)s 3180(program)s 4050(in)s 4293(the)s 4641(directory)s
3829 5557(named)s 6253(by)s 240 fnt83 6547 6644(pathname)m 240 fnt82
3830 7545 6642(as)m 7795(if)s 8012(it)s 8204(had)s 8608(been)s
3831 480 6402(speci\207ed)m 1388(for)s 240 fnt83 1726 6404(e)m 4(xecute)k
3832 240 fnt82 2431 6402(.)m 2535(The)s 2963(part)s 3394(of)s
3833 3665(the)s 4013(service)s 4745(name)s 5319(used)s 5816(may)s
3834 6282(contain)s 7043(only)s 7523(alphanumerics)s 480 6162(and)m 884(h)s 1(yphens)k
3835 1732(and)s 2136(must)s 2660(start)s 3130(with)s 3611(an)s
3836 3894(alphanumeric)s 5247(\(and)s 5730(it)s 5921(must)s 6446(be)s
3837 6727(non-empty\),)s 7950(otherwise)s 8934(it)s 480 5922(is)m 690(an)s
3838 973(error)s 13(.)k 480 5514(This)m 956(directi)s 6(v)k 3(e)k
3839 1838(is)s 2048(ignored)s 2837(if)s 3054(the)s 3402(rele)s 6(v)k 6(ant)k
3840 4219(program)s 5089(does)s 5579(not)s 5945(e)s 3(xist)k
3841 6453(in)s 6696(the)s 7044(directory)s 7960(speci\207ed;)s 480 5274(in)m
3842 723(this)s 1119(case)s 1586(the)s 1934(program)s 2804(to)s
3843 3043(e)s 3(x)k 3(ecute)k 3823(is)s 4033(left)s
3844 4410(at)s 4642(its)s 4918(pre)s 6(vious)k 5787(setting)s
3845 6477(\(or)s 6815(unset,)s 7427(if)s 7644(it)s 7836(w)s 2(as)k
3846 8257(not)s 480 5034(set)m 805(before\).)s 480 4626(It)m 672(is)s
3847 869(an)s 1139(error)s 1649(for)s 1974(the)s 2309(test)s
3848 2687(for)s 3012(the)s 3347(e)s 3(xistence)k 4276(of)s
3849 4533(the)s 4868(program)s 5725(to)s 5951(f)s 2(ail)k
3850 6308(other)s 6846(than)s 7302(with)s 7771(a)s 7924(`no)s
3851 8283(such)s 8765(\207le)s 480 4386(or)m 729(directory')s 1693(indication.)s
3852 2743(It)s 2938(is)s 3138(also)s 3566(an)s 3839(error)s
3853 4352(for)s 4680(the)s 5018(e)s 3(x)k 3(ecution)k
3854 5989(to)s 6218(f)s 2(ail)k 6578(if)s 6785(and)s
3855 7179(when)s 7745(it)s 7927(is)s 8126(attempted)s 480 4146(\(after)m
3856 1055(all)s 1348(the)s 1696(con\207guration)s 3029(has)s 3399(been)s
3857 3908(parsed\).)s gsave
3860 240 fnt31 0 -52(execute\211from\211path)m
3862 240 fnt83 480 3514(service)m
3863 240 fnt82 1202 3512(is)m 1404(interpreted)s 2488(as)s 2731(a)s
3864 2889(program)s 3751(on)s 4041(the)s 4381(def)s 2(ault)k
3868 240 fnt31 0 -52(PATH)m
3870 5546(\(or)s 5877(as)s 6119(a)s
3871 6277(pathname)s 7256(of)s 7519(an)s 7794(e)s 3(x)k 3(ecutable,)k
3872 8909(if)s 480 3271(it)m 660(contains)s 1495(a)s gsave
3878 1749(\).)s 1919(This)s 2383(directi)s 6(v)k 3(e)k
3879 3252(is)s 240 fnt83 3450 3273(very)m 3904(dang)s 2(er)k 10(ous)k
3880 240 fnt82 4899 3271(,)m 4994(and)s 5385(is)s 5583(only)s
3881 6050(pro)s 3(vided)k 6944(to)s 7170(mak)s 2(e)k
3885 240 fnt31 0 -52(\211\211override)m
3887 480 3031(options)m 1230(ef)s 6(fecti)k 6(v)k 3(e.)k
3888 2146(It)s 2344(should)s 3034(not)s 3393(normally)s 4304(be)s
3889 4579(used.)s 5115(It)s 5313(is)s 5516(an)s 5792(error)s
3890 6309(for)s 6640(the)s 6981(e)s 3(x)k 3(ecution)k
3891 7955(to)s 8187(f)s 2(ail)k 8550(when)s 480 2791(it)m
3892 672(is)s 882(attempted)s 1882(\(after)s 2457(all)s 2750(the)s
3893 3098(con\207guration)s 4431(has)s 4801(been)s 5310(parsed\).)s gsave
3897 0 -52(execute\211builtin)m gsave
3900 240 fnt83 0 -52(service-name)m
3905 240 fnt83 0 -52(service-ar)m 8(guments)k
3910 480 2157(Ex)m 3(ecutes)k 1388(the)s 1732(b)s 4(uiltin)k
3911 2405(service)s 240 fnt83 3133 2159(service-name)m 240 fnt82 4400 2157(.)m
3912 4500(These)s 5123(b)s 4(uiltin)k 5796(services)s 6612(display)s
3913 7353(information)s 8534(about)s 480 1917(the)m 822(serv)s 3(er)k
3914 1455(and/or)s 2120(the)s 2461(request,)s 3252(and)s 3649(ignore)s
3915 4310(an)s 3(y)k 4700(ar)s 4(guments)k 5737(passed)s
3916 6426(from)s 6944(the)s 7285(service)s 8011(side)s 8445(e)s 3(xcept)k
3917 480 1677(possibly)m 1320(to)s 1547(print)s 2046(them)s 2572(as)s
3918 2810(part)s 3228(of)s 3487(their)s 3972(output.)s 4676(The)s 3(y)k
3919 5207(write)s 5740(their)s 6225(results)s 6887(to)s 7114(their)s
3920 7599(standard)s 8454(output)s 480 1437(\(i.e.,)m 958(where)s 6(v)k 3(er)k
3921 1898(\207le)s 2259(descriptor)s 3274(1)s 3429(is)s 3639(directed\).)s
3922 4591(The)s 5019(b)s 4(uiltin)k 5696(services)s 6516(are:)s
3926 240 fnt31 0 -52(execute)m
3928 960 957(Displays)m 1848(the)s 2196(e)s 3(x)k 3(ecution)k
3929 3177(settings,)s 4014(de\207ned)s 4777(v)s 6(ariables,)k 5740(ar)s 4(guments,)k
3930 6839(etc.)s 7221(with)s 7703(which)s 8345(the)s 960 717(b)m 4(uiltin)k
3931 1637(service)s 2369(w)s 2(as)k 2790(in)s 9(v)k 4(ok)k 2(ed.)k
3932 0 52(0.62)m 4809(User)s 5320(service)s 6052(daemon)s 6867(and)s
3933 7271(client)s 7861(speci\207cation)s
3943 %%PageResources: font Times-Roman
3945 %%+ font Courier-Bold
3946 %%+ font Times-Italic
3948 0.0500 dup scale 10 setlinewidth
3952 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
3967 1417 -15423 translate
3968 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
3972 240 fnt84 8833 13842(15)m gsave
3975 240 fnt31 0 -52(environment)m
3978 960 13016(Dis)m 1283(plays)s 1839(the)s 2187(en)s 2410(vi)s
3979 2590(ron)s 2906(ment)s 3444(v)s 6(ari)k 3803(able)s
3980 4257(set)s 4522(tings)s 5038(with)s 5520(which)s 6162(the)s
3981 6510(b)s 4(uiltin)k 7187(ser)s 7465(vice)s 7919(w)s 2(as)k
3982 960 12776(in)m 1143(v)s 4(ok)k 2(ed.)k gsave
3986 0 -52(parameter)m gsave
3989 240 fnt83 0 -52(par)m 3(ameter)k
3993 960 12296(Displays)m
3994 1848(the)s 2196(v)s 6(alues)k 2852(of)s 3123(the)s
3995 3471(service)s 4203(con\207guration)s 5536(language)s 6456(parameter)s 7470(speci\207ed.)s
3999 240 fnt31 0 -52(version)m
4001 960 11816(Displays)m 1848(the)s 2196(v)s 3(ersion)k
4002 2954(string)s 3551(and)s 3955(compilation)s 5154(details)s 5828(of)s
4003 6099(the)s 6447(uservd)s 7143(serv)s 3(er)k 7783(program.)s
4007 240 fnt31 0 -52(reset)m
4009 960 11336(Dis)m 1283(plays)s 1838(the)s
4010 2184(de)s 2406(f)s 2(ault)k 2899(re)s 3080(set)s
4011 3403(con)s 3746(\207g)s 3992(u)s 4107(ra)s 4292(tion)s
4012 4719(\(e)s 6(v)k 6(al)k 5179(u)s 5294(at)s
4013 5466(ed)s 5748(when)s gsave
4014 6323 11390 translate
4016 240 fnt31 0 -52(reset)m
4019 7089(found)s 7704(in)s 7945(a)s 8109(con)s 8452(\207g)s
4020 8698(u)s 8813(ra)s 8998(-)s 960 11096(tion)m 1389(\207le,)s
4021 1801(or)s 2060(when)s 2636(an)s 2919(er)s 3104(ror)s
4022 3442(is)s 3652(caught)s 4350(by)s gsave
4023 4644 11150 translate
4025 240 fnt31 0 -52(catch\211quit)m
4031 240 fnt31 0 -52(toplevel)m
4033 960 10616(Displays)m 1848(the)s
4034 2196(top-le)s 6(v)k 3(el)k 3091(def)s 2(ault)k
4035 3812(con\207guration)s 5145(\(the)s 5572(con\207guration)s 6905(data,)s 7410(e)s 6(v)k 6(aluated)k
4036 8372(by)s 8666(the)s 960 10376(serv)m 3(er)k 9(,)k
4037 1638(which)s 2280(calls)s 2768(all)s 3061(the)s 3409(other)s
4038 3960(con\207guration)s 5293(\207les\).)s gsave
4041 240 fnt31 0 -52(override)m
4044 1847(the)s 2194(top-le)s 6(v)k 3(el)k 3088(o)s 3(v)k 3(erride)k
4045 3932(con\207guration)s 5264(\(the)s 5690(con\207guration)s 7021(data,)s 7525(e)s 6(v)k 6(aluated)k
4046 8486(by)s 8778(the)s 960 9656(serv)m 3(er)k 9(,)k
4047 1638(which)s 2280(causes)s 2955(all)s 3248(the)s 3596(other)s
4048 4147(con\207guration)s 5480(data)s 5938(to)s 6177(be)s 6459(parsed\).)s
4052 240 fnt31 0 -52(help)m
4054 960 9176(Displays)m 1848(a)s 2014(list)s
4055 2365(of)s 2636(the)s 2984(understood)s 4106(b)s 4(uiltin)k
4056 4783(service)s 5515(names)s 6177(and)s 6581(ar)s 4(guments.)k
4057 480 8913(In)m 736(the)s 1084(fu)s 1278(ture)s 1705(oth)s
4058 2008(er)s 2253(b)s 4(uiltin)k 2930(ser)s 3208(vices)s
4059 3750(may)s 4216(be)s 4498(de)s 4720(\207ned)s 5257(which)s
4060 5899(do)s 6192(more)s 6739(than)s 7208(just)s 7613(print)s
4061 8124(in)s 8307(for)s 8585(-)s 480 8673(ma)m 772(tion.)s
4065 240 fnt31 0 -52(set\211environment)m
4070 240 fnt31 0 -52(no\211set\211environment)m
4076 240 fnt31 0 -52(/etc/environment)m
4078 2686(to)s 2925(set)s 3250(the)s
4079 3598(service)s 4330(user')s 13(s)k 4938(en)s 9(vironment.)k
4080 6242(This)s 6718(adds)s 7208(the)s 7556(o)s 3(v)k 3(erhead)k
4081 8485(of)s 480 7609(in)m 9(v)k 4(oking)k 1372(a)s
4082 1538(shell,)s 2096(b)s 4(ut)k 2458(doesn')s 4(t)k
4083 3218(cause)s 3805(an)s 3(y)k 4202(shell)s 4708(\(de\)mangling)s
4084 6049(of)s 6320(the)s 6668(service')s 13(s)k 7554(ar)s 4(guments.)k
4085 8650(This)s 480 7369(is)m 690(achie)s 6(v)k 3(ed)k
4086 1589(by)s 1883(in)s 9(v)k 4(oking)k gsave
4090 0 -52(.../program)m 1728(arg)s 2304(arg)s 2880(arg)s 3456(\202)s
4096 240 fnt31 0 -52(/bin/sh)m 1152(\211c)s 1584('.)s
4097 2016(/etc/environment;)s 4608(exec)s 5328("$@"')s 6192(\211)s 6480(.../program)s
4098 8208(arg)s 8784(arg)s 9360(arg)s 9936(\202)s
4104 0 -52(no\211set\211environment)m
4106 2342 6454(cancels)m 3096(the)s 3444(ef)s 6(fect)k
4110 240 fnt31 0 -52(set\211environment)m
4116 0 -52(no\211suppress\211args)m
4121 240 fnt31 0 -52(suppress\211args)m
4123 480 5630(Include)m 1253(an)s 3(y)k
4124 1650(ar)s 4(guments)k 2693(gi)s 6(v)k 3(en)k
4125 3273(to)s 3512(the)s 3860(client)s 4450(as)s 4700(ar)s 4(guments)k
4126 5743(to)s 5982(the)s 6330(program)s 7200(in)s 9(v)k 4(ok)k 2(ed)k
4127 8015(as)s 8265(a)s 8431(result)s 480 5390(of)m 749(an)s
4131 240 fnt31 0 -52(execute)m
4136 240 fnt31 0 -52(execute\211from\211directory)m
4142 240 fnt31 0 -52(execute\211from\211path)m
4144 6110(directi)s 6(v)k 3(e.)k
4148 240 fnt31 0 -52(suppress\211args)m
4150 8396(undoes)s 480 5150(the)m 828(ef)s 6(fect)k
4154 240 fnt31 0 -52(no\211suppress\211args)m
4160 0 -52(require\211fd)m gsave
4163 240 fnt83 0 -52(fd-r)m 3(ang)k 2(e)k
4168 480 4530(In)m 676(sist)s 1054(that)s 1472(the)s
4169 1820(\207ledescrip)s 2808(tor\(s\))s 3373(be)s 3655(opened)s 4405(for)s
4170 4743(read)s 5152(ing)s 5511(resp.)s 6013(writ)s 6397(ing.)s
4171 6807(It)s 7012(is)s 7222(an)s 7505(er)s 7690(ror)s
4172 8028(if)s 8245(an)s 3(y)k 8642(de)s 8864(-)s
4173 480 4290(scrip)m 937(tor)s 1258(mark)s 2(ed)k 2027(as)s
4174 2272(re)s 2453(quired)s 3118(when)s 3689(the)s 4033(ser)s
4175 4311(vice)s 4760(is)s 4966(about)s 5554(to)s 5788(be)s
4176 6066(in)s 6249(v)s 4(ok)k 2(ed)k 6882(\(af)s
4177 7158(ter)s 7465(the)s 7808(con)s 8151(\207g)s 8397(u)s
4178 8512(ra)s 8697(tion)s 480 4050(has)m 850(been)s 1359(parsed\))s
4179 2111(w)s 2(as)k 2532(not)s 2898(spec)s 3316(i)s
4180 3376(\207ed)s 3793(when)s 4369(the)s 4717(client)s 5307(w)s 2(as)k
4181 5728(in)s 5911(v)s 4(ok)k 2(ed.)k 6595(Each)s
4182 7130(\207le)s 7491(de)s 7713(scrip)s 8170(tor)s 8495(has)s
4183 480 3810(a)m 646(sep)s 958(a)s 1064(rate)s 1477(set)s
4184 1742(ting,)s 2221(and)s 2625(the)s 2973(last)s 3364(one)s
4188 240 fnt31 0 -52(require\211fd)m
4199 240 fnt31 0 -52(ignore\211fd)m
4205 240 fnt31 0 -52(null\211fd)m
4210 240 fnt31 0 -52(reject\211fd)m
4213 480 3570(which)m 1122(af)s 1319(fect)s 1676(ed)s 1960(a)s
4214 2126(par)s 2431(tic)s 2662(u)s 2777(lar)s 3088(\207le)s
4215 3449(de)s 3671(scrip)s 4128(tor)s 4453(will)s 4879(tak)s 2(e)k
4216 5331(ef)s 5528(fect.)s 240 fnt83 480 3164(fd-r)m 3(ang)k 2(e)k
4217 240 fnt82 1352 3162(may)m 1818(be)s 2100(a)s 2266(single)s
4218 2893(number)s 9(,)k 3722(tw)s 2(o)k 4132(numbers)s
4219 5007(separated)s 5967(by)s 6261(a)s 6427(h)s 1(yphen,)k
4220 7239(or)s 7498(one)s 7900(number)s 480 2922(follo)m 6(wed)k
4221 1382(by)s 1676(a)s 1842(h)s 1(yphen)k 2604(\(indicating)s
4222 3692(all)s 3985(descriptors)s 5084(from)s 5608(that)s 6026(number)s
4223 6817(onw)s 2(ards\).)k 7809(It)s 8014(may)s 8480(also)s
4224 480 2682(be)m 760(one)s 1159(of)s 1428(the)s 1773(w)s 2(ords)k
4228 240 fnt31 0 -52(stdin)m
4233 240 fnt31 0 -52(stdout)m
4239 240 fnt31 0 -52(stderr)m
4241 4523(.)s 4625(Open-ended)s
4242 5850(\207le)s 6209(descriptor)s 7221(rangers)s 7973(are)s 8317(allo)s 6(wed)k
4243 480 2442(only)m 960(with)s gsave
4246 240 fnt31 0 -52(reject\211fd)m
4252 240 fnt31 0 -52(ignore\211fd)m
4254 3708(,)s 3815(as)s 4065(otherwise)s
4255 5050(the)s 5398(service)s 6130(program)s 7000(w)s 2(ould)k
4256 7655(\207nd)s 8086(itself)s 8634(with)s 480 2202(a)m 646(v)s 3(ery)k
4257 1122(lar)s 4(ge)k 1651(number)s 2442(of)s 2713(\207le)s
4258 3074(descriptors)s 4173(open.)s 480 1794(When)m 1109(the)s 1457(con\207guration)s
4259 2790(has)s 3160(been)s 3669(parsed,)s 4400(and)s 4804(before)s
4260 5470(the)s 5818(service)s 6550(is)s 6760(about)s 7352(to)s
4261 7591(be)s 7873(e)s 3(x)k 3(ecuted,)k 480 1554(stderr)m
4262 1082(\(fd)s 1417(2\))s 1663(must)s 2187(be)s 2468(required)s
4263 3320(or)s 3578(allo)s 6(wed)k 4385(\()s gsave
4267 0 -52(require\211fd)m
4272 240 fnt31 0 -52(allow\211fd)m
4275 6703(for)s 7040(writing;)s 7841(this)s 8235(is)s 8444(so)s
4276 8708(that)s 480 1314(the)m 823(error)s 1341(message)s 2202(printed)s
4277 2931(by)s 3220(the)s 3563(serv)s 3(er')k 13(s)k
4278 4348(child)s 4878(process)s 5641(if)s 5853(it)s 6040(cannot)s
4282 240 fnt31 0 -52(exec)m
4284 7187(the)s 7530(service)s 8256(program)s
4285 480 1074(is)m 690(not)s 1056(lost.)s gsave
4288 240 fnt31 0 -52(allow\211fd)m
4292 240 fnt83 0 -52(fd-r)m 3(ang)k 2(e)k
4297 0 52(User)m 511(service)s 1243(daemon)s 2058(and)s 2462(client)s
4298 3052(speci\207cation)s 8652(0.62)s
4308 %%PageResources: font Times-Roman
4310 %%+ font Courier-Bold
4311 %%+ font Times-Italic
4313 0.0500 dup scale 10 setlinewidth
4317 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
4332 1417 -15423 translate
4333 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
4337 240 fnt84 0 13842(16)m 240 fnt82 480 13251(Allo)m 6(w)k
4338 1126(the)s 1474(descriptor\(s\))s 2729(to)s 2968(be)s 3250(opened)s
4339 4000(for)s 4338(reading)s 5108(resp.)s 5610(writing,)s 6407(or)s
4340 6666(either)s 7269(if)s 7486(neither)s gsave
4341 8209 13305 translate
4343 240 fnt31 0 -52(read)m
4349 240 fnt31 0 -52(write)m
4351 1040 13011(is)m 1250(speci\207ed.)s
4352 2204(If)s 2434(a)s 2600(particular)s 3574(descriptor)s 4589(not)s
4353 4955(speci\207ed)s 5863(by)s 6157(the)s 6505(client)s 7095(then)s
4354 7564(it)s 7756(will)s 8182(be)s 8464(open)s 480 12771(onto)m
4358 240 fnt31 0 -52(/dev/null)m
4360 1920(\(for)s 2337(reading,)s 3161(writing,)s
4361 3958(or)s 4217(both,)s 4750(depending)s 5801(on)s 6098(whether)s
4363 6928 12825 translate
4365 240 fnt31 0 -52(read)m
4368 7435 12825 translate
4370 240 fnt31 0 -52(write)m
4373 7995(or)s 8254(neither)s 480 12531(w)m 2(as)k 901(speci\207ed\).)s
4377 240 fnt31 0 -52(null\211fd)m gsave
4380 240 fnt83 0 -52(fd-r)m 3(ang)k 2(e)k
4385 480 11892(Spec)m 938(i)s 998(fy)s 1251(that)s
4386 1669(the)s 2017(de)s 2239(scrip)s 2696(tor\(s\))s 3261(be)s
4387 3543(opened)s 4293(onto)s gsave
4388 4772 11946 translate
4390 240 fnt31 0 -52(/dev/null)m
4393 6071(read)s 6480(ing)s 6839(resp.)s 7341(writ)s 7725(ing,)s
4394 8138(or)s 8397(both)s 8880(if)s 480 11652(nei)m 766(ther)s
4396 1181 11706 translate
4398 240 fnt31 0 -52(read)m
4401 1986 11706 translate
4403 240 fnt31 0 -52(write)m
4406 2529(is)s 2722(spec)s 3140(i)s 3200(\207ed.)s 3646(An)s 3(y)k
4407 4093(spec)s 4511(i)s 4571(\207)s 4696(ca)s 4908(tion)s
4408 5320(of)s 5574(these)s 6104(\207le)s 6448(de)s 6670(scrip)s
4409 7127(tors)s 7519(by)s 7796(the)s 8127(client)s 8700(will)s
4410 480 11412(be)m 762(silent)s 1279(ly)s 1519(ig)s 1698(nored;)s
4411 2355(the)s 2703(client)s 3293(will)s 3719(see)s 4080(its)s
4412 4356(ends)s 4846(of)s 5117(the)s 5465(de)s 5687(scrip)s
4413 6144(tors)s 6553(be)s 6775(ing)s 7134(closed)s 7803(im)s
4414 8055(me)s 8343(di)s 8523(ate)s 8797(ly)s 15(.)k
4418 240 fnt31 0 -52(reject\211fd)m gsave
4421 240 fnt83 0 -52(fd-r)m 3(ang)k 2(e)k
4426 480 10778(Do)m 824(not)s 1187(allo)s 6(w)k 1764(the)s
4427 2109(descriptor\(s\))s 3362(to)s 3598(be)s 3878(speci\207ed)s 4783(by)s
4428 5075(the)s 5420(client.)s 6052(It)s 6254(is)s 6462(an)s
4429 6742(error)s 7263(if)s 7477(an)s 3(y)k 7871(descriptor\(s\))s
4430 480 10538(mark)m 2(ed)k 1253(for)s 1591(rejection)s 2483(are)s
4431 2830(speci\207ed)s 3738(when)s 4314(the)s 4662(service)s 5394(is)s
4432 5604(about)s 6196(to)s 6435(be)s 6717(in)s 9(v)k 4(ok)k 2(ed)k
4433 7532(\(after)s 8107(the)s 480 10298(con\207guration)m 1813(has)s 2183(been)s
4434 2692(parsed\).)s gsave
4437 240 fnt31 0 -52(ignore\211fd)m gsave
4440 240 fnt83 0 -52(fd-r)m 3(ang)k 2(e)k
4445 480 9664(Silent)m 1037(ly)s 1260(ig)s 1439(nore)s 1902(an)s 3(y)k
4446 2281(spec)s 2699(i)s 2759(\207)s 2884(ca)s 3096(tion)s
4447 3507(by)s 3783(the)s 4113(client)s 4685(of)s 4938(those)s
4448 5481(de)s 5703(scrip)s 6160(tor\(s\).)s 6762(The)s 7172(pipes)s
4449 7710(cor)s 8015(re)s 8196(spond)s 8767(ing)s 480 9424(to)m
4450 719(these)s 1266(de)s 1488(scrip)s 1945(tors)s 2354(will)s
4451 2780(be)s 3062(closed)s 3731(just)s 4136(be)s 4358(fore)s
4452 4798(the)s 5146(ser)s 5424(vice)s 5878(is)s 6088(in)s
4453 6271(v)s 4(ok)k 2(ed.)k gsave
4456 240 fnt31 0 -52(disconnect\211hup)m
4462 240 fnt31 0 -52(no\211disconnect\211hup)m
4464 480 8550(Causes)m 1209(the)s 1557(service')s 13(s)k
4465 2443(process)s 3211(group)s 3823(to)s 4062(get)s 4414(a)s
4469 240 fnt31 0 -52(SIGHUP)m
4471 5240(if)s 5457(the)s 5805(client)s
4472 6395(disconnects)s 7562(before)s 8228(the)s 8576(main)s 480 8310(service)m
4473 1212(process)s 1980(terminates.)s gsave
4476 240 fnt31 0 -52(no\211disconnect\211hup)m
4482 240 fnt31 0 -52(disconnect\211hup)m
4484 6995(.)s 480 7902(If)m 700(one)s
4485 1091(of)s 1352(the)s 1689(reading)s 2449(descriptors)s 3537(speci\207ed)s
4486 4435(when)s 5000(the)s 5337(client)s 5917(is)s 6116(called)s
4487 6734(gets)s 7159(a)s 7315(read)s 7773(error)s 9(,)k
4488 8324(or)s 8572(if)s 8778(the)s 480 7661(service)m 1212(is)s
4489 1422(disconnected)s 2729(for)s 3067(some)s 3628(other)s 4179(reason,)s
4490 4910(then)s 5379(the)s gsave
4493 240 fnt31 0 -52(SIGHUP)m
4496 6813(be)s 7095(deli)s 6(v)k 3(ered)k 240 fnt83
4497 8033 7663(befor)m 8(e)k 240 fnt82 8689 7661(the)m 480 7421(writing)m
4498 1223(end\(s\))s 1869(of)s 2140(the)s 2488(service')s 13(s)k
4499 3374(reading)s 4144(pipe\(s\))s 4856(are)s 5203(closed,)s 5921(so)s
4500 6187(that)s 6605(the)s 6953(client)s 7543(can)s 7932(distinguish)s
4501 480 7181(disconnection)m 1866(from)s 2390(reading)s 3160(EOF)s 3670(on)s
4502 3967(a)s 4133(pipe.)s gsave
4505 240 fnt31 0 -52(reset)m
4508 1155(the)s 1503(e)s 3(x)k 3(ecution)k 2484(settings)s
4509 3265(to)s 3504(the)s 3852(def)s 2(ault.)k 4617(This)s
4510 5093(is)s 5303(equi)s 6(v)k 6(alent)k 6347(to:)s
4514 240 fnt31 0 -52(cd)m 432(~/)s 0 -292(reject)m 0 -532(no\211set\211environment)m
4515 0 -772(suppress\211args)m 0 -1012(allow\211fd)m 1296(0)s 1584(read)s 0 -1252(allow\211fd)m
4516 1296(1\2112)s 1872(write)s 0 -1492(reject\211fd)m 1440(3\211)s 0 -1732(disconnect\211hup)m
4519 0 4085(If)m 230(no)s gsave
4522 240 fnt31 0 -52(execute)m
4528 240 fnt31 0 -52(execute\211from\211path)m
4533 240 fnt31 0 -52(execute\211from\211directory)m
4539 240 fnt31 0 -52(builtin)m
4541 6420(is)s 6630(interpreted)s
4542 7722(before)s 8388(all)s 8681(the)s 0 3845(\207les)m 449(are)s
4543 796(read)s 1265(then)s 1734(the)s 2082(request)s 2832(is)s
4544 3042(rejected.)s 9066 670 0 670 240 240 60 0 2821 LoutGr2
4545 newpath 0 ysize 0.3 ft sub moveto
4551 320 fnt84 0 66(4.3.)m 628(Err)s 5(ors)k
4552 1618(in)s 1958(the)s 2458(con\207guration)s 4359(\207le)s
4555 230(a)s 396(syntax)s 1076(error)s 1599(or)s 1858(other)s
4556 2409(problem)s 3266(occurs)s 3941(when)s 4517(processing)s 5593(a)s
4557 5759(con\207guration)s 7092(\207le)s 7453(then)s 7922(a)s 8088(diagnostic)s
4558 0 2119(will)m 422(be)s 699(issued,)s 1399(to)s 1633(where)s 6(v)k 3(er)k
4559 2568(the)s 2911(error)s 3429(messages)s 4378(are)s 4721(currently)s
4560 5632(being)s 6212(sent)s 6652(\(see)s 7087(the)s gsave
4566 8185(f)s 2(amily)k 8855(of)s 0 1879(directi)m 6(v)k 3(es,)k
4567 1026(abo)s 3(v)k 3(e\).)k 0 1471(The)m 428(error)s
4568 951(will)s 1377(cause)s 1964(processing)s 3040(of)s 3311(the)s
4569 3659(con\207guration)s 4992(\207les)s 5441(to)s 5680(cease)s 6253(at)s
4570 6485(that)s 6903(point,)s 7502(unless)s 8151(the)s 8499(error)s
4571 0 1231(w)m 2(as)k 421(inside)s 1048(a)s gsave
4575 0 -52(catch\211quit)m
4577 2275(construct.)s 3255(In)s 3511(this)s 3907(case)s
4578 4374(the)s 4722(settings)s 5503(controlling)s 6605(the)s 6953(program')s 13(s)k
4579 7973(e)s 3(x)k 3(ecution)k 0 991(will)m 426(be)s
4580 708(reset)s 1218(to)s 1457(the)s 1805(def)s 2(aults)k
4581 2610(as)s 2860(if)s 3077(a)s gsave
4584 240 fnt31 0 -52(reset)m
4587 3803(directi)s 6(v)k 3(e)k 4685(had)s 5089(been)s
4588 5598(issued,)s 6303(and)s 6707(parsing)s 7464(continues)s 8432(after)s
4592 240 fnt31 0 -52(hctac)m
4594 500 751(.)m 0 52(0.62)m 4809(User)s
4595 5320(service)s 6052(daemon)s 6867(and)s 7271(client)s 7861(speci\207cation)s
4606 %%PageResources: font Times-Roman
4608 %%+ font Courier-Bold
4609 %%+ font Times-Italic
4611 0.0500 dup scale 10 setlinewidth
4615 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
4630 1417 -15423 translate
4631 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
4635 240 fnt84 8831 13842(17)m gsave
4637 240 fnt82 9066 609 0 609 240 240 60 LoutGraphic
4639 newpath 0 ysize 0.3 ft sub moveto
4645 320 fnt84 0 5(4.4.)m 628(Defaults)s
4648 240 fnt82 0 12346(The)m 428(def)s 2(ault)k 1149(con\207guration)s
4649 2482(processing)s 3558(is)s 3768(as)s 4018(if)s 4235(the)s
4650 4583(daemon)s 5398(were)s 5918(parsing)s 6675(an)s 6958(o)s 3(v)k 3(erall)k
4651 7670(con\207guration)s 0 12106(\207le)m 361(whose)s 1029(contents)s 1877(were)s
4652 2397(as)s 2647(follo)s 6(ws:)k gsave
4655 240 fnt31 0 -52(reset)m
4656 0 -292(user\211rcfile)m 1728(~/.userv/rc)s 0 -532(errors\211to\211stderr)m 0 -772(include)m 1152(/etc/userv/system.default)s
4657 0 -1012(if)m 432(grep)s 1152(service\211user\211shell)s 3888(/etc/shells)s 432 -1252(errors\211push)m
4658 720 -1492(catch\211quit)m 1008 -1732(include\211ifexist)m gsave
4659 3312 -1680 translate
4661 240 fnt83 0 -52(\207le)m 345(speci\207ed)s
4662 1248(by)s 1530(most)s 2046(r)s 8(ecent)k 2699(user\211r)s 8(c\207le)k
4663 3767(dir)s 8(ective)k
4665 720 -1972(hctac)m 432 -2212(srorre)m 0 -2452(fi)m
4666 0 -2692(include)m 1152(/etc/userv/system.override)s 0 -2932(quit)m
4668 0 8444(If)m 226(one)s
4669 624(of)s 891(the)s gsave
4672 240 fnt31 0 -52(\211\211override)m
4675 3044(to)s 3279(the)s 3623(client)s 4209(is)s 4415(used)s
4676 4908(then)s 5373(it)s 5561(will)s 5983(instead)s 6714(be)s
4677 6992(as)s 7238(if)s 7451(the)s 7795(daemon)s 8606(were)s
4678 0 8204(parsing)m 757(an)s 1040(o)s 3(v)k 3(erall)k
4679 1752(con\207guration)s 3085(as)s 3335(follo)s 6(ws:)k gsave
4683 0 -52(reset)m 0 -292(errors\211to\211stderr)m 0 -532(include)m gsave
4686 240 fnt83 0 -52(\207le)m
4687 345(containing)s 1423(con\207gur)s 3(ation)k 2765(data)s 3246(sent)s
4688 3695(by)s 3977(client)s
4692 0 52(User)m 511(service)s
4693 1243(daemon)s 2058(and)s 2462(client)s 3052(speci\207cation)s 8652(0.62)s
4704 %%PageResources: font Times-Roman
4706 %%+ font Courier-Bold
4708 0.0500 dup scale 10 setlinewidth
4712 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
4727 1417 -15423 translate
4728 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
4732 240 fnt84 0 13842(18)m gsave
4734 240 fnt82 9066 688 0 688 240 240 60 LoutGraphic
4736 newpath 0 ysize 0.3 ft sub moveto
4742 340 fnt84 0 70(5.)m 412(Inf)s 8(ormation)k
4743 2257(passed)s 3297(thr)s 6(ough)k 4539(the)s 5070(client/daemon)s
4746 240 fnt82 0 12264(The)m 428(information)s 1613(described)s
4747 2587(belo)s 6(w)k 3220(is)s 3430(the)s 3778(only)s
4748 4258(information)s 5443(which)s 6085(passes)s 6747(between)s 7601(the)s
4749 7949(caller)s 8538(and)s 0 12024(the)m 348(service.)s 0 11616(\213)m
4750 480(The)s 908(service)s 1640(name)s 2214(supplied)s 3083(by)s
4751 3377(the)s 3725(caller)s 4314(is)s 4524(a)s 4(v)k 6(ailable)k
4752 5432(in)s 5675(the)s 6023(con\207guration)s 7356(language)s 8276(for)s
4753 480 11376(deciding)m 1343(whether)s 2158(and)s 2547(which)s 3175(service)s
4754 3892(program)s 4747(to)s 4971(in)s 9(v)k 4(ok)k 2(e,)k
4755 5701(in)s 5929(the)s gsave
4756 6262 11430 translate
4758 240 fnt31 0 -52(service)m
4760 7008(parameter)s 9(,)k
4761 8045(and)s 8434(is)s 8629(used)s 480 11136(by)m 774(the)s
4763 1122 11190 translate
4765 240 fnt31 0 -52(execute\211from\211directory)m
4768 3788 11190 translate
4770 240 fnt31 0 -52(execute\211from\211path)m
4773 5550(con\207guration)s 6883(directi)s 6(v)k 3(es.)k 7906(It)s
4774 8111(is)s 8321(usually)s 480 10896(used)m 977(to)s 1216(select)s
4775 1819(which)s 2461(service)s 3193(program)s 4063(to)s 4302(in)s 9(v)k 4(ok)k 2(e.)k
4776 5043(It)s 5248(is)s 5458(also)s 5896(passed)s 6592(to)s
4777 6831(the)s 7179(service)s 7911(program)s 8781(in)s 480 10656(the)m
4781 240 fnt31 0 -52(USERV_SERVICE)m
4783 2189(en)s 9(vironment)k 3449(v)s 6(ariable.)k
4784 0 10225(\213)m 480(File)s 902(descriptors)s 1995(speci\207ed)s 2897(by)s
4785 3185(the)s 3528(client)s 4112(and)s 4510(allo)s 6(wed)k
4786 5313(according)s 6304(to)s 6537(the)s 6879(con\207guration)s 8206(language)s
4787 480 9985(will)m 906(be)s 1188(connected.)s 2262(Each)s 2797(\207le)s
4788 3158(descriptor)s 4173(is)s 4383(opened)s 5133(for)s 5471(reading)s
4789 6241(or)s 6500(writing.)s 7294(Communication)s 8893(is)s 480 9745(via)m
4790 832(pipes,)s 1444(one)s 1846(end)s 2250(of)s 2521(each)s
4791 3016(pipe)s 3484(being)s 4069(open)s 4592(on)s 4889(the)s
4792 5237(appropriate)s 6381(\207le)s 6742(descriptor)s 7757(in)s 8000(the)s
4793 8348(service)s 480 9505(program)m 1350(\(when)s 2005(it)s 2197(is)s
4794 2407(in)s 9(v)k 4(ok)k 2(ed\))k 3292(and)s
4795 3696(the)s 4044(other)s 4595(end)s 4999(being)s 5584(held)s
4796 6054(by)s 6348(the)s 6696(client)s 7286(process,)s 8110(which)s
4797 480 9265(will)m 906(read)s 1375(and)s 1779(write)s 2325(\207les)s
4798 2774(it)s 2966(opens)s 3576(on)s 3873(behalf)s 4542(of)s
4799 4813(its)s 5089(caller)s 5678(or)s 5937(\207le)s 6298(descriptors)s
4800 7397(it)s 7589(is)s 7799(passed)s 8495(by)s 480 9025(its)m
4801 756(caller)s 13(.)k 480 8617(Data)m 991(may)s 1457(be)s
4802 1739(passed)s 2435(into)s 2860(the)s 3208(service)s 3940(through)s
4803 4742(reading)s 5512(pipes)s 6068(and)s 6472(out)s 6838(of)s
4804 7109(it)s 7301(through)s 8103(writing)s 480 8377(pipes.)m 1083(These)s
4805 1703(pipes)s 2252(can)s 2634(remain)s 3347(open)s 3864(only)s
4806 4337(until)s 4823(the)s 5164(service)s 5889(and)s 6287(client)s
4807 6870(ha)s 4(v)k 3(e)k 7364(terminated,)s 8485(or)s
4808 8737(can)s 480 8137(be)m 762(made)s 1336(to)s 1575(stay)s
4809 2014(open)s 2537(after)s 3033(the)s 3381(client)s 3971(has)s
4810 4341(terminated)s 5420(and)s 5824(\(if)s 6120(the)s 6468(service)s
4811 7200(program)s 8070(forks\))s 8689(the)s 480 7897(main)m 1015(service)s
4812 1747(process)s 2515(has)s 2885(e)s 3(xited;)k 3578(the)s
4813 3926(beha)s 4(viour)k 4939(is)s 5149(controlled)s 6176(by)s
4814 6470(options)s 7226(passed)s 7922(to)s 8161(the)s 8509(client)s
4815 480 7657(by)m 774(its)s 1050(caller)s 13(.)k 480 7249(The)m
4816 901(caller)s 1483(can)s 1864(arrange)s 2629(that)s 3039(a)s
4817 3198(writing)s 3934(pipe)s 4394(be)s 4669(connected)s 5689(to)s
4818 5921(a)s 6080(pipe)s 6540(or)s 6792(similar)s 7506(object)s
4819 8143(and)s 8539(cause)s 480 7009(attempts)m 1340(to)s 1579(write)s
4820 2125(to)s 2364(that)s 2782(descriptor)s 3797(by)s 4091(the)s
4821 4439(service)s 5171(to)s 5410(generate)s 6275(a)s gsave
4830 240 fnt31 0 -52(EPIPE)m
4836 240 fnt31 0 -52(SIGPIPE)m
4838 480 6769(is)m 690(caught)s 1388(or)s
4839 1647(ignored\))s 2506(in)s 2749(the)s 3097(service.)s 480 6361(Lik)m 2(e)k 6(wise,)k
4840 1455(the)s 1803(service)s 2535(can)s 2924(close)s 3471(\207ledescriptors)s
4841 4875(speci\207ed)s 5783(for)s 6121(reading,)s 6945(which)s 7587(will)s
4842 8013(cause)s 8600(the)s 480 6121(corresponding)m 1902(\207ledescriptors)s 3306(passed)s
4843 4002(by)s 4296(the)s 4644(caller)s 5233(to)s 5472(be)s
4844 5754(closed,)s 6472(so)s 6738(that)s 7156(if)s 7373(these)s
4845 7920(are)s 8267(pipes)s 480 5881(processes)m 1447(which)s 2089(write)s
4846 2635(to)s 2874(them)s 3412(will)s 3838(recei)s 6(v)k 3(e)k
4850 240 fnt31 0 -52(SIGPIPE)m
4855 240 fnt31 0 -52(EPIPE)m
4858 6093(.)s 0 5426(\213)m 480(If)s gsave
4861 240 fnt31 0 -52(no\211suppress\211args)m
4864 2363(is)s 2568(set)s 2888(then)s 3353(ar)s 4(guments)k
4865 4391(passed)s 5082(to)s 5316(the)s 5660(client)s 6245(by)s
4866 6534(its)s 6805(caller)s 7390(will)s 7811(be)s 8088(passed)s
4867 8779(on,)s 480 5186(v)m 3(erbatim,)k 1433(to)s 1672(the)s
4868 2020(service.)s 0 4750(\213)m 480(F)s 3(a)k 716(tal)s
4869 1009(sig)s 1281(nals)s 1717(and)s 2121(sys)s 2418(tem)s
4870 2836(call)s 3235(f)s 2(ail)k 3545(ures)s 3994(e)s 3(x)k
4871 4212(pe)s 4434(ri)s 4573(enced)s 5189(by)s 5483(the)s
4872 5831(client)s 6421(will)s 6847(re)s 7028(sult)s 7433(in)s
4873 7676(the)s 8024(dis)s 8294(con)s 8637(nec)s 8962(-)s
4874 480 4510(tion)m 909(of)s 1180(the)s 1528(ser)s 1806(vice)s
4875 2260(from)s 2784(the)s 3132(client)s 3722(and)s 4126(pos)s
4876 4450(si)s 4603(bly)s 4963(some)s 5524(of)s 5795(the)s
4877 6143(com)s 6555(mu)s 6856(ni)s 7036(ca)s 7248(tion)s
4878 7677(\207le)s 8038(de)s 8260(scrip)s 8717(tors)s 480 4270(de)m
4879 702(scribed)s 1450(abo)s 3(v)k 3(e;)k 2128(if)s
4883 240 fnt31 0 -52(disconnect\211hup)m
4885 3806(is)s 4016(set)s 4341(then)s
4886 4810(the)s 5158(ser)s 5436(vice)s 5890(will)s 6316(also)s
4887 6754(be)s 7036(sent)s 7481(a)s gsave
4890 240 fnt31 0 -52(SIGHUP)m
4893 8247(.)s 0 3834(\213)m 480(The)s 908(v)s 6(alue)k
4894 1476(of)s 1747(the)s gsave
4897 240 fnt31 0 -52(LOGNAME)m
4903 240 fnt31 0 -52(USER)m
4905 3593(\))s 3721(en)s 9(vironment)k
4906 4981(v)s 6(ariable)k 5800(as)s 6050(passed)s 6746(to)s
4907 6985(the)s 7333(client)s 7923(will)s 8349(be)s 480 3594(used)m
4908 977(as)s 1227(the)s 1575(login)s 2124(name)s 2698(of)s
4909 2969(the)s 3317(calling)s 4020(user)s 4478(if)s 4695(the)s
4910 5043(uid)s 5407(of)s 5678(the)s 6026(calling)s 6729(process)s
4911 7497(matches)s 8331(the)s 8679(uid)s 480 3354(corresponding)m 1902(to)s
4912 2141(that)s 2559(login)s 3108(name.)s 3730(Otherwise)s 4768(the)s
4913 5116(calling)s 5819(uid')s 13(s)k 6335(passw)s 2(ord)k
4914 7295(entry)s 7840(will)s 8266(be)s 8548(used)s 480 3114(to)m
4915 719(determine)s 1730(the)s 2078(calling)s 2781(user')s 13(s)k
4916 3389(login)s 3938(name.)s 480 2706(This)m 956(login)s 1505(name)s
4917 2079(and)s 2483(the)s 2831(calling)s 3534(uid)s 3898(are)s
4918 4245(a)s 4(v)k 6(ailable)k 5153(in)s 5396(the)s
4919 5744(con\207guration)s 7077(language)s 7997(in)s 8240(the)s gsave
4923 0 -52(calling\211user)m
4925 1741 2466(parameter)m 2755(and)s 3159(are)s 3506(passed)s
4926 4202(to)s 4441(the)s 4789(service)s 5521(program)s 6391(in)s
4927 6634(en)s 9(vironment)k 7894(v)s 6(ariables)k gsave
4933 1541 2226(and)m gsave
4936 240 fnt31 0 -52(USERV_UID)m
4939 480 1818(The)m 901(shell)s 1400(corresponding)s 2815(to)s 3047(that)s
4940 3458(login)s 4000(name)s 4567(\(according)s 5635(to)s 5867(the)s
4941 6208(passw)s 2(ord)k 7161(entry\))s 7773(is)s 7976(a)s 4(v)k 6(ailable)k
4942 8876(as)s 480 1578(in)m 723(the)s 1071(con\207guration)s 2404(language')s 13(s)k
4946 240 fnt31 0 -52(calling\211user\211shell)m
4948 5340(parameter)s 13(.)k 480 1170(If)m
4949 710(no)s 1003(rele)s 6(v)k 6(ant)k 1820(passw)s 2(ord)k
4950 2780(entry)s 3325(can)s 3714(be)s 3996(found)s 4613(then)s
4951 5082(no)s 5375(service)s 6107(will)s 6533(be)s 6815(in)s 9(v)k 4(ok)k 2(ed.)k
4952 0 715(\213)m 480(The)s 908(numeric)s 1744(v)s 6(alues)k
4953 2400(and)s 2804(te)s 3(xtual)k 3506(names)s 4168(for)s
4954 4506(calling)s 5209(gid)s 5573(and)s 5977(supplementary)s 7439(group)s
4955 8051(list)s 8402(are)s 0 52(0.62)m 4809(User)s 5320(service)s
4956 6052(daemon)s 6867(and)s 7271(client)s 7861(speci\207cation)s
4966 %%PageResources: font Times-Roman
4968 %%+ font Courier-Bold
4969 %%+ font Times-Italic
4971 0.0500 dup scale 10 setlinewidth
4975 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
4990 1417 -15423 translate
4991 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
4995 240 fnt84 8832 13842(19)m 240 fnt82 480 13251(a)m 4(v)k 6(ailable)k
4996 1380(in)s 1615(the)s 1955(con\207guration)s 3280(language)s 4192(in)s
4998 4766 13305 translate
5000 240 fnt31 0 -52(calling\211group)m
5002 6119(parameter)s 7125(and)s
5003 7521(are)s 7860(passed)s 8548(to)s 8778(the)s 480 13011(service)m
5004 1212(in)s 1455(en)s 9(vironment)k 2715(v)s 6(ariables.)k
5005 480 12603(If)m 710(no)s 1003(name)s 1577(can)s 1966(be)s
5006 2248(found)s 2865(for)s 3203(a)s 3369(numeric)s 4205(group)s
5007 4817(to)s 5056(which)s 5698(the)s 6046(calling)s 6749(process)s
5008 7517(belongs)s 8313(then)s 8782(no)s 480 12363(service)m 1212(will)s
5009 1638(be)s 1920(in)s 9(v)k 4(ok)k 2(ed.)k
5010 0 11957(\213)m 480(The)s 908(name)s 1482(of)s 1753(the)s
5011 2101(current)s 2837(w)s 2(orking)k 3686(directory)s 4602(in)s
5012 4845(which)s 5487(the)s 5835(client)s 6425(w)s 2(as)k
5013 6846(in)s 9(v)k 4(ok)k 2(ed)k 7661(is)s
5014 7871(passed,)s 8616(if)s 480 11717(a)m 4(v)k 6(ailable)k
5015 1388(and)s 1792(not)s 2158(hidden)s 2867(using)s gsave
5016 3439 11771 translate
5019 0 -52(\211\211hidecwd)m
5021 4340(,)s 4447(to)s 4686(the)s 5034(service)s
5022 5766(program)s 6636(in)s 6879(the)s gsave
5023 7227 11771 translate
5025 240 fnt31 0 -52(USERV_CWD)m
5028 8188(v)s 6(ariable.)k 480 11477(This)m 946(grants)s 1570(no)s
5029 1852(special)s 2560(access)s 3210(to)s 3438(that)s 3846(directory)s
5030 4751(unless)s 5389(it)s 5571(is)s 5770(a)s 5925(subdirectory)s
5031 7164(of)s 7424(a)s 7579(directory)s 8484(which)s 480 11237(is)m
5032 690(e)s 3(x)k 3(ecutable)k 1762(\(searchable\))s 2977(b)s 4(ut)k
5033 3339(not)s 3705(readable)s 4570(by)s 4864(the)s 5212(service)s
5034 5944(user)s 13(.)k 0 10780(\213)m 480(Settings)s 1301(speci\207ed)s
5035 2209(by)s 2503(the)s 2851(caller)s 3440(using)s 4012(the)s
5037 4360 10834 translate
5039 240 fnt31 0 -52(\211\211defvar)m gsave
5042 240 fnt83 0 -52(name)m
5048 240 fnt83 0 -52(value)m
5052 6432(option)s 7101(to)s 7340(the)s
5053 7688(client)s 8278(are)s 480 10540(a)m 4(v)k 6(ailable)k
5054 1388(in)s 1631(the)s 1979(con\207guration)s 3312(language)s 4232(as)s
5055 4482(the)s 4830(corresponding)s gsave
5056 6252 10594 translate
5058 240 fnt31 0 -52(u\211)m gsave
5066 7018(parameters)s 8116(and)s 8520(are)s 480 10300(passed)m
5067 1176(to)s 1415(the)s 1763(service)s 2495(program)s 3365(in)s
5068 3608(en)s 9(vironment)k 4868(v)s 6(ariables)k gsave
5069 5775 10354 translate
5072 0 -52(USERV_U_)m gsave
5075 240 fnt83 0 -52(name)m
5079 7082(.)s 0 9845(\213)m
5080 480(If)s 710(the)s 1058(calling)s 1761(user)s 2219(is)s
5081 2429(root)s 2874(or)s 3133(the)s 3481(same)s 4028(as)s
5082 4278(the)s 4626(service)s 5358(user)s 5816(then)s 6285(options)s
5083 7041(may)s 7507(be)s 7789(gi)s 6(v)k 3(en)k
5084 8369(to)s 8608(the)s 480 9605(client)m 1070(which)s 1712(bypass)s
5085 2415(the)s 2763(usual)s 3323(security)s 4133(features;)s 5000(in)s
5086 5243(this)s 5639(case)s 6106(other)s 6657(information)s 7842(may)s
5087 8308(pass)s 480 9365(between)m 1334(the)s 1682(caller)s 2271(and)s
5088 2675(the)s 3023(service.)s 0 52(User)m 511(service)s 1243(daemon)s
5089 2058(and)s 2462(client)s 3052(speci\207cation)s 8652(0.62)s
5099 %%PageResources: font Times-Roman
5101 %%+ font Courier-Bold
5102 %%+ font Times-Italic
5104 0.0500 dup scale 10 setlinewidth
5108 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
5123 1417 -15423 translate
5124 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
5128 240 fnt84 0 13842(20)m gsave
5130 240 fnt82 9066 687 0 687 240 240 60 LoutGraphic
5132 newpath 0 ysize 0.3 ft sub moveto
5138 340 fnt84 0 69(6.)m 412(A)s 8(pplications)k
5139 2309(and)s 2935(notes)s 3765(on)s 4204(use)s
5143 240 fnt82 9066 670 0 670 240 240 60 LoutGraphic
5145 newpath 0 ysize 0.3 ft sub moveto
5152 0 66(6.1.)m 628(Standard)s 1977(ser)s 3(vices)k 3110(and)s
5153 3697(dir)s 5(ectory)k 5025(management)s
5155 240 fnt82 0 11187(In)m
5156 250(later)s 726(v)s 3(ersions)k 1565(of)s 1829(this)s
5157 2219(speci\207cation)s 3477(standard)s 4339(service)s 5064(names)s 5720(and)s
5158 6117(interf)s 2(aces)k 7087(for)s 7418(common)s 8306(services)s
5159 0 10947(such)m 496(as)s 746(mail)s 1225(deli)s 6(v)k 3(ery)k
5160 2053(and)s 2457(WWW)s 3193(CGI)s 3661(scripts)s 4335(will)s
5161 4761(be)s 5043(speci\207ed.)s gsave
5164 240 fnt31 0 -52(userv)m
5167 783(ing)s 1142(ap)s 1361(pli)s 1607(ca)s 1819(tions)s
5168 2335(and)s 2739(sys)s 3036(tem)s 3454(ser)s 3732(vices)s
5169 4274(which)s 4916(hide)s gsave
5170 5384 10593 translate
5172 240 fnt31 0 -52(userv)m
5175 6166(hind)s 6650(wrap)s 7121(per)s 7486(scripts)s 8160(may)s
5176 0 10299(need)m 510(to)s 749(store)s 1269(in)s 1452(for)s
5177 1730(ma)s 2022(tion)s 2451(in)s 2694(the)s 3042(user')s 13(s)k
5178 3650(\207lespace)s 4542(to)s 4781(pre)s 5082(serv)s 3(e)k
5179 5639(the)s 5987(cor)s 6292(rect)s 6709(place)s 7209(ment)s
5180 7747(of)s 8018(the)s 8366(se)s 8561(-)s 0 10059(cu)m
5181 221(ri)s 360(ty)s 600(perim)s 1157(iters.)s 1671(Such)s
5182 2207(ap)s 2426(pli)s 2672(ca)s 2884(tions)s 3400(should)s
5183 4097(usu)s 4425(al)s 4592(ly)s 4832(do)s 5125(so)s
5184 5391(in)s 5634(a)s 5800(di)s 5980(rec)s 6264(to)s
5185 6443(ry)s 6696(\(cre)s 7062(at)s 7234(ed)s 7518(by)s
5189 240 fnt31 0 -52(~/.userv/.servdata/)m gsave
5192 240 fnt83 0 -52(service)m
5197 2563 9819(,)m 2670(where)s 240 fnt83 3310 9821(ser)m 3607(vice)s
5198 240 fnt82 4044 9819(is)m 4254(the)s 4602(ser)s 4880(vice)s
5199 5334(name)s 5908(or)s 6167(ap)s 6386(pli)s 6632(ca)s
5200 6844(tion)s 7273(in)s 7516(ques)s 7946(tion.)s 0 9411(The)m
5201 428(use)s 803(of)s 1074(a)s 1240(dot-directory)s 2541(inside)s
5205 240 fnt31 0 -52(~/.userv)m
5207 4029(will)s 4455(hopefully)s 5426(a)s 4(v)k 4(oid)k
5208 6008(the)s 6356(user)s 6814(becoming)s 7811(confused)s 0 9171(by)m
5209 294(\207nding)s 1026(parts)s 1541(of)s 1812(a)s 1978(semi-pri)s 6(vile)k 3(ged)k
5210 3526(application')s 13(s)k 4798(internal)s 5582(state)s 6075(in)s
5211 6318(their)s 6815(\207lespace,)s 7758(and)s 8162(or)s 0 8931(discourage)m
5212 1092(them)s 1630(from)s 2154(\207ddling)s 2952(with)s 3434(and)s
5213 3838(thus)s 4288(corrupting)s 5337(it.)s 5573(\(Note)s 6173(that)s
5214 6591(such)s 7087(applications)s 8293(should)s 0 8691(of)m 271(course)s
5215 951(not)s 1317(rely)s 1742(for)s 2080(their)s 2577(global)s
5216 3230(inte)s 3(grity)k 4090(on)s 4387(the)s 4735(inte)s 3(grity)k
5217 5595(of)s 5866(the)s 6214(data)s 6672(on)s 6969(the)s
5218 7317(user')s 13(s)k 7925(side)s 8366(of)s 8637(the)s
5219 0 8451(security)m 810(boundary)s 15(.\))k 9066 670 0 670 240 240 60 0 7427 LoutGr2
5220 newpath 0 ysize 0.3 ft sub moveto
5226 320 fnt84 0 66(6.2.)m
5227 628(Reducing)s 1997(the)s 2497(number)s 3655(of)s 4018(absolutely)s
5228 5474(pri)s 3(vileged)k 6908(subsystems)s
5230 0 6965(Currently)m 970(most)s
5231 1495(Unix)s 2029(systems)s 2837(ha)s 4(v)k 3(e)k
5232 3338(man)s 3(y)k 3921(components)s 5129(which)s 5771(need)s
5233 6281(to)s 6520(run)s 6896(as)s 7146(root,)s 7638(e)s 6(v)k 3(en)k
5234 8138(though)s 0 6725(most)m 525(of)s 796(their)s 1293(acti)s 6(vity)k
5235 2057(does)s 2547(not)s 2913(strictly)s 3629(require)s 4361(it.)s
5236 4597(This)s 5073(gi)s 6(v)k 3(es)k 5620(rise)s
5237 6020(to)s 6259(a)s 6425(lar)s 4(ge)k 6954(and)s
5238 7358(comple)s 3(x)k 8234(body)s 8768(of)s 0 6485(code)m
5239 508(which)s 1150(must)s 1675(be)s 1957(trusted)s 2665(with)s
5240 3147(the)s 3495(security)s 4305(of)s 4576(the)s 4924(system.)s
5241 0 6077(Using)m gsave
5244 240 fnt31 0 -52(userv)m
5247 1768(of)s 2039(these)s 2586(subsystems)s 3727(no)s 4020(longer)s
5248 4691(need)s 5201(an)s 3(y)k 5598(unusual)s 6398(pri)s 6(vile)k 3(ge.)k
5252 240 fnt31 0 -52(cron)m
5254 455 5669(and)m gsave
5257 240 fnt31 0 -52(at)m
5263 240 fnt31 0 -52(lpr)m
5265 1509(and)s 1907(the)s
5266 2249(system')s 13(s)k 3117(mail)s 3591(transfer)s 4373(agent)s
5270 240 fnt31 0 -52(sendmail)m
5281 240 fnt31 0 -52(exim)m
5284 7229(the)s 7572(lik)s 2(e\))k 8050(all)s 8337(f)s 2(all)k
5285 8701(into)s 0 5429(this)m 396(cate)s 3(gory)k 15(.)k
5286 9066 670 0 670 240 240 60 0 4405 LoutGr2
5287 newpath 0 ysize 0.3 ft sub moveto
5293 320 fnt84 0 66(6.3.)m 628(Do)s 1092(not)s 1615(gi)s 3(v)k 3(e)k
5294 2234(away)s 3019(excessi)s 3(v)k 3(e)k 4312(pri)s 3(vilege)k
5298 320 fnt31 0 -70(userv)m
5300 6577(-using)s 7484(facilities)s
5303 0 3943(There)m 613(is)s 823(a)s 989(danger)s 1700(that)s
5304 2118(people)s 2812(reimplementing)s 4378(the)s 4726(f)s 2(acilities)k
5305 5595(I)s 5730(mention)s 6571(abo)s 3(v)k 3(e)k
5309 240 fnt31 0 -52(userv)m
5311 8325(will)s 0 3703(discard)m
5312 731(much)s 1303(of)s 1557(the)s 1888(security)s 2680(bene\207t)s
5313 3374(by)s 3651(using)s 4206(a)s 4355(nai)s 6(v)k 3(e)k
5314 4902(implementation)s 6442(technique.)s 7459(This)s 7918(will)s 8326(become)s
5315 0 3463(clearer)m 708(with)s 1190(an)s 1473(e)s 3(xample:)k
5316 0 3055(Consider)m 924(the)s gsave
5319 240 fnt31 0 -52(lpr)m
5322 2546(In)s 2802(current)s 3538(systems)s 4346(this)s 4742(needs)s
5323 5338(to)s 5577(ha)s 4(v)k 3(e)k 6078(an)s
5324 6361(absolutely)s 7398(pri)s 6(vile)k 3(ged)k 0 2815(component)m
5325 1124(in)s 1367(order)s 1931(to)s 2170(support)s 2948(delayed)s
5326 3750(printing)s 4560(without)s 5351(cop)s 2(ying:)k 6227(when)s
5327 6803(the)s 7151(user)s 7609(queues)s 8325(a)s 8491(\207le)s
5328 0 2575(to)m 239(be)s 521(printed)s 1256(the)s 1604(\207lename)s
5329 2483(is)s 2693(stored)s 3335(in)s 3578(the)s 3926(print)s
5330 4437(queue,)s 5116(rather)s 5732(than)s 6201(a)s 6367(cop)s 2(y)k
5331 6885(of)s 7156(it,)s 7395(and)s 7799(the)s 8147(printer)s
5332 0 2335(daemon)m 813(accesses)s 1671(the)s 2016(\207le)s 2375(directly)s
5333 3155(when)s 3729(it)s 3918(is)s 4126(ready)s 4708(to)s
5334 4945(print)s 5453(the)s 5799(job)s 9(.)k 6197(In)s
5335 6451(order)s 7012(that)s 7428(the)s 7773(user)s 8229(can)s
5336 8615(print)s 0 2095(\207les)m 449(which)s 1091(are)s 1438(not)s
5337 1804(w)s 2(orld-readable)k 3304(the)s 3652(daemon)s 4467(is)s
5338 4677(gi)s 6(v)k 3(en)k 5257(root)s 5702(pri)s 6(vile)k 3(ge)k
5339 6598(so)s 6864(that)s 7282(it)s 7474(can)s 7863(open)s
5340 8386(the)s 8734(\207le)s 0 1855(in)m 243(the)s 591(conte)s 3(xt)k
5341 1352(of)s 1623(the)s 1971(user)s 9(,)k 2467(rather)s
5342 3083(than)s 3552(its)s 3828(o)s 6(wn.)k 0 1447(A)m
5343 212(simple-minded)s 1686(approach)s 2602(to)s 2823(con)s 9(v)k 3(erting)k
5344 3868(this)s 4246(scheme)s 5001(to)s 5222(use)s gsave
5350 6120(might)s 6720(in)s 9(v)k 4(olv)k 3(e)k
5351 7460(gi)s 6(ving)k 8101(the)s 8430(printer)s 0 1207(daemon)m
5355 240 fnt31 0 -52(lp)m
5357 1489(user\))s 2010(the)s
5358 2354(ability)s 3013(to)s 3248(read)s 3712(the)s 4055(\207le)s
5359 4412(by)s 4701(allo)s 6(wing)k 5581(them)s 6114(to)s
5363 240 fnt31 0 -52(cat)m
5365 7076(\(or)s 7409(a)s
5366 7570(special-purpose)s 0 967(\207le-reading)m 1140(program\))s 2063(as)s 2299(an)s 3(y)k
5367 2681(user)s 13(.)k 3155(The)s gsave
5370 240 fnt31 0 -52(lpr)m
5373 3914(program)s 4769(w)s 2(ould)k 5410(use)s 5770(a)s
5377 240 fnt31 0 -52(userv)m
5379 6467(service)s 7184(to)s 7409(store)s
5380 7914(the)s 8247(\207lename)s 0 727(in)m 243(the)s 591(printer)s
5381 1287(daemon')s 13(s)k 2255(queues,)s 3027(and)s 3431(the)s
5382 3779(daemon)s 4594(w)s 2(ould)k 5249(read)s 5718(the)s
5383 6066(\207le)s 6427(later)s 6910(when)s 7486(it)s 7678(felt)s
5384 8055(lik)s 2(e)k 8467(it.)s 0 52(0.62)m 4809(User)s
5385 5320(service)s 6052(daemon)s 6867(and)s 7271(client)s 7861(speci\207cation)s
5396 %%PageResources: font Times-Roman
5398 %%+ font Courier-Bold
5399 %%+ font Times-Italic
5401 0.0500 dup scale 10 setlinewidth
5405 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
5420 1417 -15423 translate
5421 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
5425 240 fnt84 8839 13842(21)m 240 fnt82 0 13254(Ho)m 6(we)k 6(v)k 3(er)k 9(,)k
5426 960(this)s 1356(w)s 2(ould)k 2011(allo)s 6(w)k
5427 2590(the)s 2938(printer)s 3634(daemon)s 4449(to)s 4688(read)s
5428 5157(an)s 3(y)k 5554(\207le)s 5915(on)s 6212(the)s
5429 6560(system,)s 7331(whether)s 8161(or)s 8420(not)s 0 13014(someone)m
5430 907(had)s 1311(ask)s 2(ed)k 1912(for)s 2250(it)s
5431 2442(to)s 2681(be)s 2963(printed.)s 3744(Since)s 4331(man)s 3(y)k
5432 4914(\207les)s 5363(will)s 5789(contain)s 6550(passw)s 2(ords)k
5433 7596(and)s 8000(other)s 0 12774(security-critical)m 1551(information)s 2736(this)s
5434 3132(is)s 3342(nearly)s 3993(as)s 4243(bad)s 4647(as)s
5435 4897(gi)s 6(ving)k 5556(the)s 5904(daemon)s 6719(root)s
5436 7164(access)s 7825(in)s 8068(the)s 8416(\207rst)s 0 12534(place.)m
5437 608(An)s 3(y)k 1072(security)s 1882(holes)s 2438(in)s
5438 2681(the)s 3029(print)s 3540(serv)s 3(er)k 4180(which)s
5439 4822(allo)s 6(w)k 5401(a)s 5567(user)s 6025(to)s
5440 6264(e)s 3(x)k 3(ecute)k 7044(commands)s 8132(as)s
5442 8730 12588 translate
5444 240 fnt31 0 -52(lp)m
5446 0 12294(user)m 458(will)s
5447 884(gi)s 6(v)k 3(e)k 1343(the)s 1691(user)s
5448 2149(the)s 2497(ability)s 3161(to)s 3400(read)s 3869(an)s 3(y)k
5449 4266(\207le)s 4627(on)s 4924(the)s 5272(system.)s 0 11886(Instead,)m
5450 790(it)s 975(is)s 1178(necessary)s 2153(to)s 2385(k)s 2(eep)k
5451 2881(a)s 3040(record)s 3700(of)s 3964(which)s 4599(\207les)s
5452 5040(the)s 5381(daemon)s 6189(has)s 6552(been)s 7053(ask)s 2(ed)k
5453 7647(to)s 7879(print)s 240 fnt83 8382 11888(outside)m 240 fnt82
5454 0 11646(the)m 348(control)s 1080(of)s 1351(the)s 1699(print)s
5455 2210(daemon.)s 3072(This)s 3548(record)s 4216(could)s 4806(be)s
5456 5088(k)s 2(ept)k 5558(by)s 5852(a)s 6018(ne)s 6(w)k
5457 6465(root-pri)s 6(vile)k 3(ged)k 7947(component,)s 0 11406(b)m 4(ut)k
5458 352(this)s 737(is)s 936(not)s 1291(necessary:)s 2315(the)s
5459 2652(record)s 3309(of)s 3569(which)s 4200(\207les)s 4638(a)s
5460 4794(user)s 5241(has)s 5600(ask)s 2(ed)k 6190(to)s
5461 6418(be)s 6689(printed)s 7413(can)s 7791(be)s 8062(k)s 2(ept)k
5462 8521(under)s 0 11166(the)m 348(control)s 1080(of)s 1351(the)s
5463 1699(user)s 2157(in)s 2400(question.)s 3315(The)s 3743(submission)s
5464 4877(program)s gsave
5465 5747 11220 translate
5467 240 fnt31 0 -52(lpr)m
5469 6107(will)s 6533(mak)s 2(e)k
5470 7105(a)s 7271(record)s 7939(in)s 8182(an)s 8465(area)s
5471 0 10926(under)m 605(the)s 953(user')s 13(s)k 1561(control)s
5472 2293(before)s 2959(communicating)s 4500(with)s 4982(the)s 5330(print)s
5473 5841(serv)s 3(er)k 9(,)k 6519(and)s 6923(the)s
5474 7271(print)s 7782(serv)s 3(er)k 8422(w)s 2(ould)k
5475 0 10686(be)m 279(gi)s 6(v)k 3(en)k 855(the)s
5476 1199(ability)s 1859(to)s 2094(run)s 2466(a)s 2628(special)s
5477 3342(\207le-reading)s 4493(program)s 5359(which)s 5997(w)s 2(ould)k
5478 6648(only)s 7124(allo)s 6(w)k 7699(\207les)s 8144(to)s
5479 8379(be)s 8657(read)s 0 10446(which)m 642(were)s 1162(listed)s
5480 1737(in)s 1980(the)s 2328(user')s 13(s)k 2936(\207le)s
5481 3297(of)s 3568(things)s 4204(the)s 3(y')k 12(d)k
5482 4858(ask)s 2(ed)k 5459(to)s 5698(print.)s 0 10038(No)m 6(w)k
5483 502(security)s 1300(holes)s 1844(in)s 2075(most)s 2588(of)s
5484 2846(the)s 3182(printing)s 3980(system)s 4692(do)s 4973(not)s
5485 5327(critically)s 6215(af)s 6(fect)k 6799(the)s 7135(security)s
5486 7933(of)s 8192(the)s 8527(entire)s 0 9798(system:)m 770(the)s 3(y)k
5487 1233(only)s 1713(allo)s 6(w)k 2292(the)s 2640(attack)s 2(er)k
5488 3453(to)s 3692(read)s 4161(and)s 4565(interfere)s 5428(with)s
5489 5910(print)s 6421(jobs.)s 6924(Bugs)s 7468(in)s 7711(the)s
5490 8059(programs)s 0 9558(run)m 373(by)s 664(the)s 1009(print)s
5491 1517(serv)s 3(er)k 2154(to)s 2390(read)s 2856(users')s
5492 3456(\207les)s 3902(\(and)s 4382(to)s 4618(remo)s 3(v)k 3(e)k
5493 5382(entries)s 6066(from)s 6587(the)s 6932(list)s 7280(of)s
5494 7548(\207les)s 7994(when)s 8567(it)s 8756(has)s 0 9318(done)m
5495 522(with)s 1004(them\))s 1610(will)s 2036(still)s 2448(be)s
5496 2730(serious,)s 3514(b)s 4(ut)k 3876(this)s 4272(program)s
5497 5142(can)s 5531(be)s 5813(quite)s 6347(simple.)s 0 8910(Similar)m
5498 762(considerations)s 2194(apply)s 2780(to)s 3019(man)s 3(y)k
5502 240 fnt31 0 -52(userv)m
5504 4102(-based)s 4784(v)s 3(ersions)k
5505 5629(of)s 5900(f)s 2(acilities)k 6769(which)s 7411(currently)s
5506 8327(run)s 0 8670(as)m 250(root.)s 0 8262(It)m 198(is)s
5507 401(debatable)s 1366(whether)s 2189(the)s 2530(user)s 4(-controlled)k
5508 4023(state)s 4509(should)s 5199(be)s 5474(k)s 2(ept)k
5509 5937(in)s 6173(the)s 6514(user')s 13(s)k 7115(\207lespace)s
5510 8000(\(in)s 8315(dot\207les,)s 0 8022(say\))m 440(or)s 692(k)s 2(ept)k
5511 1155(in)s 1391(a)s 1550(separate)s 2381(area)s 2831(set)s
5512 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
5513 6123(using)s 6688(the)s 7029(user')s 13(s)k 7630(home)s
5514 8210(directory)s 0 7782(\(and)m 468(probably)s 1357(creating)s 2164(a)s
5515 2314(separate)s 3137(subdirectory)s 4370(of)s 4626(it)s 4802(as)s
5516 5037(a)s 5187(dot\207le)s 5839(to)s 6062(contain)s 6808(man)s 3(y)k
5517 7375(subsystems')s 8561(state\))s 0 7542(has)m 370(fe)s 6(wer)k
5518 967(implications)s 2199(for)s 2537(the)s 2885(rest)s 3289(of)s
5519 3560(the)s 3908(system)s 4632(and)s 5036(mak)s 2(es)k
5520 5696(it)s 5888(entirely)s 6671(clear)s 7194(where)s 7834(the)s
5521 8182(security)s 0 7302(boundaries)m 1101(lie.)s 9066 670 0 670 240 240 60 0 6278 LoutGr2
5522 newpath 0 ysize 0.3 ft sub moveto
5528 320 fnt84 0 66(6.4.)m
5532 320 fnt31 0 -70(userv)m
5534 1375(is)s 1659(not)s 2182(a)s
5535 2419(r)s 5(eplacement)k 4178(f)s 8(or)k gsave
5544 320 fnt31 0 -70(sudo)m
5554 560 5816(is)m 770(not)s 1136(intended)s 2018(as)s
5555 2268(a)s 2434(general-purpose)s 4030(system)s 4754(administration)s 6191(tool)s
5556 6618(with)s 7100(which)s 7742(system)s 0 5576(administrators)m 1398(can)s
5557 1767(e)s 3(x)k 3(ecute)k 2528(pri)s 6(vile)k 3(ged)k
5558 3526(programs)s 4461(when)s 5017(the)s 3(y)k 5461(need)s
5559 5951(to.)s 6222(It)s 6407(is)s 6598(unsuitable)s 7617(for)s
5560 7936(this)s 8312(purpose)s 0 5336(precisely)m 916(because)s 1729(it)s
5561 1921(enforces)s 2781(a)s 2947(strong)s 3598(separation)s 4637(between)s
5562 5491(the)s 5839(calling)s 6542(and)s 6946(the)s 7294(called)s
5563 7922(program,)s 0 5096(which)m 642(is)s 852(undesirable)s 2010(in)s
5564 2253(this)s 2649(conte)s 3(xt.)k 0 4688(Its)m 289(f)s 2(acilities)k
5565 1158(for)s 1496(restricting)s 2516(acti)s 6(vities)k 3422(to)s
5566 3661(running)s 4459(certain)s 5165(programs)s 6119(may)s 6585(at)s
5567 6817(\207rst)s 7248(glance)s 7928(seem)s 8479(to)s 0 4420(pro)m 3(vide)k
5568 769(similar)s 1476(functionality)s 2736(to)s gsave
5571 240 fnt31 0 -52(sudo)m
5574 153 fnt82 3360 4509(1)m 240 fnt82 3420 4420(.)m 3509(Ho)s 6(we)k 6(v)k 3(er)k 9(,)k
5575 4454(the)s 4787(separation)s 5811(mentioned)s 6864(abo)s 3(v)k 3(e)k
5576 7471(is)s 7666(a)s 7817(problem)s 8659(here)s 0 4180(too,)m
5577 413(particular)s 1387(for)s 1725(interaction)s 2803(-)s 2931(it)s
5578 3123(can)s 3512(be)s 3794(hard)s 4277(for)s 4615(a)s
5582 240 fnt31 0 -52(userv)m
5584 5341(service)s 6073(program)s 6943(to)s
5585 7182(interact)s 7957(with)s 8439(its)s 8714(real)s 0 3940(caller)m
5586 589(or)s 848(the)s 1196(user)s 1654(in)s 1897(question.)s
5587 9066 670 0 670 240 240 60 0 2916 LoutGr2
5588 newpath 0 ysize 0.3 ft sub moveto
5594 320 fnt84 0 66(6.5.)m 628(Don't)s 1488(gi)s 3(v)k 3(e)k
5595 2107(access)s 3013(to)s 3352(general-pur)s 3(pose)k 5640(utilities)s
5598 0 2454(Do)m 346(not)s 712(specify)s 1456(general)s 2214(purpose)s
5599 3028(programs)s 3982(lik)s 2(e)k gsave
5602 240 fnt31 0 -52(mv)m
5608 240 fnt31 0 -52(cat)m
5616 6377(directi)s 6(v)k 3(es)k 7347(without)s
5617 8138(careful)s 0 2214(thought)m 792(about)s 1384(their)s 1881(ar)s 4(guments,)k
5618 2980(and)s 3384(certainly)s 4273(not)s 4639(if)s gsave
5622 0 -52(no\211suppress\211args)m
5624 6518(is)s 6728(speci\207ed.)s 7682(If)s 7912(you)s
5625 8327(do)s 8620(so)s 8886(it)s 0 1974(will)m 426(gi)s 6(v)k 3(e)k
5626 885(the)s 1233(caller)s 1822(much)s 2411(more)s 2958(pri)s 6(vilige)k
5627 3817(than)s 4286(you)s 4701(probably)s 5606(intend.)s 0 1566(It)m
5628 205(is)s 415(a)s 581(shame)s 1248(that)s 1666(I)s
5629 1801(ha)s 4(v)k 3(e)k 2302(to)s 2541(say)s
5630 2914(this)s 3310(here,)s 3828(b)s 4(ut)k 4190(ine)s 3(xperienced)k
5631 5586(administrators)s 7003(ha)s 4(v)k 3(e)k 7504(made)s
5632 8078(similar)s 1134 0 0 0 240 240 60 0 1178 LoutGr2
5633 0 0 moveto xsize 0 lineto stroke
5637 122 fnt82 0 983(1)m gsave
5640 192 fnt31 0 -42(sudo)m
5643 192 fnt82 425 913(is)m 593(a)s 726(program)s 1422(which)s
5644 1936(allo)s 4(ws)k 2472(users)s 2905(to)s 3097(e)s 2(x)k 2(ecute)k
5645 3723(certain)s 4289(programs)s 5052(as)s 5252(root,)s 5646(according)s
5646 6444(to)s 6636(con\207guration)s 7703(\207les)s 8062(speci\207ed)s 8789(by)s
5647 0 683(the)m 279(system)s 858(administrator)s 10(.)k 240 fnt82
5648 0 52(User)m 511(service)s 1243(daemon)s 2058(and)s 2462(client)s
5649 3052(speci\207cation)s 8652(0.62)s
5659 %%PageResources: font Times-Roman
5661 %%+ font Courier-Bold
5663 0.0500 dup scale 10 setlinewidth
5667 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
5682 1417 -15423 translate
5683 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
5687 240 fnt84 0 13842(22)m 240 fnt82 0 13254(mistak)m 2(es)k
5688 885(with)s 1367(programs)s 2321(lik)s 2(e)k gsave
5689 2733 13308 translate
5694 3133(.)s 0 52(0.62)m 4809(User)s 5320(service)s
5695 6052(daemon)s 6867(and)s 7271(client)s 7861(speci\207cation)s
5704 %%DocumentNeededResources: font Courier-Bold
5705 %%+ font Times-Roman
5706 %%+ font Times-Italic
5708 %%DocumentSuppliedResources: procset LoutStartUp
5709 %%+ procset LoutMarginNotes