2 %%Creator: Basser Lout Version 3.10 (November 1996)
3 %%CreationDate: Sun Jun 20 18:45:09 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 10959(This)m 476(is)s
282 686(a)s 852(speci\207cation)s 2117(for)s 2455(a)s 2621(Unix)s
283 3155(system)s 3879(f)s 2(acility)k 4606(to)s 4845(allo)s 6(w)k
284 5424(one)s 5826(program)s 6696(to)s 6935(in)s 9(v)k 4(ok)k 2(e)k
285 7628(another)s 8405(when)s 0 10719(only)m 480(limited)s 1214(trust)s
286 1698(e)s 3(xists)k 2290(between)s 3144(them.)s 9066 670 0 670 240 240 60 0 9695 LoutGr2
287 newpath 0 ysize 0.3 ft sub moveto
294 0 66(0.2.)m 628(Copyright)s 2109(Notice)s
299 240 fnt31 0 -52(userv)m
302 560 9401(is)m 770(Cop)s 2(yright)k 1799(1996-1999)s 2889(Ian)s
303 3251(Jackson.)s gsave
306 240 fnt31 0 -52(userv)m
308 544 8993(is)m 737(free)s
309 1146(softw)s 2(are;)k 2062(you)s 2460(can)s 2832(redistrib)s 4(ute)k
310 3955(it)s 4130(and/or)s 4784(modify)s 5512(it)s 5688(under)s
311 6276(the)s 6607(terms)s 7172(of)s 7426(the)s 7757(GNU)s
312 8315(General)s 0 8753(Public)m 659(License)s 1453(as)s 1698(published)s
313 2682(by)s 2971(the)s 3314(Free)s 3789(Softw)s 2(are)k
314 4699(F)s 3(oundation;)k 5894(either)s 6492(v)s 3(ersion)k
315 7245(2)s 7414(of)s 7680(the)s 8023(License,)s 8867(or)s
316 0 8513(\(at)m 311(your)s 810(option\))s 1550(an)s 3(y)k
317 1947(later)s 2430(v)s 3(ersion.)k 0 8105(This)m 476(program)s
318 1346(is)s 1556(distrib)s 4(uted)k 2632(in)s 2875(the)s
319 3223(hope)s 3745(that)s 4163(it)s 4355(will)s 4781(be)s
320 5063(useful,)s 5754(b)s 4(ut)k 240 fnt83 6116 8107(without)m
321 6898(any)s 7300(warr)s 3(anty)k 240 fnt82 8171 8105(;)m
322 8283(without)s 0 7864(e)m 6(v)k 3(en)k 500(the)s
323 848(implied)s 1636(w)s 2(arranty)k 2537(of)s 240 fnt83
324 2808 7866(mer)m 8(c)k 3(hantability)k 240 fnt82 4367 7864(or)m
325 240 fnt83 4626 7866(\207tness)m 5279(for)s 5623(a)s 5798(particular)s
326 6833(purpose)s 240 fnt82 7598 7864(.)m 7702(See)s 8103(the)s
327 8451(GNU)s 0 7624(General)m 811(Public)s 1475(License)s 2274(for)s
328 2612(more)s 3159(details.)s 0 7216(Y)m 26(ou)k 442(should)s
329 1139(ha)s 4(v)k 3(e)k 1640(re)s 1821(cei)s 6(v)k 3(ed)k
330 2494(a)s 2660(cop)s 2(y)k 3178(of)s 3449(the)s
331 3797(GNU)s 4372(Gen)s 4768(er)s 4953(al)s 5180(Pub)s
332 5546(lic)s 5837(Li)s 6043(cense)s 6630(along)s 7215(with)s
336 240 fnt31 0 -52(userv)m
338 8197(;)s 8309(if)s 8526(not,)s
339 0 6975(write)m 546(to)s 785(the)s 1133(Free)s 1613(Soft)s
340 2011(w)s 2(are)k 2529(F)s 3(oun)k 3016(da)s
341 3242(tion,)s 3721(59)s 4012(T)s 16(em)k 4434(ple)s
342 4782(Place)s 5355(-)s 5483(Suite)s 6030(330,)s 6497(Boston,)s
343 7283(MA)s 7726(02111-1307,)s 0 6735(USA.)m 9066 610 0 610 240 240 60 0 5771 LoutGr2
344 newpath 0 ysize 0.3 ft sub moveto
353 0 5477(1.)m 1200(Introduction)s 8962(3)s 0 5250(2.)m
354 1200(Client)s 1844(program)s 2714(usage)s 8952(4)s 0 5013(2.1.)m
355 1200(Options)s 8952(4)s 0 4776(2.2.)m 1200(Security-o)s 3(v)k 3(erriding)k
356 3118(options)s 8958(7)s 0 4539(3.)m 1200(Ex)s 3(ecution)k
357 2224(en)s 9(vironment)k 3484(of)s 3755(the)s 4103(service)s
358 4835(program)s 8959(8)s 0 4302(3.1.)m 1200(File)s 1627(descriptors)s
359 8959(8)s 0 4065(3.2.)m 1200(En)s 9(vironment)k 8955(9)s
360 0 3838(4.)m 1200(Service-side)s 2436(con\207guration)s 8831(10)s 0 3601(4.1.)m
361 1200(Con\207guration)s 2587(\207le)s 2948(syntax)s 8831(10)s 0 3364(4.2.)m
362 1200(Con\207guration)s 2587(\207le)s 2948(directi)s 6(v)k 3(es)k
363 8831(10)s 0 3127(4.2.1.)m 1200(Immediate)s 2277(directi)s 6(v)k 3(es)k
364 8851(11)s 0 2900(4.2.2.)m 1200(Directi)s 6(v)k 3(es)k
365 2223(with)s 2705(delayed)s 3507(ef)s 6(fect)k 8832(12)s
366 0 2663(4.2.3.)m 1200(Control)s 1986(structure)s 2877(directi)s 6(v)k 3(es)k
367 8832(12)s 0 2436(4.2.4.)m 1200(Directi)s 6(v)k 3(es)k
368 2223(for)s 2561(changing)s 3492(e)s 3(x)k 3(ecution)k
369 4473(settings)s 8832(14)s 0 2198(4.3.)m 1200(Errors)s 1847(in)s
370 2090(the)s 2438(con\207guration)s 3771(\207le)s 8833(16)s 0 1960(4.4.)m
371 1200(Def)s 2(aults)k 8833(16)s 0 1733(5.)m 1200(Information)s
372 2398(passed)s 3094(through)s 3896(the)s 4244(client/daemon)s 5655(combination)s
373 8839(18)s 0 1495(6.)m 1200(Applications)s 2473(and)s 2877(notes)s
374 3433(on)s 3730(use)s 8831(20)s 0 1257(6.1.)m 1200(Standard)s
375 2108(services)s 2928(and)s 3332(directory)s 4248(management)s 8831(20)s
376 0 1019(6.2.)m 1200(Reducing)s 2171(the)s 2519(number)s 3310(of)s
377 3581(absolutely)s 4618(pri)s 6(vile)k 3(ged)k 5636(subsystems)s
378 8831(20)s 0 52(User)m 511(service)s 1243(daemon)s 2058(and)s
379 2462(client)s 3052(speci\207cation)s 8652(0.62)s
389 %%PageResources: font Times-Roman
391 %%+ font Courier-Bold
393 0.0500 dup scale 10 setlinewidth
397 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
412 1417 -15423 translate
413 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
417 240 fnt84 0 13842(2)m 240 fnt82 0 13253(6.3.)m 1200(Do)s
418 1546(not)s 1912(gi)s 6(v)k 3(e)k 2371(a)s 3(w)k 2(ay)k
419 2925(e)s 3(xcessi)k 6(v)k 3(e)k 3885(pri)s 6(vile)k 3(ge)k
423 240 fnt31 0 -52(userv)m
425 5520(-using)s 6171(f)s 2(acilities)k
426 8831(20)s 0 13015(6.4.)m gsave
429 240 fnt31 0 -52(userv)m
432 1970(not)s 2336(a)s 2502(replacement)s 3729(for)s gsave
441 240 fnt31 0 -52(sudo)m
444 0 12776(6.5.)m 1200(Don')s 4(t)k 1814(gi)s 6(v)k 3(e)k
445 2273(access)s 2934(to)s 3173(general-purpose)s 4769(utilities)s 8851(21)s
446 0 52(0.62)m 4809(User)s 5320(service)s 6052(daemon)s 6867(and)s
447 7271(client)s 7861(speci\207cation)s
457 %%PageResources: font Times-Roman
459 %%+ font Courier-Bold
461 0.0500 dup scale 10 setlinewidth
465 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
480 1417 -15423 translate
481 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
485 240 fnt84 8953 13842(3)m gsave
487 240 fnt82 9066 622 0 622 240 240 60 LoutGraphic
489 newpath 0 ysize 0.3 ft sub moveto
495 340 fnt84 0 4(1.)m 412(Intr)s 6(oduction)k
498 240 fnt82 0 12330(There)m 613(is)s 823(a)s 989(daemon)s
499 1804(which)s 2446(in)s 9(v)k 4(ok)k 2(es)k
500 3227(user)s 3685(service)s 4417(programs)s 5371(\(henceforth)s 6529(`services'\))s
501 7584(in)s 7827(response)s 8720(to)s 0 12090(requests)m 822(by)s
502 1104(callers)s 1765(of)s 2024(a)s 2178(companion)s 3287(client)s
503 3865(program)s 4723(\(henceforth)s 5869(the)s 6205(`client'\))s 7009(and)s
504 7401(according)s 8385(to)s 8611(rules)s 0 11850(set)m 325(forth)s
505 846(in)s 1089(system-wide)s 2353(and)s 2757(user)s 4(-speci\207c)k
506 4013(con\207guration)s 5346(\207les.)s 5848(The)s 6276(companion)s 7397(client)s
507 7987(program)s 0 11610(is)m 210(setuid)s 839(root,)s 1331(and)s
508 1735(ne)s 3(gotiates)k 2752(with)s 3234(the)s 3582(daemon)s
509 4397(through)s 5199(an)s gsave
512 240 fnt31 0 -52(AF_UNIX)m
515 6911(and)s 7315(associated)s 8355(objects)s 0 11370(in)m 243(a)s
516 409(system-wide)s 1673(pri)s 6(v)k 6(ate)k 2380(directory)s
517 3296(set)s 3621(aside)s 4168(for)s 4506(the)s 4854(purpose.)s
518 5716(The)s 6144(user)s 6602(who)s 7068(wishes)s 7770(the)s
519 8118(service)s 8850(to)s 0 11130(be)m 282(performed)s 1335(and)s
520 1739(calls)s 2227(the)s 2575(client)s 3165(is)s 3375(called)s
521 4003(the)s 4351(`calling)s 5133(user';)s 5722(the)s 6070(process)s
522 6838(which)s 7480(calls)s 7968(the)s 8316(client)s 8906(is)s
523 0 10890(called)m 628(the)s 976(`calling)s 1758(process'.)s 0 10482(The)m
524 428(daemon)s 1243(and)s 1647(the)s 1995(client)s 2585(are)s
525 2932(responsible)s 4077(for)s 4415(ensuring)s 5292(that)s 5710(information)s
526 6895(is)s 7105(safely)s 7729(carried)s 8449(across)s 0 10242(the)m
527 338(security)s 1138(boundary)s 2087(between)s 2931(the)s 3269(tw)s 2(o)k
528 3669(users,)s 4257(and)s 4650(that)s 5058(the)s 5396(processes)s
529 6353(on)s 6640(either)s 7233(side)s 7664(cannot)s 8351(interact)s
530 0 10002(with)m 482(each)s 977(other)s 1528(in)s 1771(an)s 3(y)k
531 2168(une)s 3(xpected)k 3313(w)s 2(ays.)k 0 52(User)m
532 511(service)s 1243(daemon)s 2058(and)s 2462(client)s 3052(speci\207cation)s
543 %%PageResources: font Times-Roman
545 %%+ font Courier-Bold
546 %%+ font Times-Italic
548 0.0500 dup scale 10 setlinewidth
552 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
567 1417 -15423 translate
568 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
572 240 fnt84 0 13842(4)m gsave
574 240 fnt82 9066 688 0 688 240 240 60 LoutGraphic
576 newpath 0 ysize 0.3 ft sub moveto
582 340 fnt84 0 70(2.)m 412(Client)s
583 1382(pr)s 6(ogram)k 2737(usage)s
588 240 fnt31 0 -52(userv)m
592 240 fnt83 0 -52(options)m
594 2003([\211\211])s gsave
597 240 fnt83 0 -52(service\211user)m
603 240 fnt83 0 -52(service\211name)m
608 240 fnt83 0 -52(ar)m 8(gument)k
611 8181(\202])s 0 -305(userv)m gsave
614 240 fnt83 0 -52(options)m
616 2003(\211B|\211\211builtin)s
617 3875([\211\211])s gsave
620 240 fnt83 0 -52(b)m 4(uiltin\211service)k
626 240 fnt83 0 -52(info\211ar)m 8(gument)k
631 0 11208(service-user)m 240 fnt82 1232 11206(speci\207es)m 2106(which)s 2748(user)s
632 3206(is)s 3416(to)s 3655(pro)s 3(vide)k 4439(the)s
633 4787(service.)s 5567(The)s 5995(user)s 6453(may)s 6919(be)s
634 7201(a)s 7367(login)s 7916(name)s 8490(or)s 8749(a)s
635 0 10966(numeric)m 836(uid,)s 1249(or)s gsave
638 240 fnt31 0 -52(\211)m
641 1668(to)s 1907(indicate)s 2719(that)s 3137(the)s 3485(service)s
642 4217(user)s 4675(is)s 4885(to)s 5124(be)s 5406(the)s
643 5754(same)s 6301(as)s 6551(the)s 6899(calling)s 7602(user)s 13(.)k
644 0 10558(The)m 428(service)s 1160(name)s 1734(is)s 1944(interpreted)s
645 3036(by)s 3330(the)s 3678(userv)s 153 fnt82 4191 10647(1)m
646 240 fnt82 4311 10558(daemon)m 5126(on)s 5423(behalf)s 6092(of)s
647 6363(the)s 6711(service)s 7443(user)s 13(.)k 7932(It)s
648 8137(will)s 8563(often)s 0 10318(be)m 282(the)s 630(name)s
649 1204(of)s 1475(a)s 1641(program.)s 9066 670 0 670 240 240 60 0 9294 LoutGr2
650 newpath 0 ysize 0.3 ft sub moveto
656 320 fnt84 0 66(2.1.)m
659 0 8832(Single-letter)m 1233(options)s 1983(may)s 2442(be)s
660 2718(combined)s 3714(as)s 3957(is)s 4161(usual)s 4714(with)s
661 5190(Unix)s 5718(programs,)s 6721(and)s 7119(the)s 7461(v)s 6(alue)k
662 8022(for)s 8354(such)s 8843(an)s 0 8592(option)m 669(may)s
663 1135(appear)s 1832(in)s 2075(the)s 2423(same)s 2970(ar)s 4(gument)k
664 3929(or)s 4188(in)s 4431(the)s 4779(ne)s 3(xt.)k
668 240 fnt31 0 -52(\211B)m
673 240 fnt31 0 -52(\211\211builtin)m
676 742(quests)s 1385(that)s 1797(a)s 1956(b)s 4(uiltin)k
677 2627(ser)s 2905(vice)s 3352(be)s 3628(pro)s 3940(vid)s
678 4244(ed.)s 4567(This)s 5037(is)s 5241(equi)s 6(v)k
679 5762(a)s 5868(lent)s 6279(to)s 6512(us)s 6716(ing)s
683 240 fnt31 0 -52(\211\211override)m
685 8464(op)s 8697(tion)s
686 480 7463(to)m 719(spec)s 1137(i)s 1197(fy)s 1450(a)s
687 1616(string)s 2213(con)s 2556(sist)s 2874(ing)s 3233(of)s
691 240 fnt31 0 -52(execute\211builtin)m
693 5065(fol)s 5325(lo)s 6(wed)k
694 5962(by)s 6256(the)s 240 fnt83 6604 7465(b)m 4(uiltin-)k
695 7291(service)s 240 fnt82 8020 7463(re)m 8201(quest)s 8706(ed,)s
696 480 7223(and)m 870(re)s 1051(quest)s 1556(ing)s 1900(a)s
697 2052(ser)s 2330(vice)s 2769(user)s 3213(of)s gsave
703 3615(\(in)s 3877(di)s 4057(cat)s 4335(ing)s
704 4679(the)s 5012(call)s 5351(ing)s 5696(user\).)s 6322(If)s
705 6538(the)s 6871(b)s 4(uiltin)k 7534(ser)s 7812(vice)s
706 8251(be)s 8473(ing)s 8817(re)s 8998(-)s 480 6983(quest)m
707 985(ed)s 1254(re)s 1435(quires)s 2054(a)s 240 fnt83
708 2204 6985(service-)m 2947(ar)s 8(gument)k 240 fnt82 3905 6983(then)m
709 4358(this)s 4738(must)s 5247(be)s 5513(sup)s 5839(plied)s
710 6359(to)s 6582(the)s 6914(client)s 7488(in)s 7715(the)s
711 8047(same)s 8578(ar)s 8763(gu)s 8998(-)s 480 6742(ment)m
712 1012(as)s 1256(the)s 240 fnt83 1598 6744(b)m 4(uiltin-)k
713 2285(service)s 240 fnt82 2954 6742(.)m 3052(See)s 3447(`Di)s
714 3759(rec)s 4043(ti)s 6(v)k 3(es)k 4530(for)s
715 4862(chang)s 5427(ing)s 5780(e)s 3(x)k 5998(e)s
716 6100(cu)s 6321(tion)s 6744(set)s 7009(tings',)s 7654(page)s
717 8156(14)s 8444(for)s 8776(de)s 8998(-)s 480 6502(tails)m
718 921(of)s 1184(the)s 1524(b)s 4(uiltin)k 2193(ser)s
719 2471(vices)s 3006(a)s 4(v)k 6(ail)k 3455(able,)s
720 3952(and)s 4348(`Security-)s 5291(o)s 3(v)k 3(erriding)k
721 6326(op)s 6559(tions',)s 7203(page)s 7703(7)s 7863(for)s
722 8193(de)s 8415(tails)s 8855(of)s 480 6261(the)m gsave
726 0 -52(\211\211override)m
728 1877(op)s 2110(tions.)s 2733(The)s 3155(ac)s
729 3360(tu)s 3541(al)s 3762(ser)s 4040(vice)s 4488(name)s
730 5056(passed)s 5746(will)s 6166(be)s 6442(the)s 240 fnt83
731 6784 6263(b)m 4(uiltin-)k 7471(service)s 240 fnt82 8140 6261(;)m
732 8246(note)s 8708(that)s 480 6021(this)m 876(ac)s 1081(tu)s
733 1262(al)s 1489(ser)s 1767(vice)s 2221(name)s 2795(\(as)s
734 3124(op)s 3357(posed)s 3974(to)s 4213(the)s 4561(o)s 3(v)k 3(er)k
735 4980(ride)s 5407(data\))s 5933(and)s 6337(the)s 240 fnt83
736 6685 6023(info-)m 7124(ar)s 8(gument)k 240 fnt82 8038 6021(s)m
737 8182(sup)s 8508(plied)s 480 5781(will)m 906(be)s 1188(ig)s
738 1367(nored)s 1970(by)s 2264(most)s 2789(b)s 4(uiltin)k
739 3466(ser)s 3744(vices;)s 4347(the)s 4695(o)s 3(v)k 3(er)k
740 5114(ride)s 5541(mech)s 6056(a)s 6162(nism)s 6687(and)s
744 240 fnt31 0 -52(execute\211builtin)m
746 8652(will)s 480 5541(be)m 762(used)s
747 1259(to)s 1498(en)s 1721(sure)s 2175(that)s 2593(the)s
748 2941(right)s 3452(b)s 4(uiltin)k 4129(ser)s 4407(vice)s
749 4861(is)s 5071(called)s 5699(with)s 6181(the)s 6529(right)s
750 240 fnt83 7040 5543(service-)m 7783(ar)s 8(gument)k 240 fnt82
754 240 fnt31 0 -52(\211f)m gsave
763 240 fnt83 0 -52(modi\207er)m 2(s)k
769 240 fnt83 0 -52(\207lename)m
776 240 fnt31 0 -52(\211\211file)m gsave
785 240 fnt83 0 -52(modi\207er)m 2(s)k
791 240 fnt83 0 -52(\207lename)m
795 480 4667(Requests)m 1384(that)s
796 1791(data)s 2238(be)s 2509(copied)s 3194(in)s 3426(and)s
797 3819(out)s 4174(of)s 4434(the)s 4771(service)s 5492(using)s
798 6053(pipes.)s 6651(F)s 3(or)k 7029(each)s 7513(\207le)s
799 7863(or)s 8111(descriptor)s 480 4427(this)m 858(will)s 1266(be)s
800 1530(done)s 2033(by)s 2309(creating)s 3113(a)s 3261(pipe,)s
801 3761(one)s 4145(end)s 4531(of)s 4784(which)s 5407(is)s
802 5599(passed)s 6277(to)s 6498(the)s 6827(service)s 7541(program)s
803 8393(and)s 8778(the)s 480 4187(other)m 1028(end)s 1429(of)s
804 1697(which)s 2336(is)s 2543(passed)s 3236(to)s 3472(a)s
805 3635(cop)s 2(y)k 4149(of)s gsave
808 240 fnt31 0 -52(cat)m
811 4774(in)s 9(v)k 4(ok)k 2(ed)k 5586(by)s
812 5877(the)s 6222(client;)s 6861(the)s 7206(other)s 7754(\207le)s
813 8111(descriptor)s 480 3947(passed)m 1161(to)s gsave
816 240 fnt31 0 -52(cat)m
819 1728(will)s 2139(be)s 2405(one)s 2791(inherited)s 3683(by)s
820 3961(the)s 4293(client)s 4868(program)s 5722(from)s 6230(the)s
821 6563(caller)s 7136(or)s 7379(one)s 7766(opened)s 8500(by)s
822 8778(the)s 480 3707(client)m 1063(program)s 1926(on)s 2215(behalf)s
823 2877(of)s 3140(the)s 3481(caller)s 13(.)k 4153(The)s
824 4574(descriptor)s 5581(in)s 5817(the)s 6157(service)s 6882(program)s
825 7744(that)s 8155(should)s 8844(be)s 480 3466(connected)m 1503(must)s
826 2023(be)s 2299(speci\207ed)s 3202(as)s 240 fnt83 3446 3468(fd)m
827 240 fnt82 3638 3466(,)m 3740(either)s 4338(as)s 4582(a)s
828 4743(decimal)s 5548(number)s 6334(or)s 6588(as)s 6832(one)s
829 7229(of)s 7494(the)s 7837(strings)s gsave
832 240 fnt31 0 -52(stdin)m
838 240 fnt31 0 -52(stdout)m
846 1970(.)s 2059(The)s 2473(ne)s 3(xt)k
847 2927(ar)s 4(gument)k 3871(is)s 4067(a)s 4218(\207lename)s
848 5082(which)s 5709(will)s 6121(be)s 6388(opened)s 7123(by)s
849 7403(the)s 7736(client)s 8311(with)s 8778(the)s 480 2985(pri)m 6(vile)k 3(ges)k
850 1458(of)s 1722(the)s 2064(calling)s 2760(user)s 13(.)k
851 240 fnt83 3303 2987(modi\207er)m 2(s)k 240 fnt82 4240 2985(is)m
852 4444(used)s 4934(to)s 5166(specify)s 5904(whether)s 6727(the)s
853 7069(\207le)s 7423(or)s 7676(descriptor)s 8684(is)s 8887(to)s
854 480 2745(be)m 762(read)s 1230(from)s 1754(or)s 2012(written)s
855 2745(to.)s 3034(It)s 3239(consists)s 4046(of)s 4317(a)s
856 4482(series)s 5076(of)s 5346(w)s 2(ords)k 5980(separated)s
857 6939(by)s 7233(commas.)s 8133(A)s 8362(comma)s 480 2504(may)m
858 946(separate)s 1784(the)s 240 fnt83 2132 2506(modi\207er)m 2(s)k
859 240 fnt82 3076 2504(from)m 3600(the)s 240 fnt83 3948 2506(fd)m
860 240 fnt82 4200 2504(and)m 4604(is)s 4814(required)s 5668(if)s
861 240 fnt83 5885 2506(fd)m 240 fnt82 6137 2504(is)m 6347(not)s
862 6713(numeric.)s 7660(The)s 8088(modi\207er)s 480 2264(w)m 2(ords)k
866 240 fnt31 0 -52(read)m
871 240 fnt31 0 -52(O_RDONLY)m
874 1761 1784(:)m 1867(Allo)s 6(w)k 2513(reading)s 3283(and)s
875 3687(not)s 4053(writing.)s 4847(May)s 5340(not)s 5706(be)s
876 5988(used)s 6485(with)s gsave
879 240 fnt31 0 -52(write)m
882 7786(things)s 8422(that)s 960 1544(imply)m 1572(it.)s gsave
888 1134 0 0 0 240 240 60 0 948 LoutGr2
889 0 0 moveto xsize 0 lineto stroke
893 122 fnt82 0 753(1)m gsave
896 192 fnt31 0 -42(userv)m
899 192 fnt82 505 683(is)m 673(short)s 1103(for)s 1373(`user)s
900 1802(services',)s 2566(and)s 2890(is)s 3058(pronounced)s 4010(`you-serv)s 2(e'.)k
901 240 fnt82 0 52(0.62)m 4809(User)s 5320(service)s 6052(daemon)s
902 6867(and)s 7271(client)s 7861(speci\207cation)s
912 %%PageResources: font Times-Roman
914 %%+ font Courier-Bold
915 %%+ font Times-Italic
917 0.0500 dup scale 10 setlinewidth
921 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
936 1417 -15423 translate
937 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
941 240 fnt84 8953 13844(5)m gsave
944 240 fnt31 0 -52(O_WRONLY)m
947 1761 13254(:)m 1867(Allo)s 6(w)k 2513(writing)s 3256(and)s
948 3660(not)s 4026(reading.)s 240 fnt83 4847 13256(Doesn')m 7(t)k
949 5661(truncate)s 6511(or)s 6789(cr)s 8(eate)k 240 fnt82
950 7431 13254(without)m gsave
953 240 fnt31 0 -52(truncate)m
964 240 fnt31 0 -52(write)m
967 2742(things)s 3378(that)s 3796(imply)s 4408(it)s 4600(may)s
968 5066(not)s 5432(be)s 5714(used)s 6211(with)s gsave
977 240 fnt31 0 -52(overwrite)m
979 960 12534(Equi)m 6(v)k 6(alent)k
983 240 fnt31 0 -52(write,create,truncate)m
994 240 fnt31 0 -52(creat)m
999 240 fnt31 0 -52(O_CREAT)m
1002 1660 11814(:)m 1766(Creates)s 2533(the)s 2881(\207le)s 3242(if)s
1003 3459(necessary)s 15(.)k 4477(Implies)s gsave
1004 5244 11868 translate
1006 240 fnt31 0 -52(write)m
1012 240 fnt31 0 -52(exclusive)m
1017 240 fnt31 0 -52(excl)m
1023 240 fnt31 0 -52(O_EXCL)m
1025 1560 11094(:)m 1666(F)s 3(ails)k
1026 2178(if)s 2395(the)s 2743(\207le)s 3104(already)s 3861(e)s 3(xists.)k
1027 4506(Implies)s gsave
1028 5273 11148 translate
1030 240 fnt31 0 -52(write)m
1033 6237 11148 translate
1038 6837(.)s 6941(May)s 7434(not)s 7800(be)s
1039 8082(used)s 8579(with)s gsave
1042 240 fnt31 0 -52(truncate)m
1048 240 fnt31 0 -52(truncate)m
1053 240 fnt31 0 -52(trunc)m
1061 1660 10134(:)m 1766(T)s 8(runcate)k 2663(an)s 3(y)k
1062 3060(e)s 3(xisting)k 3867(\207le.)s 4276(Implies)s gsave
1063 5043 10188 translate
1068 5543(.)s 5647(May)s 6140(not)s 6506(be)s
1069 6788(used)s 7285(with)s gsave
1070 7767 10188 translate
1072 240 fnt31 0 -52(exclusive)m
1078 240 fnt31 0 -52(append)m
1083 240 fnt31 0 -52(O_APPEND)m
1086 1867(All)s 2227(writes)s 2861(will)s 3287(append)s 4037(to)s
1087 4276(the)s 4624(\207le.)s 5033(Implies)s gsave
1090 240 fnt31 0 -52(write)m
1093 6360(\(b)s 4(ut)k 6801(not)s gsave
1096 240 fnt31 0 -52(create)m
1102 240 fnt31 0 -52(sync)m
1107 240 fnt31 0 -52(O_SYNC)m
1110 1560 9174(:)m 1666(Do)s 2012(writes)s 2646(synchronously)s 15(.)k
1111 4132(Implies)s gsave
1114 240 fnt31 0 -52(write)m
1125 240 fnt31 0 -52(nowait)m
1130 240 fnt31 0 -52(close)m
1133 960 8214(These)m 1587(modi\207ers)s 2541(control)s 3273(the)s 3621(beha)s 4(viour)k
1134 4634(of)s 4905(the)s 5253(client,)s 5890(with)s 6372(respect)s
1135 7108(to)s 7347(the)s 7695(pipes)s 8251(carrying)s 960 7974(data)m
1136 1418(to)s 1657(and)s 2061(from)s 2585(the)s 2933(service,)s
1137 3716(when)s 4292(the)s 4640(service)s 5372(terminates.)s 6470(See)s
1138 6871(belo)s 6(w)k 15(.)k gsave
1141 240 fnt31 0 -52(fd)m
1144 960 7494(The)m 240 fnt83 1388 7496(\207lename)m 240 fnt82 2252 7494(is)m
1145 2462(not)s 2828(a)s 2994(\207lename)s 3873(b)s 4(ut)k
1146 4235(a)s 4401(numeric)s 5237(\207le)s 5598(descriptor)s 13(.)k
1147 6644(One)s 7099(or)s 7358(both)s 7841(of)s gsave
1156 240 fnt31 0 -52(write)m
1159 2045(be)s 2327(speci\207ed,)s 3284(and)s 3688(no)s 3981(other)s
1160 4532(w)s 2(ords)k 5166(are)s 5513(allo)s 6(wed.)k
1161 6368(The)s 240 fnt83 6796 7255(\207lename)m 240 fnt82 7660 7253(may)m
1162 8126(also)s 8564(be)s gsave
1165 240 fnt31 0 -52(stdin)m
1171 240 fnt31 0 -52(stdout)m
1176 240 fnt31 0 -52(stderr)m
1179 3146(for)s 3484(\207le)s 3845(descriptor)s 4860(0,)s 5087(1)s
1180 5242(or)s 5501(2)s 5675(respecti)s 6(v)k 3(ely)k 15(.)k
1181 480 6748(If)m 701(no)s 240 fnt83 984 6750(modi\207er)m 2(s)k
1182 240 fnt82 1918 6748(which)m 2550(imply)s gsave
1185 240 fnt31 0 -52(read)m
1191 240 fnt31 0 -52(write)m
1193 4401(are)s 4738(used)s
1194 5226(it)s 5408(is)s 5608(as)s 5848(if)s gsave
1200 6605(had)s 6999(been)s 7498(speci\207ed,)s 8445(e)s 3(xcept)k
1201 480 6508(that)m 898(if)s 1115(the)s 1463(\207ledescriptor)s 2783(0)s
1202 2958(of)s 3229(the)s 3577(service)s 4309(is)s 4519(being)s
1203 5104(opened)s 5854(\(either)s 6536(speci\207ed)s 7444(numerically)s 8639(or)s
1204 480 6268(with)m gsave
1207 240 fnt31 0 -52(stdin)m
1210 1782(is)s 1992(as)s 2242(if)s gsave
1213 240 fnt31 0 -52(overwrite)m
1216 3420(had)s 3824(been)s 4333(speci\207ed)s 5241(\(or)s gsave
1222 6139(if)s 6356(only)s gsave
1225 240 fnt31 0 -52(fd)m
1228 7096(w)s 2(as)k 7517(speci\207ed\).)s 8610(The)s 480 6028(client)m
1229 1064(will)s 1483(also)s 1915(use)s gsave
1232 240 fnt31 0 -52(O_NOCTTY)m
1235 3137(when)s 3707(opening)s 4525(\207les)s 4968(speci\207ed)s 5869(by)s
1236 6156(the)s 6498(caller)s 9(,)k 7118(to)s 7351(a)s 4(v)k 4(oid)k
1237 7926(changing)s 8850(its)s 480 5788(controlling)m 1581(terminal.)s 2539(By)s
1238 2871(def)s 2(ault)k 3591(stdin,)s 4161(stdout)s 4805(and)s
1239 5207(stderr)s 5809(of)s 6079(the)s 6425(service)s 7156(will)s
1240 7580(be)s 7861(connected)s 8887(to)s 480 5548(the)m 811(corresponding)s
1241 2216(descriptors)s 3297(on)s 3577(the)s 3907(client.)s 4524(Diagnostics)s
1242 5686(from)s 6193(the)s 6523(client)s 7096(and)s 7482(daemon)s
1243 8280(will)s 8688(also)s 480 5308(appear)m 1177(on)s 1473(stderr)s 13(.)k
1247 240 fnt31 0 -52(wait)m
1249 2856(is)s 3065(speci\207ed,)s
1250 4022(the)s 4369(client)s 4959(will)s 5384(w)s 2(ait)k
1251 5853(for)s 6190(the)s 6538(pipe)s 7005(to)s 7244(be)s
1252 7525(closed,)s 8243(and)s 8646(only)s 480 5068(e)m 3(xit)k
1253 889(after)s 1379(this)s 1769(has)s 2132(happened.)s 3148(This)s
1254 3618(means)s 4274(that)s 4685(either)s 5282(the)s 5624(recei)s 6(ving)k
1255 6554(end)s 6951(of)s 7216(the)s 7558(pipe)s 8019(connection)s
1256 480 4828(w)m 2(as)k 901(closed)s 1570(while)s 2157(data)s
1257 2615(w)s 2(as)k 3036(still)s 3448(a)s 4(v)k 6(ailable)k
1258 4356(at)s 4588(the)s 4936(sending)s 5734(end,)s 6187(or)s
1259 6446(that)s 6864(the)s 7212(end)s 7616(of)s 7887(\207le)s
1260 8248(w)s 2(as)k 480 4588(reached)m 1279(on)s 1573(the)s
1261 1919(reading)s 2686(\207le)s 3045(descriptor)s 13(.)k 4088(Errors)s
1262 4732(encountered)s 5957(reading)s 6724(or)s 6981(writing)s 7721(in)s
1263 7962(the)s 8307(client)s 8894(at)s 480 4347(this)m 876(stage)s
1264 1423(will)s 1849(be)s 2131(considered)s 3225(a)s 3391(system)s
1265 4115(error)s 4638(and)s 5042(cause)s 5629(the)s 5977(client)s
1266 6567(to)s 6806(e)s 3(xit)k 7221(with)s 7703(status)s
1267 8298(255,)s 8764(b)s 4(ut)k 480 4107(will)m 896(not)s
1268 1251(cause)s 1827(disconnection)s 3203(at)s 3424(the)s 3761(service)s
1269 4482(side)s 4913(since)s 5449(the)s 5786(service)s 6507(has)s
1270 6867(already)s 7613(e)s 3(xited.)k 8347(If)s gsave
1276 480 3867(is)m 676(speci\207ed)s 1569(the)s 1902(client)s
1277 2477(will)s 2888(immediately)s 4121(close)s 4653(the)s 4987(pipe)s
1278 5440(connection)s 6532(by)s 6811(killing)s 7473(the)s 7806(rele)s 6(v)k 6(ant)k
1279 8608(cop)s 2(y)k 480 3627(of)m gsave
1282 240 fnt31 0 -52(cat)m
1285 1044(.)s 1141(If)s 1364(the)s 1705(service)s 2429(uses)s
1286 2885(the)s 3226(descriptor)s 4234(it)s 4418(will)s 4837(get)s
1290 240 fnt31 0 -52(SIGPIPE)m
1295 240 fnt31 0 -52(EPIPE)m
1298 6765(\))s 6886(for)s 7217(a)s 7376(writing)s 8111(descriptor)s
1299 480 3387(or)m 736(end)s 1137(of)s 1404(\207le)s 1762(for)s
1300 2096(a)s 2259(reading)s 3025(one;)s 3480(the)s 3824(descriptor)s
1301 4836(opened)s 5582(by)s 5873(or)s 6128(passed)s 6821(to)s
1302 7056(the)s 7401(client)s 7987(will)s 8410(also)s 8844(be)s
1303 480 3147(closed.)m 1255(If)s gsave
1306 240 fnt31 0 -52(nowait)m
1309 2355(speci\207ed)s 3263(then)s 3732(the)s 4080(client)s 4670(will)s
1310 5096(not)s 5462(w)s 2(ait)k 5931(and)s 6335(the)s
1311 6683(connection)s 7790(will)s 8216(remain)s 480 2907(open)m 1003(after)s
1312 1499(the)s 1847(client)s 2437(terminates.)s 3535(Data)s 4046(may)s
1313 4512(continue)s 5392(to)s 5631(be)s 5913(passed)s 6609(between)s
1314 7463(the)s 7811(inheritors)s 8777(of)s 480 2667(the)m 828(rele)s 6(v)k 6(ant)k
1315 1645(descriptor)s 2660(on)s 2957(the)s 3305(service)s 4037(side)s
1316 4478(and)s 4882(the)s 5230(corresponding)s 6652(\207le)s 7013(or)s
1317 7272(descriptor)s 8287(on)s 8584(the)s 480 2427(client)m 1070(side)s
1318 1511(until)s 2004(either)s 2607(side)s 3048(closes)s 3683(their)s
1319 4180(descriptor)s 13(.)k 5226(This)s 5702(should)s 6399(not)s
1320 6765(usually)s 7510(be)s 7792(speci\207ed)s 8700(for)s 480 2187(stderr)m
1321 1083(\(or)s 1421(stdout)s 2066(if)s gsave
1324 240 fnt31 0 -52(\211\211signals)m
1327 3945(is)s 4155(used\))s 4722(since)s 5269(diagnostics)s
1328 6396(from)s 6920(the)s 7268(service)s 8000(side)s 8441(may)s
1329 480 1947(arri)m 6(v)k 3(e)k 1083(after)s 1579(the)s
1330 1927(client)s 2517(has)s 2887(e)s 3(xited)k 3526(and)s
1331 3930(be)s 4212(confused)s 5134(with)s 5616(e)s 3(xpected)k
1332 6521(output.)s 7297(The)s 7725(def)s 2(ault)k 8446(is)s
1336 240 fnt31 0 -52(wait)m
1338 480 1707(for)m 818(writing)s 1561(\207le)s
1339 1922(descriptors)s 3021(and)s gsave
1342 240 fnt31 0 -52(close)m
1345 4323(reading)s 5093(ones.)s gsave
1348 240 fnt31 0 -52(\211w)m gsave
1357 240 fnt83 0 -52(action)m
1365 0 -52(\211\211fdwait)m gsave
1368 240 fnt83 0 -52(fd)m
1378 480 833(Sets)m 924(the)s 1267(action)s 1903(on)s
1379 2194(termination)s 3347(of)s 3613(the)s 3956(service)s 4682(for)s
1380 5015(the)s 5358(speci\207ed)s 6261(\207le)s 6616(descriptor;)s 240 fnt83
1381 7678 835(action)m 240 fnt82 8325 833(must)m 8844(be)s 0 52(User)m
1382 511(service)s 1243(daemon)s 2058(and)s 2462(client)s 3052(speci\207cation)s
1393 %%PageResources: font Times-Roman
1395 %%+ font Courier-Bold
1396 %%+ font Times-Italic
1398 0.0500 dup scale 10 setlinewidth
1402 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
1417 1417 -15423 translate
1418 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
1422 240 fnt84 0 13842(6)m gsave
1425 240 fnt31 0 -52(wait)m
1431 240 fnt31 0 -52(nowait)m
1434 1886 13305 translate
1439 2439(as)s 2682(described)s 3650(abo)s 3(v)k 3(e.)k
1440 4313(The)s 4734(\207le)s 5088(descriptor)s 6096(must)s 6615(be)s
1441 6890(speci\207ed)s 7791(as)s 8034(open)s 8550(when)s 480 13011(this)m
1442 876(option)s 1545(is)s 1755(encountered;)s 3036(this)s 3432(option)s
1443 4101(is)s 4311(o)s 3(v)k 3(erridden)k 5398(by)s
1444 5692(an)s 3(y)k 6089(later)s gsave
1445 6572 13065 translate
1447 240 fnt31 0 -52(\211\211file)m
1451 7491 13065 translate
1453 240 fnt31 0 -52(\211\211fdwait)m
1455 8352(option)s 480 12771(-)m
1456 608(e)s 6(v)k 3(en)k 1108(by)s 1402(a)s
1458 1568 12825 translate
1460 240 fnt31 0 -52(\211\211file)m
1462 2228(which)s 2870(does)s 3360(not)s
1463 3726(specify)s 4470(an)s 4753(action)s 5394(on)s 5691(termination)s
1464 6849(\(in)s 7171(this)s 7567(case)s 8034(the)s 8382(def)s 2(ault)k
1465 480 12531(will)m 906(be)s 1188(used,)s 1734(as)s 1984(described)s
1466 2958(abo)s 3(v)k 3(e\).)k gsave
1469 240 fnt31 0 -52(\211D)m
1473 240 fnt83 0 -52(name)m
1478 240 fnt83 0 -52(value)m
1486 240 fnt31 0 -52(\211\211defvar)m gsave
1489 240 fnt83 0 -52(name)m
1495 240 fnt83 0 -52(value)m
1499 480 11667(Set)m 845(a)s 1011(user)s 4(-)k
1500 1473(de\207ned)s 2236(v)s 6(ari)k 2595(able)s 240 fnt83
1501 3049 11669(name)m 240 fnt82 3621 11667(to)m 240 fnt83 3860 11669(val)m
1502 4152(ue)s 240 fnt82 4371 11667(.)m 4475(These)s 5102(user)s 4(-)k
1503 5564(de\207ned)s 6327(v)s 6(ari)k 6686(ables)s 7228(are)s
1504 7575(made)s 8149(a)s 4(v)k 6(ail)k 8598(able)s
1505 480 11427(in)m 723(the)s 1071(con)s 1414(\207g)s 1660(u)s
1506 1775(ra)s 1960(tion)s 2389(lan)s 2678(guage)s 3306(as)s
1507 3556(the)s 3904(pa)s 4130(ram)s 4501(e)s 4603(ters)s
1509 4998 11481 translate
1511 240 fnt31 0 -52(u\211)m gsave
1514 240 fnt83 0 -52(name)m
1519 6168(are)s 6515(passed)s 7211(to)s 7450(the)s 7798(ser)s
1520 8076(vice)s 8530(in)s 8773(en)s 8996(-)s 480 11187(vi)m
1521 660(ron)s 976(ment)s 1508(v)s 6(ari)k 1867(ables)s
1523 2402 11241 translate
1525 240 fnt31 0 -52(USERV_U_)m gsave
1528 240 fnt83 0 -52(name)m
1533 240 fnt83 3806 11189(name)m 240 fnt82 4371 11187(may)m 4831(con)s
1534 5174(tain)s 5582(only)s 6055(al)s 6222(phanu)s 6803(mer)s
1535 7174(ics)s 7483(and)s 7880(un)s 8117(der)s 8422(scores,)s
1536 480 10947(and)m 884(must)s 1409(start)s 1879(with)s 2360(a)s
1537 2526(let)s 2764(ter)s 13(.)k 3106(If)s 3335(se)s 6(v)k
1538 3643(er)s 3828(al)s 4055(de\207)s 4406(ni)s 4586(tions)s
1539 5102(are)s 5449(gi)s 6(v)k 5744(en)s 6026(for)s
1540 6364(the)s 6712(same)s 240 fnt83 7258 10949(name)m 240 fnt82
1541 7830 10947(then)m 8299(only)s 8778(the)s 480 10707(last)m 871(is)s
1542 1081(ef)s 1278(fec)s 1562(ti)s 6(v)k 3(e.)k
1546 240 fnt31 0 -52(\211t)m gsave
1549 240 fnt83 0 -52(seconds)m
1557 0 -52(\211\211timeout)m gsave
1560 240 fnt83 0 -52(seconds)m
1564 480 9882(T)m 8(ime)k
1565 1029(out)s 1392(the)s 1736(service)s 2465(if)s 2678(it)s
1566 2867(tak)s 2(es)k 3403(longer)s 4071(than)s 240 fnt83
1567 4536 9884(seconds)m 240 fnt82 5346 9882(seconds)m 6151(\(a)s 6393(positi)s 6(v)k 3(e)k
1568 7193(inte)s 3(ger)k 9(,)k 7948(in)s 8187(decimal\).)s
1569 480 9641(T)m 8(imeout)k 1331(will)s 1746(produce)s 2562(a)s
1570 2717(diagnostic)s 3742(on)s 4028(stderr)s 4620(and)s 5013(an)s
1571 5284(e)s 3(xit)k 5688(status)s 6272(of)s 6532(255.)s
1572 6985(If)s 240 fnt83 7204 9643(seconds)m 240 fnt82 8006 9641(is)m
1573 8205(zero)s 8657(then)s 480 9401(no)m 773(timeout)s 1563(will)s
1574 1989(be)s 2271(implemented)s 3577(\(this)s 4052(is)s 4262(the)s
1575 4610(def)s 2(ault\).)k gsave
1578 240 fnt31 0 -52(\211S)m
1581 380 9009(method)m gsave
1584 240 fnt31 0 -52(\211\211signals)m
1586 1081 8769(method)m 240 fnt82
1587 480 8527(Af)m 6(fects)k 1212(the)s 1544(handling)s 2420(of)s
1588 2675(the)s 3008(e)s 3(xit)k 3407(status)s 3987(when)s
1589 4547(the)s 4879(service)s 5596(terminates)s 6625(due)s 7012(to)s
1590 7235(a)s 7386(signal.)s 8045(\(The)s 8536(client)s 480 8286(will)m
1591 906(al)s 2(w)k 2(ays)k 1617(\207nish)s 2206(by)s
1592 2500(calling)s gsave
1595 240 fnt31 0 -52(_exit)m
1598 4076(that)s 4494(only)s 4974(numbers)s 5849(from)s 6373(0)s
1599 6548(to)s 6787(255)s 7193(can)s 7582(be)s 7864(returned)s
1600 8718(and)s 480 8046(not)m 830(the)s 1162(full)s 1532(range)s
1601 2102(of)s 2357(numbers)s 3216(and)s 3603(signal)s 4213(indications)s
1602 5297(which)s 5922(can)s 6295(be)s 6561(returned)s 7398(by)s
1606 240 fnt31 0 -52(wait)m
1609 480 7805(of)m 751(system)s 1475(calls.\))s 2160(The)s 240 fnt83
1610 2588 7807(method)m 240 fnt82 3359 7805(may)m 3825(be)s 4107(one)s
1611 4509(of)s 4780(the)s 5128(follo)s 6(wing:)k 240 fnt83
1612 600 7567(status)m 240 fnt82 960 7325(The)m 1386(client')s 13(s)k
1613 2123(e)s 3(xit)k 2536(status)s 3128(will)s 3552(be)s
1614 240 fnt83 3831 7327(status)m 240 fnt82 4384 7325(.)m 4486(This)s
1615 4959(will)s 5383(not)s 5746(be)s 6026(distinguishable)s 7527(from)s
1616 8049(the)s 8394(service)s 960 7084(really)m 1557(ha)s 4(ving)k
1617 2258(e)s 3(xited)k 2897(with)s 3379(code)s 240 fnt83
1618 3887 7086(status)m 240 fnt82 4440 7084(.)m 4544(This)s 5020(method)s
1619 5796(is)s 6006(the)s 6354(def)s 2(ault,)k 7122(with)s
1620 7604(a)s 240 fnt83 7770 7086(status)m 240 fnt82 8383 7084(of)m
1624 240 fnt31 0 -52(number)m
1629 240 fnt31 0 -52(number\211nocore)m
1632 960 6364(The)m 1388(client')s 13(s)k 2128(e)s 3(xit)k
1633 2543(status)s 3138(will)s 3564(be)s 3846(the)s 4194(number)s
1634 4985(of)s 5256(the)s 5604(signal)s 6230(which)s 6872(caused)s
1635 7581(the)s 7929(termination)s 960 6124(of)m 1231(the)s 1579(service.)s
1639 240 fnt31 0 -52(number)m
1641 3249(is)s 3459(used)s
1642 3956(rather)s 4572(than)s gsave
1645 240 fnt31 0 -52(number\211nocore)m
1648 6871(128)s 7278(will)s 7704(be)s 7986(added)s 960 5884(if)m
1649 1177(the)s 1525(service)s 2257(dumped)s 3087(core.)s gsave
1655 4262(is)s 4472(v)s 3(ery)k 4948(lik)s 2(e)k
1656 5360(the)s 5708(e)s 3(xit)k 6123(code)s 6631(mangling)s
1657 7588(done)s 8110(by)s 8404(the)s 960 5644(Bourne)m 1721(shell.)s
1661 240 fnt31 0 -52(highbit)m
1663 960 5164(The)m 1388(client')s 13(s)k
1664 2128(e)s 3(xit)k 2543(status)s 3138(will)s 3564(be)s
1665 3846(the)s 4194(number)s 4985(of)s 5256(the)s 5604(signal)s
1666 6230(with)s 6712(128)s 7119(added.)s 7795(If)s 8025(the)s
1667 8373(service)s 960 4924(e)m 3(xits)k 1459(normally)s 2376(with)s
1668 2858(an)s 3141(e)s 3(xit)k 3556(code)s 4064(of)s
1669 4335(greater)s 5057(than)s 5526(127)s 5934(then)s 6403(127)s
1670 6811(will)s 7237(be)s 7519(returned.)s gsave
1673 240 fnt31 0 -52(stdout)m
1676 960 4444(The)m 1375(service')s 13(s)k 2247(numeric)s 3069(w)s 2(ait)k
1677 3524(status)s 4105(as)s 4341(tw)s 2(o)k 4737(decimal)s
1678 5534(numbers)s 6395(\(high)s 6943(byte)s 7397(\207rst\))s 7882(and)s
1679 8272(a)s 8424(te)s 3(xtual)k 960 4204(description)m 2079(of)s
1680 2350(its)s 2626(meaning)s 3503(will)s 3929(be)s 4211(printed)s
1681 4946(to)s 5185(the)s 5533(client')s 13(s)k 6273(standard)s
1682 7141(output.)s 7857(It)s 8062(will)s 8488(be)s 960 3964(preceded)m
1683 1865(by)s 2142(a)s 2292(ne)s 6(wline)k 3082(and)s
1684 3470(follo)s 6(wed)k 4355(by)s 4633(an)s 4899(e)s 3(xtra)k
1685 5417(ne)s 6(wline,)k 6258(and)s 6646(the)s 6977(numbers)s
1686 7836(are)s 8166(separated)s 960 3724(from)m 1484(each)s 1979(other)s
1687 2530(and)s 2934(from)s 3458(the)s 3806(te)s 3(xtual)k
1688 4508(description)s 5627(by)s 5921(single)s 6548(spaces.)s 7276(The)s
1689 7704(e)s 3(xit)k 8119(status)s 8714(of)s 960 3484(the)m
1690 1308(client)s 1898(will)s 2324(be)s 2606(zero,)s 3124(unless)s
1691 3773(a)s 3939(system)s 4663(error)s 5186(occurs)s 5861(in)s
1692 6104(which)s 6746(case)s 7213(no)s 7506(e)s 3(xit)k
1693 7921(status)s 8516(and)s 960 3244(description)m 2079(will)s 2505(be)s
1694 2787(printed)s 3522(to)s 3761(stdout,)s 4453(and)s 4857(an)s
1695 5140(error)s 5663(message)s 6529(will)s 6955(be)s 7237(printed)s
1696 7972(to)s 8211(stderr)s 960 3004(as)m 1210(usual.)s 480 2791(Problems)m
1697 1420(such)s 1902(as)s 2137(client)s 2713(usage)s 3299(errors,)s
1698 3948(the)s 4281(service)s 4999(not)s 5351(being)s 5921(found)s
1699 6524(or)s 6768(permission)s 7860(being)s 8430(denied)s 480 2551(or)m
1700 739(f)s 2(ailure)k 1415(of)s 1686(a)s 1852(system)s
1701 2576(call)s 2975(are)s 3322(system)s 4046(errors.)s 4706(An)s
1702 5056(error)s 5579(message)s 6445(describing)s 7494(the)s 7842(problem)s
1703 8699(will)s 480 2310(be)m 758(printed)s 1489(on)s 1782(the)s
1704 2125(client')s 13(s)k 2861(stderr)s 9(,)k 3498(and)s
1705 3898(the)s 4241(client')s 13(s)k 4977(e)s 3(xit)k
1706 5388(status)s 5978(will)s 6400(be)s 6678(255.)s 7138(If)s
1707 7363(the)s 7707(client)s 8293(dies)s 8724(due)s 480 2070(to)m
1708 719(a)s 885(signal)s 1511(this)s 1907(should)s 2604(be)s
1709 2886(treated)s 3593(as)s 3843(a)s 4009(serious)s 4737(system)s
1710 5461(error)s 13(.)k gsave
1713 240 fnt31 0 -52(\211H)m
1719 0 -52(\211\211hidecwd)m
1721 480 1196(Pre)m 6(v)k 3(ents)k 1345(the)s
1722 1693(calling)s 2396(process')s 13(s)k 3323(current)s 4059(directory)s
1723 4975(name)s 5549(from)s 6073(being)s 6658(passed)s 7354(to)s
1724 7593(the)s 7941(service;)s 8729(the)s 480 956(null)m 907(string)s
1725 1504(will)s 1930(be)s 2212(passed)s 2908(instead.)s 0 52(0.62)m
1726 4809(User)s 5320(service)s 6052(daemon)s 6867(and)s 7271(client)s
1727 7861(speci\207cation)s
1737 %%PageResources: font Times-Roman
1739 %%+ font Courier-Bold
1740 %%+ font Times-Italic
1742 0.0500 dup scale 10 setlinewidth
1746 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
1761 1417 -15423 translate
1762 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
1766 240 fnt84 8951 13844(7)m gsave
1769 240 fnt31 0 -52(\211P)m
1775 0 -52(\211\211sigpipe)m
1777 240 fnt82 480 12803(If)m 700(the)s 1038(service)s
1778 1760(program)s 2620(is)s 2820(terminated)s 3888(due)s 4280(to)s
1780 4665 12857 translate
1782 240 fnt31 0 -52(SIGPIPE)m
1784 5415(the)s 5753(e)s 3(xit)k
1785 6157(status)s 6742(of)s 7003(the)s 7341(client)s 7921(will)s
1786 8337(be)s 8608(zero,)s 480 12563(e)m 6(v)k 3(en)k
1787 967(if)s 1170(it)s 1349(w)s 2(ould)k 1990(ha)s 4(v)k 3(e)k
1788 2477(been)s 2973(something)s 4009(else)s 4423(according)s 5405(to)s
1789 5630(the)s 5965(e)s 3(xit)k 6366(status)s 6948(method)s
1790 7710(speci\207ed.)s 8650(This)s 480 12323(option)m 1149(has)s 1519(no)s
1791 1812(ef)s 6(fect)k 2408(on)s 2705(the)s 3053(code)s
1792 3561(and)s 3965(description)s 5084(printed)s 5819(if)s 6036(the)s
1793 6384(e)s 3(xit)k 6799(status)s 7394(method)s gsave
1794 8170 12377 translate
1799 8830(is)s 480 12083(in)m 723(use.)s gsave
1808 240 fnt31 0 -52(\211\211help)m
1813 240 fnt31 0 -52(\211\211copyright)m
1819 240 fnt31 0 -52(\211h)m
1821 740 11019(or)m gsave
1824 240 fnt31 0 -52(\211\211help)m
1827 1659(prints)s 2254(the)s 2602(client')s 13(s)k 3342(usage)s
1828 3943(message;)s gsave
1829 4865 11073 translate
1831 240 fnt31 0 -52(\211\211copyright)m
1833 6026(prints)s 6621(the)s
1834 6969(cop)s 2(yright)k 7944(and)s 8348(lack)s 8807(of)s
1835 480 10779(w)m 2(arranty)k 1381(notice.)s 9066 670 0 670 240 240 60 0 9649 LoutGr2
1836 newpath 0 ysize 0.3 ft sub moveto
1842 320 fnt84 0 66(2.2.)m
1843 628(Security-o)s 3(v)k 3(erriding)k 3373(options)s
1846 613(are)s 960(also)s 1398(some)s 1959(options)s 2715(which)s
1847 3357(are)s 3704(a)s 4(v)k 6(ailable)k 4612(for)s
1848 4950(deb)s 4(ugging)k 6011(and)s 6415(to)s 6654(allo)s 6(w)k
1849 7233(the)s 7581(system)s 0 8947(administrator)m 1333(to)s 1572(o)s 3(v)k 3(erride)k
1850 2418(a)s 2584(user')s 13(s)k 3192(polic)s 3(y)k 15(.)k
1851 3876(These)s 4503(options)s 5259(are)s 5606(a)s 4(v)k 6(ailable)k
1852 6514(only)s 6994(if)s 7211(the)s 7559(client)s 8149(is)s
1853 8359(called)s 0 8707(by)m 294(root)s 739(or)s 998(if)s
1854 1215(the)s 1563(calling)s 2266(user)s 2724(is)s 2934(the)s
1855 3282(same)s 3829(as)s 4079(the)s 4427(service)s 5159(user)s 13(.)k
1859 240 fnt31 0 -52(\211\211override)m gsave
1862 240 fnt83 0 -52(con\207gur)m 3(ation\211data)k
1870 240 fnt31 0 -52(\211\211override\211file)m gsave
1873 240 fnt83 0 -52(\207lename)m
1878 826(not)s 1192(read)s 1661(the)s 2009(usual)s 2569(con\207guration)s
1879 3902(\207les.)s 4404(Instead,)s 5201(the)s 5549(client)s 6139(sends)s
1880 240 fnt83 6722 7821(con\207gur)m 3(ation-data)k 240 fnt82 480 7578(\(follo)m 6(wed)k
1881 1461(by)s 1755(a)s 1921(ne)s 6(wline\))k 2800(or)s
1882 3059(the)s 3407(contents)s 4255(of)s 240 fnt83 4526 7580(\207lename)m
1883 240 fnt82 5390 7578(\(which)m 6111(is)s 6321(opened)s 7071(in)s
1884 7314(the)s 7662(conte)s 3(xt)k 8423(of)s 8694(the)s
1885 480 7337(client\))m 1138(to)s 1377(the)s 1725(daemon)s 2540(and)s
1886 2944(the)s 3292(daemon)s 4107(uses)s 4570(that)s 4988(data)s
1887 5446(instead.)s 6227(The)s 240 fnt83 6655 7339(con\207gur)m 3(ation-data)k
1888 240 fnt82 8503 7337(must)m 480 7097(all)m 772(be)s 1052(in)s
1889 1293(one)s 1693(ar)s 4(gument.)k 2694(It)s 2897(will)s
1890 3321(ha)s 4(v)k 3(e)k 3820(a)s 3984(single)s
1891 4609(ne)s 6(wline)k 5414(appended)s 6388(so)s 6652(that)s
1892 7068(a)s 7232(single)s 7857(directi)s 6(v)k 3(e)k
1893 8737(can)s 480 6857(easily)m 1083(be)s 1357(gi)s 6(v)k 3(en,)k
1894 1979(b)s 4(ut)k 2333(if)s 2542(more)s 3080(than)s
1895 3541(one)s 3935(directi)s 6(v)k 3(e)k 4809(is)s
1896 5011(required)s 5857(it)s 6040(will)s 6458(ha)s 4(v)k 3(e)k
1897 6951(to)s 7182(contain)s 7935(one)s 8329(or)s 8579(more)s
1898 480 6617(real)m 892(ne)s 6(wlines.)k gsave
1901 240 fnt31 0 -52(\211\211spoof\211user)m
1905 240 fnt83 0 -52(user)m
1909 480 6032(Pretend)m 1268(to)s 1507(the)s
1910 1855(service)s 2587(that)s 3005(it)s 3197(is)s 3407(being)s
1911 3992(called)s 4620(by)s 240 fnt83 4914 6034(user)m 240 fnt82
1912 5391 6032(\(which)m 6112(may)s 6578(be)s 6860(a)s 7026(username)s
1913 7998(or)s 8257(a)s 8423(uid\).)s 480 5792(This)m 956(will)s
1914 1382(also)s 1820(af)s 6(fect)k 2416(the)s 2764(group)s
1915 3376(and)s 3780(supplementary)s 5242(groups)s 5945(supplied)s 6814(to)s
1916 7053(the)s 7401(service;)s 8189(the)s 3(y)k 8652(will)s
1917 480 5552(be)m 759(the)s 1103(standard)s 1968(group)s 2576(and)s
1918 2977(supplementary)s 4435(groups)s 5135(for)s 240 fnt83 5469 5554(user)m
1919 240 fnt82 5886 5552(.)m 5987(The)s gsave
1922 240 fnt31 0 -52(\211\211spoof\211user)m
1925 7669(option)s 8334(will)s 240 fnt83 8756 5554(not)m 240 fnt82
1926 480 5312(af)m 6(fect)k 1076(which)s 1718(user)s 2176(is)s
1927 2386(chosen)s 3108(if)s 3325(the)s 3673(service)s 4405(user)s
1928 4863(is)s 5073(speci\207ed)s 5981(as)s 6231(just)s gsave
1934 6736(;)s 6848(in)s 7091(this)s 7487(case)s
1935 7954(the)s 8302(service)s 480 5072(user)m 938(will)s 1364(be)s
1936 1646(the)s 1994(real)s 2406(calling)s 3109(user)s 13(.)k
1937 0 52(User)m 511(service)s 1243(daemon)s 2058(and)s 2462(client)s
1938 3052(speci\207cation)s 8652(0.62)s
1948 %%PageResources: font Times-Roman
1950 %%+ font Courier-Bold
1952 0.0500 dup scale 10 setlinewidth
1956 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
1971 1417 -15423 translate
1972 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
1976 240 fnt84 0 13842(8)m gsave
1978 240 fnt82 9066 688 0 688 240 240 60 LoutGraphic
1980 newpath 0 ysize 0.3 ft sub moveto
1986 340 fnt84 0 70(3.)m 412(Execution)s
1987 1943(en)s 13(vir)k 6(onment)k 3856(of)s 4243(the)s
1988 4774(ser)s 3(vice)k 5846(pr)s 6(ogram)k
1991 0 12264(The)m 428(daemon)s 1243(which)s 1885(is)s 2095(handling)s
1992 2986(the)s 3334(service)s 4066(user)s 4524(side)s 4965(of)s
1993 5236(things)s 5872(will)s 6298(read)s 6767(con\207guration)s 8100(\207les)s
1994 8549(to)s 0 12024(decide)m 680(what)s 1205(to)s 1444(do.)s
1995 1788(If)s 2018(it)s 2210(decides)s 2978(to)s 3217(allo)s 6(w)k
1996 3796(the)s 4144(service)s 4876(to)s 5115(be)s 5397(pro)s 3(vided)k
1997 6303(it)s 6495(will)s 6921(fork)s 7380(a)s 7546(subprocess)s
1998 8647(to)s 0 11784(e)m 3(x)k 3(ecute)k 780(the)s
1999 1128(service.)s 0 11376(The)m 428(service)s 1160(will)s 1586(ha)s 4(v)k 3(e)k
2000 2087(no)s 2380(controlling)s 3482(terminal,)s 4384(b)s 4(ut)k
2001 4746(it)s 4938(will)s 5364(be)s 5646(a)s 5812(process)s
2002 6580(group)s 7192(leader)s 13(.)k 0 10968(If)m 223(the)s
2003 563(client)s 1146(is)s 1348(killed)s 1942(or)s 2194(times)s
2004 2754(out)s 3112(or)s 3364(a)s 3522(\207le)s 3875(or)s
2005 4127(descriptor)s 5134(being)s 5711(read)s 6173(or)s 6424(written)s
2006 7149(by)s 7436(the)s 7776(client)s 8358(process)s 0 10728(gets)m
2007 436(an)s 719(error)s 1242(then)s 1711(the)s 2059(service)s
2008 2791(will)s 3217(be)s 3499(disconnected)s 4806(from)s 5330(the)s
2009 5678(client.)s 6312(The)s 6740(client)s 7330(will)s 7756(return)s
2010 8383(an)s 0 10487(e)m 3(xit)k 415(status)s 1010(of)s
2011 1281(255)s 1687(and)s 2091(some)s 2652(the)s 3000(service')s 13(s)k
2012 3886(pipes)s 4442(may)s 4908(be)s 5190(closed)s 5859(at)s
2013 6091(the)s 6439(other)s 6990(end.)s 7440(The)s 7868(service)s
2014 8600(will)s 0 10247(become)m 800(a)s 966(child)s 1502(of)s
2016 1773 10301 translate
2018 240 fnt31 0 -52(init)m
2020 2173(.)s 2277(The)s 2705(service)s
2021 3437(may)s 3903(well)s 4369(not)s 4735(notice)s 5375(the)s
2022 5723(disconnection,)s 7159(though)s 7882(writing)s 8625(to)s 8864(a)s
2023 0 10007(pipe)m 468(after)s 964(this)s 1360(may)s 1826(produce)s
2025 2819 10061 translate
2027 240 fnt31 0 -52(SIGPIPE)m
2029 3579(and)s 3983(the)s
2030 4331(f)s 2(acility)k 5058(e)s 3(xists)k 5650(to)s
2031 5889(ha)s 4(v)k 3(e)k 6390(a)s gsave
2032 6556 10061 translate
2037 7216(sent)s 7661(to)s 7900(the)s 8248(service)s
2038 0 9767(on)m 297(disconnection.)s 9066 670 0 670 240 240 60 0 8743 LoutGr2
2039 newpath 0 ysize 0.3 ft sub moveto
2045 320 fnt84 0 66(3.1.)m 628(File)s
2048 0 8281(The)m 428(service)s 1160(program')s 13(s)k
2049 2180(standard)s 3048(\207ledescriptors,)s 4508(and)s 4912(possibly)s 5764(other)s
2050 6315(\207le)s 6676(descriptors,)s 7831(will)s 8257(be)s 0 8041(connected)m
2051 1028(to)s 1266(pipes)s 1821(or)s 2080(to)s gsave
2057 3219(.)s 3322(The)s gsave
2060 240 fnt31 0 -52(userv)m
2063 4309(client/daemon)s 5719(pair)s 6150(will)s 6575(arrange)s 7346(that)s
2064 7764(data)s 8221(is)s 8430(copied)s 0 7801(between)m 854(the)s
2065 1202(\207les)s 1651(or)s 1910(\207le)s 2271(descriptors)s 3370(speci\207ed)s
2066 4278(to)s 4517(to)s 4756(the)s 5104(client)s 5694(by)s
2067 5988(the)s 6336(caller)s 6925(and)s 7329(these)s 7876(these)s
2068 8423(pipes.)s 0 7393(Pipes)m 569(which)s 1211(may)s 1677(be)s
2069 1959(written)s 2692(to)s 2931(will)s 3357(be)s 3639(closed)s
2070 4308(if)s 4525(a)s 4691(write)s 5237(error)s 5760(occurs)s
2071 6435(on)s 6732(the)s 7080(corresponding)s 0 7153(client-side)m 1043(\207le)s
2072 1396(or)s 1647(descriptor)s 9(,)k 2692(which)s 3326(may)s
2073 3784(result)s 4366(in)s 4601(a)s gsave
2076 240 fnt31 0 -52(SIGPIPE)m
2079 5512(in)s 5747(the)s 6087(service)s 6811(program;)s 7725(pipes)s
2080 8273(open)s 8788(for)s 0 6913(reading)m 770(will)s 1196(get)s
2084 240 fnt31 0 -52(EOF)m
2086 1908(if)s 2125(the)s 2473(client-side)s
2087 3523(\207le)s 3884(descriptor)s 4899(gets)s gsave
2090 240 fnt31 0 -52(EOF)m
2093 5695(or)s 5954(an)s 6237(error)s 13(.)k 0 6505(If)m
2094 230(the)s 578(service)s 1310(closes)s 1945(one)s 2347(of)s
2095 2618(its)s 2894(reading)s 3663(\207le)s 4024(descriptors)s 5123(the)s
2096 5471(writing)s 6214(end)s 6618(of)s 6889(the)s 7237(corresponding)s
2097 8658(pipe)s 0 6265(will)m 421(generate)s 1280(a)s gsave
2103 2195(when)s 2766(attempts)s 3620(are)s 3962(made)s
2104 4530(by)s 4819(the)s 5161(client/daemon)s 6567(pair)s 6992(to)s
2105 7226(write)s 7766(to)s 8000(it.)s 8230(This)s 8700(will)s
2106 0 6025(not)m 366(be)s 648(considered)s 1742(an)s 2025(error;)s
2107 2600(rather)s 9(,)k 3254(the)s 3602(rele)s 6(v)k 6(ant)k
2108 4419(pipe)s 4887(will)s 5313(be)s 5595(discarded)s 6569(and)s
2109 6973(the)s 7321(corresponding)s 8743(\207le)s 0 5785(or)m 259(\207le)s
2110 620(descriptor)s 1635(held)s 2105(by)s 2399(the)s 2747(client)s
2111 3337(will)s 3763(be)s 4045(closed.)s 0 5377(Lik)m 2(e)k 6(wise,)k
2112 975(if)s 1192(one)s 1594(of)s 1865(the)s 2213(\207le)s
2113 2574(descriptors)s 3673(held)s 4143(by)s 4437(the)s 4785(client)s
2114 5375(for)s 5713(writing)s 6456(by)s 6750(the)s 7098(service)s
2115 7830(is)s 8040(a)s 8206(pipe)s 0 5137(whose)m 665(other)s
2116 1213(end)s 1613(is)s 1820(closed)s 2485(by)s 2776(the)s
2117 3120(caller)s 3706(then)s 4171(the)s 4516(client/daemon)s 5923(pair)s
2118 6351(will)s 6773(see)s 7131(an)s 7410(error)s 7930(when)s
2119 8502(trying)s 0 4897(to)m 239(cop)s 2(y)k 757(data)s
2120 1215(pro)s 3(vided)k 2121(by)s 2415(the)s 2763(service.)s
2121 3543(This)s 4019(too)s 4378(will)s 4804(not)s 5170(be)s
2122 5452(considered)s 6546(an)s 6829(error;)s 7404(rather)s 9(,)k
2123 8058(the)s 8406(pipe)s 0 4657(correspondong)m 1476(to)s 1715(that)s
2124 2133(descriptor)s 3148(will)s 3574(be)s 3856(closed)s 4525(and)s
2125 4929(an)s 3(y)k 5326(further)s 6035(writes)s 6669(will)s
2126 7095(cause)s 7682(the)s 8030(service)s 8762(to)s 0 4417(get)m
2130 240 fnt31 0 -52(SIGPIPE)m
2132 1218(.)s 0 4009(Note)m
2133 521(that)s 939(not)s 1305(all)s 1598(write)s 2144(errors)s
2134 2751(or)s 3010(brok)s 2(en)k 3730(pipes)s 4286(on)s
2135 4583(\207le)s 4944(descriptors)s 6043(may)s 6509(be)s 6791(visible)s
2136 7484(to)s 7723(the)s 8071(service,)s 0 3769(since)m 547(b)s 4(uf)k 6(fered)k
2137 1404(data)s 1862(may)s 2328(be)s 2610(discarded)s 3584(by)s
2138 3878(the)s 4226(operating)s 5182(system)s 5906(and)s 6310(there)s
2139 6843(will)s 7269(be)s 7551(a)s 7717(\207nite)s 8264(interv)s 6(al)k
2140 0 3529(between)m 847(the)s 1188(error)s 1703(happening)s 2747(and)s
2141 3144(the)s 3484(service)s 4209(being)s 4787(disconnected)s 6086(from)s
2142 6603(the)s 6944(client)s 7526(or)s 7778(the)s 8119(ne)s 3(xt)k
2143 8580(write)s 0 3289(causing)m 784(a)s gsave
2146 240 fnt31 0 -52(SIGPIPE)m
2149 1650(.)s 0 2881(Read)m 550(errors)s 1157(on)s 1454(\207le)s
2150 1815(descriptors)s 2914(\(and)s 3397(disconnection\))s 4854(will)s 5280(only)s
2151 5760(be)s 6042(visible)s 6735(to)s 6974(the)s 7322(service)s
2152 8054(and)s 0 2641(distinguishable)m 1504(from)s 2028(normal)s 2760(end)s
2153 3164(of)s 3435(\207le)s 3796(if)s gsave
2156 240 fnt31 0 -52(disconnect\211hup)m
2159 5474(is)s 5684(in)s 5927(ef)s 6(fect.)k 0 2233(Read)m
2160 549(and)s 951(write)s 1495(errors)s 2100(\(other)s 2728(than)s
2161 3196(brok)s 2(en)k 3914(pipes,)s 4524(as)s 4772(described)s
2162 5744(abo)s 3(v)k 3(e\))k 6437(will)s 6861(al)s 2(w)k 2(ays)k
2163 7570(be)s 7850(visible)s 8541(to)s 8778(the)s 0 1993(caller;)m
2164 627(the)s 3(y)k 1075(are)s 1408(system)s 2117(errors,)s
2165 2766(and)s 3155(will)s 3566(therefore)s 4469(cause)s 5041(the)s
2166 5375(client)s 5950(to)s 6174(print)s 6671(an)s 6939(error)s
2167 7448(message)s 8299(to)s 8523(stderr)s 0 1752(and)m 404(return)s
2168 1031(with)s 1513(an)s 1796(e)s 3(xit)k 2211(status)s
2169 2806(of)s 3077(255.)s 0 1344(If)m 230(the)s 578(main)s
2170 1113(service)s 1845(program)s 2715(process)s 3483(e)s 3(xits)k
2171 3982(while)s 4569(it)s 4761(still)s 5173(has)s 5543(running)s
2172 6341(children)s 7181(an)s 3(y)k 7578(\207le)s 7939(descriptors)s
2173 0 1104(held)m 470(by)s 764(those)s 1325(children)s 2165(can)s
2174 2554(remain)s 3274(open,)s 3847(depending)s 4898(on)s 5195(the)s
2175 5543(use)s 5918(of)s gsave
2178 240 fnt31 0 -52(wait)m
2184 240 fnt31 0 -52(nowait)m
2189 240 fnt31 0 -52(close)m
2192 8175(for)s 8513(the)s 0 864(rele)m 6(v)k 6(ant)k
2193 817(\207le)s 1178(descriptor)s 2193(in)s 2436(the)s 2784(client')s 13(s)k
2194 3524(ar)s 4(guments.)k 4620(By)s 4954(def)s 2(ault)k
2195 5675(writing)s 6418(\207ledescriptors)s 7822(remain)s 8542(open)s 0 52(0.62)m
2196 4809(User)s 5320(service)s 6052(daemon)s 6867(and)s 7271(client)s
2197 7861(speci\207cation)s
2207 %%PageResources: font Times-Roman
2209 %%+ font Courier-Bold
2210 %%+ font Times-Italic
2212 0.0500 dup scale 10 setlinewidth
2216 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
2231 1417 -15423 translate
2232 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
2236 240 fnt84 8952 13842(9)m 240 fnt82 0 13251(and)m 404(the)s
2237 752(client)s 1342(will)s 1768(w)s 2(ait)k 2237(for)s
2238 2575(them)s 3113(to)s 3352(be)s 3634(closed)s 4303(at)s
2239 4535(the)s 4883(service)s 5615(end,)s 6068(and)s 6472(reading)s
2240 7242(\207le)s 7603(descriptors)s 8702(are)s 0 13011(closed)m 669(immediately)s 15(.)k
2241 1952(These)s 2579(lefto)s 3(v)k 3(er)k 3375(child)s
2242 3911(processes)s 4878(will)s 5304(not)s 5670(get)s 6022(a)s
2243 6188(an)s 3(y)k gsave
2244 6585 13065 translate
2246 240 fnt31 0 -52(SIGHUP)m
2248 7245(e)s 6(v)k 3(en)k
2249 7745(if)s 7962(a)s 8128(read)s 8597(or)s 0 12771(write)m
2250 546(error)s 1069(occurs)s 1744(or)s 2003(the)s 2351(client)s
2251 2941(disconnects)s 4108(before)s 4774(then.)s 9066 609 0 609 240 240 60 0 11808 LoutGr2
2252 newpath 0 ysize 0.3 ft sub moveto
2258 320 fnt84 0 5(3.2.)m
2259 628(En)s 12(vir)k 5(onment)k
2261 0 11346(The)m 428(service)s
2262 1160(will)s 1586(ha)s 4(v)k 3(e)k 2087(some)s
2263 2648(information)s 3833(in)s 4076(en)s 9(vironment)k 5336(v)s 6(ariables:)k
2267 240 fnt31 0 -52(USERV_USER)m
2269 480 10866(The)m 908(login)s 1457(name)s
2270 2031(of)s 2302(the)s 2650(calling)s 3353(user)s 13(.)k
2271 3842(If)s 4072(the)s gsave
2272 4420 10920 translate
2274 240 fnt31 0 -52(LOGNAME)m
2276 5180(v)s 6(ariable)k
2277 5999(is)s 6209(set)s 6534(\(or)s 9(,)k 6910(if)s
2278 7127(that)s 7545(is)s 7755(unset,)s 8367(if)s 8584(the)s
2282 240 fnt31 0 -52(USER)m
2284 940 10626(v)m 6(ariable)k 1759(is)s
2285 1969(set\))s 2362(in)s 2605(the)s 2953(en)s 9(vironment)k
2286 4213(passed)s 4909(to)s 5148(the)s 5496(client)s 6086(by)s
2287 6380(the)s 6728(caller)s 7317(then)s 7786(the)s 8134(passw)s 2(ord)k
2288 480 10386(entry)m 1025(for)s 1363(that)s 1781(login)s 2330(name)s
2289 2904(will)s 3330(be)s 3612(look)s 2(ed)k 4320(up;)s
2290 4672(if)s 4889(that)s 5307(passw)s 2(ord)k 6267(entry')s 13(s)k
2291 6968(uid)s 7332(is)s 7542(the)s 7890(same)s 8437(as)s
2292 8687(that)s 480 10146(of)m 745(the)s 1086(calling)s 1782(process)s
2293 2543(then)s 3005(that)s 3416(login)s 3958(name)s 4525(will)s
2294 4945(be)s 5220(used,)s 5759(otherwise)s 6737(\(or)s 7068(if)s
2295 7278(neither)s gsave
2296 7994 10200 translate
2298 240 fnt31 0 -52(LOGNAME)m
2306 938 9906(is)m 1146(set\))s 1537(the)s 1883(calling)s
2307 2583(process')s 13(s)k 3508(uid)s 3870(will)s 4294(be)s
2308 4573(look)s 2(ed)k 5279(up)s 5570(to)s 5807(determine)s
2309 6815(their)s 7310(login)s 7857(name)s 8429(\(and)s 8909(if)s
2310 480 9666(this)m 876(lookup)s 1595(f)s 2(ails)k 2054(then)s
2311 2523(the)s 2871(service)s 3603(will)s 4029(not)s 4395(be)s
2312 4677(in)s 9(v)k 4(ok)k 2(ed\).)k gsave
2318 480 9186(The)m 908(uid)s 1272(of)s 1543(the)s
2319 1891(calling)s 2594(process.)s gsave
2322 240 fnt31 0 -52(USERV_GID)m
2325 908(gid)s 1272(and)s 1676(supplementary)s 3138(group)s 3750(list)s
2326 4101(of)s 4372(the)s 4720(calling)s 5423(process:)s 6246(\207rst)s
2327 6677(the)s 7025(group)s 7637(in)s 7880(gid)s 8244(and)s
2328 8648(then)s 480 8466(those)m 1041(in)s 1284(the)s 1632(supplementary)s
2329 3094(group)s 3706(list,)s 4104(in)s 4347(decimal,)s 5210(separated)s
2330 6170(by)s 6464(spaces.)s gsave
2333 240 fnt31 0 -52(USERV_GROUP)m
2336 908(group)s 1520(names)s 2182(of)s 2453(the)s 2801(calling)s
2337 3504(process,)s 4328(listed)s 4903(in)s 5146(the)s 5494(same)s
2338 6041(w)s 2(ay)k 6492(as)s 6742(the)s 7090(ids)s
2339 7420(are)s 7767(in)s gsave
2342 240 fnt31 0 -52(USERV_GID)m
2345 480 7746(If)m 710(no)s 1003(name)s 1577(can)s 1966(be)s
2346 2248(found)s 2865(for)s 3203(an)s 3(y)k 3600(of)s
2347 3871(the)s 4219(calling)s 4922(process')s 13(s)k 5849(group\(s\))s
2348 6708(then)s 7177(the)s 7525(service)s 8257(will)s 8683(not)s
2349 480 7506(be)m 762(in)s 9(v)k 4(ok)k 2(ed.)k
2353 240 fnt31 0 -52(USERV_CWD)m
2355 480 7026(The)m 908(client')s 13(s)k
2356 1648(current)s 2384(w)s 2(orking)k 3233(directory)s 4149(name)s
2357 4723(\(this)s 5198(directory)s 6114(may)s 6580(not)s 6946(be)s
2358 7228(accessible)s 8252(to)s 8491(the)s 480 6786(service\).)m 1339(If)s
2359 1568(it)s 1759(could)s 2348(not)s 2713(be)s 2994(determined)s
2360 4126(or)s 4384(the)s gsave
2363 240 fnt31 0 -52(\211\211hidecwd)m
2366 6103(w)s 2(as)k 6523(used)s 7019(then)s 7487(this)s
2367 7882(v)s 6(ariable)k 8700(will)s 480 6546(be)m 762(set)s
2368 1087(to)s 1326(an)s 1609(empty)s 2261(string)s 2858(\(this)s
2369 3333(is)s 3543(not)s 3909(considered)s 5003(an)s 5286(error\).)s
2373 240 fnt31 0 -52(USERV_SERVICE)m
2375 480 6066(The)m 908(service)s 1640(name)s
2376 2214(requested)s 3188(by)s 3482(the)s 3830(caller)s 13(.)k
2380 240 fnt31 0 -52(USERV_U_)m gsave
2383 240 fnt83 0 -52(name)m
2388 908(v)s 6(alue)k 1476(supplied)s 2345(to)s 2584(the)s
2389 2932(client)s 3522(by)s 3816(the)s 4164(caller)s 4753(using)s
2390 5325(-D)s 240 fnt83 5569 5588(name)m 240 fnt82 6081 5586(.)m
2394 240 fnt31 0 -52(HOME)m
2399 240 fnt31 0 -52(PATH)m
2405 240 fnt31 0 -52(SHELL)m
2416 240 fnt31 0 -52(USER)m
2419 3671(be)s 3953(set)s 4278(appropriately)s 5606(\(according)s 6681(to)s
2420 6920(the)s 7268(details)s 7942(of)s 8213(the)s 0 5083(service)m
2421 732(user\).)s 0 52(User)m 511(service)s 1243(daemon)s 2058(and)s
2422 2462(client)s 3052(speci\207cation)s 8652(0.62)s
2432 %%PageResources: font Times-Roman
2434 %%+ font Times-Italic
2435 %%+ font Courier-Bold
2437 0.0500 dup scale 10 setlinewidth
2441 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
2456 1417 -15423 translate
2457 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
2461 240 fnt84 0 13842(10)m gsave
2463 240 fnt82 9066 689 0 689 240 240 60 LoutGraphic
2465 newpath 0 ysize 0.3 ft sub moveto
2471 340 fnt84 0 70(4.)m 412(Ser)s 3(vice-side)k
2472 2219(con\207guration)s
2474 240 fnt82 0 12263(Which)m 695(ser)s 973(vices)s
2475 1515(may)s 1981(be)s 2263(run)s 2639(by)s 2933(whom)s
2476 3592(and)s 3996(un)s 4233(der)s 4598(what)s 5123(con)s
2477 5466(di)s 5646(tions)s 6162(is)s 6372(con)s 6715(trolled)s
2478 7396(by)s 7690(con)s 8033(\207g)s 8279(u)s 8394(ra)s
2479 8579(-)s 0 12023(tion)m 429(\207les.)s 0 11615(The)m 428(daemon)s
2480 1243(will)s 1669(read)s 2138(these)s 2685(\207les)s 3134(in)s
2481 3377(order)s 13(.)k 3972(Certain)s 4732(directi)s 6(v)k 3(es)k
2482 5702(in)s 5945(the)s 6293(\207les)s 6742(modify)s 7487(the)s
2483 7835(daemon')s 13(s)k 0 11375(e)m 3(x)k 3(ecution)k
2484 981(settings)s 1762(for)s 2100(in)s 9(v)k 4(oking)k
2485 2992(the)s 3340(service,)s 4123(for)s 4461(e)s 3(xample)k
2486 5324(allo)s 6(wing)k 6208(certain)s 6914(\207le)s 7275(descriptors)s
2487 8374(to)s 8613(be)s 0 11135(speci\207ed)m 908(by)s 1202(the)s
2488 1550(client)s 2140(or)s 2399(specifying)s 3448(which)s 4090(program)s
2489 4960(to)s 5199(e)s 3(x)k 3(ecute)k 5979(to)s
2490 6218(pro)s 3(vide)k 7002(the)s 7350(service.)s 0 10727(The)m
2491 240 fnt83 428 10729(last)m 240 fnt82 837 10727(instance)m 1676(of)s
2492 1947(each)s 2442(such)s 2938(setting)s 3628(will)s 4054(tak)s 2(e)k
2493 4506(ef)s 6(fect.)k 5146(The)s 5574(directi)s 6(v)k 3(es)k
2494 6544(which)s 7186(specify)s 7930(which)s 0 10487(program)m 864(to)s
2495 1096(e)s 3(x)k 3(ecute)k 1869(will)s 2288(not)s
2496 2647(stop)s 3092(the)s 3433(con\207guration)s 4759(\207le)s 5113(from)s
2497 5630(being)s 6208(read;)s 6724(the)s 3(y)k 7180(will)s
2498 7599(be)s 7874(remembered)s 0 10247(and)m 404(will)s 830(only)s
2499 1310(tak)s 2(e)k 1762(ef)s 6(fect)k 2358(if)s
2500 2575(the)s 3(y)k 3038(are)s 3385(not)s 3751(o)s 3(v)k 3(erridden)k
2501 4838(by)s 5132(a)s 5298(later)s 5781(directi)s 6(v)k 3(e.)k
2502 0 9839(The)m 428(daemon)s 1243(will)s 1669(\207rst)s 2100(read)s
2506 240 fnt31 0 -52(/etc/userv/system.default)m
2508 5072(.)s 5176(Then,)s 5775(by)s
2509 6069(def)s 2(ault)k 6790(\(this)s 7265(beha)s 4(viour)k
2510 8278(may)s 0 9599(be)m 282(modi\207ed\),)s 1319(it)s 1511(will)s
2511 1937(read)s 2406(a)s 2572(per)s 4(-user)k 3410(\207le)s
2515 240 fnt31 0 -52(~/.userv/rc)m
2517 4872(,)s 4979(if)s 5196(it)s
2518 5388(e)s 3(xists)k 5980(and)s 6384(the)s 6732(service)s
2519 7464(user')s 13(s)k 8072(shell)s 8578(is)s 8788(in)s
2523 240 fnt31 0 -52(/etc/shells)m
2525 1101 9359(.)m 1205(Finally)s 1936(it)s
2526 2128(will)s 2554(read)s gsave
2529 240 fnt31 0 -52(/etc/userv/system.override)m
2532 0 8951(When)m 627(it)s 816(has)s 1183(read)s 1650(all)s
2533 1940(of)s 2208(these)s 2753(\207les)s 3199(it)s 3388(will)s
2534 3812(act)s 4147(ac)s 4352(cord)s 4775(ing)s 5131(to)s
2535 5368(the)s 5713(cur)s 6018(rent)s 6389(ly)s 6626(v)s 6(al)k
2536 6907(ues)s 7275(of)s 7543(of)s 7811(the)s 8156(e)s 3(x)k
2537 8374(e)s 8476(cu)s 8697(tion)s 0 8711(set)m 265(tings.)s
2538 9066 670 0 670 240 240 60 0 7687 LoutGr2
2539 newpath 0 ysize 0.3 ft sub moveto
2545 320 fnt84 0 66(4.1.)m 628(Con\207guration)s 2618(\207le)s 3100(syntax)s
2548 0 7225(The)m 414(con\207guration)s 1733(\207le)s 2080(is)s 2276(a)s
2549 2428(series)s 3007(of)s 3264(directi)s 6(v)k 3(es,)k
2550 4276(usually)s 5007(one)s 5395(per)s 5746(line.)s 6193(The)s
2551 6607(portion)s 7341(of)s 7598(a)s 7750(line)s 8149(follo)s 6(wing)k
2552 0 6985(a)m 154(hash)s 638(character)s gsave
2558 1708(is)s 1906(tak)s 2(en)k 2466(as)s 2704(a)s
2559 2858(comment)s 3796(and)s 4188(ignored.)s 5011(Each)s 5533(directi)s 6(v)k 3(e)k
2560 6403(consists)s 7199(of)s 7458(a)s 7612(series)s 8194(of)s
2561 8452(tok)s 2(ens)k 0 6745(separated)m 960(by)s 1254(linear)s
2562 1857(whitespace)s 2975(\(spaces)s 3729(and)s 4133(tabs\);)s 4709(tok)s 2(ens)k
2563 5383(may)s 5849(be)s 6131(w)s 2(ords)k 6765(consisting)s
2564 7788(of)s 8059(non-space)s 0 6505(characters,)m 1074(or)s 9(,)k
2565 1371(where)s 2011(a)s 2177(string)s 2774(is)s 2984(required,)s
2566 3887(a)s 4053(string)s 4650(in)s 4893(double)s 5601(quotes.)s
2567 6330(Double-quoted)s 7824(strings)s 8512(may)s 0 6265(contain)m 761(the)s
2568 1109(follo)s 6(wing)k 2086(backslash)s 3073(escapes:)s gsave
2574 480 5785(ne)m 6(wline)k gsave
2577 240 fnt31 0 -52(\\t)m
2580 480 5305(tab)m gsave
2583 240 fnt31 0 -52(\\r)m
2585 480 4825(carriage)m 1304(return)s
2589 240 fnt31 0 -52(\\)m gsave
2592 240 fnt83 0 -52(OOO)m
2596 480 4345(character)m
2597 1414(whose)s 2082(octal)s 2601(code)s 3109(is)s 240 fnt83
2598 3319 4347(OOO)m gsave
2601 240 fnt31 0 -52(\\x)m gsave
2604 240 fnt83 0 -52(XX)m
2609 240 fnt82 480 3865(character)m 1414(whose)s 2082(he)s 3(x)k
2610 2480(code)s 2988(is)s 240 fnt83 3198 3867(XX)m gsave
2617 240 fnt83 0 -52(punctuation)m
2621 240 fnt82 480 3385(literal)m
2622 1090(punctuation)s 2277(character)s 3211(\(e)s 3(g)k gsave
2631 240 fnt31 0 -52(\\")m
2637 240 fnt31 0 -52(\\)m gsave
2640 240 fnt83 0 -52(ne)m 3(wline)k
2645 1005 3144(\(ie,)m 1363(backslash)s 2350(at)s 2582(end)s 2986(of)s
2646 3257(line\))s 480 2904(string)m 1077(continues)s 2045(on)s 2342(ne)s 3(xt)k
2647 2811(line)s 0 2342(Relati)m 6(v)k 3(e)k 843(pathnames)s
2648 1917(in)s 2160(directi)s 6(v)k 3(es)k 3130(are)s
2649 3477(relati)s 6(v)k 3(e)k 4239(to)s 4478(the)s
2650 4826(service)s 5558(program')s 13(s)k 6578(current)s 7314(directory)s
2651 8230(\(usually)s 0 2102(the)m 348(service)s 1080(user')s 13(s)k
2652 1687(home)s 2275(directory\).)s 3319(P)s 3(athnames)k 4403(starting)s
2653 5171(with)s 5653(the)s 6000(tw)s 2(o)k 6410(characters)s
2657 240 fnt31 0 -52(~/)m
2659 7687(are)s 8033(tak)s 2(en)k
2660 8606(to)s 8844(be)s 0 1862(relati)m 6(v)k 3(e)k
2661 762(to)s 1001(the)s 1349(service)s 2081(user')s 13(s)k
2662 2689(home)s 3277(directory)s 15(.)k 9066 670 0 670 240 240 60 0 838 LoutGr2
2663 newpath 0 ysize 0.3 ft sub moveto
2669 320 fnt84 0 66(4.2.)m
2670 628(Con\207guration)s 2618(\207le)s 3100(dir)s 5(ecti)k 3(v)k 3(es)k
2673 0 52(0.62)m 4809(User)s 5320(service)s 6052(daemon)s 6867(and)s
2674 7271(client)s 7861(speci\207cation)s
2684 %%PageResources: font Times-Roman
2686 %%+ font Courier-Bold
2687 %%+ font Times-Italic
2689 0.0500 dup scale 10 setlinewidth
2693 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
2708 1417 -15423 translate
2709 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
2713 240 fnt84 8839 13842(11)m 300 fnt84 0 13210(4.2.1.)m 813(Immediate)s
2714 2261(dir)s 5(ecti)k 3(v)k 3(es)k 240 fnt82
2715 0 12696(The)m 428(follo)s 6(wing)k 1405(directi)s 6(v)k 3(es)k
2716 2375(tak)s 2(e)k 2827(ef)s 6(fect)k 3423(immediately:)s
2720 240 fnt31 0 -52(cd)m gsave
2723 240 fnt83 0 -52(pathname)m
2728 1268(directory)s 2184(in)s 2427(the)s 2775(service)s 3507(program.)s
2730 4421 12102 translate
2732 240 fnt31 0 -52(cd)m
2734 4681(is)s 4891(cumulati)s 6(v)k 3(e.)k
2735 6048(It)s 6253(is)s 6463(an)s 6746(error)s 7269(if)s
2736 7486(the)s 7834(directory)s 480 11808(cannot)m 1178(be)s 1460(changed)s
2738 2666 11862 translate
2740 240 fnt31 0 -52(cd)m
2742 2926(should)s 3623(not)s
2743 3989(be)s 4271(used)s 4768(between)s gsave
2744 5622 11862 translate
2746 240 fnt31 0 -52(execute\211from\211directory)m
2749 7884(and)s 8288(the)s 480 11568(in)m 9(v)k 4(ocation)k
2750 1534(of)s 1805(the)s 2153(service)s 2885(program,)s 3802(as)s
2751 4052(the)s 4400(test)s 4791(for)s 5129(the)s 5477(a)s 4(v)k 6(ailability)k
2752 6595(of)s 6866(the)s 7214(service)s 7946(program)s 480 11328(w)m 2(ould)k
2753 1117(be)s 1380(done)s 1884(with)s 2347(the)s 2677(old)s
2754 3022(current)s 3740(directory)s 4637(and)s 5023(the)s 5352(actual)s
2755 5959(e)s 3(x)k 3(ecution)k 6921(with)s 7385(the)s
2756 7714(ne)s 6(w)k 8142(\(probably)s 480 11088(causing)m 1264(an)s
2757 1547(error\).)s gsave
2760 240 fnt31 0 -52(eof)m
2762 480 10454(Stop)m 972(reading)s
2763 1742(the)s 2090(con\207guration)s 3423(\207le)s 3784(in)s 4027(question,)s
2764 4945(as)s 5195(if)s 5412(end)s 5816(of)s 6087(\207le)s
2765 6448(had)s 6852(been)s 7361(reached.)s 8208(An)s 3(y)k
2766 480 10214(control)m 1212(constructs)s 2232(\()s gsave
2767 2305 10268 translate
2769 240 fnt31 0 -52(if)m
2773 2612 10268 translate
2775 240 fnt31 0 -52(catch\211quit)m
2778 3932 10268 translate
2781 0 -52(errors\211push)m
2783 5033(\))s 5161(which)s 5803(were)s 6323(started)s
2784 7017(in)s 7260(that)s 7678(\207le)s 8039(will)s 8465(be)s
2785 480 9974(considered)m 1574(\207nished.)s 2436(P)s 3(arsing)k 3203(will)s
2786 3629(continue)s 4509(in)s 4752(the)s 5100(\207le)s 5461(which)s
2787 6103(caused)s 6812(the)s 7160(\207le)s 7521(containing)s 8584(the)s
2791 240 fnt31 0 -52(eof)m
2793 840 9734(to)m 1079(be)s 1361(read.)s
2797 240 fnt31 0 -52(quit)m
2799 480 9150(Stop)m 969(reading)s 1735(con\207guration)s
2800 3064(\207les)s 3510(and)s 3910(act)s 4244(immediately)s 5489(on)s
2801 5782(the)s 6126(current)s 6859(settings.)s 7689(The)s 8113(beha)s 4(viour)k
2805 240 fnt31 0 -52(quit)m
2807 1211(is)s 1421(subject)s
2808 2158(to)s 2397(the)s gsave
2811 240 fnt31 0 -52(catch\211quit)m
2814 4538(construct.)s gsave
2817 240 fnt31 0 -52(include)m gsave
2820 240 fnt83 0 -52(\207lename)m
2828 240 fnt31 0 -52(include\211ifexist)m gsave
2831 240 fnt83 0 -52(\207lename)m
2836 1026(the)s 1369(con\207guration)s 2698(\207le)s 240 fnt83 3054 8038(\207lename)m
2837 240 fnt82 3858 8036(,)m 3961(and)s 4360(then)s 4825(return)s
2838 5447(to)s 5682(this)s 6073(\207le)s 6430(and)s 6829(continue)s
2839 7705(parsing)s 8457(it)s 8644(with)s 480 7796(the)m 822(ne)s 3(xt)k
2840 1284(directi)s 6(v)k 3(e.)k 2207(It)s 2405(is)s
2841 2608(an)s 2884(error)s 3400(if)s 3610(the)s 3952(\207le)s
2842 4306(cannot)s 4997(be)s 5272(opened)s 6015(and)s 6412(read,)s
2846 240 fnt31 0 -52(include\211ifexist)m
2848 480 7556(is)m 690(used)s
2849 1187(and)s 1591(the)s 1939(\207le)s 2300(does)s 2790(not)s
2850 3156(e)s 3(xist,)k 3711(in)s 3954(which)s 4596(case)s
2851 5063(the)s 5411(directi)s 6(v)k 3(e)k 6293(is)s
2852 6503(silently)s 7260(ignored.)s gsave
2855 240 fnt31 0 -52(include\211lookup)m gsave
2859 0 -52(par)m 3(ameter)k
2864 240 fnt83 0 -52(dir)m 8(ectory)k
2872 240 fnt31 0 -52(include\211lookup\211all)m gsave
2875 240 fnt83 0 -52(par)m 3(ameter)k
2881 240 fnt83 0 -52(dir)m 8(ectory)k
2885 480 6682(Read)m 1030(the)s
2886 1378(con\207guration)s 2711(\207le)s 3072(in)s 240 fnt83 3315 6684(dir)m 8(ectory)k
2887 240 fnt82 4239 6682(whose)m 4907(name)s 5481(is)s 5691(the)s
2888 6039(v)s 6(alue)k 6607(of)s 240 fnt83 6878 6684(par)m 3(ameter)k
2889 240 fnt82 7937 6682(\(see)m 8377(the)s 480 6442(description)m 1599(of)s
2893 240 fnt31 0 -52(if)m
2895 2070(,)s 2177(`Control)s 3042(structure)s
2896 3933(directi)s 6(v)k 3(es',)k 5038(page)s 5546(12\).)s
2897 5969(If)s 240 fnt83 6199 6444(par)m 3(ameter)k 240 fnt82
2898 7258 6442(has)m 7628(se)s 6(v)k 3(eral)k 8350(v)s 6(alues)k
2899 480 6202(the)m 3(y)k 943(will)s 1369(be)s 1651(tried)s
2900 2146(in)s 2389(order;)s 3005(with)s gsave
2903 240 fnt31 0 -52(include\211lookup)m
2906 4948(this)s 5344(search)s 6011(will)s 6437(stop)s 6889(when)s
2907 7465(one)s 7867(is)s 8077(found,)s 8743(b)s 4(ut)k
2908 480 5962(with)m gsave
2911 240 fnt31 0 -52(include\211lookup\211all)m
2913 2824(the)s 3172(search)s
2914 3839(will)s 4265(continue)s 5145(and)s 5549(an)s 3(y)k
2915 5946(\207les)s 6395(appropriate)s 7539(to)s 7778(other)s 8329(v)s 6(alues)k
2916 480 5722(will)m 906(be)s 1188(read)s 1657(too.)s 2127(If)s
2917 2357(none)s 2879(of)s 3150(the)s 3498(parameter')s 13(s)k
2918 4662(v)s 6(alues)k 5318(had)s 5722(a)s 5888(corresponding)s
2919 7310(\207le)s 7671(then)s 8140(the)s 8488(\207le)s gsave
2925 1340 5482(will)m 1765(be)s 2045(read,)s 2562(if)s
2926 2778(it)s 2968(e)s 3(xists.)k 3612(If)s 240 fnt83
2927 3841 5484(par)m 3(ameter)k 240 fnt82 4840 5482(')m 13(s)k
2928 5048(list)s 5398(of)s 5668(v)s 6(alues)k 6322(w)s 2(as)k
2929 6742(empty)s 7393(then)s 7860(the)s 8207(\207le)s gsave
2935 480 5242(will)m 906(be)s 1188(tried)s 1683(\207rst)s
2936 2114(and)s 2518(read)s 2987(if)s 3204(it)s 3396(e)s 3(xists,)k
2937 4044(otherwise)s gsave
2940 240 fnt31 0 -52(:default)m
2942 5890(will)s 6316(be)s
2943 6598(tried.)s 7199(It)s 7404(is)s 7614(not)s 7980(an)s
2944 8263(error)s 8786(for)s 480 5002(an)m 3(y)k 877(of)s
2945 1148(the)s 1496(\207les)s 1945(\(including)s gsave
2948 240 fnt31 0 -52(:default)m
2951 3782(\))s 3910(not)s 4276(to)s 4515(e)s 3(xist,)k
2952 5070(b)s 4(ut)k 5432(it)s 5624(is)s 5834(an)s
2953 6117(error)s 6640(if)s 6857(a)s 7023(\207le)s 7384(e)s 3(xists)k
2954 7976(and)s 8380(cannot)s 480 4762(be)m 753(read)s 1213(or)s
2955 1462(if)s 1670(the)s 2008(directory)s 2915(cannot)s 3603(be)s
2956 3876(accessed.)s 4867(A)s 5087(translation)s 6143(will)s 6559(be)s
2957 6832(applied)s 7584(to)s 7814(v)s 6(alues)k 8460(before)s
2958 480 4522(the)m 3(y)k 943(are)s 1290(used)s 1787(to)s
2959 2026(construct)s 2962(a)s 3128(\207lename,)s 4058(so)s 4324(that)s
2960 4742(the)s 5090(lookup)s 5809(cannot)s 6507(access)s 7168(dot\207les)s
2961 7923(or)s 8182(\207les)s 8631(in)s 480 4282(other)m 1031(directories:)s
2962 2144(v)s 6(alues)k 2800(starting)s 3569(with)s 4051(full)s
2963 4437(stops)s 4980(will)s 5406(ha)s 4(v)k 3(e)k
2964 5907(a)s 6073(colon)s 6662(prepended)s 7717(\(making)s gsave
2970 8767(\),)s 480 4042(colons)m 1156(will)s 1582(be)s
2971 1864(doubled,)s 2743(and)s 3147(each)s 3642(slash)s 4177(will)s
2972 4603(be)s 4885(replaced)s 5752(with)s 6234(a)s 6400(colon)s
2973 6989(follo)s 6(wed)k 7891(by)s 8185(a)s 8351(h)s 1(yphen)k
2977 240 fnt31 0 -52(:\211)m
2979 680 3802(.)m 784(A)s 1014(parameter)s
2980 2028(v)s 6(alue)k 2596(which)s 3238(is)s 3448(the)s
2981 3796(empty)s 4448(string)s 5045(will)s 5471(be)s 5753(replaced)s
2985 240 fnt31 0 -52(:empty)m
2987 7762(\(note)s 8309(that)s
2988 8727(this)s 480 3562(is)m 690(dif)s 6(ferent)k 1565(from)s
2989 2089(a)s 2255(parameter)s 3269(not)s 3635(ha)s 4(ving)k
2990 4336(an)s 3(y)k 4733(v)s 6(alues\).)k gsave
2994 0 -52(include\211directory)m gsave
2997 240 fnt83 0 -52(dir)m 8(ectory)k
3002 1030(con\207guration)s 2363(from)s 2887(all)s 3180(\207les)s 3629(in)s
3003 3872(directory)s 240 fnt83 4788 2930(dir)m 8(ectory)k 240 fnt82
3004 5712 2928(which)m 6354(are)s 6701(plain)s 7236(\207les)s 7685(whose)s
3005 8353(names)s 480 2688(consist)m 1204(only)s 1684(of)s 1955(alphanumerics)s
3006 3400(and)s 3804(h)s 1(yphens)k 4653(and)s 5057(start)s
3007 5527(with)s 6009(an)s 6292(alphanumeric.)s 7697(The)s 3(y)k
3008 8240(will)s 8666(be)s 480 2448(read)m 949(in)s 1192(le)s 3(xical)k
3009 1880(order)s 13(.)k 2475(It)s 2680(is)s 2890(an)s
3010 3173(error)s 3696(for)s 4034(the)s 4382(directory)s 5298(not)s
3011 5664(to)s 5903(e)s 3(xist)k 6411(or)s 6670(for)s
3012 7008(it)s 7200(or)s 7459(an)s 3(y)k 7856(of)s
3013 8127(the)s 8475(\207les)s 480 2208(found)m 1089(not)s 1447(to)s
3014 1677(be)s 1951(read)s 2411(successfully)s 15(,)k 3663(or)s
3015 3914(for)s 4243(an)s 3(ything)k 5123(with)s 5596(an)s
3016 5871(appropriate)s 7007(name)s 7572(not)s 7930(to)s 8160(be)s
3017 8434(a)s 8591(plain)s 480 1968(\207le)m 841(or)s 1100(a)s
3018 1266(symbolic)s 2196(link)s 2629(to)s 2868(a)s 3034(plain)s
3019 3569(\207le.)s gsave
3022 240 fnt31 0 -52(error)m gsave
3025 240 fnt83 0 -52(te)m 4(xt)k
3030 480 1334(Causes)m 1209(an)s 1492(error)s 2015(whose)s
3031 2683(message)s 3549(includes)s 4397(the)s 4745(descripti)s 6(v)k 3(e)k
3032 5840(string)s 240 fnt83 6437 1336(te)m 4(xt)k 240 fnt82
3033 6781 1334(.)m 240 fnt83 6885 1336(te)m 4(xt)k 240 fnt82
3034 7289 1334(may)m 7755(consist)s 8479(of)s 480 1094(se)m 6(v)k 3(eral)k
3035 1192(tok)s 2(ens)k 1855(with)s 2326(interv)s 3(ening)k
3036 3454(whitespace.)s 4609(The)s 5026(whitespace)s 6134(will)s 6549(be)s
3037 6820(included)s 7691(in)s 7923(the)s 8260(message)s 480 854(as)m
3038 726(found)s 1338(in)s 1576(the)s 1919(con\207guration)s 3247(\207le:)s
3039 3653(all)s 3941(the)s 4284(characters)s 5298(until)s 5786(the)s
3040 6129(end)s 6528(of)s 6794(the)s 7137(line)s 7546(will)s
3041 7967(be)s 8244(included)s 0 52(User)m 511(service)s 1243(daemon)s
3042 2058(and)s 2462(client)s 3052(speci\207cation)s 8652(0.62)s
3052 %%PageResources: font Times-Roman
3054 %%+ font Courier-Bold
3055 %%+ font Times-Italic
3057 0.0500 dup scale 10 setlinewidth
3061 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
3076 1417 -15423 translate
3077 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
3081 240 fnt84 0 13842(12)m 240 fnt82 480 13254(v)m 3(erbatim,)k
3082 1433(unless)s 2082(the)s 3(y)k 2545(are)s 2892(part)s
3083 3323(of)s 3594(a)s 3760(double-quoted)s 5201(string,)s 5852(in)s
3084 6095(which)s 6737(case)s 7204(the)s 7552(usual)s 8112(meaning)s
3085 480 13014(of)m 751(the)s 1099(string)s 1696(\(i.e.,)s 2174(after)s
3086 2670(backslash)s 3657(escape)s 4350(processing\))s 5501(will)s 5927(be)s
3087 6209(used.)s 6752(Comments)s 7840(and)s 8244(linear)s 480 12774(whitespace)m
3088 1598(at)s 1830(the)s 2178(end)s 2582(of)s 2853(the)s
3089 3201(line)s 3615(\(or)s 3953(just)s 4358(before)s 5024(the)s
3090 5372(comment\))s 6390(will)s 6816(still)s 7228(be)s 7510(ignored.)s
3094 240 fnt31 0 -52(message)m gsave
3097 240 fnt83 0 -52(te)m 4(xt)k
3102 480 12140(Causes)m 1209(a)s 1375(message)s 2241(including)s
3103 3198(the)s 3546(descripti)s 6(v)k 3(e)k 4641(string)s
3104 240 fnt83 5238 12142(te)m 4(xt)k 240 fnt82 5642 12140(to)m
3105 5881(be)s 6163(deli)s 6(v)k 3(ered)k 7101(as)s
3106 7351(if)s 7568(it)s 7760(were)s 8280(an)s 8563(error)s
3107 480 11900(message,)m 1397(b)s 4(ut)k 1759(does)s 2249(not)s
3108 2615(actually)s 3425(cause)s 4012(an)s 4295(error)s 13(.)k
3109 300 fnt84 0 11233(4.2.2.)m 813(Dir)s 5(ecti)k 3(v)k 3(es)k
3110 2148(with)s 2781(delay)s 3(ed)k 3828(effect)s 240 fnt82
3111 0 10662(The)m 428(follo)s 6(wing)k 1405(directi)s 6(v)k 3(es)k
3112 2375(ha)s 4(v)k 3(e)k 2876(no)s 3169(immediate)s
3113 4233(ef)s 6(fect,)k 4876(b)s 4(ut)k 5238(are)s
3114 5585(remembered)s 6837(and)s 7241(ha)s 4(v)k 3(e)k
3115 7742(an)s 8025(ef)s 6(fect)k 8621(on)s 0 10422(later)m
3116 483(processing)s 1559(of)s 1830(the)s 2178(con\207guration)s 3511(\207les.)s
3120 240 fnt31 0 -52(user\211rcfile)m gsave
3123 240 fnt83 0 -52(\207lename)m
3127 480 9774(Speci\207es)m
3128 1380(that)s 1784(the)s 2118(\207le)s 240 fnt83 2465 9776(\207lename)m
3129 240 fnt82 3315 9774(should)m 3998(be)s 4266(read)s 4721(instead)s
3130 5442(of)s 5699(the)s 6033(user')s 13(s)k gsave
3136 7728(.)s 7818(This)s 8280(does)s 240 fnt83
3137 8756 9776(not)m 240 fnt82 480 9534(happen)m 1229(immediately;)s 2535(instead,)s
3138 3319(the)s 3667(setting)s 4357(is)s 4567(remembered)s 5819(and)s
3139 6223(used)s 6720(after)s 7216(the)s gsave
3142 240 fnt31 0 -52(system.default)m
3145 480 9294(con\207guration)m 1812(\207le)s 2171(has)s 2539(been)s 3046(read.)s
3146 3559(This)s 4033(directi)s 6(v)k 3(e)k 4913(has)s
3147 5281(no)s 5572(ef)s 6(fect)k 6166(in)s 6407(a)s
3148 6571(user')s 13(s)k 7177(con\207guration)s 8508(\207le)s 8867(or)s
3149 480 9054(in)m 723(the)s gsave
3152 240 fnt31 0 -52(system.override)m
3155 3044(as)s 3294(the)s 3642(user')s 13(s)k 4250(con\207guration)s
3156 5583(\207le)s 5944(has)s 6314(already)s 7071(been)s 7580(found)s
3157 8197(and)s 8601(read)s 480 8814(by)m 774(then)s 1243(and)s
3158 1647(will)s 2073(not)s 2439(be)s 2721(re-read.)s gsave
3162 0 -52(errors\211to\211stderr)m
3164 480 8180(Causes)m 1209(error)s 1732(messages)s 2686(to)s
3165 2925(be)s 3207(deli)s 6(v)k 3(ered)k 4145(to)s
3166 4384(the)s 4732(client')s 13(s)k 5472(stderr)s 13(.)k
3170 240 fnt31 0 -52(errors\211to\211file)m
3172 240 fnt83 1581 7788(\207lename)m 240 fnt82
3173 480 7546(Error)m 1039(messages)s 1989(will)s 2410(be)s 2688(written)s
3174 3416(to)s 240 fnt83 3651 7548(\207lename)m 240 fnt82 4455 7546(,)m
3175 4557(which)s 5195(will)s 5617(be)s 5894(opened)s 6640(in)s
3176 6878(the)s 7222(conte)s 3(xt)k 7978(of)s 8245(and)s
3177 8644(with)s 480 7306(the)m 828(pri)s 6(vile)k 3(ges)k
3178 1812(of)s 2083(the)s 2431(service)s 3163(user)s 13(.)k
3182 240 fnt31 0 -52(errors\211to\211syslog)m
3184 1782 6912([)m 240 fnt83 1853 6914(facility)m
3185 240 fnt82 2571 6912([)m 240 fnt83 2642 6914(le)m 3(vel)k
3186 240 fnt82 3089 6912(]])m 480 6672(Error)m 1043(messages)s 1997(will)s
3187 2423(be)s 2705(deli)s 6(v)k 3(ered)k 3643(using)s
3191 240 fnt31 0 -52(syslog)m
3193 4815(.)s 4919(The)s 5347(def)s 2(ault)k
3194 240 fnt83 6068 6674(facility)m 240 fnt82 6786 6672(is)m gsave
3200 7396(;)s 7508(the)s 7856(def)s 2(ault)k
3201 240 fnt83 8577 6674(le)m 3(vel)k 240 fnt82 480 6432(is)m
3205 240 fnt31 0 -52(error)m
3207 1190(.)s 300 fnt84 0 5815(4.2.3.)m
3208 813(Contr)s 5(ol)k 1874(structur)s 5(e)k 3117(dir)s 5(ecti)k 3(v)k 3(es)k
3209 240 fnt82 0 5300(The)m 421(follo)s 6(wing)k 1390(directi)s 6(v)k 3(es)k
3210 2353(are)s 2692(used)s 3182(to)s 3413(create)s 4031(control)s
3211 4755(structures.)s 5780(If)s 6002(the)s 6343(end)s 6739(of)s
3212 7003(the)s 7343(\207le)s 7697(is)s 7899(encountered)s 0 5060(before)m
3213 666(the)s 1014(end)s 1418(of)s 1689(an)s 3(y)k
3214 2086(control)s 2818(structure)s 3709(which)s 4351(w)s 2(as)k
3215 4772(started)s 5466(inside)s 6093(it)s 6285(then)s 6754(that)s
3216 7172(control)s 7904(structure)s 8795(is)s 0 4820(considered)m 1094(\207nished.)s
3217 1956(This)s 2432(is)s 2642(not)s 3008(an)s 3291(error)s 13(.)k
3221 240 fnt31 0 -52(if)m gsave
3224 240 fnt83 0 -52(condition)m
3235 240 fnt83 0 -52(condition)m
3242 240 fnt31 0 -52(else)m
3248 240 fnt31 0 -52(fi)m
3250 480 3452(Lines)m 1062(follo)s 6(wing)k
3254 240 fnt31 0 -52(if)m
3256 2299(are)s 2646(interpreted)s 3738(only)s
3257 4218(if)s 4435(the)s 4783(condition)s 5744(is)s 5954(true.)s
3258 6429(Man)s 3(y)k 7039(conditions)s 8087(are)s 480 3212(properties)m
3259 1486(of)s 1757(parameter)s 2771(v)s 6(alues.)k 3480(Most)s
3260 4032(parameters)s 5130(ha)s 4(v)k 3(e)k 5631(a)s
3261 5797(single)s 6424(string)s 7021(as)s 7271(a)s 7437(v)s 6(alue;)k
3262 8061(ho)s 6(we)k 6(v)k 3(er)k 9(,)k
3263 480 2972(some)m 1035(may)s 1495(yield)s 2025(zero)s 2483(or)s
3264 2735(se)s 6(v)k 3(eral)k 3451(strings,)s 4189(in)s
3265 4426(which)s 5062(case)s 5522(the)s 5864(condition)s 6819(is)s
3266 7023(true)s 7444(if)s 7654(it)s 7840(is)s 8044(true)s
3267 8465(of)s 8729(an)s 3(y)k 480 2732(of)m 751(the)s
3268 1099(strings)s 1787(indi)s 6(vidually)k 15(.)k 3026(P)s 3(arameters)k
3269 4134(are)s 4481(described)s 5455(belo)s 6(w)k 15(.)k
3270 6183(The)s 6611(conditions)s 7659(are:)s gsave
3273 240 fnt31 0 -52(glob)m
3277 240 fnt83 0 -52(par)m 3(ameter)k
3282 240 fnt83 0 -52(glob\211pattern)m
3287 960 2251(The)m 1388(v)s 6(alue)k 1956(of)s
3288 2227(the)s 2575(parameter)s 3589(whose)s 4257(name)s 4831(is)s
3289 5041(gi)s 6(v)k 3(en)k 5621(matches)s 6455(one)s
3290 6857(of)s 7128(the)s 7476(glob)s 7955(patterns)s 960 2011(\(anchored)m
3291 1974(at)s 2206(both)s 2689(ends;)s 3240(backslashes)s 4420(can)s
3292 4809(be)s 5091(used)s 5588(to)s 5827(escape)s 6520(metacharacters\).)s
3296 240 fnt31 0 -52(range)m gsave
3299 240 fnt83 0 -52(par)m 3(ameter)k
3305 240 fnt83 0 -52(min)m
3310 240 fnt83 0 -52(max)m
3315 1380(v)s 6(alue)k 1940(of)s 2203(the)s 2543(parameter)s
3316 3548(is)s 3750(a)s 3908(nonne)s 3(g)k 1(ati)k 6(v)k 3(e)k
3317 5113(inte)s 3(ger)k 5825(and)s 6220(lies)s 6594(within)s
3318 7254(the)s 7594(range)s 8172(speci\207ed.)s 240 fnt83 960 1293(min)m
3319 240 fnt82 1373 1291(or)m 240 fnt83 1632 1293(max)m 240 fnt82
3320 2091 1291(may)m 2557(be)s gsave
3326 3238(indicate)s 4050(no)s 4343(lo)s 6(wer)k 4941(or)s
3327 5200(upper)s 5805(limit,)s 6362(respecti)s 6(v)k 3(ely)k 15(.)k
3331 240 fnt31 0 -52(grep)m gsave
3334 240 fnt83 0 -52(par)m 3(ameter)k
3340 240 fnt83 0 -52(\207lename)m
3344 960 810(The)m 240 fnt83 1388 812(\207lename)m
3345 240 fnt82 2252 810(refers)m 2845(to)s 3084(a)s 3250(\207le)s
3346 3611(one)s 4013(of)s 4284(whose)s 4952(lines)s 5454(is)s
3347 5664(the)s 6012(v)s 6(alue)k 6580(of)s 6851(the)s
3348 7199(parameter)s 8213(\(leading)s 0 52(0.62)m 4809(User)s 5320(service)s
3349 6052(daemon)s 6867(and)s 7271(client)s 7861(speci\207cation)s
3359 %%PageResources: font Times-Roman
3361 %%+ font Courier-Bold
3362 %%+ font Times-Italic
3364 0.0500 dup scale 10 setlinewidth
3368 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
3383 1417 -15423 translate
3384 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
3388 240 fnt84 8833 13842(13)m 240 fnt82 960 13251(or)m 1211(trailing)s
3389 1944(whitespace)s 3053(on)s 3341(each)s 3827(line)s 4232(and)s
3390 4627(empty)s 5270(lines)s 5764(in)s 5998(the)s 6337(\207le)s
3391 6689(are)s 7027(ignored\).)s 7932(It)s 8128(is)s 8329(an)s
3392 8603(error)s 960 13011(for)m 1298(the)s 1646(\207le)s 2007(not)s
3393 2373(to)s 2612(be)s 2894(opened)s 3644(and)s 4048(read.)s
3397 240 fnt31 0 -52(!)m gsave
3400 240 fnt83 0 -52(condition)m
3405 240 fnt83 1388 12532(condition)m 240 fnt82 2346 12530(is)m 240 fnt83
3406 2556 12532(not)m 240 fnt82 2926 12530(true.)m 600 12290(Conjunctions:)m gsave
3407 1983 12344 translate
3413 2547 12344 translate
3418 1440 11864 translate
3424 240 fnt83 0 -52(condition)m
3435 240 fnt83 0 -52(condition)m
3440 960 10598(is)m 1170(true)s 1597(if)s 1814(all)s
3441 2107(the)s 2455(listed)s 3030(conditions)s 4078(are)s 4425(true;)s
3443 5548 10652 translate
3447 5708(is)s 5918(used)s
3448 6415(it)s 6607(is)s 6817(true)s 7244(if)s 7461(an)s 3(y)k
3449 7858(of)s 8129(them)s 8667(is)s 960 10353(true.)m 1428(Ne)s 6(wlines)k
3450 2368(must)s 2885(be)s 3159(used)s 3648(to)s 3879(separate)s
3451 4709(one)s 5104(condition)s 6057(from)s 6573(the)s 6913(ne)s 3(xt,)k
3452 7421(as)s 7663(sho)s 6(wn,)k 8382(and)s 8778(the)s
3453 960 10113(parentheses)m 2126(are)s 2473(mandatory)s 15(.)k 3585(These)s
3454 4212(conjunctions)s 5486(do)s 5779(not)s 6145(do)s 6438(lazy)s
3455 6890(e)s 6(v)k 6(aluation.)k 480 9850(The)m 908(parameters)s
3459 240 fnt31 0 -52(service)m
3461 960 9370(The)m 1388(service)s
3462 2120(name)s 2694(speci\207ed)s 3602(when)s 4178(the)s 4526(client)s
3463 5116(w)s 2(as)k 5537(called.)s gsave
3466 240 fnt31 0 -52(calling\211user)m
3469 960 8890(T)m 19(w)k 2(o)k 1431(strings:)s 2174(the)s
3470 2522(login)s 3071(name)s 3645(of)s 3916(the)s 4264(calling)s
3471 4967(user)s 5425(\(determined)s 6637(as)s 6887(for)s gsave
3477 8226(,)s 8333(abo)s 3(v)k 3(e\))k
3478 960 8650(and)m 1364(the)s 1712(calling)s 2415(uid)s 2779(\(represented)s
3479 4017(in)s 4260(decimal\).)s gsave
3482 240 fnt31 0 -52(calling\211group)m
3484 960 8170(Se)m 6(v)k 3(eral)k
3485 1722(strings:)s 2465(the)s 2813(primary)s 3623(and)s 4027(supplementary)s
3486 5489(group)s 6101(names)s 6763(and)s 7167(gids)s 7617(\(in)s
3487 7939(decimal\))s 960 7930(of)m 1231(the)s 1579(calling)s 2282(process.)s
3488 3103(All)s 3463(the)s 3811(group)s 4423(names)s 5085(come)s
3489 5659(\207rst,)s 6137(and)s 6541(then)s 7010(the)s 7358(gids.)s
3490 7861(If)s 8091(the)s 8439(\207rst)s 960 7690(supplementary)m 2422(group)s
3491 3034(is)s 3244(the)s 3592(same)s 4139(as)s 4389(the)s
3492 4737(primary)s 5547(group)s 6159(then)s 6628(it)s 6820(is)s
3493 7030(elided.)s gsave
3496 240 fnt31 0 -52(calling\211user\211shell)m
3498 960 7210(The)m 1388(calling)s
3499 2091(user')s 13(s)k 2699(shell,)s 3257(as)s 3507(listed)s
3500 4082(in)s 4325(the)s 4673(passw)s 2(ord)k 5633(entry)s
3501 6178(for)s 6516(the)s 6864(calling)s 7567(login)s 8116(name)s
3502 8690(\(as)s 960 6970(determined)m 2093(for)s gsave
3505 240 fnt31 0 -52(USERV_USER)m
3508 3432(,)s 3539(abo)s 3(v)k 3(e\).)k gsave
3512 0 -52(service\211user)m
3514 960 6490(T)m 19(w)k 2(o)k 1431(strings:)s
3515 2174(the)s 2522(name)s 3096(of)s 3367(the)s 3715(service)s
3516 4447(user)s 4905(\(as)s 5234(speci\207ed)s 6142(to)s 6381(the)s
3517 6729(client\))s 7387(and)s 7791(their)s 8288(uid)s 960 6250(\(represented)m
3518 2198(in)s 2441(decimal\).)s gsave
3521 240 fnt31 0 -52(service\211group)m
3523 960 5770(Se)m 6(v)k 3(eral)k
3524 1722(strings:)s 2465(the)s 2813(primary)s 3623(and)s 4027(supplementary)s
3525 5489(group)s 6101(names)s 6763(and)s 7167(gids)s 7617(\(in)s
3526 7939(decimal\))s 8823(of)s 960 5530(the)m 1308(service)s 2040(user)s 13(.)k
3530 240 fnt31 0 -52(service\211user\211shell)m
3532 960 5050(The)m 1388(service)s 2120(user')s 13(s)k
3533 2728(shell,)s 3286(as)s 3536(listed)s 4111(in)s 4354(their)s
3534 4851(passw)s 2(ord)k 5811(entry)s 15(.)k gsave
3541 240 fnt83 0 -52(name)m
3545 960 4570(The)m 1388(v)s 6(alue)k
3546 1956(of)s 2227(the)s 2575(user)s 4(-de\207ned)k 3811(v)s 6(ariable)k
3547 240 fnt83 4630 4572(name)m 240 fnt82 5202 4570(passed)m 5898(by)s
3548 6192(the)s 6540(caller)s 7129(using)s 7701(the)s gsave
3552 0 -52(\211\211defvar)m
3554 960 4330(command-line)m 2397(option)s 3066(to)s 3305(the)s
3555 3653(client.)s 4287(If)s 4517(the)s 4865(v)s 6(ariable)k
3556 5684(w)s 2(as)k 6105(not)s 6471(de\207ned)s 7234(then)s
3557 7703(this)s 8099(parameter)s 960 4090(is)m 1170(an)s 1453(empty)s
3558 2105(list)s 2456(of)s 2727(strings;)s 3476(in)s 3719(this)s
3559 4115(case)s 4582(an)s 3(y)k 4979(condition)s 5940(which)s
3560 6582(tests)s 7057(it)s 7249(will)s 7675(be)s 7957(f)s 2(alse,)k
3564 240 fnt31 0 -52(include\211lookup)m
3566 2421 3850(on)m 2718(it)s
3567 2910(will)s 3336(read)s 3805(the)s gsave
3570 240 fnt31 0 -52(:none)m
3573 4713(\207le,)s 5125(or)s gsave
3576 240 fnt31 0 -52(:default)m
3582 240 fnt31 0 -52(:none)m
3584 7022(is)s 7232(not)s 7598(found.)s
3588 240 fnt31 0 -52(errors\211push)m
3590 240 fnt83 1281 3429(\207lename)m gsave
3596 240 fnt82 480 2947(Stacks)m 1155(the)s 1503(error)s
3597 2026(handling)s 2917(beha)s 4(viour)k 3930(currently)s 4846(in)s
3598 5089(ef)s 6(fect.)k 5729(An)s 3(y)k 6193(changes)s
3599 7015(to)s 7254(error)s 7777(handling)s 8668(will)s 480 2707(tak)m 2(e)k
3600 932(ef)s 6(fect)k 1528(only)s 2008(between)s gsave
3604 0 -52(errors\211push)m
3609 240 fnt31 0 -52(srorre)m
3615 240 fnt31 0 -52(catch\211quit)m
3620 240 fnt31 0 -52(hctac)m
3623 935(use)s 1301(of)s gsave
3626 240 fnt31 0 -52(quit)m
3632 240 fnt31 0 -52(catch\211quit)m
3634 3683(will)s 4100(merely)s 4807(cause)s
3635 5385(the)s 5724(parsing)s 6472(to)s 6701(continue)s 7572(at)s
3639 240 fnt31 0 -52(hctac)m
3641 8345(instead.)s 480 1593(An)m 3(y)k
3642 944(control)s 1676(constructs)s 2696(started)s 3390(since)s 3937(the)s
3646 240 fnt31 0 -52(catch\211quit)m
3648 5346(will)s 5772(be)s 6054(considered)s
3649 7148(\207nished)s 7964(if)s 8181(a)s gsave
3652 240 fnt31 0 -52(quit)m
3655 8807(is)s 480 1353(found.)m 1203(If)s 1433(an)s 1716(error)s
3656 2239(occurs)s 2914(inside)s gsave
3659 240 fnt31 0 -52(catch\211quit)m
3662 4950(e)s 3(x)k 3(ecution)k 5931(settings)s 6712(will)s
3663 7138(be)s 7420(reset)s 7930(\(as)s 8259(if)s 8476(by)s
3667 240 fnt31 0 -52(reset)m
3669 1040 1113(directi)m 6(v)k 3(e\))k
3670 1994(and)s 2398(parsing)s 3155(will)s 3581(lik)s 2(e)k 6(wise)k
3671 4425(continue)s 5305(at)s gsave
3674 240 fnt31 0 -52(hctac)m
3677 6201(If)s 6431(a)s 6597(le)s 3(xical)k 7285(or)s
3678 7544(syntax)s 8224(error)s 8747(is)s 480 873(detected)m 1334(in)s
3679 1577(the)s 1925(same)s 2472(con\207guration)s 3805(\207le)s 4166(as)s
3683 240 fnt31 0 -52(catch\211quit)m
3685 5765(,)s 5872(while)s
3686 6459(looking)s 7244(for)s 7582(the)s gsave
3689 240 fnt31 0 -52(hctac)m
3692 8490(after)s 0 52(User)m 511(service)s 1243(daemon)s 2058(and)s
3693 2462(client)s 3052(speci\207cation)s 8652(0.62)s
3703 %%PageResources: font Times-Roman
3705 %%+ font Courier-Bold
3706 %%+ font Times-Italic
3708 0.0500 dup scale 10 setlinewidth
3712 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
3727 1417 -15423 translate
3728 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
3732 240 fnt84 0 13842(14)m 240 fnt82 480 13254(an)m 763(error)s
3734 1545 13308 translate
3736 240 fnt31 0 -52(quit)m
3738 1945(,)s 2052(that)s
3739 2470(ne)s 6(w)k 2917(error)s 3440(will)s 3866(not)s
3740 4232(be)s 4514(caught.)s 300 fnt84 0 12587(4.2.4.)m 813(Dir)s 5(ecti)k 3(v)k 3(es)k
3741 2148(f)s 7(or)k 2595(changing)s 3829(execution)s 5112(settings)s
3742 240 fnt82 0 12016(The)m 419(follo)s 6(wing)k 1386(directi)s 6(v)k 3(es)k
3743 2346(modify)s 3082(the)s 3420(e)s 3(x)k 3(ecution)k
3744 4391(settings;)s 5223(the)s 5562(serv)s 3(er)k 6192(will)s
3745 6608(remember)s 7627(the)s 7965(f)s 2(act)k 8370(that)s
3746 8778(the)s 0 11775(directi)m 6(v)k 3(e)k 881(w)s 2(as)k
3747 1300(encountered)s 2525(and)s 2927(act)s 3263(on)s 3559(it)s
3748 3749(only)s 4227(after)s 4721(all)s 5012(the)s 5359(con\207guration)s
3749 6690(has)s 7058(been)s 7565(parsed.)s 8291(The)s 240 fnt83
3750 8717 11777(last)m 240 fnt82 0 11535(directi)m 6(v)k 3(e)k
3751 882(which)s 1524(modi\207es)s 2399(an)s 3(y)k 2796(particuar)s
3752 3704(setting)s 4394(will)s 4820(tak)s 2(e)k 5272(ef)s 6(fect.)k
3756 240 fnt31 0 -52(reject)m
3758 480 10887(Reject)m 1150(the)s 1498(request.)s
3760 2292 10941 translate
3762 240 fnt31 0 -52(execute)m
3765 3099 10941 translate
3767 240 fnt31 0 -52(execute\211from\211directory)m
3771 5765 10941 translate
3773 240 fnt31 0 -52(execute\211from\211path)m
3775 7527(will)s 7953(change)s
3776 480 10647(this)m 876(setting.)s gsave
3779 240 fnt31 0 -52(execute)m gsave
3783 0 -52(pr)m 10(o)k 2(gr)k 3(am)k
3789 240 fnt83 0 -52(ar)m 8(gument)k
3793 480 10013(Ex)m 3(ecute)k
3794 1300(the)s 1645(program)s 240 fnt83 2512 10015(pr)m 10(o)k 2(gr)k 3(am)k
3795 240 fnt82 3332 10013(,)m 3436(with)s 3915(the)s 4259(ar)s 4(guments)k
3796 5299(as)s 5546(speci\207ed,)s 6500(follo)s 6(wed)k 7399(by)s
3797 7690(an)s 3(y)k 8083(ar)s 4(guments)k 480 9773(gi)m 6(v)k 3(en)k
3798 1052(to)s 1282(the)s 1621(client)s 2203(if)s gsave
3802 0 -52(no\211suppress\211args)m
3804 4064(is)s 4266(in)s 4500(ef)s 6(fect.)k
3805 5131(It)s 5328(is)s 5529(an)s 5803(error)s 6318(for)s
3806 6647(the)s 6986(e)s 3(x)k 3(ecution)k 7959(to)s
3807 8189(f)s 2(ail)k 8550(when)s 480 9533(it)m 672(is)s
3808 882(attempted)s 1882(\(after)s 2457(all)s 2750(the)s 3098(con\207guration)s
3809 4431(has)s 4801(been)s 5310(parsed\).)s 6117(If)s 240 fnt83
3810 6347 9535(pr)m 10(o)k 2(gr)k 3(am)k 240 fnt82
3811 7227 9533(does)m 7717(not)s 8083(contain)s 8844(a)s 480 9293(slash)m
3812 1015(it)s 1207(will)s 1633(be)s 1915(searched)s 2809(for)s
3813 3147(on)s 3444(the)s 3792(service)s 4524(user')s 13(s)k
3817 240 fnt31 0 -52(execute\211from\211directory)m gsave
3820 240 fnt83 0 -52(pathname)m
3826 240 fnt83 0 -52(ar)m 8(gument)k
3831 480 8659(T)m 19(ak)k 2(e)k 993(all)s 1286(the)s
3832 1634(characters)s 2652(after)s 3148(the)s 3496(last)s 3887(slash)s
3833 4422(of)s 4693(the)s 5041(service)s 5773(name)s 6347(speci\207ed)s
3834 7255(when)s 7831(the)s 8179(client)s 480 8418(w)m 2(as)k
3835 901(called,)s 1578(and)s 1982(e)s 3(x)k 3(ecute)k
3836 2762(that)s 3180(program)s 4050(in)s 4293(the)s 4641(directory)s
3837 5557(named)s 6253(by)s 240 fnt83 6547 8420(pathname)m 240 fnt82
3838 7545 8418(as)m 7795(if)s 8012(it)s 8204(had)s 8608(been)s
3839 480 8178(speci\207ed)m 1388(for)s 240 fnt83 1726 8180(e)m 4(xecute)k
3840 240 fnt82 2431 8178(.)m 2535(The)s 2963(part)s 3394(of)s
3841 3665(the)s 4013(service)s 4745(name)s 5319(used)s 5816(may)s
3842 6282(contain)s 7043(only)s 7523(alphanumerics)s 480 7938(and)m 884(h)s 1(yphens)k
3843 1732(and)s 2136(must)s 2660(start)s 3130(with)s 3611(an)s
3844 3894(alphanumeric)s 5247(\(and)s 5730(it)s 5921(must)s 6446(be)s
3845 6727(non-empty\),)s 7950(otherwise)s 8934(it)s 480 7698(is)m 690(an)s
3846 973(error)s 13(.)k 1587(This)s 2063(directi)s 6(v)k 3(e)k
3847 2945(is)s 3155(ignored)s 3944(if)s 4161(the)s 4509(rele)s 6(v)k 6(ant)k
3848 5326(program)s 6196(does)s 6686(not)s 7052(e)s 3(xist)k
3849 7560(in)s 7803(the)s 8151(directory)s 480 7458(speci\207ed;)m 1437(in)s
3850 1675(this)s 2066(case)s 2528(the)s 2871(program)s 3735(to)s
3851 3969(e)s 3(x)k 3(ecute)k 4744(is)s 4949(left)s
3852 5321(at)s 5548(its)s 5818(pre)s 6(vious)k 6682(setting)s
3853 7367(\(or)s 7700(unset,)s 8307(if)s 8519(it)s 8705(w)s 2(as)k
3854 480 7218(not)m 846(set)s 1171(before\).)s 2024(It)s 2229(is)s
3855 2439(an)s 2722(error)s 3245(for)s 3583(the)s 3931(test)s
3856 4322(for)s 4660(the)s 5008(e)s 3(xistence)k 5950(of)s
3857 6221(the)s 6569(program)s 7439(to)s 7678(f)s 2(ail)k
3858 8048(other)s 8599(than)s 480 6978(with)m 958(a)s 1120(`no)s
3859 1488(such)s 1980(\207le)s 2336(or)s 2591(directory')s 3561(indication.)s
3860 4617(It)s 4818(is)s 5023(also)s 5457(an)s 5736(error)s
3861 6255(for)s 6589(the)s 6932(e)s 3(x)k 3(ecution)k
3862 7909(to)s 8144(f)s 2(ail)k 8510(if)s 8722(and)s
3863 480 6738(when)m 1056(it)s 1248(is)s 1458(attempted)s 2458(\(after)s
3864 3033(all)s 3326(the)s 3674(con\207guration)s 5007(has)s 5377(been)s
3865 5886(parsed\).)s gsave
3868 240 fnt31 0 -52(execute\211from\211path)m
3870 240 fnt83 480 6106(service)m
3871 240 fnt82 1202 6104(is)m 1404(interpreted)s 2488(as)s 2731(a)s
3872 2889(program)s 3751(on)s 4041(the)s 4381(def)s 2(ault)k
3876 240 fnt31 0 -52(PATH)m
3878 5546(\(or)s 5877(as)s 6119(a)s
3879 6277(pathname)s 7256(of)s 7519(an)s 7794(e)s 3(x)k 3(ecutable,)k
3880 8909(if)s 480 5863(it)m 660(contains)s 1495(a)s gsave
3886 1749(\).)s 1919(This)s 2383(directi)s 6(v)k 3(e)k
3887 3252(is)s 240 fnt83 3450 5865(very)m 3904(dang)s 2(er)k 10(ous)k
3888 240 fnt82 4899 5863(,)m 4994(and)s 5385(is)s 5583(only)s
3889 6050(pro)s 3(vided)k 6944(to)s 7170(mak)s 2(e)k
3893 240 fnt31 0 -52(\211\211override)m
3895 480 5623(options)m 1230(ef)s 6(fecti)k 6(v)k 3(e.)k
3896 2146(It)s 2344(should)s 3034(not)s 3393(normally)s 4304(be)s
3897 4579(used.)s 5115(It)s 5313(is)s 5516(an)s 5792(error)s
3898 6309(for)s 6640(the)s 6981(e)s 3(x)k 3(ecution)k
3899 7955(to)s 8187(f)s 2(ail)k 8550(when)s 480 5383(it)m
3900 672(is)s 882(attempted)s 1882(\(after)s 2457(all)s 2750(the)s
3901 3098(con\207guration)s 4431(has)s 4801(been)s 5310(parsed\).)s gsave
3905 0 -52(execute\211builtin)m gsave
3908 240 fnt83 0 -52(service\211name)m
3913 240 fnt83 0 -52(service\211ar)m 8(guments)k
3918 480 4749(Ex)m 3(ecutes)k 1388(the)s 1732(b)s 4(uiltin)k
3919 2405(service)s 240 fnt83 3133 4751(service-name)m 240 fnt82 4400 4749(.)m
3920 4500(These)s 5123(b)s 4(uiltin)k 5796(services)s 6612(display)s
3921 7353(information)s 8534(about)s 480 4509(the)m 822(serv)s 3(er)k
3922 1455(and/or)s 2120(the)s 2461(request,)s 3252(and)s 3649(ignore)s
3923 4310(an)s 3(y)k 4700(ar)s 4(guments)k 5737(passed)s
3924 6426(from)s 6944(the)s 7285(service)s 8011(side)s 8445(e)s 3(xcept)k
3925 480 4269(possibly)m 1320(to)s 1547(print)s 2046(them)s 2572(as)s
3926 2810(part)s 3228(of)s 3487(their)s 3972(output.)s 4676(The)s 3(y)k
3927 5207(write)s 5740(their)s 6225(results)s 6887(to)s 7114(their)s
3928 7599(standard)s 8454(output)s 480 4029(\(i.e.,)m 958(where)s 6(v)k 3(er)k
3929 1898(\207le)s 2259(descriptor)s 3274(1)s 3429(is)s 3639(directed\).)s
3930 4591(The)s 5019(b)s 4(uiltin)k 5696(services)s 6516(are:)s
3934 240 fnt31 0 -52(execute)m
3936 960 3549(Displays)m 1848(the)s 2196(e)s 3(x)k 3(ecution)k
3937 3177(settings,)s 4014(de\207ned)s 4777(v)s 6(ariables,)k 5740(ar)s 4(guments,)k
3938 6839(etc.)s 7221(with)s 7703(which)s 8345(the)s 960 3309(b)m 4(uiltin)k
3939 1637(service)s 2369(w)s 2(as)k 2790(in)s 9(v)k 4(ok)k 2(ed.)k
3943 240 fnt31 0 -52(environment)m
3945 960 2829(Dis)m 1283(plays)s 1839(the)s
3946 2187(en)s 2410(vi)s 2590(ron)s 2906(ment)s 3444(v)s 6(ari)k
3947 3803(able)s 4257(set)s 4522(tings)s 5038(with)s 5520(which)s
3948 6162(the)s 6510(b)s 4(uiltin)k 7187(ser)s 7465(vice)s
3949 7919(w)s 2(as)k 960 2589(in)m 1143(v)s 4(ok)k 2(ed.)k
3953 240 fnt31 0 -52(parameter)m gsave
3956 240 fnt83 0 -52(par)m 3(ameter)k
3961 960 2109(Displays)m 1848(the)s 2196(v)s 6(alues)k 2852(of)s
3962 3123(the)s 3471(service)s 4203(con\207guration)s 5536(language)s 6456(parameter)s
3963 7470(speci\207ed.)s gsave
3966 240 fnt31 0 -52(version)m
3968 960 1629(Displays)m 1848(the)s
3969 2196(v)s 3(ersion)k 2954(string)s 3551(and)s 3955(compilation)s
3970 5154(details)s 5828(of)s 6099(the)s 6447(uservd)s 7143(serv)s 3(er)k
3971 7783(program.)s gsave
3974 240 fnt31 0 -52(reset)m
3976 960 1149(Dis)m 1283(plays)s
3977 1838(the)s 2184(de)s 2406(f)s 2(ault)k 2899(re)s
3978 3080(set)s 3403(con)s 3746(\207g)s 3992(u)s 4107(ra)s
3979 4292(tion)s 4719(\(e)s 6(v)k 6(al)k 5179(u)s
3980 5294(at)s 5466(ed)s 5748(when)s gsave
3983 240 fnt31 0 -52(reset)m
3986 6881(is)s 7089(found)s 7704(in)s 7945(a)s 8109(con)s
3987 8452(\207g)s 8698(u)s 8813(ra)s 8998(-)s 960 909(tion)m
3988 1389(\207le,)s 1801(or)s 2060(when)s 2636(an)s 2919(er)s
3989 3104(ror)s 3442(is)s 3652(caught)s 4350(by)s gsave
3993 0 -52(catch\211quit)m
3995 5645(\).)s 0 52(0.62)m 4809(User)s 5320(service)s
3996 6052(daemon)s 6867(and)s 7271(client)s 7861(speci\207cation)s
4006 %%PageResources: font Times-Roman
4008 %%+ font Courier-Bold
4009 %%+ font Times-Italic
4011 0.0500 dup scale 10 setlinewidth
4015 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
4030 1417 -15423 translate
4031 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
4035 240 fnt84 8833 13842(15)m gsave
4038 240 fnt31 0 -52(toplevel)m
4041 960 13024(Displays)m 1848(the)s 2196(top-le)s 6(v)k 3(el)k
4042 3091(def)s 2(ault)k 3812(con\207guration)s 5145(\(the)s 5572(con\207guration)s
4043 6905(data,)s 7410(e)s 6(v)k 6(aluated)k 8372(by)s
4044 8666(the)s 960 12784(serv)m 3(er)k 9(,)k 1638(which)s
4045 2280(calls)s 2768(all)s 3061(the)s 3409(other)s 3960(con\207guration)s
4046 5293(\207les\).)s gsave
4049 240 fnt31 0 -52(override)m
4051 960 12304(Displays)m 1847(the)s
4052 2194(top-le)s 6(v)k 3(el)k 3088(o)s 3(v)k 3(erride)k
4053 3932(con\207guration)s 5264(\(the)s 5690(con\207guration)s 7021(data,)s 7525(e)s 6(v)k 6(aluated)k
4054 8486(by)s 8778(the)s 960 12064(serv)m 3(er)k 9(,)k
4055 1638(which)s 2280(causes)s 2955(all)s 3248(the)s 3596(other)s
4056 4147(con\207guration)s 5480(data)s 5938(to)s 6177(be)s 6459(parsed\).)s
4060 240 fnt31 0 -52(help)m
4062 960 11584(Displays)m 1848(a)s 2014(list)s
4063 2365(of)s 2636(the)s 2984(understood)s 4106(b)s 4(uiltin)k
4064 4783(service)s 5515(names)s 6177(and)s 6581(ar)s 4(guments.)k
4068 240 fnt31 0 -52(shutdown)m
4070 960 11104(Arranges)m 1876(for)s 2203(the)s
4072 2540 11158 translate
4074 240 fnt31 0 -52(uservd)m
4076 3189(to)s 3417(shut)s 3865(do)s 6(wn.)k
4077 4485(A)s 17(v)k 6(ailable)k 5435(only)s 5904(when)s
4078 6469(the)s 6806(service)s 7527(user)s 7974(is)s 8173(root.)s
4079 8650(This)s 960 10864(only)m 1440(af)s 6(fects)k 2120(ne)s 6(w)k
4080 2567(requests;)s 3462(it)s 3654(doesn')s 4(t)k 4414(terminate)s
4081 5371(an)s 3(y)k 5768(currently-running)s 7507(requests)s gsave
4085 0 -52(set\211environment)m
4090 240 fnt31 0 -52(no\211set\211environment)m
4092 480 9942(Runs)m gsave
4096 0 -52(/etc/environment)m
4098 2686(to)s 2925(set)s 3250(the)s 3598(service)s
4099 4330(user')s 13(s)k 4938(en)s 9(vironment.)k 6242(This)s
4100 6718(adds)s 7208(the)s 7556(o)s 3(v)k 3(erhead)k
4101 8485(of)s 480 9702(in)m 9(v)k 4(oking)k 1372(a)s
4102 1538(shell,)s 2096(b)s 4(ut)k 2458(doesn')s 4(t)k
4103 3218(cause)s 3805(an)s 3(y)k 4202(shell)s 4708(\(de\)mangling)s
4104 6049(of)s 6320(the)s 6668(service')s 13(s)k 7554(ar)s 4(guments.)k
4105 8650(This)s 480 9462(is)m 690(achie)s 6(v)k 3(ed)k
4106 1589(by)s 1883(in)s 9(v)k 4(oking)k gsave
4110 0 -52(.../program)m 1728(arg)s 2304(arg)s 2880(arg)s 3456(\202)s
4116 240 fnt31 0 -52(/bin/sh)m 1152(\211c)s 1584('.)s
4117 2016(/etc/environment;)s 4608(exec)s 5328("$@"')s 6192(\211)s 6480(.../program)s
4118 8208(arg)s 8784(arg)s 9360(arg)s 9936(\202)s
4124 0 -52(no\211set\211environment)m
4126 2342 8547(cancels)m 3096(the)s 3444(ef)s 6(fect)k
4130 240 fnt31 0 -52(set\211environment)m
4136 0 -52(no\211suppress\211args)m
4141 240 fnt31 0 -52(suppress\211args)m
4143 480 7723(Include)m 1253(an)s 3(y)k
4144 1650(ar)s 4(guments)k 2693(gi)s 6(v)k 3(en)k
4145 3273(to)s 3512(the)s 3860(client)s 4450(as)s 4700(ar)s 4(guments)k
4146 5743(to)s 5982(the)s 6330(program)s 7200(in)s 9(v)k 4(ok)k 2(ed)k
4147 8015(as)s 8265(a)s 8431(result)s 480 7483(of)m 749(an)s
4151 240 fnt31 0 -52(execute)m
4156 240 fnt31 0 -52(execute\211from\211directory)m
4162 240 fnt31 0 -52(execute\211from\211path)m
4164 6110(directi)s 6(v)k 3(e.)k
4168 240 fnt31 0 -52(suppress\211args)m
4170 8396(undoes)s 480 7243(the)m 828(ef)s 6(fect)k
4174 240 fnt31 0 -52(no\211suppress\211args)m
4180 0 -52(require\211fd)m gsave
4183 240 fnt83 0 -52(fd\211r)m 3(ang)k 2(e)k
4188 480 6623(In)m 676(sist)s 1054(that)s 1472(the)s
4189 1820(\207ledescrip)s 2808(tor\(s\))s 3373(be)s 3655(opened)s 4405(for)s
4190 4743(read)s 5152(ing)s 5511(resp.)s 6013(writ)s 6397(ing.)s
4191 6807(It)s 7012(is)s 7222(an)s 7505(er)s 7690(ror)s
4192 8028(if)s 8245(an)s 3(y)k 8642(de)s 8864(-)s
4193 480 6383(scrip)m 937(tor)s 1258(mark)s 2(ed)k 2027(as)s
4194 2272(re)s 2453(quired)s 3118(when)s 3689(the)s 4033(ser)s
4195 4311(vice)s 4760(is)s 4966(about)s 5554(to)s 5788(be)s
4196 6066(in)s 6249(v)s 4(ok)k 2(ed)k 6882(\(af)s
4197 7158(ter)s 7465(the)s 7808(con)s 8151(\207g)s 8397(u)s
4198 8512(ra)s 8697(tion)s 480 6143(has)m 850(been)s 1359(parsed\))s
4199 2111(w)s 2(as)k 2532(not)s 2898(spec)s 3316(i)s
4200 3376(\207ed)s 3793(when)s 4369(the)s 4717(client)s 5307(w)s 2(as)k
4201 5728(in)s 5911(v)s 4(ok)k 2(ed.)k 6595(Each)s
4202 7130(\207le)s 7491(de)s 7713(scrip)s 8170(tor)s 8495(has)s
4203 480 5903(a)m 646(sep)s 958(a)s 1064(rate)s 1477(set)s
4204 1742(ting,)s 2221(and)s 2625(the)s 2973(last)s 3364(one)s
4208 240 fnt31 0 -52(require\211fd)m
4219 240 fnt31 0 -52(ignore\211fd)m
4225 240 fnt31 0 -52(null\211fd)m
4230 240 fnt31 0 -52(reject\211fd)m
4233 480 5662(which)m 1122(af)s 1319(fect)s 1676(ed)s 1960(a)s
4234 2126(par)s 2431(tic)s 2662(u)s 2777(lar)s 3088(\207le)s
4235 3449(de)s 3671(scrip)s 4128(tor)s 4453(will)s 4879(tak)s 2(e)k
4236 5331(ef)s 5528(fect.)s 240 fnt83 6049 5664(fd-)m 6302(r)s 3(ang)k 2(e)k
4237 240 fnt82 6909 5662(may)m 7375(be)s 7657(a)s 7823(sin)s
4238 8099(gle)s 8447(num)s 8873(-)s 480 5422(ber)m 9(,)k
4239 883(tw)s 2(o)k 1293(num)s 1719(bers)s 2168(sep)s
4240 2480(a)s 2586(rat)s 2837(ed)s 3121(by)s 3415(a)s
4241 3581(h)s 1(y)k 3814(phen,)s 4387(or)s 4646(one)s
4242 5048(num)s 5474(ber)s 5839(fol)s 6099(lo)s 6(wed)k
4243 6736(by)s 7030(a)s 7196(h)s 1(y)k 7429(phen)s
4244 7952(\(in)s 8214(di)s 8394(cat)s 8672(ing)s 480 5182(all)m
4245 772(de)s 994(scrip)s 1451(tors)s 1858(from)s 2380(that)s
4246 2796(num)s 3222(ber)s 3585(on)s 3822(w)s 2(ards\).)k
4247 4573(It)s 4776(may)s 5240(also)s 5676(be)s 5956(one)s
4248 6357(of)s 6626(the)s 6972(w)s 2(ords)k gsave
4257 240 fnt31 0 -52(stdout)m
4263 240 fnt31 0 -52(stderr)m
4265 1080 4942(.)m 1174(Open-)s 1761(ended)s
4266 2380(\207le)s 2730(de)s 2952(scrip)s 3409(tor)s 3723(rangers)s
4267 4466(are)s 4802(al)s 4969(lo)s 6(wed)k 5596(only)s
4271 240 fnt31 0 -52(reject\211fd)m
4277 0 -52(ignore\211fd)m
4279 8780(,)s 8876(as)s 480 4702(oth)m 783(er)s
4280 968(wise)s 1457(the)s 1799(ser)s 2077(vice)s 2526(pro)s
4281 2838(gram)s 3383(w)s 2(ould)k 4033(\207nd)s 4458(it)s
4282 4590(self)s 5001(with)s 5477(a)s 5638(v)s 3(ery)k
4283 6108(lar)s 4(ge)k 6632(num)s 7058(ber)s 7417(of)s
4284 7683(\207le)s 8038(de)s 8260(scrip)s 8717(tors)s 480 4462(open.)m
4285 1090(When)s 1699(the)s 2027(con)s 2370(\207g)s 2616(u)s
4286 2731(ra)s 2916(tion)s 3325(has)s 3674(been)s 4163(parsed,)s
4287 4874(and)s 5258(be)s 5480(fore)s 5900(the)s 6227(ser)s
4288 6505(vice)s 6939(is)s 7129(about)s 7701(to)s 7920(be)s
4289 8181(e)s 3(x)k 8399(e)s 8501(cut)s 8793(ed,)s
4290 480 4222(stderr)m 1083(\(fd)s 1418(2\))s 1665(must)s 2189(be)s
4291 2470(re)s 2651(quired)s 3320(or)s 3578(al)s 3745(lo)s 6(wed)k
4295 240 fnt31 0 -52(require\211fd)m
4303 6573(\))s 6701(for)s 7038(writ)s 7422(ing;)s
4304 7839(this)s 8234(is)s 8443(so)s 8708(that)s 480 3982(the)m
4305 825(er)s 1010(ror)s 1345(mes)s 1721(sage)s 2198(print)s
4306 2649(ed)s 2930(by)s 3220(the)s 3565(serv)s 3958(er')s 13(s)k
4307 4350(child)s 4882(pro)s 5194(cess)s 5640(if)s 5853(it)s
4308 6042(can)s 6371(not)s gsave
4311 240 fnt31 0 -52(exec)m
4314 7535(ser)s 7813(vice)s 8263(pro)s 8575(gram)s 480 3742(is)m
4315 690(not)s 1056(lost.)s gsave
4318 240 fnt31 0 -52(allow\211fd)m gsave
4322 0 -52(fd\211r)m 3(ang)k 2(e)k
4326 480 3153(Allo)m 6(w)k
4327 1126(the)s 1474(descriptor\(s\))s 2729(to)s 2968(be)s 3250(opened)s
4328 4000(for)s 4338(reading)s 5108(resp.)s 5610(writing,)s 6407(or)s
4329 6666(either)s 7269(if)s 7486(neither)s gsave
4332 240 fnt31 0 -52(read)m
4338 240 fnt31 0 -52(write)m
4340 1040 2913(is)m 1250(speci\207ed.)s
4341 2204(If)s 2434(a)s 2600(particular)s 3574(descriptor)s 4589(not)s
4342 4955(speci\207ed)s 5863(by)s 6157(the)s 6505(client)s 7095(then)s
4343 7564(it)s 7756(will)s 8182(be)s 8464(open)s 480 2673(onto)m
4347 240 fnt31 0 -52(/dev/null)m
4349 1920(\(for)s 2337(reading,)s 3161(writing,)s
4350 3958(or)s 4217(both,)s 4750(depending)s 5801(on)s 6098(whether)s
4354 240 fnt31 0 -52(read)m
4359 240 fnt31 0 -52(write)m
4362 7995(or)s 8254(neither)s 480 2433(w)m 2(as)k 901(speci\207ed\).)s
4366 240 fnt31 0 -52(null\211fd)m gsave
4369 240 fnt83 0 -52(fd\211r)m 3(ang)k 2(e)k
4374 480 1794(Spec)m 938(i)s 998(fy)s 1251(that)s
4375 1669(the)s 2017(de)s 2239(scrip)s 2696(tor\(s\))s 3261(be)s
4376 3543(opened)s 4293(onto)s gsave
4379 240 fnt31 0 -52(/dev/null)m
4382 6071(read)s 6480(ing)s 6839(resp.)s 7341(writ)s 7725(ing,)s
4383 8138(or)s 8397(both)s 8880(if)s 480 1554(nei)m 766(ther)s
4387 240 fnt31 0 -52(read)m
4392 240 fnt31 0 -52(write)m
4395 2529(is)s 2722(spec)s 3140(i)s 3200(\207ed.)s 3646(An)s 3(y)k
4396 4093(spec)s 4511(i)s 4571(\207)s 4696(ca)s 4908(tion)s
4397 5320(of)s 5574(these)s 6104(\207le)s 6448(de)s 6670(scrip)s
4398 7127(tors)s 7519(by)s 7796(the)s 8127(client)s 8700(will)s
4399 480 1314(be)m 762(silent)s 1279(ly)s 1519(ig)s 1698(nored;)s
4400 2355(the)s 2703(client)s 3293(will)s 3719(see)s 4080(its)s
4401 4356(ends)s 4846(of)s 5117(the)s 5465(de)s 5687(scrip)s
4402 6144(tors)s 6553(be)s 6775(ing)s 7134(closed)s 7803(im)s
4403 8055(me)s 8343(di)s 8523(ate)s 8797(ly)s 15(.)k
4407 240 fnt31 0 -52(reject\211fd)m gsave
4410 240 fnt83 0 -52(fd\211r)m 3(ang)k 2(e)k
4415 0 52(User)m 511(service)s 1243(daemon)s 2058(and)s 2462(client)s
4416 3052(speci\207cation)s 8652(0.62)s
4426 %%PageResources: font Times-Roman
4428 %%+ font Courier-Bold
4429 %%+ font Times-Italic
4431 0.0500 dup scale 10 setlinewidth
4435 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
4450 1417 -15423 translate
4451 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
4455 240 fnt84 0 13842(16)m 240 fnt82 480 13251(Do)m 824(not)s
4456 1187(allo)s 6(w)k 1764(the)s 2109(descriptor\(s\))s 3362(to)s
4457 3598(be)s 3878(speci\207ed)s 4783(by)s 5075(the)s 5420(client.)s
4458 6052(It)s 6254(is)s 6462(an)s 6742(error)s 7263(if)s
4459 7477(an)s 3(y)k 7871(descriptor\(s\))s 480 13011(mark)m 2(ed)k
4460 1253(for)s 1591(rejection)s 2483(are)s 2830(speci\207ed)s 3738(when)s
4461 4314(the)s 4662(service)s 5394(is)s 5604(about)s 6196(to)s
4462 6435(be)s 6717(in)s 9(v)k 4(ok)k 2(ed)k
4463 7532(\(after)s 8107(the)s 480 12771(con\207guration)m 1813(has)s 2183(been)s
4464 2692(parsed\).)s gsave
4467 240 fnt31 0 -52(ignore\211fd)m gsave
4470 240 fnt83 0 -52(fd\211r)m 3(ang)k 2(e)k
4475 480 12137(Silent)m 1037(ly)s 1260(ig)s 1439(nore)s 1902(an)s 3(y)k
4476 2281(spec)s 2699(i)s 2759(\207)s 2884(ca)s 3096(tion)s
4477 3507(by)s 3783(the)s 4113(client)s 4685(of)s 4938(those)s
4478 5481(de)s 5703(scrip)s 6160(tor\(s\).)s 6762(The)s 7172(pipes)s
4479 7710(cor)s 8015(re)s 8196(spond)s 8767(ing)s 480 11897(to)m
4480 719(these)s 1266(de)s 1488(scrip)s 1945(tors)s 2354(will)s
4481 2780(be)s 3062(closed)s 3731(just)s 4136(be)s 4358(fore)s
4482 4798(the)s 5146(ser)s 5424(vice)s 5878(is)s 6088(in)s
4483 6271(v)s 4(ok)k 2(ed.)k gsave
4486 240 fnt31 0 -52(disconnect\211hup)m
4492 240 fnt31 0 -52(no\211disconnect\211hup)m
4494 480 11023(Caus)m 950(es)s 1200(the)s
4495 1548(ser)s 1826(vice')s 13(s)k 2434(pro)s 2746(cess)s
4496 3195(group)s 3807(to)s 4046(get)s 4398(a)s gsave
4497 4564 11077 translate
4502 5224(if)s 5441(the)s 5789(client)s 6379(dis)s
4503 6649(con)s 6992(nects)s 7534(be)s 7756(fore)s 8196(the)s
4504 8544(main)s 480 10783(ser)m 758(vice)s 1209(pro)s 1521(cess)s
4505 1966(ter)s 2217(mi)s 2463(nates.)s gsave
4506 3055 10837 translate
4508 240 fnt31 0 -52(no\211disconnect\211hup)m
4511 4813(can)s 5142(cels)s gsave
4512 5560 10837 translate
4514 240 fnt31 0 -52(disconnect\211hup)m
4517 7122(If)s 7348(one)s 7747(of)s 8014(the)s 8358(read)s
4518 8767(ing)s 480 10543(de)m 702(scrip)s 1159(tors)s 1568(spec)s
4519 1986(i)s 2046(\207ed)s 2463(when)s 3039(the)s 3387(client)s
4520 3977(is)s 4187(called)s 4815(gets)s 5251(a)s 5417(read)s
4521 5886(er)s 6071(ror)s 9(,)k 6447(or)s 6706(if)s
4522 6923(the)s 7271(ser)s 7549(vice)s 8003(is)s 8213(dis)s
4523 8483(con)s 8826(-)s 480 10302(nect)m 878(ed)s 1162(for)s
4524 1500(some)s 2061(oth)s 2364(er)s 2609(rea)s 2900(son,)s
4525 3340(then)s 3809(the)s gsave
4526 4157 10356 translate
4528 240 fnt31 0 -52(SIGHUP)m
4531 5243(be)s 5525(de)s 5747(li)s 6(v)k 5988(ered)s
4532 240 fnt83 6457 10304(be)m 6676(for)s 8(e)k 240 fnt82
4533 7106 10302(the)m 7454(writ)s 7838(ing)s 8197(end\(s\))s 8843(of)s
4534 480 10062(the)m 818(ser)s 1096(vice')s 13(s)k 1694(read)s
4535 2103(ing)s 2452(pipe\(s\))s 3154(are)s 3491(closed,)s 4199(so)s
4536 4455(that)s 4863(the)s 5201(client)s 5781(can)s 6160(dis)s
4537 6430(tin)s 6679(guish)s 7245(dis)s 7515(con)s 7858(nec)s
4538 8183(tion)s 8602(from)s 480 9822(read)m 889(ing)s 1248(EOF)s
4539 1758(on)s 2055(a)s 2221(pipe.)s gsave
4542 240 fnt31 0 -52(reset)m
4545 480 9188(Resets)m 1155(the)s 1503(e)s 3(x)k 3(ecution)k
4546 2484(settings)s 3265(to)s 3504(the)s 3852(def)s 2(ault.)k
4547 4617(This)s 5093(is)s 5303(equi)s 6(v)k 6(alent)k
4551 240 fnt31 0 -52(cd)m 432(~/)s 0 -292(reject)m
4552 0 -532(no\211set\211environment)m 0 -772(suppress\211args)m 0 -1012(allow\211fd)m 1296(0)s 1584(read)s
4553 0 -1252(allow\211fd)m 1296(1\2112)s 1872(write)s 0 -1492(reject\211fd)m 1440(3\211)s
4554 0 -1732(disconnect\211hup)m
4556 0 7025(If)m 230(no)s gsave
4559 240 fnt31 0 -52(execute)m
4565 240 fnt31 0 -52(execute\211from\211path)m
4571 0 -52(execute\211from\211directory)m
4576 240 fnt31 0 -52(builtin)m
4579 6630(interpreted)s 7722(before)s 8388(all)s 8681(the)s 0 6785(\207les)m
4580 449(are)s 796(read)s 1265(then)s 1734(the)s 2082(request)s
4581 2832(is)s 3042(rejected.)s 9066 670 0 670 240 240 60 0 5761 LoutGr2
4582 newpath 0 ysize 0.3 ft sub moveto
4588 320 fnt84 0 66(4.3.)m 628(Err)s 5(ors)k
4589 1618(in)s 1958(the)s 2458(con\207guration)s 4359(\207le)s
4592 230(a)s 396(syntax)s 1076(error)s 1599(or)s 1858(other)s
4593 2409(problem)s 3266(occurs)s 3941(when)s 4517(processing)s 5593(a)s
4594 5759(con\207guration)s 7092(\207le)s 7453(then)s 7922(a)s 8088(diagnostic)s
4595 0 5059(will)m 422(be)s 699(issued,)s 1399(to)s 1633(where)s 6(v)k 3(er)k
4596 2568(the)s 2911(error)s 3429(messages)s 4378(are)s 4721(currently)s
4597 5632(being)s 6212(sent)s 6652(\(see)s 7087(the)s gsave
4603 8185(f)s 2(amily)k 8855(of)s 0 4819(directi)m 6(v)k 3(es,)k
4604 1026(abo)s 3(v)k 3(e\).)k 0 4411(The)m 428(error)s
4605 951(will)s 1377(cause)s 1964(processing)s 3040(of)s 3311(the)s
4606 3659(con\207guration)s 4992(\207les)s 5441(to)s 5680(cease)s 6253(at)s
4607 6485(that)s 6903(point,)s 7502(unless)s 8151(the)s 8499(error)s
4608 0 4171(w)m 2(as)k 421(inside)s 1048(a)s gsave
4612 0 -52(catch\211quit)m
4614 2275(construct.)s 3255(In)s 3511(this)s 3907(case)s
4615 4374(the)s 4722(settings)s 5503(controlling)s 6605(the)s 6953(program')s 13(s)k
4616 7973(e)s 3(x)k 3(ecution)k 0 3931(will)m 426(be)s
4617 708(reset)s 1218(to)s 1457(the)s 1805(def)s 2(aults)k
4618 2610(as)s 2860(if)s 3077(a)s gsave
4621 240 fnt31 0 -52(reset)m
4624 3803(directi)s 6(v)k 3(e)k 4685(had)s 5089(been)s
4625 5598(issued,)s 6303(and)s 6707(parsing)s 7464(continues)s 8432(after)s
4629 240 fnt31 0 -52(hctac)m
4631 500 3691(.)m 9066 609 0 609 240 240 60 0 2728 LoutGr2
4632 newpath 0 ysize 0.3 ft sub moveto
4638 320 fnt84 0 5(4.4.)m
4641 0 2266(The)m 428(def)s 2(ault)k 1149(con\207guration)s
4642 2482(processing)s 3558(is)s 3768(as)s 4018(if)s 4235(the)s
4643 4583(daemon)s 5398(were)s 5918(parsing)s 6675(an)s 6958(o)s 3(v)k 3(erall)k
4644 7670(con\207guration)s 0 2026(\207le)m 361(whose)s 1029(contents)s 1877(were)s
4645 2397(as)s 2647(follo)s 6(ws:)k 0 52(0.62)m 4809(User)s
4646 5320(service)s 6052(daemon)s 6867(and)s 7271(client)s 7861(speci\207cation)s
4657 %%PageResources: font Times-Roman
4659 %%+ font Courier-Bold
4660 %%+ font Times-Italic
4662 0.0500 dup scale 10 setlinewidth
4666 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
4681 1417 -15423 translate
4682 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
4686 240 fnt84 8831 13842(17)m gsave
4689 240 fnt31 0 -52(reset)m 0 -292(user\211rcfile)m
4690 1728(~/.userv/rc)s 0 -532(errors\211to\211stderr)m 0 -772(include)m 1152(/etc/userv/system.default)s 0 -1012(if)m
4691 432(grep)s 1152(service\211user\211shell)s 3888(/etc/shells)s 432 -1252(errors\211push)m 720 -1492(catch\211quit)m
4692 1008 -1732(include\211ifexist)m gsave
4693 3312 -1680 translate
4695 240 fnt83 0 -52(\207le)m 345(speci\207ed)s 1248(by)s
4696 1530(most)s 2046(r)s 8(ecent)k 2699(user\211r)s 8(c\207le)k
4697 3767(dir)s 8(ective)k
4699 720 -1972(hctac)m 432 -2212(srorre)m 0 -2452(fi)m
4700 0 -2692(include)m 1152(/etc/userv/system.override)s 0 -2932(quit)m
4702 240 fnt82 0 9859(If)m
4703 226(one)s 624(of)s 891(the)s gsave
4706 240 fnt31 0 -52(\211\211override)m
4709 2292(options)s 3044(to)s 3279(the)s 3623(client)s 4209(is)s
4710 4415(used)s 4908(then)s 5373(it)s 5561(will)s 5983(instead)s
4711 6714(be)s 6992(as)s 7238(if)s 7451(the)s 7795(daemon)s
4712 8606(were)s 0 9619(parsing)m 757(an)s 1040(o)s 3(v)k 3(erall)k
4713 1752(con\207guration)s 3085(as)s 3335(follo)s 6(ws:)k gsave
4717 0 -52(reset)m 0 -292(errors\211to\211stderr)m 0 -532(include)m gsave
4720 240 fnt83 0 -52(\207le)m
4721 345(containing)s 1423(con\207gur)s 3(ation)k 2765(data)s 3246(sent)s
4722 3695(by)s 3977(client)s
4726 0 52(User)m 511(service)s
4727 1243(daemon)s 2058(and)s 2462(client)s 3052(speci\207cation)s 8652(0.62)s
4738 %%PageResources: font Times-Roman
4740 %%+ font Courier-Bold
4742 0.0500 dup scale 10 setlinewidth
4746 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
4761 1417 -15423 translate
4762 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
4766 240 fnt84 0 13842(18)m gsave
4768 240 fnt82 9066 688 0 688 240 240 60 LoutGraphic
4770 newpath 0 ysize 0.3 ft sub moveto
4776 340 fnt84 0 70(5.)m 412(Inf)s 8(ormation)k
4777 2257(passed)s 3297(thr)s 6(ough)k 4539(the)s 5070(client/daemon)s
4780 240 fnt82 0 12264(The)m 428(information)s 1613(described)s
4781 2587(belo)s 6(w)k 3220(is)s 3430(the)s 3778(only)s
4782 4258(information)s 5443(which)s 6085(passes)s 6747(between)s 7601(the)s
4783 7949(caller)s 8538(and)s 0 12024(the)m 348(service.)s 0 11616(\213)m
4784 480(The)s 908(service)s 1640(name)s 2214(supplied)s 3083(by)s
4785 3377(the)s 3725(caller)s 4314(is)s 4524(a)s 4(v)k 6(ailable)k
4786 5432(in)s 5675(the)s 6023(con\207guration)s 7356(language)s 8276(for)s
4787 480 11376(deciding)m 1343(whether)s 2158(and)s 2547(which)s 3175(service)s
4788 3892(program)s 4747(to)s 4971(in)s 9(v)k 4(ok)k 2(e,)k
4789 5701(in)s 5929(the)s gsave
4790 6262 11430 translate
4792 240 fnt31 0 -52(service)m
4794 7008(parameter)s 9(,)k
4795 8045(and)s 8434(is)s 8629(used)s 480 11136(by)m 774(the)s
4797 1122 11190 translate
4799 240 fnt31 0 -52(execute\211from\211directory)m
4802 3788 11190 translate
4804 240 fnt31 0 -52(execute\211from\211path)m
4807 5550(con\207guration)s 6883(directi)s 6(v)k 3(es.)k 7906(It)s
4808 8111(is)s 8321(usually)s 480 10896(used)m 977(to)s 1216(select)s
4809 1819(which)s 2461(service)s 3193(program)s 4063(to)s 4302(in)s 9(v)k 4(ok)k 2(e.)k
4810 5043(It)s 5248(is)s 5458(also)s 5896(passed)s 6592(to)s
4811 6831(the)s 7179(service)s 7911(program)s 8781(in)s 480 10656(the)m
4815 240 fnt31 0 -52(USERV_SERVICE)m
4817 2189(en)s 9(vironment)k 3449(v)s 6(ariable.)k
4818 0 10225(\213)m 480(File)s 902(descriptors)s 1995(speci\207ed)s 2897(by)s
4819 3185(the)s 3528(client)s 4112(and)s 4510(allo)s 6(wed)k
4820 5313(according)s 6304(to)s 6537(the)s 6879(con\207guration)s 8206(language)s
4821 480 9985(will)m 906(be)s 1188(connected.)s 2262(Each)s 2797(\207le)s
4822 3158(descriptor)s 4173(is)s 4383(opened)s 5133(for)s 5471(reading)s
4823 6241(or)s 6500(writing.)s 7294(Communication)s 8893(is)s 480 9745(via)m
4824 832(pipes,)s 1444(one)s 1846(end)s 2250(of)s 2521(each)s
4825 3016(pipe)s 3484(being)s 4069(open)s 4592(on)s 4889(the)s
4826 5237(appropriate)s 6381(\207le)s 6742(descriptor)s 7757(in)s 8000(the)s
4827 8348(service)s 480 9505(program)m 1347(\(when)s 1999(it)s 2188(is)s
4828 2394(in)s 9(v)k 4(ok)k 2(ed\))k 3276(and)s
4829 3677(the)s 4022(other)s 4569(end)s 4970(being)s 5552(held)s
4830 6019(by)s 6309(the)s 6654(client)s 7241(process,)s 8062(which)s
4831 8700(will)s 480 9265(read)m 942(and)s 1339(write)s 1878(\207les)s
4832 2320(it)s 2505(opens)s 3108(on)s 3398(behalf)s 4060(of)s
4833 4324(its)s 4593(caller)s 5175(or)s 5427(\207le)s 5781(descriptors)s
4834 6873(it)s 7058(is)s 7261(passed)s 7950(by)s 8237(its)s
4835 8506(caller)s 13(.)k 480 9025(Data)m 991(may)s 1457(be)s
4836 1739(passed)s 2435(into)s 2860(the)s 3208(service)s 3940(through)s
4837 4742(reading)s 5512(pipes)s 6068(and)s 6472(out)s 6838(of)s
4838 7109(it)s 7301(through)s 8103(writing)s 480 8785(pipes.)m 1083(These)s
4839 1703(pipes)s 2252(can)s 2634(remain)s 3347(open)s 3864(only)s
4840 4337(until)s 4823(the)s 5164(service)s 5889(and)s 6287(client)s
4841 6870(ha)s 4(v)k 3(e)k 7364(terminated,)s 8485(or)s
4842 8737(can)s 480 8545(be)m 762(made)s 1336(to)s 1575(stay)s
4843 2014(open)s 2537(after)s 3033(the)s 3381(client)s 3971(has)s
4844 4341(terminated)s 5420(and)s 5824(\(if)s 6120(the)s 6468(service)s
4845 7200(program)s 8070(forks\))s 8689(the)s 480 8305(main)m 998(service)s
4846 1712(process)s 2462(has)s 2814(e)s 3(xited;)k 3489(the)s
4847 3820(beha)s 4(viour)k 4815(is)s 5007(controlled)s 6016(by)s
4848 6292(options)s 7031(passed)s 7709(to)s 7930(the)s 8260(client)s
4849 8832(by)s 480 8065(its)m 751(caller)s 13(.)k 1426(The)s
4850 1848(caller)s 2432(can)s 2816(arrange)s 3582(that)s 3995(a)s
4851 4156(writing)s 4893(pipe)s 5356(be)s 5633(connected)s 6655(to)s
4852 6889(a)s 7050(pipe)s 7512(or)s 7766(similar)s 8482(object)s
4853 480 7825(and)m 884(cause)s 1471(attempts)s 2331(to)s 2570(write)s
4854 3116(to)s 3355(that)s 3773(descriptor)s 4788(by)s 5082(the)s
4855 5430(service)s 6162(to)s 6401(generate)s 7266(a)s gsave
4864 240 fnt31 0 -52(EPIPE)m
4870 240 fnt31 0 -52(SIGPIPE)m
4872 1431(is)s 1628(caught)s 2313(or)s
4873 2559(ignored\))s 3405(in)s 3635(the)s 3970(service.)s 4797(Lik)s 2(e)k 6(wise,)k
4874 5759(the)s 6094(service)s 6813(can)s 7189(close)s 7722(\207ledescriptors)s
4875 480 7345(speci\207ed)m 1373(for)s 1696(reading,)s 2505(which)s 3132(will)s
4876 3543(cause)s 4115(the)s 4448(corresponding)s 5855(\207ledescriptors)s 7244(passed)s
4877 7925(by)s 8204(the)s 8537(caller)s 480 7105(to)m 716(be)s
4878 995(closed,)s 1709(so)s 1972(that)s 2387(if)s 2600(these)s
4879 3144(are)s 3488(pipes)s 4040(processes)s 5004(which)s 5643(write)s
4880 6185(to)s 6421(them)s 6956(will)s 7378(recei)s 6(v)k 3(e)k
4884 240 fnt31 0 -52(SIGPIPE)m
4889 240 fnt31 0 -52(EPIPE)m
4892 980 6865(.)m 0 6460(\213)m 480(If)s gsave
4895 240 fnt31 0 -52(no\211suppress\211args)m
4898 2363(is)s 2568(set)s 2888(then)s 3353(ar)s 4(guments)k
4899 4391(passed)s 5082(to)s 5316(the)s 5660(client)s 6245(by)s
4900 6534(its)s 6805(caller)s 7390(will)s 7811(be)s 8088(passed)s
4901 8779(on,)s 480 6220(v)m 3(erbatim,)k 1433(to)s 1672(the)s
4902 2020(service.)s 0 5784(\213)m 480(F)s 3(a)k 716(tal)s
4903 1009(sig)s 1281(nals)s 1717(and)s 2121(sys)s 2418(tem)s
4904 2836(call)s 3235(f)s 2(ail)k 3545(ures)s 3994(e)s 3(x)k
4905 4212(pe)s 4434(ri)s 4573(enced)s 5189(by)s 5483(the)s
4906 5831(client)s 6421(will)s 6847(re)s 7028(sult)s 7433(in)s
4907 7676(the)s 8024(dis)s 8294(con)s 8637(nec)s 8962(-)s
4908 480 5544(tion)m 909(of)s 1180(the)s 1528(ser)s 1806(vice)s
4909 2260(from)s 2784(the)s 3132(client)s 3722(and)s 4126(pos)s
4910 4450(si)s 4603(bly)s 4963(some)s 5524(of)s 5795(the)s
4911 6143(com)s 6555(mu)s 6856(ni)s 7036(ca)s 7248(tion)s
4912 7677(\207le)s 8038(de)s 8260(scrip)s 8717(tors)s 480 5304(de)m
4913 702(scribed)s 1450(abo)s 3(v)k 3(e;)k 2128(if)s
4917 240 fnt31 0 -52(disconnect\211hup)m
4919 3806(is)s 4016(set)s 4341(then)s
4920 4810(the)s 5158(ser)s 5436(vice)s 5890(will)s 6316(also)s
4921 6754(be)s 7036(sent)s 7481(a)s gsave
4924 240 fnt31 0 -52(SIGHUP)m
4927 8247(.)s 0 4868(\213)m 480(The)s 908(v)s 6(alue)k
4928 1476(of)s 1747(the)s gsave
4931 240 fnt31 0 -52(LOGNAME)m
4937 240 fnt31 0 -52(USER)m
4939 3593(\))s 3721(en)s 9(vironment)k
4940 4981(v)s 6(ariable)k 5800(as)s 6050(passed)s 6746(to)s
4941 6985(the)s 7333(client)s 7923(will)s 8349(be)s 480 4628(used)m
4942 977(as)s 1227(the)s 1575(login)s 2124(name)s 2698(of)s
4943 2969(the)s 3317(calling)s 4020(user)s 4478(if)s 4695(the)s
4944 5043(uid)s 5407(of)s 5678(the)s 6026(calling)s 6729(process)s
4945 7497(matches)s 8331(the)s 8679(uid)s 480 4388(corresponding)m 1902(to)s
4946 2141(that)s 2559(login)s 3108(name.)s 3730(Otherwise)s 4768(the)s
4947 5116(calling)s 5819(uid')s 13(s)k 6335(passw)s 2(ord)k
4948 7295(entry)s 7840(will)s 8266(be)s 8548(used)s 480 4148(to)m
4949 708(determine)s 1708(the)s 2045(calling)s 2737(user')s 13(s)k
4950 3334(login)s 3872(name.)s 4543(This)s 5007(login)s 5545(name)s
4951 6108(and)s 6501(the)s 6838(calling)s 7530(uid)s 7883(are)s
4952 8218(a)s 4(v)k 6(ailable)k 480 3908(in)m 723(the)s
4953 1071(con\207guration)s 2404(language)s 3324(in)s 3567(the)s gsave
4957 0 -52(calling\211user)m
4959 5176(parameter)s 6190(and)s 6594(are)s 6941(passed)s
4960 7637(to)s 7876(the)s 8224(service)s 480 3668(program)m 1334(in)s
4961 1561(en)s 9(vironment)k 2805(v)s 6(ariables)k gsave
4970 240 fnt31 0 -52(USERV_UID)m
4973 6178(The)s 6590(shell)s 7080(corresponding)s 8486(to)s 8708(that)s
4974 480 3428(login)m 1023(name)s 1591(\(according)s 2659(to)s 2892(the)s
4975 3233(passw)s 2(ord)k 4187(entry\))s 4799(is)s 5003(a)s 4(v)k 6(ailable)k
4976 5904(as)s 6148(in)s 6384(the)s 6726(con\207guration)s 8052(language')s 13(s)k
4980 240 fnt31 0 -52(calling\211user\211shell)m
4982 2342 3188(parameter)m 13(.)k 3447(If)s
4983 3677(no)s 3970(rele)s 6(v)k 6(ant)k 4787(passw)s 2(ord)k
4984 5747(entry)s 6292(can)s 6681(be)s 6963(found)s 7580(then)s
4985 8049(no)s 8342(service)s 480 2948(will)m 906(be)s 1188(in)s 9(v)k 4(ok)k 2(ed.)k
4986 0 2542(\213)m 480(The)s 908(numeric)s 1744(v)s 6(alues)k
4987 2400(and)s 2804(te)s 3(xtual)k 3506(names)s 4168(for)s
4988 4506(calling)s 5209(gid)s 5573(and)s 5977(supplementary)s 7439(group)s
4989 8051(list)s 8402(are)s 480 2302(a)m 4(v)k 6(ailable)k
4990 1380(in)s 1615(the)s 1955(con\207guration)s 3280(language)s 4192(in)s
4994 240 fnt31 0 -52(calling\211group)m
4996 6119(parameter)s 7125(and)s
4997 7521(are)s 7860(passed)s 8548(to)s 8778(the)s 480 2062(service)m
4998 1212(in)s 1455(en)s 9(vironment)k 2715(v)s 6(ariables.)k
4999 3735(If)s 3965(no)s 4258(name)s 4832(can)s 5221(be)s
5000 5503(found)s 6120(for)s 6458(a)s 6624(numeric)s 7460(group)s
5001 8072(to)s 8311(which)s 480 1822(the)m 828(calling)s 1531(process)s
5002 2299(belongs)s 3095(then)s 3564(no)s 3857(service)s 4589(will)s
5003 5015(be)s 5297(in)s 9(v)k 4(ok)k 2(ed.)k
5004 0 1367(\213)m 480(The)s 908(name)s 1482(of)s 1753(the)s
5005 2101(current)s 2837(w)s 2(orking)k 3686(directory)s 4602(in)s
5006 4845(which)s 5487(the)s 5835(client)s 6425(w)s 2(as)k
5007 6846(in)s 9(v)k 4(ok)k 2(ed)k 7661(is)s
5008 7871(passed,)s 8616(if)s 480 1127(a)m 4(v)k 6(ailable)k
5009 1388(and)s 1792(not)s 2158(hidden)s 2867(using)s gsave
5013 0 -52(\211\211hidecwd)m
5015 4340(,)s 4447(to)s 4686(the)s 5034(service)s
5016 5766(program)s 6636(in)s 6879(the)s gsave
5019 240 fnt31 0 -52(USERV_CWD)m
5022 8188(v)s 6(ariable.)k 480 887(This)m 946(grants)s 1570(no)s
5023 1852(special)s 2560(access)s 3210(to)s 3438(that)s 3846(directory)s
5024 4751(unless)s 5389(it)s 5571(is)s 5770(a)s 5925(subdirectory)s
5025 7164(of)s 7424(a)s 7579(directory)s 8484(which)s 0 52(0.62)m
5026 4809(User)s 5320(service)s 6052(daemon)s 6867(and)s 7271(client)s
5027 7861(speci\207cation)s
5037 %%PageResources: font Times-Roman
5039 %%+ font Courier-Bold
5040 %%+ font Times-Italic
5042 0.0500 dup scale 10 setlinewidth
5046 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
5061 1417 -15423 translate
5062 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
5066 240 fnt84 8832 13842(19)m 240 fnt82 480 13251(is)m 690(e)s 3(x)k 3(ecutable)k
5067 1762(\(searchable\))s 2977(b)s 4(ut)k 3339(not)s 3705(readable)s
5068 4570(by)s 4864(the)s 5212(service)s 5944(user)s 13(.)k
5069 0 12794(\213)m 480(Settings)s 1301(speci\207ed)s 2209(by)s 2503(the)s
5070 2851(caller)s 3440(using)s 4012(the)s gsave
5071 4360 12848 translate
5073 240 fnt31 0 -52(\211\211defvar)m
5077 240 fnt83 0 -52(name)m
5082 240 fnt83 0 -52(value)m
5087 6432(option)s 7101(to)s 7340(the)s 7688(client)s 8278(are)s
5088 480 12554(a)m 4(v)k 6(ailable)k 1388(in)s 1631(the)s
5089 1979(con\207guration)s 3312(language)s 4232(as)s 4482(the)s 4830(corresponding)s
5091 6252 12608 translate
5093 240 fnt31 0 -52(u\211)m gsave
5096 240 fnt83 0 -52(name)m
5101 8116(and)s 8520(are)s 480 12314(passed)m 1176(to)s 1415(the)s
5102 1763(service)s 2495(program)s 3365(in)s 3608(en)s 9(vironment)k
5103 4868(v)s 6(ariables)k gsave
5104 5775 12368 translate
5106 240 fnt31 0 -52(USERV_U_)m gsave
5114 7082(.)s 0 11859(\213)m 480(If)s 710(the)s
5115 1058(calling)s 1761(user)s 2219(is)s 2429(root)s 2874(or)s
5116 3133(the)s 3481(same)s 4028(as)s 4278(the)s 4626(service)s
5117 5358(user)s 5816(then)s 6285(options)s 7041(may)s 7507(be)s
5118 7789(gi)s 6(v)k 3(en)k 8369(to)s 8608(the)s
5119 480 11619(client)m 1070(which)s 1712(bypass)s 2415(the)s 2763(usual)s
5120 3323(security)s 4133(features;)s 5000(in)s 5243(this)s 5639(case)s
5121 6106(other)s 6657(information)s 7842(may)s 8308(pass)s 480 11379(between)m
5122 1334(the)s 1682(caller)s 2271(and)s 2675(the)s 3023(service.)s
5123 0 52(User)m 511(service)s 1243(daemon)s 2058(and)s 2462(client)s
5124 3052(speci\207cation)s 8652(0.62)s
5134 %%PageResources: font Times-Roman
5136 %%+ font Courier-Bold
5137 %%+ font Times-Italic
5139 0.0500 dup scale 10 setlinewidth
5143 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
5158 1417 -15423 translate
5159 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
5163 240 fnt84 0 13842(20)m gsave
5165 240 fnt82 9066 687 0 687 240 240 60 LoutGraphic
5167 newpath 0 ysize 0.3 ft sub moveto
5173 340 fnt84 0 69(6.)m 412(A)s 8(pplications)k
5174 2309(and)s 2935(notes)s 3765(on)s 4204(use)s
5178 240 fnt82 9066 670 0 670 240 240 60 LoutGraphic
5180 newpath 0 ysize 0.3 ft sub moveto
5187 0 66(6.1.)m 628(Standard)s 1977(ser)s 3(vices)k 3110(and)s
5188 3697(dir)s 5(ectory)k 5025(management)s
5190 240 fnt82 0 11187(In)m
5191 250(later)s 726(v)s 3(ersions)k 1565(of)s 1829(this)s
5192 2219(speci\207cation)s 3477(standard)s 4339(service)s 5064(names)s 5720(and)s
5193 6117(interf)s 2(aces)k 7087(for)s 7418(common)s 8306(services)s
5194 0 10947(such)m 496(as)s 746(mail)s 1225(deli)s 6(v)k 3(ery)k
5195 2053(and)s 2457(WWW)s 3193(CGI)s 3661(scripts)s 4335(will)s
5196 4761(be)s 5043(speci\207ed.)s gsave
5199 240 fnt31 0 -52(userv)m
5202 783(ing)s 1142(ap)s 1361(pli)s 1607(ca)s 1819(tions)s
5203 2335(and)s 2739(sys)s 3036(tem)s 3454(ser)s 3732(vices)s
5204 4274(which)s 4916(hide)s gsave
5205 5384 10593 translate
5207 240 fnt31 0 -52(userv)m
5210 6166(hind)s 6650(wrap)s 7121(per)s 7486(scripts)s 8160(may)s
5211 0 10299(need)m 510(to)s 749(store)s 1269(in)s 1452(for)s
5212 1730(ma)s 2022(tion)s 2451(in)s 2694(the)s 3042(user')s 13(s)k
5213 3650(\207lespace)s 4542(to)s 4781(pre)s 5082(serv)s 3(e)k
5214 5639(the)s 5987(cor)s 6292(rect)s 6709(place)s 7209(ment)s
5215 7747(of)s 8018(the)s 8366(se)s 8561(-)s 0 10059(cu)m
5216 221(ri)s 360(ty)s 600(perim)s 1157(iters.)s 1671(Such)s
5217 2207(ap)s 2426(pli)s 2672(ca)s 2884(tions)s 3400(should)s
5218 4097(usu)s 4425(al)s 4592(ly)s 4832(do)s 5125(so)s
5219 5391(in)s 5634(a)s 5800(di)s 5980(rec)s 6264(to)s
5220 6443(ry)s 6696(\(cre)s 7062(at)s 7234(ed)s 7518(by)s
5224 240 fnt31 0 -52(~/.userv/.servdata/)m gsave
5227 240 fnt83 0 -52(service)m
5232 2563 9819(,)m 2670(where)s 240 fnt83 3310 9821(ser)m 3607(vice)s
5233 240 fnt82 4044 9819(is)m 4254(the)s 4602(ser)s 4880(vice)s
5234 5334(name)s 5908(or)s 6167(ap)s 6386(pli)s 6632(ca)s
5235 6844(tion)s 7273(in)s 7516(ques)s 7946(tion.)s 0 9411(The)m
5236 428(use)s 803(of)s 1074(a)s 1240(dot-directory)s 2541(inside)s
5240 240 fnt31 0 -52(~/.userv)m
5242 4029(will)s 4455(hopefully)s 5426(a)s 4(v)k 4(oid)k
5243 6008(the)s 6356(user)s 6814(becoming)s 7811(confused)s 0 9171(by)m
5244 294(\207nding)s 1026(parts)s 1541(of)s 1812(a)s 1978(semi-pri)s 6(vile)k 3(ged)k
5245 3526(application')s 13(s)k 4798(internal)s 5582(state)s 6075(in)s
5246 6318(their)s 6815(\207lespace,)s 7758(and)s 8162(or)s 0 8931(discourage)m
5247 1092(them)s 1630(from)s 2154(\207ddling)s 2952(with)s 3434(and)s
5248 3838(thus)s 4288(corrupting)s 5337(it.)s 5573(\(Note)s 6173(that)s
5249 6591(such)s 7087(applications)s 8293(should)s 0 8691(of)m 271(course)s
5250 951(not)s 1317(rely)s 1742(for)s 2080(their)s 2577(global)s
5251 3230(inte)s 3(grity)k 4090(on)s 4387(the)s 4735(inte)s 3(grity)k
5252 5595(of)s 5866(the)s 6214(data)s 6672(on)s 6969(the)s
5253 7317(user')s 13(s)k 7925(side)s 8366(of)s 8637(the)s
5254 0 8451(security)m 810(boundary)s 15(.\))k 9066 670 0 670 240 240 60 0 7427 LoutGr2
5255 newpath 0 ysize 0.3 ft sub moveto
5261 320 fnt84 0 66(6.2.)m
5262 628(Reducing)s 1997(the)s 2497(number)s 3655(of)s 4018(absolutely)s
5263 5474(pri)s 3(vileged)k 6908(subsystems)s
5265 0 6965(Currently)m 970(most)s
5266 1495(Unix)s 2029(systems)s 2837(ha)s 4(v)k 3(e)k
5267 3338(man)s 3(y)k 3921(components)s 5129(which)s 5771(need)s
5268 6281(to)s 6520(run)s 6896(as)s 7146(root,)s 7638(e)s 6(v)k 3(en)k
5269 8138(though)s 0 6725(most)m 525(of)s 796(their)s 1293(acti)s 6(vity)k
5270 2057(does)s 2547(not)s 2913(strictly)s 3629(require)s 4361(it.)s
5271 4597(This)s 5073(gi)s 6(v)k 3(es)k 5620(rise)s
5272 6020(to)s 6259(a)s 6425(lar)s 4(ge)k 6954(and)s
5273 7358(comple)s 3(x)k 8234(body)s 8768(of)s 0 6485(code)m
5274 508(which)s 1150(must)s 1675(be)s 1957(trusted)s 2665(with)s
5275 3147(the)s 3495(security)s 4305(of)s 4576(the)s 4924(system.)s
5276 0 6077(Using)m gsave
5279 240 fnt31 0 -52(userv)m
5282 1768(of)s 2039(these)s 2586(subsystems)s 3727(no)s 4020(longer)s
5283 4691(need)s 5201(an)s 3(y)k 5598(unusual)s 6398(pri)s 6(vile)k 3(ge.)k
5287 240 fnt31 0 -52(cron)m
5289 455 5669(and)m gsave
5292 240 fnt31 0 -52(at)m
5298 240 fnt31 0 -52(lpr)m
5300 1509(and)s 1907(the)s
5301 2249(system')s 13(s)k 3117(mail)s 3591(transfer)s 4373(agent)s
5305 240 fnt31 0 -52(sendmail)m
5316 240 fnt31 0 -52(exim)m
5319 7229(the)s 7572(lik)s 2(e\))k 8050(all)s 8337(f)s 2(all)k
5320 8701(into)s 0 5429(this)m 396(cate)s 3(gory)k 15(.)k
5321 9066 670 0 670 240 240 60 0 4405 LoutGr2
5322 newpath 0 ysize 0.3 ft sub moveto
5328 320 fnt84 0 66(6.3.)m 628(Do)s 1092(not)s 1615(gi)s 3(v)k 3(e)k
5329 2234(away)s 3019(excessi)s 3(v)k 3(e)k 4312(pri)s 3(vilege)k
5333 320 fnt31 0 -70(userv)m
5335 6577(-using)s 7484(facilities)s
5338 0 3943(There)m 613(is)s 823(a)s 989(danger)s 1700(that)s
5339 2118(people)s 2812(reimplementing)s 4378(the)s 4726(f)s 2(acilities)k
5340 5595(I)s 5730(mention)s 6571(abo)s 3(v)k 3(e)k
5344 240 fnt31 0 -52(userv)m
5346 8325(will)s 0 3703(discard)m
5347 731(much)s 1303(of)s 1557(the)s 1888(security)s 2680(bene\207t)s
5348 3374(by)s 3651(using)s 4206(a)s 4355(nai)s 6(v)k 3(e)k
5349 4902(implementation)s 6442(technique.)s 7459(This)s 7918(will)s 8326(become)s
5350 0 3463(clearer)m 708(with)s 1190(an)s 1473(e)s 3(xample:)k
5351 0 3055(Consider)m 924(the)s gsave
5354 240 fnt31 0 -52(lpr)m
5357 2546(In)s 2802(current)s 3538(systems)s 4346(this)s 4742(needs)s
5358 5338(to)s 5577(ha)s 4(v)k 3(e)k 6078(an)s
5359 6361(absolutely)s 7398(pri)s 6(vile)k 3(ged)k 0 2815(component)m
5360 1124(in)s 1367(order)s 1931(to)s 2170(support)s 2948(delayed)s
5361 3750(printing)s 4560(without)s 5351(cop)s 2(ying:)k 6227(when)s
5362 6803(the)s 7151(user)s 7609(queues)s 8325(a)s 8491(\207le)s
5363 0 2575(to)m 239(be)s 521(printed)s 1256(the)s 1604(\207lename)s
5364 2483(is)s 2693(stored)s 3335(in)s 3578(the)s 3926(print)s
5365 4437(queue,)s 5116(rather)s 5732(than)s 6201(a)s 6367(cop)s 2(y)k
5366 6885(of)s 7156(it,)s 7395(and)s 7799(the)s 8147(printer)s
5367 0 2335(daemon)m 813(accesses)s 1671(the)s 2016(\207le)s 2375(directly)s
5368 3155(when)s 3729(it)s 3918(is)s 4126(ready)s 4708(to)s
5369 4945(print)s 5453(the)s 5799(job)s 9(.)k 6197(In)s
5370 6451(order)s 7012(that)s 7428(the)s 7773(user)s 8229(can)s
5371 8615(print)s 0 2095(\207les)m 449(which)s 1091(are)s 1438(not)s
5372 1804(w)s 2(orld-readable)k 3304(the)s 3652(daemon)s 4467(is)s
5373 4677(gi)s 6(v)k 3(en)k 5257(root)s 5702(pri)s 6(vile)k 3(ge)k
5374 6598(so)s 6864(that)s 7282(it)s 7474(can)s 7863(open)s
5375 8386(the)s 8734(\207le)s 0 1855(in)m 243(the)s 591(conte)s 3(xt)k
5376 1352(of)s 1623(the)s 1971(user)s 9(,)k 2467(rather)s
5377 3083(than)s 3552(its)s 3828(o)s 6(wn.)k 0 1447(A)m
5378 212(simple-minded)s 1686(approach)s 2602(to)s 2823(con)s 9(v)k 3(erting)k
5379 3868(this)s 4246(scheme)s 5001(to)s 5222(use)s gsave
5385 6120(might)s 6720(in)s 9(v)k 4(olv)k 3(e)k
5386 7460(gi)s 6(ving)k 8101(the)s 8430(printer)s 0 1207(daemon)m
5390 240 fnt31 0 -52(lp)m
5392 1489(user\))s 2010(the)s
5393 2354(ability)s 3013(to)s 3248(read)s 3712(the)s 4055(\207le)s
5394 4412(by)s 4701(allo)s 6(wing)k 5581(them)s 6114(to)s
5398 240 fnt31 0 -52(cat)m
5400 7076(\(or)s 7409(a)s
5401 7570(special-purpose)s 0 967(\207le-reading)m 1140(program\))s 2063(as)s 2299(an)s 3(y)k
5402 2681(user)s 13(.)k 3155(The)s gsave
5405 240 fnt31 0 -52(lpr)m
5408 3914(program)s 4769(w)s 2(ould)k 5410(use)s 5770(a)s
5412 240 fnt31 0 -52(userv)m
5414 6467(service)s 7184(to)s 7409(store)s
5415 7914(the)s 8247(\207lename)s 0 727(in)m 243(the)s 591(printer)s
5416 1287(daemon')s 13(s)k 2255(queues,)s 3027(and)s 3431(the)s
5417 3779(daemon)s 4594(w)s 2(ould)k 5249(read)s 5718(the)s
5418 6066(\207le)s 6427(later)s 6910(when)s 7486(it)s 7678(felt)s
5419 8055(lik)s 2(e)k 8467(it.)s 0 52(0.62)m 4809(User)s
5420 5320(service)s 6052(daemon)s 6867(and)s 7271(client)s 7861(speci\207cation)s
5431 %%PageResources: font Times-Roman
5433 %%+ font Courier-Bold
5434 %%+ font Times-Italic
5436 0.0500 dup scale 10 setlinewidth
5440 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
5455 1417 -15423 translate
5456 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
5460 240 fnt84 8839 13842(21)m 240 fnt82 0 13254(Ho)m 6(we)k 6(v)k 3(er)k 9(,)k
5461 960(this)s 1356(w)s 2(ould)k 2011(allo)s 6(w)k
5462 2590(the)s 2938(printer)s 3634(daemon)s 4449(to)s 4688(read)s
5463 5157(an)s 3(y)k 5554(\207le)s 5915(on)s 6212(the)s
5464 6560(system,)s 7331(whether)s 8161(or)s 8420(not)s 0 13014(someone)m
5465 907(had)s 1311(ask)s 2(ed)k 1912(for)s 2250(it)s
5466 2442(to)s 2681(be)s 2963(printed.)s 3744(Since)s 4331(man)s 3(y)k
5467 4914(\207les)s 5363(will)s 5789(contain)s 6550(passw)s 2(ords)k
5468 7596(and)s 8000(other)s 0 12774(security-critical)m 1551(information)s 2736(this)s
5469 3132(is)s 3342(nearly)s 3993(as)s 4243(bad)s 4647(as)s
5470 4897(gi)s 6(ving)k 5556(the)s 5904(daemon)s 6719(root)s
5471 7164(access)s 7825(in)s 8068(the)s 8416(\207rst)s 0 12534(place.)m
5472 608(An)s 3(y)k 1072(security)s 1882(holes)s 2438(in)s
5473 2681(the)s 3029(print)s 3540(serv)s 3(er)k 4180(which)s
5474 4822(allo)s 6(w)k 5401(a)s 5567(user)s 6025(to)s
5475 6264(e)s 3(x)k 3(ecute)k 7044(commands)s 8132(as)s
5477 8730 12588 translate
5479 240 fnt31 0 -52(lp)m
5481 0 12294(user)m 458(will)s
5482 884(gi)s 6(v)k 3(e)k 1343(the)s 1691(user)s
5483 2149(the)s 2497(ability)s 3161(to)s 3400(read)s 3869(an)s 3(y)k
5484 4266(\207le)s 4627(on)s 4924(the)s 5272(system.)s 0 11886(Instead,)m
5485 790(it)s 975(is)s 1178(necessary)s 2153(to)s 2385(k)s 2(eep)k
5486 2881(a)s 3040(record)s 3700(of)s 3964(which)s 4599(\207les)s
5487 5040(the)s 5381(daemon)s 6189(has)s 6552(been)s 7053(ask)s 2(ed)k
5488 7647(to)s 7879(print)s 240 fnt83 8382 11888(outside)m 240 fnt82
5489 0 11646(the)m 348(control)s 1080(of)s 1351(the)s 1699(print)s
5490 2210(daemon.)s 3072(This)s 3548(record)s 4216(could)s 4806(be)s
5491 5088(k)s 2(ept)k 5558(by)s 5852(a)s 6018(ne)s 6(w)k
5492 6465(root-pri)s 6(vile)k 3(ged)k 7947(component,)s 0 11406(b)m 4(ut)k
5493 352(this)s 737(is)s 936(not)s 1291(necessary:)s 2315(the)s
5494 2652(record)s 3309(of)s 3569(which)s 4200(\207les)s 4638(a)s
5495 4794(user)s 5241(has)s 5600(ask)s 2(ed)k 6190(to)s
5496 6418(be)s 6689(printed)s 7413(can)s 7791(be)s 8062(k)s 2(ept)k
5497 8521(under)s 0 11166(the)m 348(control)s 1080(of)s 1351(the)s
5498 1699(user)s 2157(in)s 2400(question.)s 3315(The)s 3743(submission)s
5499 4877(program)s gsave
5500 5747 11220 translate
5502 240 fnt31 0 -52(lpr)m
5504 6107(will)s 6533(mak)s 2(e)k
5505 7105(a)s 7271(record)s 7939(in)s 8182(an)s 8465(area)s
5506 0 10926(under)m 605(the)s 953(user')s 13(s)k 1561(control)s
5507 2293(before)s 2959(communicating)s 4500(with)s 4982(the)s 5330(print)s
5508 5841(serv)s 3(er)k 9(,)k 6519(and)s 6923(the)s
5509 7271(print)s 7782(serv)s 3(er)k 8422(w)s 2(ould)k
5510 0 10686(be)m 279(gi)s 6(v)k 3(en)k 855(the)s
5511 1199(ability)s 1859(to)s 2094(run)s 2466(a)s 2628(special)s
5512 3342(\207le-reading)s 4493(program)s 5359(which)s 5997(w)s 2(ould)k
5513 6648(only)s 7124(allo)s 6(w)k 7699(\207les)s 8144(to)s
5514 8379(be)s 8657(read)s 0 10446(which)m 642(were)s 1162(listed)s
5515 1737(in)s 1980(the)s 2328(user')s 13(s)k 2936(\207le)s
5516 3297(of)s 3568(things)s 4204(the)s 3(y')k 12(d)k
5517 4858(ask)s 2(ed)k 5459(to)s 5698(print.)s 0 10038(No)m 6(w)k
5518 502(security)s 1300(holes)s 1844(in)s 2075(most)s 2588(of)s
5519 2846(the)s 3182(printing)s 3980(system)s 4692(do)s 4973(not)s
5520 5327(critically)s 6215(af)s 6(fect)k 6799(the)s 7135(security)s
5521 7933(of)s 8192(the)s 8527(entire)s 0 9798(system:)m 770(the)s 3(y)k
5522 1233(only)s 1713(allo)s 6(w)k 2292(the)s 2640(attack)s 2(er)k
5523 3453(to)s 3692(read)s 4161(and)s 4565(interfere)s 5428(with)s
5524 5910(print)s 6421(jobs.)s 6924(Bugs)s 7468(in)s 7711(the)s
5525 8059(programs)s 0 9558(run)m 373(by)s 664(the)s 1009(print)s
5526 1517(serv)s 3(er)k 2154(to)s 2390(read)s 2856(users')s
5527 3456(\207les)s 3902(\(and)s 4382(to)s 4618(remo)s 3(v)k 3(e)k
5528 5382(entries)s 6066(from)s 6587(the)s 6932(list)s 7280(of)s
5529 7548(\207les)s 7994(when)s 8567(it)s 8756(has)s 0 9318(done)m
5530 522(with)s 1004(them\))s 1610(will)s 2036(still)s 2448(be)s
5531 2730(serious,)s 3514(b)s 4(ut)k 3876(this)s 4272(program)s
5532 5142(can)s 5531(be)s 5813(quite)s 6347(simple.)s 0 8910(Similar)m
5533 762(considerations)s 2194(apply)s 2780(to)s 3019(man)s 3(y)k
5537 240 fnt31 0 -52(userv)m
5539 4102(-based)s 4784(v)s 3(ersions)k
5540 5629(of)s 5900(f)s 2(acilities)k 6769(which)s 7411(currently)s
5541 8327(run)s 0 8670(as)m 250(root.)s 0 8262(It)m 198(is)s
5542 401(debatable)s 1366(whether)s 2189(the)s 2530(user)s 4(-controlled)k
5543 4023(state)s 4509(should)s 5199(be)s 5474(k)s 2(ept)k
5544 5937(in)s 6173(the)s 6514(user')s 13(s)k 7115(\207lespace)s
5545 8000(\(in)s 8315(dot\207les,)s 0 8022(say\))m 440(or)s 692(k)s 2(ept)k
5546 1155(in)s 1391(a)s 1550(separate)s 2381(area)s 2831(set)s
5547 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
5548 6123(using)s 6688(the)s 7029(user')s 13(s)k 7630(home)s
5549 8210(directory)s 0 7782(\(and)m 468(probably)s 1357(creating)s 2164(a)s
5550 2314(separate)s 3137(subdirectory)s 4370(of)s 4626(it)s 4802(as)s
5551 5037(a)s 5187(dot\207le)s 5839(to)s 6062(contain)s 6808(man)s 3(y)k
5552 7375(subsystems')s 8561(state\))s 0 7542(has)m 370(fe)s 6(wer)k
5553 967(implications)s 2199(for)s 2537(the)s 2885(rest)s 3289(of)s
5554 3560(the)s 3908(system)s 4632(and)s 5036(mak)s 2(es)k
5555 5696(it)s 5888(entirely)s 6671(clear)s 7194(where)s 7834(the)s
5556 8182(security)s 0 7302(boundaries)m 1101(lie.)s 9066 670 0 670 240 240 60 0 6278 LoutGr2
5557 newpath 0 ysize 0.3 ft sub moveto
5563 320 fnt84 0 66(6.4.)m
5567 320 fnt31 0 -70(userv)m
5569 1375(is)s 1659(not)s 2182(a)s
5570 2419(r)s 5(eplacement)k 4178(f)s 8(or)k gsave
5579 320 fnt31 0 -70(sudo)m
5589 560 5816(is)m 770(not)s 1136(intended)s 2018(as)s
5590 2268(a)s 2434(general-purpose)s 4030(system)s 4754(administration)s 6191(tool)s
5591 6618(with)s 7100(which)s 7742(system)s 0 5576(administrators)m 1398(can)s
5592 1767(e)s 3(x)k 3(ecute)k 2528(pri)s 6(vile)k 3(ged)k
5593 3526(programs)s 4461(when)s 5017(the)s 3(y)k 5461(need)s
5594 5951(to.)s 6222(It)s 6407(is)s 6598(unsuitable)s 7617(for)s
5595 7936(this)s 8312(purpose)s 0 5336(precisely)m 916(because)s 1729(it)s
5596 1921(enforces)s 2781(a)s 2947(strong)s 3598(separation)s 4637(between)s
5597 5491(the)s 5839(calling)s 6542(and)s 6946(the)s 7294(called)s
5598 7922(program,)s 0 5096(which)m 642(is)s 852(undesirable)s 2010(in)s
5599 2253(this)s 2649(conte)s 3(xt.)k 0 4688(Its)m 289(f)s 2(acilities)k
5600 1158(for)s 1496(restricting)s 2516(acti)s 6(vities)k 3422(to)s
5601 3661(running)s 4459(certain)s 5165(programs)s 6119(may)s 6585(at)s
5602 6817(\207rst)s 7248(glance)s 7928(seem)s 8479(to)s 0 4420(pro)m 3(vide)k
5603 769(similar)s 1476(functionality)s 2736(to)s gsave
5606 240 fnt31 0 -52(sudo)m
5609 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
5610 4454(the)s 4787(separation)s 5811(mentioned)s 6864(abo)s 3(v)k 3(e)k
5611 7471(is)s 7666(a)s 7817(problem)s 8659(here)s 0 4180(too,)m
5612 413(particular)s 1387(for)s 1725(interaction)s 2803(-)s 2931(it)s
5613 3123(can)s 3512(be)s 3794(hard)s 4277(for)s 4615(a)s
5617 240 fnt31 0 -52(userv)m
5619 5341(service)s 6073(program)s 6943(to)s
5620 7182(interact)s 7957(with)s 8439(its)s 8714(real)s 0 3940(caller)m
5621 589(or)s 848(the)s 1196(user)s 1654(in)s 1897(question.)s
5622 9066 670 0 670 240 240 60 0 2916 LoutGr2
5623 newpath 0 ysize 0.3 ft sub moveto
5629 320 fnt84 0 66(6.5.)m 628(Don't)s 1488(gi)s 3(v)k 3(e)k
5630 2107(access)s 3013(to)s 3352(general-pur)s 3(pose)k 5640(utilities)s
5633 0 2454(Do)m 346(not)s 712(specify)s 1456(general)s 2214(purpose)s
5634 3028(programs)s 3982(lik)s 2(e)k gsave
5637 240 fnt31 0 -52(mv)m
5643 240 fnt31 0 -52(cat)m
5651 6377(directi)s 6(v)k 3(es)k 7347(without)s
5652 8138(careful)s 0 2214(thought)m 792(about)s 1384(their)s 1881(ar)s 4(guments,)k
5653 2980(and)s 3384(certainly)s 4273(not)s 4639(if)s gsave
5657 0 -52(no\211suppress\211args)m
5659 6518(is)s 6728(speci\207ed.)s 7682(If)s 7912(you)s
5660 8327(do)s 8620(so)s 8886(it)s 0 1974(will)m 426(gi)s 6(v)k 3(e)k
5661 885(the)s 1233(caller)s 1822(much)s 2411(more)s 2958(pri)s 6(vilige)k
5662 3817(than)s 4286(you)s 4701(probably)s 5606(intend.)s 0 1566(It)m
5663 205(is)s 415(a)s 581(shame)s 1248(that)s 1666(I)s
5664 1801(ha)s 4(v)k 3(e)k 2302(to)s 2541(say)s
5665 2914(this)s 3310(here,)s 3828(b)s 4(ut)k 4190(ine)s 3(xperienced)k
5666 5586(administrators)s 7003(ha)s 4(v)k 3(e)k 7504(made)s
5667 8078(similar)s 1134 0 0 0 240 240 60 0 1178 LoutGr2
5668 0 0 moveto xsize 0 lineto stroke
5672 122 fnt82 0 983(1)m gsave
5675 192 fnt31 0 -42(sudo)m
5678 192 fnt82 425 913(is)m 593(a)s 726(program)s 1422(which)s
5679 1936(allo)s 4(ws)k 2472(users)s 2905(to)s 3097(e)s 2(x)k 2(ecute)k
5680 3723(certain)s 4289(programs)s 5052(as)s 5252(root,)s 5646(according)s
5681 6444(to)s 6636(con\207guration)s 7703(\207les)s 8062(speci\207ed)s 8789(by)s
5682 0 683(the)m 279(system)s 858(administrator)s 10(.)k 240 fnt82
5683 0 52(User)m 511(service)s 1243(daemon)s 2058(and)s 2462(client)s
5684 3052(speci\207cation)s 8652(0.62)s
5694 %%PageResources: font Times-Roman
5696 %%+ font Courier-Bold
5698 0.0500 dup scale 10 setlinewidth
5702 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
5717 1417 -15423 translate
5718 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
5722 240 fnt84 0 13842(22)m 240 fnt82 0 13254(mistak)m 2(es)k
5723 885(with)s 1367(programs)s 2321(lik)s 2(e)k gsave
5724 2733 13308 translate
5729 3133(.)s 0 52(0.62)m 4809(User)s 5320(service)s
5730 6052(daemon)s 6867(and)s 7271(client)s 7861(speci\207cation)s
5739 %%DocumentNeededResources: font Courier-Bold
5740 %%+ font Times-Roman
5741 %%+ font Times-Italic
5743 %%DocumentSuppliedResources: procset LoutStartUp
5744 %%+ procset LoutMarginNotes