2 %%Creator: Basser Lout Version 3.10 (November 1996)
3 %%CreationDate: Sat Oct 9 19:43:49 1999
5 %%DocumentNeededResources: (atend)
6 %%DocumentMedia: Plain 595 842 0 white ()
7 %%DocumentSuppliedResources: (atend)
9 %%BoundingBox: 0 0 595 842
13 %%BeginResource: procset LoutStartUp
14 /m { 3 1 roll moveto show } bind def
15 /s { exch currentpoint exch pop moveto show } bind def
16 /k { exch neg 0 rmoveto show } bind def
17 /ul { gsave setlinewidth dup 3 1 roll
18 moveto lineto stroke grestore } bind def
38 /LoutGr2 { gsave translate LoutGraphic gsave } def
41 { findfont exch scalefont setfont
45 { findfont dup length dict begin
46 {1 index /FID ne {def} {pop pop} ifelse} forall
48 currentdict end definefont pop
54 /LoutEPSFState save def
55 /dict_count countdictstack def
56 /op_count count 1 sub def
59 0 setgray 0 setlinecap
60 1 setlinewidth 0 setlinejoin
61 10 setmiterlimit [] 0 setdash newpath
65 { false setstrokeadjust false setoverprint
71 count op_count sub { pop } repeat
72 countdictstack dict_count sub { end } repeat
77 %%BeginResource encoding vec2
79 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
80 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
81 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
82 /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
83 /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright
84 /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash
85 /zero /one /two /three /four /five /six /seven
86 /eight /nine /colon /semicolon /less /equal /greater /question
87 /at /A /B /C /D /E /F /G
88 /H /I /J /K /L /M /N /O
89 /P /Q /R /S /T /U /V /W
90 /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore
91 /quoteleft /a /b /c /d /e /f /g
92 /h /i /j /k /l /m /n /o
93 /p /q /r /s /t /u /v /w
94 /x /y /z /braceleft /bar /braceright /asciitilde /.notdef
95 /quotesinglbase /quotedblbase /ellipsis /OE /oe /quotedblleft /quotedblright /fi
96 /fl /endash /emdash /bullet /dagger /daggerdbl /florin /fraction
97 /dotlessi /grave /acute /circumflex /tilde /macron /breve /dotaccent
98 /dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek /caron
99 /space /exclamdown /cent /sterling /currency /yen /brokenbar /section
100 /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron
101 /degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered
102 /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown
103 /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
104 /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis
105 /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply
106 /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls
107 /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla
108 /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis
109 /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide
110 /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis
114 %%BeginResource: procset LoutMarginNotes
115 % @PrependGraphic file /usr/lib/lout/include/dl.lpg
117 % path for @FullWidthRule symbol
119 { 0 0 moveto xsize 0 lineto
122 % path for @Box symbol
124 { 0 0 moveto xsize 0 lineto
125 xsize ysize lineto 0 ysize lineto
129 % path for @CurveBox symbol
132 xsize xmark sub xmark xmark 270 360 arc
133 xsize xmark sub ysize xmark sub xmark 0 90 arc
134 xmark ysize xmark sub xmark 90 180 arc
135 xmark xmark xmark 180 270 arc
139 % path for @ShadowBox symbol
141 { xmark 2 mul 0 moveto xsize 0 lineto
142 xsize ysize xmark 2 mul sub lineto
143 xsize xmark sub ysize xmark 2 mul sub lineto
144 xsize xmark sub xmark lineto
145 xmark 2 mul xmark lineto
149 % set up dictionary containing margin note data: parity LoutMargSet -
151 { /LoutMargDict 12 dict def
154 /matr matrix currentmatrix def
156 /lefty ysize def % highest allowable point for top of next left note
157 /righty ysize def % highest allowable point for top of next right note
158 /max { 2 copy gt { pop } { exch pop } ifelse } def
159 /min { 2 copy lt { pop } { exch pop } ifelse } def
163 %translate coordinate system for marginal notes: type LoutMargShift -
164 % where type 0 is left margin, 1 is right margin, 2 is outer, 3 is inner
168 % y coordinate of top of note, in margin coords, before vertical adjust
169 0 ysize transform matr itransform exch pop
171 % decide whether left or right margin based on type and parity
172 exch [ 0 1 parity 1 parity sub ] exch get 0 eq
174 % left margin: adjust top of note downwards if overlaps previous note
177 % bottom of note is new lefty position and also translate position
178 ysize sub dup /lefty exch def
180 % want right edge of note at coordinate zero
184 % right margin: adjust top of note downwards if overlaps previous note
187 % bottom of note is new righty position and also translate position
188 ysize sub dup /righty exch def
190 % want left edge of note at coordinate rightx
194 % stack now contains coord of bottom left corner in margin coordinates
195 matr setmatrix translate
199 % create LoutPageDict with left, right, foot, top for @Place symbol users
202 /LoutPageDict 5 dict def
204 /matr matrix currentmatrix def
218 %%IncludeResource: font Times-Roman
219 /Times-Romanfnt82 vec2 /Times-Roman LoutRecode
220 /fnt82 { /Times-Romanfnt82 LoutFont } def
221 %%IncludeResource: font Times-Bold
222 /Times-Boldfnt84 vec2 /Times-Bold LoutRecode
223 /fnt84 { /Times-Boldfnt84 LoutFont } def
224 %%IncludeResource: font Courier-Bold
225 /Courier-Boldfnt31 vec2 /Courier-Bold LoutRecode
226 /fnt31 { /Courier-Boldfnt31 LoutFont } def
227 %%IncludeResource: font Times-Italic
228 /Times-Italicfnt83 vec2 /Times-Italic LoutRecode
229 /fnt83 { /Times-Italicfnt83 LoutFont } def
234 %%PageResources: font Times-Roman
236 %%+ font Courier-Bold
237 %%+ font Times-Italic
239 0.0500 dup scale 10 setlinewidth
244 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
259 1417 -15423 translate
260 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
264 340 fnt84 1359 13532(User)m 2118(ser)s 3(vice)k 3190(daemon)s
265 4421(and)s 5047(client)s 5922(speci\207cation)s 200 fnt82 2792 13016(Ian)m
269 200 fnt31 1031 -43(<ian@davenant.greenend.org.uk>)m
271 240 fnt82 4245 12513(0.64.1)m
272 9066 609 0 609 240 240 60 0 11253 LoutGr2
273 newpath 0 ysize 0.3 ft sub moveto
279 320 fnt84 0 5(0.1.)m 628(Abstract)s
281 0 10959(This)m 476(is)s
282 686(a)s 852(speci\207cation)s 2117(for)s 2455(a)s 2621(Unix)s
283 3155(system)s 3879(f)s 2(acility)k 4606(to)s 4845(allo)s 6(w)k
284 5424(one)s 5826(program)s 6696(to)s 6935(in)s 9(v)k 4(ok)k 2(e)k
285 7628(another)s 8405(when)s 0 10719(only)m 480(limited)s 1214(trust)s
286 1698(e)s 3(xists)k 2290(between)s 3144(them.)s 9066 670 0 670 240 240 60 0 9695 LoutGr2
287 newpath 0 ysize 0.3 ft sub moveto
294 0 66(0.2.)m 628(Copyright)s 2109(Notice)s
299 240 fnt31 0 -52(userv)m
302 560 9401(is)m 770(Cop)s 2(yright)k 1799(1996-1999)s 2889(Ian)s
303 3251(Jackson.)s gsave
306 240 fnt31 0 -52(userv)m
308 544 8993(is)m 737(free)s
309 1146(softw)s 2(are;)k 2062(you)s 2460(can)s 2832(redistrib)s 4(ute)k
310 3955(it)s 4130(and/or)s 4784(modify)s 5512(it)s 5688(under)s
311 6276(the)s 6607(terms)s 7172(of)s 7426(the)s 7757(GNU)s
312 8315(General)s 0 8753(Public)m 659(License)s 1453(as)s 1698(published)s
313 2682(by)s 2971(the)s 3314(Free)s 3789(Softw)s 2(are)k
314 4699(F)s 3(oundation;)k 5894(either)s 6492(v)s 3(ersion)k
315 7245(2)s 7414(of)s 7680(the)s 8023(License,)s 8867(or)s
316 0 8513(\(at)m 311(your)s 810(option\))s 1550(an)s 3(y)k
317 1947(later)s 2430(v)s 3(ersion.)k 0 8105(This)m 476(program)s
318 1346(is)s 1556(distrib)s 4(uted)k 2632(in)s 2875(the)s
319 3223(hope)s 3745(that)s 4163(it)s 4355(will)s 4781(be)s
320 5063(useful,)s 5754(b)s 4(ut)k 240 fnt83 6116 8107(without)m
321 6898(any)s 7300(warr)s 3(anty)k 240 fnt82 8171 8105(;)m
322 8283(without)s 0 7864(e)m 6(v)k 3(en)k 500(the)s
323 848(implied)s 1636(w)s 2(arranty)k 2537(of)s 240 fnt83
324 2808 7866(mer)m 8(c)k 3(hantability)k 240 fnt82 4367 7864(or)m
325 240 fnt83 4626 7866(\207tness)m 5279(for)s 5623(a)s 5798(particular)s
326 6833(purpose)s 240 fnt82 7598 7864(.)m 7702(See)s 8103(the)s
327 8451(GNU)s 0 7624(General)m 811(Public)s 1475(License)s 2274(for)s
328 2612(more)s 3159(details.)s 0 7216(Y)m 26(ou)k 442(should)s
329 1139(ha)s 4(v)k 3(e)k 1640(re)s 1821(cei)s 6(v)k 3(ed)k
330 2494(a)s 2660(cop)s 2(y)k 3178(of)s 3449(the)s
331 3797(GNU)s 4372(Gen)s 4768(er)s 4953(al)s 5180(Pub)s
332 5546(lic)s 5837(Li)s 6043(cense)s 6630(along)s 7215(with)s
336 240 fnt31 0 -52(userv)m
338 8197(;)s 8309(if)s 8526(not,)s
339 0 6975(write)m 546(to)s 785(the)s 1133(Free)s 1613(Soft)s
340 2011(w)s 2(are)k 2529(F)s 3(oun)k 3016(da)s
341 3242(tion,)s 3721(59)s 4012(T)s 16(em)k 4434(ple)s
342 4782(Place)s 5355(-)s 5483(Suite)s 6030(330,)s 6497(Boston,)s
343 7283(MA)s 7726(02111-1307,)s 0 6735(USA.)m 9066 610 0 610 240 240 60 0 5771 LoutGr2
344 newpath 0 ysize 0.3 ft sub moveto
353 0 5477(1.)m 1200(Introduction)s 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 8851(11)s 0 3126(4.3.)m 1200(Errors)s 1847(in)s 2090(the)s
364 2438(con\207guration)s 3771(\207le)s 8833(16)s 0 2888(4.4.)m 1200(Def)s 2(aults)k
365 8833(16)s 0 2661(5.)m 1200(Information)s 2398(passed)s 3094(through)s
366 3896(the)s 4244(client/daemon)s 5655(combination)s 8839(18)s 0 2423(6.)m
367 1200(Applications)s 2473(and)s 2877(notes)s 3433(on)s 3730(use)s
368 8831(20)s 0 2185(6.1.)m 1200(Standard)s 2108(services)s 2928(and)s
369 3332(directory)s 4248(management)s 8831(20)s 0 1947(6.2.)m 1200(Reducing)s
370 2171(the)s 2519(number)s 3310(of)s 3581(absolutely)s 4618(pri)s 6(vile)k 3(ged)k
371 5636(subsystems)s 8831(20)s 0 1709(6.3.)m 1200(Do)s 1546(not)s
372 1912(gi)s 6(v)k 3(e)k 2371(a)s 3(w)k 2(ay)k
373 2925(e)s 3(xcessi)k 6(v)k 3(e)k 3885(pri)s 6(vile)k 3(ge)k
377 240 fnt31 0 -52(userv)m
379 5520(-using)s 6171(f)s 2(acilities)k
380 8831(20)s 0 1471(6.4.)m gsave
383 240 fnt31 0 -52(userv)m
386 1970(not)s 2336(a)s 2502(replacement)s 3729(for)s gsave
395 240 fnt31 0 -52(sudo)m
398 0 1232(6.5.)m 1200(Don')s 4(t)k 1814(gi)s 6(v)k 3(e)k
399 2273(access)s 2934(to)s 3173(general-purpose)s 4769(utilities)s 8851(21)s
400 0 52(User)m 511(service)s 1243(daemon)s 2058(and)s 2462(client)s
401 3052(speci\207cation)s 8491(0.64.1)s
411 %%PageResources: font Times-Roman
414 0.0500 dup scale 10 setlinewidth
418 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
433 1417 -15423 translate
434 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
438 240 fnt84 0 13842(2)m 240 fnt82 0 52(0.64.1)m 4809(User)s
439 5320(service)s 6052(daemon)s 6867(and)s 7271(client)s 7861(speci\207cation)s
450 %%PageResources: font Times-Roman
452 %%+ font Courier-Bold
454 0.0500 dup scale 10 setlinewidth
458 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
473 1417 -15423 translate
474 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
478 240 fnt84 8953 13842(3)m gsave
480 240 fnt82 9066 622 0 622 240 240 60 LoutGraphic
482 newpath 0 ysize 0.3 ft sub moveto
488 340 fnt84 0 4(1.)m 412(Intr)s 6(oduction)k
491 240 fnt82 0 12330(There)m 613(is)s 823(a)s 989(daemon)s
492 1804(which)s 2446(in)s 9(v)k 4(ok)k 2(es)k
493 3227(user)s 3685(service)s 4417(programs)s 5371(\(henceforth)s 6529(`services'\))s
494 7584(in)s 7827(response)s 8720(to)s 0 12090(requests)m 822(by)s
495 1104(callers)s 1765(of)s 2024(a)s 2178(companion)s 3287(client)s
496 3865(program)s 4723(\(henceforth)s 5869(the)s 6205(`client'\))s 7009(and)s
497 7401(according)s 8385(to)s 8611(rules)s 0 11850(set)m 325(forth)s
498 846(in)s 1089(system-wide)s 2353(and)s 2757(user)s 4(-speci\207c)k
499 4013(con\207guration)s 5346(\207les.)s 5848(The)s 6276(companion)s 7397(client)s
500 7987(program)s 0 11610(is)m 210(setuid)s 839(root,)s 1331(and)s
501 1735(ne)s 3(gotiates)k 2752(with)s 3234(the)s 3582(daemon)s
502 4397(through)s 5199(an)s gsave
505 240 fnt31 0 -52(AF_UNIX)m
508 6911(and)s 7315(associated)s 8355(objects)s 0 11370(in)m 243(a)s
509 409(system-wide)s 1673(pri)s 6(v)k 6(ate)k 2380(directory)s
510 3296(set)s 3621(aside)s 4168(for)s 4506(the)s 4854(purpose.)s
511 5716(The)s 6144(user)s 6602(who)s 7068(wishes)s 7770(the)s
512 8118(service)s 8850(to)s 0 11130(be)m 282(performed)s 1335(and)s
513 1739(calls)s 2227(the)s 2575(client)s 3165(is)s 3375(called)s
514 4003(the)s 4351(`calling)s 5133(user';)s 5722(the)s 6070(process)s
515 6838(which)s 7480(calls)s 7968(the)s 8316(client)s 8906(is)s
516 0 10890(called)m 628(the)s 976(`calling)s 1758(process'.)s 0 10482(The)m
517 428(daemon)s 1243(and)s 1647(the)s 1995(client)s 2585(are)s
518 2932(responsible)s 4077(for)s 4415(ensuring)s 5292(that)s 5710(information)s
519 6895(is)s 7105(safely)s 7729(carried)s 8449(across)s 0 10242(the)m
520 338(security)s 1138(boundary)s 2087(between)s 2931(the)s 3269(tw)s 2(o)k
521 3669(users,)s 4257(and)s 4650(that)s 5058(the)s 5396(processes)s
522 6353(on)s 6640(either)s 7233(side)s 7664(cannot)s 8351(interact)s
523 0 10002(with)m 482(each)s 977(other)s 1528(in)s 1771(an)s 3(y)k
524 2168(une)s 3(xpected)k 3313(w)s 2(ays.)k 0 52(User)m
525 511(service)s 1243(daemon)s 2058(and)s 2462(client)s 3052(speci\207cation)s
536 %%PageResources: font Times-Roman
538 %%+ font Courier-Bold
539 %%+ font Times-Italic
541 0.0500 dup scale 10 setlinewidth
545 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
560 1417 -15423 translate
561 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
565 240 fnt84 0 13842(4)m gsave
567 240 fnt82 9066 688 0 688 240 240 60 LoutGraphic
569 newpath 0 ysize 0.3 ft sub moveto
575 340 fnt84 0 70(2.)m 412(Client)s
576 1382(pr)s 6(ogram)k 2737(usage)s
581 240 fnt31 0 -52(userv)m
585 240 fnt83 0 -52(options)m
587 2003([\211\211])s gsave
590 240 fnt83 0 -52(service\211user)m
596 240 fnt83 0 -52(service\211name)m
601 240 fnt83 0 -52(ar)m 8(gument)k
604 8181(\202])s 0 -305(userv)m gsave
607 240 fnt83 0 -52(options)m
609 2003(\211B|\211\211builtin)s
610 3875([\211\211])s gsave
613 240 fnt83 0 -52(b)m 4(uiltin\211service)k
619 240 fnt83 0 -52(info\211ar)m 8(gument)k
624 0 11208(service-user)m 240 fnt82 1232 11206(speci\207es)m 2106(which)s 2748(user)s
625 3206(is)s 3416(to)s 3655(pro)s 3(vide)k 4439(the)s
626 4787(service.)s 5567(The)s 5995(user)s 6453(may)s 6919(be)s
627 7201(a)s 7367(login)s 7916(name)s 8490(or)s 8749(a)s
628 0 10966(numeric)m 836(uid,)s 1249(or)s gsave
631 240 fnt31 0 -52(\211)m
634 1668(to)s 1907(indicate)s 2719(that)s 3137(the)s 3485(service)s
635 4217(user)s 4675(is)s 4885(to)s 5124(be)s 5406(the)s
636 5754(same)s 6301(as)s 6551(the)s 6899(calling)s 7602(user)s 13(.)k
637 0 10558(The)m 428(service)s 1160(name)s 1734(is)s 1944(interpreted)s
638 3036(by)s 3330(the)s 3678(userv)s 153 fnt82 4191 10647(1)m
639 240 fnt82 4311 10558(daemon)m 5126(on)s 5423(behalf)s 6092(of)s
640 6363(the)s 6711(service)s 7443(user)s 13(.)k 7932(It)s
641 8137(will)s 8563(often)s 0 10318(be)m 282(the)s 630(name)s
642 1204(of)s 1475(a)s 1641(program.)s 9066 670 0 670 240 240 60 0 9294 LoutGr2
643 newpath 0 ysize 0.3 ft sub moveto
649 320 fnt84 0 66(2.1.)m
652 0 8832(Single-letter)m 1233(options)s 1983(may)s 2442(be)s
653 2718(combined)s 3714(as)s 3957(is)s 4161(usual)s 4714(with)s
654 5190(Unix)s 5718(programs,)s 6721(and)s 7119(the)s 7461(v)s 6(alue)k
655 8022(for)s 8354(such)s 8843(an)s 0 8592(option)m 669(may)s
656 1135(appear)s 1832(in)s 2075(the)s 2423(same)s 2970(ar)s 4(gument)k
657 3929(or)s 4188(in)s 4431(the)s 4779(ne)s 3(xt.)k
661 240 fnt31 0 -52(\211B)m
666 240 fnt31 0 -52(\211\211builtin)m
669 742(quests)s 1385(that)s 1797(a)s 1956(b)s 4(uiltin)k
670 2627(ser)s 2905(vice)s 3352(be)s 3628(pro)s 3940(vid)s
671 4244(ed.)s 4567(This)s 5037(is)s 5241(equi)s 6(v)k
672 5762(a)s 5868(lent)s 6279(to)s 6512(us)s 6716(ing)s
676 240 fnt31 0 -52(\211\211override)m
678 8464(op)s 8697(tion)s
679 480 7463(to)m 719(spec)s 1137(i)s 1197(fy)s 1450(a)s
680 1616(string)s 2213(con)s 2556(sist)s 2874(ing)s 3233(of)s
684 240 fnt31 0 -52(execute\211builtin)m
686 5065(fol)s 5325(lo)s 6(wed)k
687 5962(by)s 6256(the)s 240 fnt83 6604 7465(b)m 4(uiltin-)k
688 7291(service)s 240 fnt82 8020 7463(re)m 8201(quest)s 8706(ed,)s
689 480 7223(and)m 870(re)s 1051(quest)s 1556(ing)s 1900(a)s
690 2052(ser)s 2330(vice)s 2769(user)s 3213(of)s gsave
696 3615(\(in)s 3877(di)s 4057(cat)s 4335(ing)s
697 4679(the)s 5012(call)s 5351(ing)s 5696(user\).)s 6322(If)s
698 6538(the)s 6871(b)s 4(uiltin)k 7534(ser)s 7812(vice)s
699 8251(be)s 8473(ing)s 8817(re)s 8998(-)s 480 6983(quest)m
700 985(ed)s 1254(re)s 1435(quires)s 2054(a)s 240 fnt83
701 2204 6985(service-)m 2947(ar)s 8(gument)k 240 fnt82 3905 6983(then)m
702 4358(this)s 4738(must)s 5247(be)s 5513(sup)s 5839(plied)s
703 6359(to)s 6582(the)s 6914(client)s 7488(in)s 7715(the)s
704 8047(same)s 8578(ar)s 8763(gu)s 8998(-)s 480 6742(ment)m
705 1012(as)s 1256(the)s 240 fnt83 1598 6744(b)m 4(uiltin-)k
706 2285(service)s 240 fnt82 2954 6742(.)m 3052(See)s 3447(`Di)s
707 3759(rec)s 4043(ti)s 6(v)k 3(es)k 4530(for)s
708 4862(chang)s 5427(ing)s 5780(e)s 3(x)k 5998(e)s
709 6100(cu)s 6321(tion)s 6744(set)s 7009(tings',)s 7654(page)s
710 8156(14)s 8444(for)s 8776(de)s 8998(-)s 480 6502(tails)m
711 921(of)s 1184(the)s 1524(b)s 4(uiltin)k 2193(ser)s
712 2471(vices)s 3006(a)s 4(v)k 6(ail)k 3455(able,)s
713 3952(and)s 4348(`Security-)s 5291(o)s 3(v)k 3(erriding)k
714 6326(op)s 6559(tions',)s 7203(page)s 7703(7)s 7863(for)s
715 8193(de)s 8415(tails)s 8855(of)s 480 6261(the)m gsave
719 0 -52(\211\211override)m
721 1877(op)s 2110(tions.)s 2733(The)s 3155(ac)s
722 3360(tu)s 3541(al)s 3762(ser)s 4040(vice)s 4488(name)s
723 5056(passed)s 5746(will)s 6166(be)s 6442(the)s 240 fnt83
724 6784 6263(b)m 4(uiltin-)k 7471(service)s 240 fnt82 8140 6261(;)m
725 8246(note)s 8708(that)s 480 6021(this)m 876(ac)s 1081(tu)s
726 1262(al)s 1489(ser)s 1767(vice)s 2221(name)s 2795(\(as)s
727 3124(op)s 3357(posed)s 3974(to)s 4213(the)s 4561(o)s 3(v)k 3(er)k
728 4980(ride)s 5407(data\))s 5933(and)s 6337(the)s 240 fnt83
729 6685 6023(info-)m 7124(ar)s 8(gument)k 240 fnt82 8038 6021(s)m
730 8182(sup)s 8508(plied)s 480 5781(will)m 906(be)s 1188(ig)s
731 1367(nored)s 1970(by)s 2264(most)s 2789(b)s 4(uiltin)k
732 3466(ser)s 3744(vices;)s 4347(the)s 4695(o)s 3(v)k 3(er)k
733 5114(ride)s 5541(mech)s 6056(a)s 6162(nism)s 6687(and)s
737 240 fnt31 0 -52(execute\211builtin)m
739 8652(will)s 480 5541(be)m 762(used)s
740 1259(to)s 1498(en)s 1721(sure)s 2175(that)s 2593(the)s
741 2941(right)s 3452(b)s 4(uiltin)k 4129(ser)s 4407(vice)s
742 4861(is)s 5071(called)s 5699(with)s 6181(the)s 6529(right)s
743 240 fnt83 7040 5543(service-)m 7783(ar)s 8(gument)k 240 fnt82
747 240 fnt31 0 -52(\211f)m gsave
756 240 fnt83 0 -52(modi\207er)m 2(s)k
762 240 fnt83 0 -52(\207lename)m
769 240 fnt31 0 -52(\211\211file)m gsave
778 240 fnt83 0 -52(modi\207er)m 2(s)k
784 240 fnt83 0 -52(\207lename)m
788 480 4667(Requests)m 1384(that)s
789 1791(data)s 2238(be)s 2509(copied)s 3194(in)s 3426(and)s
790 3819(out)s 4174(of)s 4434(the)s 4771(service)s 5492(using)s
791 6053(pipes.)s 6651(F)s 3(or)k 7029(each)s 7513(\207le)s
792 7863(or)s 8111(descriptor)s 480 4427(this)m 858(will)s 1266(be)s
793 1530(done)s 2033(by)s 2309(creating)s 3113(a)s 3261(pipe,)s
794 3761(one)s 4145(end)s 4531(of)s 4784(which)s 5407(is)s
795 5599(passed)s 6277(to)s 6498(the)s 6827(service)s 7541(program)s
796 8393(and)s 8778(the)s 480 4187(other)m 1028(end)s 1429(of)s
797 1697(which)s 2336(is)s 2543(passed)s 3236(to)s 3472(a)s
798 3635(cop)s 2(y)k 4149(of)s gsave
801 240 fnt31 0 -52(cat)m
804 4774(in)s 9(v)k 4(ok)k 2(ed)k 5586(by)s
805 5877(the)s 6222(client;)s 6861(the)s 7206(other)s 7754(\207le)s
806 8111(descriptor)s 480 3947(passed)m 1161(to)s gsave
809 240 fnt31 0 -52(cat)m
812 1728(will)s 2139(be)s 2405(one)s 2791(inherited)s 3683(by)s
813 3961(the)s 4293(client)s 4868(program)s 5722(from)s 6230(the)s
814 6563(caller)s 7136(or)s 7379(one)s 7766(opened)s 8500(by)s
815 8778(the)s 480 3707(client)m 1063(program)s 1926(on)s 2215(behalf)s
816 2877(of)s 3140(the)s 3481(caller)s 13(.)k 4153(The)s
817 4574(descriptor)s 5581(in)s 5817(the)s 6157(service)s 6882(program)s
818 7744(that)s 8155(should)s 8844(be)s 480 3466(connected)m 1503(must)s
819 2023(be)s 2299(speci\207ed)s 3202(as)s 240 fnt83 3446 3468(fd)m
820 240 fnt82 3638 3466(,)m 3740(either)s 4338(as)s 4582(a)s
821 4743(decimal)s 5548(number)s 6334(or)s 6588(as)s 6832(one)s
822 7229(of)s 7494(the)s 7837(strings)s gsave
825 240 fnt31 0 -52(stdin)m
831 240 fnt31 0 -52(stdout)m
839 1970(.)s 2059(The)s 2473(ne)s 3(xt)k
840 2927(ar)s 4(gument)k 3871(is)s 4067(a)s 4218(\207lename)s
841 5082(which)s 5709(will)s 6121(be)s 6388(opened)s 7123(by)s
842 7403(the)s 7736(client)s 8311(with)s 8778(the)s 480 2985(pri)m 6(vile)k 3(ges)k
843 1458(of)s 1722(the)s 2064(calling)s 2760(user)s 13(.)k
844 240 fnt83 3303 2987(modi\207er)m 2(s)k 240 fnt82 4240 2985(is)m
845 4444(used)s 4934(to)s 5166(specify)s 5904(whether)s 6727(the)s
846 7069(\207le)s 7423(or)s 7676(descriptor)s 8684(is)s 8887(to)s
847 480 2745(be)m 762(read)s 1230(from)s 1754(or)s 2012(written)s
848 2745(to.)s 3034(It)s 3239(consists)s 4046(of)s 4317(a)s
849 4482(series)s 5076(of)s 5346(w)s 2(ords)k 5980(separated)s
850 6939(by)s 7233(commas.)s 8133(A)s 8362(comma)s 480 2504(may)m
851 946(separate)s 1784(the)s 240 fnt83 2132 2506(modi\207er)m 2(s)k
852 240 fnt82 3076 2504(from)m 3600(the)s 240 fnt83 3948 2506(fd)m
853 240 fnt82 4200 2504(and)m 4604(is)s 4814(required)s 5668(if)s
854 240 fnt83 5885 2506(fd)m 240 fnt82 6137 2504(is)m 6347(not)s
855 6713(numeric.)s 7660(The)s 8088(modi\207er)s 480 2264(w)m 2(ords)k
859 240 fnt31 0 -52(read)m
864 240 fnt31 0 -52(O_RDONLY)m
867 1761 1784(:)m 1867(Allo)s 6(w)k 2513(reading)s 3283(and)s
868 3687(not)s 4053(writing.)s 4847(May)s 5340(not)s 5706(be)s
869 5988(used)s 6485(with)s gsave
872 240 fnt31 0 -52(write)m
875 7786(things)s 8422(that)s 960 1544(imply)m 1572(it.)s gsave
881 1134 0 0 0 240 240 60 0 948 LoutGr2
882 0 0 moveto xsize 0 lineto stroke
886 122 fnt82 0 753(1)m gsave
889 192 fnt31 0 -42(userv)m
892 192 fnt82 505 683(is)m 673(short)s 1103(for)s 1373(`user)s
893 1802(services',)s 2566(and)s 2890(is)s 3058(pronounced)s 4010(`you-serv)s 2(e'.)k
894 240 fnt82 0 52(0.64.1)m 4809(User)s 5320(service)s 6052(daemon)s
895 6867(and)s 7271(client)s 7861(speci\207cation)s
905 %%PageResources: font Times-Roman
907 %%+ font Courier-Bold
908 %%+ font Times-Italic
910 0.0500 dup scale 10 setlinewidth
914 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
929 1417 -15423 translate
930 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
934 240 fnt84 8953 13844(5)m gsave
937 240 fnt31 0 -52(O_WRONLY)m
940 1761 13254(:)m 1867(Allo)s 6(w)k 2513(writing)s 3256(and)s
941 3660(not)s 4026(reading.)s 240 fnt83 4847 13256(Doesn')m 7(t)k
942 5661(truncate)s 6511(or)s 6789(cr)s 8(eate)k 240 fnt82
943 7431 13254(without)m gsave
946 240 fnt31 0 -52(truncate)m
957 240 fnt31 0 -52(write)m
960 2742(things)s 3378(that)s 3796(imply)s 4408(it)s 4600(may)s
961 5066(not)s 5432(be)s 5714(used)s 6211(with)s gsave
970 240 fnt31 0 -52(overwrite)m
972 960 12534(Equi)m 6(v)k 6(alent)k
976 240 fnt31 0 -52(write,create,truncate)m
987 240 fnt31 0 -52(creat)m
992 240 fnt31 0 -52(O_CREAT)m
995 1660 11814(:)m 1766(Creates)s 2533(the)s 2881(\207le)s 3242(if)s
996 3459(necessary)s 15(.)k 4477(Implies)s gsave
999 240 fnt31 0 -52(write)m
1005 240 fnt31 0 -52(exclusive)m
1010 240 fnt31 0 -52(excl)m
1016 240 fnt31 0 -52(O_EXCL)m
1018 1560 11094(:)m 1666(F)s 3(ails)k
1019 2178(if)s 2395(the)s 2743(\207le)s 3104(already)s 3861(e)s 3(xists.)k
1020 4506(Implies)s gsave
1021 5273 11148 translate
1023 240 fnt31 0 -52(write)m
1026 6237 11148 translate
1031 6837(.)s 6941(May)s 7434(not)s 7800(be)s
1032 8082(used)s 8579(with)s gsave
1035 240 fnt31 0 -52(truncate)m
1041 240 fnt31 0 -52(truncate)m
1046 240 fnt31 0 -52(trunc)m
1054 1660 10134(:)m 1766(T)s 8(runcate)k 2663(an)s 3(y)k
1055 3060(e)s 3(xisting)k 3867(\207le.)s 4276(Implies)s gsave
1056 5043 10188 translate
1061 5543(.)s 5647(May)s 6140(not)s 6506(be)s
1062 6788(used)s 7285(with)s gsave
1063 7767 10188 translate
1065 240 fnt31 0 -52(exclusive)m
1071 240 fnt31 0 -52(append)m
1076 240 fnt31 0 -52(O_APPEND)m
1079 1867(All)s 2227(writes)s 2861(will)s 3287(append)s 4037(to)s
1080 4276(the)s 4624(\207le.)s 5033(Implies)s gsave
1083 240 fnt31 0 -52(write)m
1086 6360(\(b)s 4(ut)k 6801(not)s gsave
1089 240 fnt31 0 -52(create)m
1095 240 fnt31 0 -52(sync)m
1100 240 fnt31 0 -52(O_SYNC)m
1103 1560 9174(:)m 1666(Do)s 2012(writes)s 2646(synchronously)s 15(.)k
1104 4132(Implies)s gsave
1107 240 fnt31 0 -52(write)m
1118 240 fnt31 0 -52(nowait)m
1123 240 fnt31 0 -52(close)m
1126 960 8214(These)m 1587(modi\207ers)s 2541(control)s 3273(the)s 3621(beha)s 4(viour)k
1127 4634(of)s 4905(the)s 5253(client,)s 5890(with)s 6372(respect)s
1128 7108(to)s 7347(the)s 7695(pipes)s 8251(carrying)s 960 7974(data)m
1129 1418(to)s 1657(and)s 2061(from)s 2585(the)s 2933(service,)s
1130 3716(when)s 4292(the)s 4640(service)s 5372(terminates.)s 6470(See)s
1131 6871(belo)s 6(w)k 15(.)k gsave
1134 240 fnt31 0 -52(fd)m
1137 960 7494(The)m 240 fnt83 1388 7496(\207lename)m 240 fnt82 2252 7494(is)m
1138 2462(not)s 2828(a)s 2994(\207lename)s 3873(b)s 4(ut)k
1139 4235(a)s 4401(numeric)s 5237(\207le)s 5598(descriptor)s 13(.)k
1140 6644(One)s 7099(or)s 7358(both)s 7841(of)s gsave
1149 240 fnt31 0 -52(write)m
1152 2045(be)s 2327(speci\207ed,)s 3284(and)s 3688(no)s 3981(other)s
1153 4532(w)s 2(ords)k 5166(are)s 5513(allo)s 6(wed.)k
1154 6368(The)s 240 fnt83 6796 7255(\207lename)m 240 fnt82 7660 7253(may)m
1155 8126(also)s 8564(be)s gsave
1158 240 fnt31 0 -52(stdin)m
1164 240 fnt31 0 -52(stdout)m
1169 240 fnt31 0 -52(stderr)m
1172 3146(for)s 3484(\207le)s 3845(descriptor)s 4860(0,)s 5087(1)s
1173 5242(or)s 5501(2)s 5675(respecti)s 6(v)k 3(ely)k 15(.)k
1174 480 6748(If)m 701(no)s 240 fnt83 984 6750(modi\207er)m 2(s)k
1175 240 fnt82 1918 6748(which)m 2550(imply)s gsave
1178 240 fnt31 0 -52(read)m
1184 240 fnt31 0 -52(write)m
1186 4401(are)s 4738(used)s
1187 5226(it)s 5408(is)s 5608(as)s 5848(if)s gsave
1193 6605(had)s 6999(been)s 7498(speci\207ed,)s 8445(e)s 3(xcept)k
1194 480 6508(that)m 898(if)s 1115(the)s 1463(\207ledescriptor)s 2783(0)s
1195 2958(of)s 3229(the)s 3577(service)s 4309(is)s 4519(being)s
1196 5104(opened)s 5854(\(either)s 6536(speci\207ed)s 7444(numerically)s 8639(or)s
1197 480 6268(with)m gsave
1200 240 fnt31 0 -52(stdin)m
1203 1782(is)s 1992(as)s 2242(if)s gsave
1206 240 fnt31 0 -52(overwrite)m
1209 3420(had)s 3824(been)s 4333(speci\207ed)s 5241(\(or)s gsave
1215 6139(if)s 6356(only)s gsave
1218 240 fnt31 0 -52(fd)m
1221 7096(w)s 2(as)k 7517(speci\207ed\).)s 8610(The)s 480 6028(client)m
1222 1064(will)s 1483(also)s 1915(use)s gsave
1225 240 fnt31 0 -52(O_NOCTTY)m
1228 3137(when)s 3707(opening)s 4525(\207les)s 4968(speci\207ed)s 5869(by)s
1229 6156(the)s 6498(caller)s 9(,)k 7118(to)s 7351(a)s 4(v)k 4(oid)k
1230 7926(changing)s 8850(its)s 480 5788(controlling)m 1581(terminal.)s 2539(By)s
1231 2871(def)s 2(ault)k 3591(stdin,)s 4161(stdout)s 4805(and)s
1232 5207(stderr)s 5809(of)s 6079(the)s 6425(service)s 7156(will)s
1233 7580(be)s 7861(connected)s 8887(to)s 480 5548(the)m 811(corresponding)s
1234 2216(descriptors)s 3297(on)s 3577(the)s 3907(client.)s 4524(Diagnostics)s
1235 5686(from)s 6193(the)s 6523(client)s 7096(and)s 7482(daemon)s
1236 8280(will)s 8688(also)s 480 5308(appear)m 1177(on)s 1473(stderr)s 13(.)k
1240 240 fnt31 0 -52(wait)m
1242 2856(is)s 3065(speci\207ed,)s
1243 4022(the)s 4369(client)s 4959(will)s 5384(w)s 2(ait)k
1244 5853(for)s 6190(the)s 6538(pipe)s 7005(to)s 7244(be)s
1245 7525(closed,)s 8243(and)s 8646(only)s 480 5068(e)m 3(xit)k
1246 889(after)s 1379(this)s 1769(has)s 2132(happened.)s 3148(This)s
1247 3618(means)s 4274(that)s 4685(either)s 5282(the)s 5624(recei)s 6(ving)k
1248 6554(end)s 6951(of)s 7216(the)s 7558(pipe)s 8019(connection)s
1249 480 4828(w)m 2(as)k 901(closed)s 1570(while)s 2157(data)s
1250 2615(w)s 2(as)k 3036(still)s 3448(a)s 4(v)k 6(ailable)k
1251 4356(at)s 4588(the)s 4936(sending)s 5734(end,)s 6187(or)s
1252 6446(that)s 6864(the)s 7212(end)s 7616(of)s 7887(\207le)s
1253 8248(w)s 2(as)k 480 4588(reached)m 1279(on)s 1573(the)s
1254 1919(reading)s 2686(\207le)s 3045(descriptor)s 13(.)k 4088(Errors)s
1255 4732(encountered)s 5957(reading)s 6724(or)s 6981(writing)s 7721(in)s
1256 7962(the)s 8307(client)s 8894(at)s 480 4347(this)m 876(stage)s
1257 1423(will)s 1849(be)s 2131(considered)s 3225(a)s 3391(system)s
1258 4115(error)s 4638(and)s 5042(cause)s 5629(the)s 5977(client)s
1259 6567(to)s 6806(e)s 3(xit)k 7221(with)s 7703(status)s
1260 8298(255,)s 8764(b)s 4(ut)k 480 4107(will)m 896(not)s
1261 1251(cause)s 1827(disconnection)s 3203(at)s 3424(the)s 3761(service)s
1262 4482(side)s 4913(since)s 5449(the)s 5786(service)s 6507(has)s
1263 6867(already)s 7613(e)s 3(xited.)k 8347(If)s gsave
1269 480 3867(is)m 676(speci\207ed)s 1569(the)s 1902(client)s
1270 2477(will)s 2888(immediately)s 4121(close)s 4653(the)s 4987(pipe)s
1271 5440(connection)s 6532(by)s 6811(killing)s 7473(the)s 7806(rele)s 6(v)k 6(ant)k
1272 8608(cop)s 2(y)k 480 3627(of)m gsave
1275 240 fnt31 0 -52(cat)m
1278 1044(.)s 1141(If)s 1364(the)s 1705(service)s 2429(uses)s
1279 2885(the)s 3226(descriptor)s 4234(it)s 4418(will)s 4837(get)s
1283 240 fnt31 0 -52(SIGPIPE)m
1288 240 fnt31 0 -52(EPIPE)m
1291 6765(\))s 6886(for)s 7217(a)s 7376(writing)s 8111(descriptor)s
1292 480 3387(or)m 736(end)s 1137(of)s 1404(\207le)s 1762(for)s
1293 2096(a)s 2259(reading)s 3025(one;)s 3480(the)s 3824(descriptor)s
1294 4836(opened)s 5582(by)s 5873(or)s 6128(passed)s 6821(to)s
1295 7056(the)s 7401(client)s 7987(will)s 8410(also)s 8844(be)s
1296 480 3147(closed.)m 1255(If)s gsave
1299 240 fnt31 0 -52(nowait)m
1302 2355(speci\207ed)s 3263(then)s 3732(the)s 4080(client)s 4670(will)s
1303 5096(not)s 5462(w)s 2(ait)k 5931(and)s 6335(the)s
1304 6683(connection)s 7790(will)s 8216(remain)s 480 2907(open)m 1003(after)s
1305 1499(the)s 1847(client)s 2437(terminates.)s 3535(Data)s 4046(may)s
1306 4512(continue)s 5392(to)s 5631(be)s 5913(passed)s 6609(between)s
1307 7463(the)s 7811(inheritors)s 8777(of)s 480 2667(the)m 828(rele)s 6(v)k 6(ant)k
1308 1645(descriptor)s 2660(on)s 2957(the)s 3305(service)s 4037(side)s
1309 4478(and)s 4882(the)s 5230(corresponding)s 6652(\207le)s 7013(or)s
1310 7272(descriptor)s 8287(on)s 8584(the)s 480 2427(client)m 1070(side)s
1311 1511(until)s 2004(either)s 2607(side)s 3048(closes)s 3683(their)s
1312 4180(descriptor)s 13(.)k 5226(This)s 5702(should)s 6399(not)s
1313 6765(usually)s 7510(be)s 7792(speci\207ed)s 8700(for)s 480 2187(stderr)m
1314 1083(\(or)s 1421(stdout)s 2066(if)s gsave
1317 240 fnt31 0 -52(\211\211signals)m
1320 3945(is)s 4155(used\))s 4722(since)s 5269(diagnostics)s
1321 6396(from)s 6920(the)s 7268(service)s 8000(side)s 8441(may)s
1322 480 1947(arri)m 6(v)k 3(e)k 1083(after)s 1579(the)s
1323 1927(client)s 2517(has)s 2887(e)s 3(xited)k 3526(and)s
1324 3930(be)s 4212(confused)s 5134(with)s 5616(e)s 3(xpected)k
1325 6521(output.)s 7297(The)s 7725(def)s 2(ault)k 8446(is)s
1329 240 fnt31 0 -52(wait)m
1331 480 1707(for)m 818(writing)s 1561(\207le)s
1332 1922(descriptors)s 3021(and)s gsave
1335 240 fnt31 0 -52(close)m
1338 4323(reading)s 5093(ones.)s gsave
1341 240 fnt31 0 -52(\211w)m gsave
1350 240 fnt83 0 -52(action)m
1358 0 -52(\211\211fdwait)m gsave
1361 240 fnt83 0 -52(fd)m
1371 480 833(Sets)m 924(the)s 1267(action)s 1903(on)s
1372 2194(termination)s 3347(of)s 3613(the)s 3956(service)s 4682(for)s
1373 5015(the)s 5358(speci\207ed)s 6261(\207le)s 6616(descriptor;)s 240 fnt83
1374 7678 835(action)m 240 fnt82 8325 833(must)m 8844(be)s 0 52(User)m
1375 511(service)s 1243(daemon)s 2058(and)s 2462(client)s 3052(speci\207cation)s
1386 %%PageResources: font Times-Roman
1388 %%+ font Courier-Bold
1389 %%+ font Times-Italic
1391 0.0500 dup scale 10 setlinewidth
1395 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
1410 1417 -15423 translate
1411 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
1415 240 fnt84 0 13842(6)m gsave
1418 240 fnt31 0 -52(wait)m
1424 240 fnt31 0 -52(nowait)m
1427 1886 13305 translate
1432 2439(as)s 2682(described)s 3650(abo)s 3(v)k 3(e.)k
1433 4313(The)s 4734(\207le)s 5088(descriptor)s 6096(must)s 6615(be)s
1434 6890(speci\207ed)s 7791(as)s 8034(open)s 8550(when)s 480 13011(this)m
1435 876(option)s 1545(is)s 1755(encountered;)s 3036(this)s 3432(option)s
1436 4101(is)s 4311(o)s 3(v)k 3(erridden)k 5398(by)s
1437 5692(an)s 3(y)k 6089(later)s gsave
1438 6572 13065 translate
1440 240 fnt31 0 -52(\211\211file)m
1444 7491 13065 translate
1446 240 fnt31 0 -52(\211\211fdwait)m
1448 8352(option)s 480 12771(-)m
1449 608(e)s 6(v)k 3(en)k 1108(by)s 1402(a)s
1451 1568 12825 translate
1453 240 fnt31 0 -52(\211\211file)m
1455 2228(which)s 2870(does)s 3360(not)s
1456 3726(specify)s 4470(an)s 4753(action)s 5394(on)s 5691(termination)s
1457 6849(\(in)s 7171(this)s 7567(case)s 8034(the)s 8382(def)s 2(ault)k
1458 480 12531(will)m 906(be)s 1188(used,)s 1734(as)s 1984(described)s
1459 2958(abo)s 3(v)k 3(e\).)k gsave
1462 240 fnt31 0 -52(\211D)m
1466 240 fnt83 0 -52(name)m
1471 240 fnt83 0 -52(value)m
1479 240 fnt31 0 -52(\211\211defvar)m gsave
1482 240 fnt83 0 -52(name)m
1488 240 fnt83 0 -52(value)m
1492 480 11667(Set)m 845(a)s 1011(user)s 4(-)k
1493 1473(de\207ned)s 2236(v)s 6(ari)k 2595(able)s 240 fnt83
1494 3049 11669(name)m 240 fnt82 3621 11667(to)m 240 fnt83 3860 11669(val)m
1495 4152(ue)s 240 fnt82 4371 11667(.)m 4475(These)s 5102(user)s 4(-)k
1496 5564(de\207ned)s 6327(v)s 6(ari)k 6686(ables)s 7228(are)s
1497 7575(made)s 8149(a)s 4(v)k 6(ail)k 8598(able)s
1498 480 11427(in)m 723(the)s 1071(con)s 1414(\207g)s 1660(u)s
1499 1775(ra)s 1960(tion)s 2389(lan)s 2678(guage)s 3306(as)s
1500 3556(the)s 3904(pa)s 4130(ram)s 4501(e)s 4603(ters)s
1502 4998 11481 translate
1504 240 fnt31 0 -52(u\211)m gsave
1507 240 fnt83 0 -52(name)m
1512 6168(are)s 6515(passed)s 7211(to)s 7450(the)s 7798(ser)s
1513 8076(vice)s 8530(in)s 8773(en)s 8996(-)s 480 11187(vi)m
1514 660(ron)s 976(ment)s 1508(v)s 6(ari)k 1867(ables)s
1516 2402 11241 translate
1518 240 fnt31 0 -52(USERV_U_)m gsave
1521 240 fnt83 0 -52(name)m
1526 240 fnt83 3806 11189(name)m 240 fnt82 4371 11187(may)m 4831(con)s
1527 5174(tain)s 5582(only)s 6055(al)s 6222(phanu)s 6803(mer)s
1528 7174(ics)s 7483(and)s 7880(un)s 8117(der)s 8422(scores,)s
1529 480 10947(and)m 884(must)s 1409(start)s 1879(with)s 2360(a)s
1530 2526(let)s 2764(ter)s 13(.)k 3106(If)s 3335(se)s 6(v)k
1531 3643(er)s 3828(al)s 4055(de\207)s 4406(ni)s 4586(tions)s
1532 5102(are)s 5449(gi)s 6(v)k 5744(en)s 6026(for)s
1533 6364(the)s 6712(same)s 240 fnt83 7258 10949(name)m 240 fnt82
1534 7830 10947(then)m 8299(only)s 8778(the)s 480 10707(last)m 871(is)s
1535 1081(ef)s 1278(fec)s 1562(ti)s 6(v)k 3(e.)k
1539 240 fnt31 0 -52(\211t)m gsave
1542 240 fnt83 0 -52(seconds)m
1550 0 -52(\211\211timeout)m gsave
1553 240 fnt83 0 -52(seconds)m
1557 480 9882(T)m 8(ime)k
1558 1029(out)s 1392(the)s 1736(service)s 2465(if)s 2678(it)s
1559 2867(tak)s 2(es)k 3403(longer)s 4071(than)s 240 fnt83
1560 4536 9884(seconds)m 240 fnt82 5346 9882(seconds)m 6151(\(a)s 6393(positi)s 6(v)k 3(e)k
1561 7193(inte)s 3(ger)k 9(,)k 7948(in)s 8187(decimal\).)s
1562 480 9641(T)m 8(imeout)k 1331(will)s 1746(produce)s 2562(a)s
1563 2717(diagnostic)s 3742(on)s 4028(stderr)s 4620(and)s 5013(an)s
1564 5284(e)s 3(xit)k 5688(status)s 6272(of)s 6532(255.)s
1565 6985(If)s 240 fnt83 7204 9643(seconds)m 240 fnt82 8006 9641(is)m
1566 8205(zero)s 8657(then)s 480 9401(no)m 773(timeout)s 1563(will)s
1567 1989(be)s 2271(implemented)s 3577(\(this)s 4052(is)s 4262(the)s
1568 4610(def)s 2(ault\).)k gsave
1571 240 fnt31 0 -52(\211S)m
1574 380 9009(method)m gsave
1577 240 fnt31 0 -52(\211\211signals)m
1579 1081 8769(method)m 240 fnt82
1580 480 8527(Af)m 6(fects)k 1212(the)s 1544(handling)s 2420(of)s
1581 2675(the)s 3008(e)s 3(xit)k 3407(status)s 3987(when)s
1582 4547(the)s 4879(service)s 5596(terminates)s 6625(due)s 7012(to)s
1583 7235(a)s 7386(signal.)s 8045(\(The)s 8536(client)s 480 8286(will)m
1584 906(al)s 2(w)k 2(ays)k 1617(\207nish)s 2206(by)s
1585 2500(calling)s gsave
1588 240 fnt31 0 -52(_exit)m
1591 4076(that)s 4494(only)s 4974(numbers)s 5849(from)s 6373(0)s
1592 6548(to)s 6787(255)s 7193(can)s 7582(be)s 7864(returned)s
1593 8718(and)s 480 8046(not)m 830(the)s 1162(full)s 1532(range)s
1594 2102(of)s 2357(numbers)s 3216(and)s 3603(signal)s 4213(indications)s
1595 5297(which)s 5922(can)s 6295(be)s 6561(returned)s 7398(by)s
1599 240 fnt31 0 -52(wait)m
1602 480 7805(of)m 751(system)s 1475(calls.\))s 2160(The)s 240 fnt83
1603 2588 7807(method)m 240 fnt82 3359 7805(may)m 3825(be)s 4107(one)s
1604 4509(of)s 4780(the)s 5128(follo)s 6(wing:)k 240 fnt83
1605 600 7567(status)m 240 fnt82 960 7325(The)m 1386(client')s 13(s)k
1606 2123(e)s 3(xit)k 2536(status)s 3128(will)s 3552(be)s
1607 240 fnt83 3831 7327(status)m 240 fnt82 4384 7325(.)m 4486(This)s
1608 4959(will)s 5383(not)s 5746(be)s 6026(distinguishable)s 7527(from)s
1609 8049(the)s 8394(service)s 960 7084(really)m 1557(ha)s 4(ving)k
1610 2258(e)s 3(xited)k 2897(with)s 3379(code)s 240 fnt83
1611 3887 7086(status)m 240 fnt82 4440 7084(.)m 4544(This)s 5020(method)s
1612 5796(is)s 6006(the)s 6354(def)s 2(ault,)k 7122(with)s
1613 7604(a)s 240 fnt83 7770 7086(status)m 240 fnt82 8383 7084(of)m
1617 240 fnt31 0 -52(number)m
1622 240 fnt31 0 -52(number\211nocore)m
1625 960 6364(The)m 1388(client')s 13(s)k 2128(e)s 3(xit)k
1626 2543(status)s 3138(will)s 3564(be)s 3846(the)s 4194(number)s
1627 4985(of)s 5256(the)s 5604(signal)s 6230(which)s 6872(caused)s
1628 7581(the)s 7929(termination)s 960 6124(of)m 1231(the)s 1579(service.)s
1632 240 fnt31 0 -52(number)m
1634 3249(is)s 3459(used)s
1635 3956(rather)s 4572(than)s gsave
1638 240 fnt31 0 -52(number\211nocore)m
1641 6871(128)s 7278(will)s 7704(be)s 7986(added)s 960 5884(if)m
1642 1177(the)s 1525(service)s 2257(dumped)s 3087(core.)s gsave
1648 4262(is)s 4472(v)s 3(ery)k 4948(lik)s 2(e)k
1649 5360(the)s 5708(e)s 3(xit)k 6123(code)s 6631(mangling)s
1650 7588(done)s 8110(by)s 8404(the)s 960 5644(Bourne)m 1721(shell.)s
1654 240 fnt31 0 -52(highbit)m
1656 960 5164(The)m 1388(client')s 13(s)k
1657 2128(e)s 3(xit)k 2543(status)s 3138(will)s 3564(be)s
1658 3846(the)s 4194(number)s 4985(of)s 5256(the)s 5604(signal)s
1659 6230(with)s 6712(128)s 7119(added.)s 7795(If)s 8025(the)s
1660 8373(service)s 960 4924(e)m 3(xits)k 1459(normally)s 2376(with)s
1661 2858(an)s 3141(e)s 3(xit)k 3556(code)s 4064(of)s
1662 4335(greater)s 5057(than)s 5526(127)s 5934(then)s 6403(127)s
1663 6811(will)s 7237(be)s 7519(returned.)s gsave
1666 240 fnt31 0 -52(stdout)m
1669 960 4444(The)m 1375(service')s 13(s)k 2247(numeric)s 3069(w)s 2(ait)k
1670 3524(status)s 4105(as)s 4341(tw)s 2(o)k 4737(decimal)s
1671 5534(numbers)s 6395(\(high)s 6943(byte)s 7397(\207rst\))s 7882(and)s
1672 8272(a)s 8424(te)s 3(xtual)k 960 4204(description)m 2079(of)s
1673 2350(its)s 2626(meaning)s 3503(will)s 3929(be)s 4211(printed)s
1674 4946(to)s 5185(the)s 5533(client')s 13(s)k 6273(standard)s
1675 7141(output.)s 7857(It)s 8062(will)s 8488(be)s 960 3964(preceded)m
1676 1865(by)s 2142(a)s 2292(ne)s 6(wline)k 3082(and)s
1677 3470(follo)s 6(wed)k 4355(by)s 4633(an)s 4899(e)s 3(xtra)k
1678 5417(ne)s 6(wline,)k 6258(and)s 6646(the)s 6977(numbers)s
1679 7836(are)s 8166(separated)s 960 3724(from)m 1484(each)s 1979(other)s
1680 2530(and)s 2934(from)s 3458(the)s 3806(te)s 3(xtual)k
1681 4508(description)s 5627(by)s 5921(single)s 6548(spaces.)s 7276(The)s
1682 7704(e)s 3(xit)k 8119(status)s 8714(of)s 960 3484(the)m
1683 1308(client)s 1898(will)s 2324(be)s 2606(zero,)s 3124(unless)s
1684 3773(a)s 3939(system)s 4663(error)s 5186(occurs)s 5861(in)s
1685 6104(which)s 6746(case)s 7213(no)s 7506(e)s 3(xit)k
1686 7921(status)s 8516(and)s 960 3244(description)m 2079(will)s 2505(be)s
1687 2787(printed)s 3522(to)s 3761(stdout,)s 4453(and)s 4857(an)s
1688 5140(error)s 5663(message)s 6529(will)s 6955(be)s 7237(printed)s
1689 7972(to)s 8211(stderr)s 960 3004(as)m 1210(usual.)s 480 2791(Problems)m
1690 1420(such)s 1902(as)s 2137(client)s 2713(usage)s 3299(errors,)s
1691 3948(the)s 4281(service)s 4999(not)s 5351(being)s 5921(found)s
1692 6524(or)s 6768(permission)s 7860(being)s 8430(denied)s 480 2551(or)m
1693 739(f)s 2(ailure)k 1415(of)s 1686(a)s 1852(system)s
1694 2576(call)s 2975(are)s 3322(system)s 4046(errors.)s 4706(An)s
1695 5056(error)s 5579(message)s 6445(describing)s 7494(the)s 7842(problem)s
1696 8699(will)s 480 2310(be)m 758(printed)s 1489(on)s 1782(the)s
1697 2125(client')s 13(s)k 2861(stderr)s 9(,)k 3498(and)s
1698 3898(the)s 4241(client')s 13(s)k 4977(e)s 3(xit)k
1699 5388(status)s 5978(will)s 6400(be)s 6678(255.)s 7138(If)s
1700 7363(the)s 7707(client)s 8293(dies)s 8724(due)s 480 2070(to)m
1701 719(a)s 885(signal)s 1511(this)s 1907(should)s 2604(be)s
1702 2886(treated)s 3593(as)s 3843(a)s 4009(serious)s 4737(system)s
1703 5461(error)s 13(.)k gsave
1706 240 fnt31 0 -52(\211H)m
1712 0 -52(\211\211hidecwd)m
1714 480 1196(Pre)m 6(v)k 3(ents)k 1345(the)s
1715 1693(calling)s 2396(process')s 13(s)k 3323(current)s 4059(directory)s
1716 4975(name)s 5549(from)s 6073(being)s 6658(passed)s 7354(to)s
1717 7593(the)s 7941(service;)s 8729(the)s 480 956(null)m 907(string)s
1718 1504(will)s 1930(be)s 2212(passed)s 2908(instead.)s 0 52(0.64.1)m
1719 4809(User)s 5320(service)s 6052(daemon)s 6867(and)s 7271(client)s
1720 7861(speci\207cation)s
1730 %%PageResources: font Times-Roman
1732 %%+ font Courier-Bold
1733 %%+ font Times-Italic
1735 0.0500 dup scale 10 setlinewidth
1739 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
1754 1417 -15423 translate
1755 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
1759 240 fnt84 8951 13844(7)m gsave
1762 240 fnt31 0 -52(\211P)m
1768 0 -52(\211\211sigpipe)m
1770 240 fnt82 480 12803(If)m 700(the)s 1038(service)s
1771 1760(program)s 2620(is)s 2820(terminated)s 3888(due)s 4280(to)s
1773 4665 12857 translate
1775 240 fnt31 0 -52(SIGPIPE)m
1777 5415(the)s 5753(e)s 3(xit)k
1778 6157(status)s 6742(of)s 7003(the)s 7341(client)s 7921(will)s
1779 8337(be)s 8608(zero,)s 480 12563(e)m 6(v)k 3(en)k
1780 967(if)s 1170(it)s 1349(w)s 2(ould)k 1990(ha)s 4(v)k 3(e)k
1781 2477(been)s 2973(something)s 4009(else)s 4423(according)s 5405(to)s
1782 5630(the)s 5965(e)s 3(xit)k 6366(status)s 6948(method)s
1783 7710(speci\207ed.)s 8650(This)s 480 12323(option)m 1149(has)s 1519(no)s
1784 1812(ef)s 6(fect)k 2408(on)s 2705(the)s 3053(code)s
1785 3561(and)s 3965(description)s 5084(printed)s 5819(if)s 6036(the)s
1786 6384(e)s 3(xit)k 6799(status)s 7394(method)s gsave
1787 8170 12377 translate
1792 8830(is)s 480 12083(in)m 723(use.)s gsave
1801 240 fnt31 0 -52(\211\211help)m
1806 240 fnt31 0 -52(\211\211copyright)m
1812 240 fnt31 0 -52(\211h)m
1814 740 11019(or)m gsave
1817 240 fnt31 0 -52(\211\211help)m
1820 1659(prints)s 2254(the)s 2602(client')s 13(s)k 3342(usage)s
1821 3943(message;)s gsave
1822 4865 11073 translate
1824 240 fnt31 0 -52(\211\211copyright)m
1826 6026(prints)s 6621(the)s
1827 6969(cop)s 2(yright)k 7944(and)s 8348(lack)s 8807(of)s
1828 480 10779(w)m 2(arranty)k 1381(notice.)s 9066 670 0 670 240 240 60 0 9649 LoutGr2
1829 newpath 0 ysize 0.3 ft sub moveto
1835 320 fnt84 0 66(2.2.)m
1836 628(Security-o)s 3(v)k 3(erriding)k 3373(options)s
1839 613(are)s 960(also)s 1398(some)s 1959(options)s 2715(which)s
1840 3357(are)s 3704(a)s 4(v)k 6(ailable)k 4612(for)s
1841 4950(deb)s 4(ugging)k 6011(and)s 6415(to)s 6654(allo)s 6(w)k
1842 7233(the)s 7581(system)s 0 8947(administrator)m 1333(to)s 1572(o)s 3(v)k 3(erride)k
1843 2418(a)s 2584(user')s 13(s)k 3192(polic)s 3(y)k 15(.)k
1844 3876(These)s 4503(options)s 5259(are)s 5606(a)s 4(v)k 6(ailable)k
1845 6514(only)s 6994(if)s 7211(the)s 7559(client)s 8149(is)s
1846 8359(called)s 0 8707(by)m 294(root)s 739(or)s 998(if)s
1847 1215(the)s 1563(calling)s 2266(user)s 2724(is)s 2934(the)s
1848 3282(same)s 3829(as)s 4079(the)s 4427(service)s 5159(user)s 13(.)k
1852 240 fnt31 0 -52(\211\211override)m gsave
1855 240 fnt83 0 -52(con\207gur)m 3(ation\211data)k
1863 240 fnt31 0 -52(\211\211override\211file)m gsave
1866 240 fnt83 0 -52(\207lename)m
1871 826(not)s 1192(read)s 1661(the)s 2009(usual)s 2569(con\207guration)s
1872 3902(\207les.)s 4404(Instead,)s 5201(the)s 5549(client)s 6139(sends)s
1873 240 fnt83 6722 7821(con\207gur)m 3(ation-data)k 240 fnt82 480 7578(\(follo)m 6(wed)k
1874 1461(by)s 1755(a)s 1921(ne)s 6(wline\))k 2800(or)s
1875 3059(the)s 3407(contents)s 4255(of)s 240 fnt83 4526 7580(\207lename)m
1876 240 fnt82 5390 7578(\(which)m 6111(is)s 6321(opened)s 7071(in)s
1877 7314(the)s 7662(conte)s 3(xt)k 8423(of)s 8694(the)s
1878 480 7337(client\))m 1138(to)s 1377(the)s 1725(daemon)s 2540(and)s
1879 2944(the)s 3292(daemon)s 4107(uses)s 4570(that)s 4988(data)s
1880 5446(instead.)s 6227(The)s 240 fnt83 6655 7339(con\207gur)m 3(ation-data)k
1881 240 fnt82 8503 7337(must)m 480 7097(all)m 772(be)s 1052(in)s
1882 1293(one)s 1693(ar)s 4(gument.)k 2694(It)s 2897(will)s
1883 3321(ha)s 4(v)k 3(e)k 3820(a)s 3984(single)s
1884 4609(ne)s 6(wline)k 5414(appended)s 6388(so)s 6652(that)s
1885 7068(a)s 7232(single)s 7857(directi)s 6(v)k 3(e)k
1886 8737(can)s 480 6857(easily)m 1083(be)s 1357(gi)s 6(v)k 3(en,)k
1887 1979(b)s 4(ut)k 2333(if)s 2542(more)s 3080(than)s
1888 3541(one)s 3935(directi)s 6(v)k 3(e)k 4809(is)s
1889 5011(required)s 5857(it)s 6040(will)s 6458(ha)s 4(v)k 3(e)k
1890 6951(to)s 7182(contain)s 7935(one)s 8329(or)s 8579(more)s
1891 480 6617(real)m 892(ne)s 6(wlines.)k gsave
1894 240 fnt31 0 -52(\211\211spoof\211user)m
1898 240 fnt83 0 -52(user)m
1902 480 6032(Pretend)m 1268(to)s 1507(the)s
1903 1855(service)s 2587(that)s 3005(it)s 3197(is)s 3407(being)s
1904 3992(called)s 4620(by)s 240 fnt83 4914 6034(user)m 240 fnt82
1905 5391 6032(\(which)m 6112(may)s 6578(be)s 6860(a)s 7026(username)s
1906 7998(or)s 8257(a)s 8423(uid\).)s 480 5792(This)m 956(will)s
1907 1382(also)s 1820(af)s 6(fect)k 2416(the)s 2764(group)s
1908 3376(and)s 3780(supplementary)s 5242(groups)s 5945(supplied)s 6814(to)s
1909 7053(the)s 7401(service;)s 8189(the)s 3(y)k 8652(will)s
1910 480 5552(be)m 759(the)s 1103(standard)s 1968(group)s 2576(and)s
1911 2977(supplementary)s 4435(groups)s 5135(for)s 240 fnt83 5469 5554(user)m
1912 240 fnt82 5886 5552(.)m 5987(The)s gsave
1915 240 fnt31 0 -52(\211\211spoof\211user)m
1918 7669(option)s 8334(will)s 240 fnt83 8756 5554(not)m 240 fnt82
1919 480 5312(af)m 6(fect)k 1076(which)s 1718(user)s 2176(is)s
1920 2386(chosen)s 3108(if)s 3325(the)s 3673(service)s 4405(user)s
1921 4863(is)s 5073(speci\207ed)s 5981(as)s 6231(just)s gsave
1927 6736(;)s 6848(in)s 7091(this)s 7487(case)s
1928 7954(the)s 8302(service)s 480 5072(user)m 938(will)s 1364(be)s
1929 1646(the)s 1994(real)s 2406(calling)s 3109(user)s 13(.)k
1930 0 52(User)m 511(service)s 1243(daemon)s 2058(and)s 2462(client)s
1931 3052(speci\207cation)s 8491(0.64.1)s
1941 %%PageResources: font Times-Roman
1943 %%+ font Courier-Bold
1945 0.0500 dup scale 10 setlinewidth
1949 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
1964 1417 -15423 translate
1965 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
1969 240 fnt84 0 13842(8)m gsave
1971 240 fnt82 9066 688 0 688 240 240 60 LoutGraphic
1973 newpath 0 ysize 0.3 ft sub moveto
1979 340 fnt84 0 70(3.)m 412(Execution)s
1980 1943(en)s 13(vir)k 6(onment)k 3856(of)s 4243(the)s
1981 4774(ser)s 3(vice)k 5846(pr)s 6(ogram)k
1984 0 12264(The)m 428(daemon)s 1243(which)s 1885(is)s 2095(handling)s
1985 2986(the)s 3334(service)s 4066(user)s 4524(side)s 4965(of)s
1986 5236(things)s 5872(will)s 6298(read)s 6767(con\207guration)s 8100(\207les)s
1987 8549(to)s 0 12024(decide)m 680(what)s 1205(to)s 1444(do.)s
1988 1788(If)s 2018(it)s 2210(decides)s 2978(to)s 3217(allo)s 6(w)k
1989 3796(the)s 4144(service)s 4876(to)s 5115(be)s 5397(pro)s 3(vided)k
1990 6303(it)s 6495(will)s 6921(fork)s 7380(a)s 7546(subprocess)s
1991 8647(to)s 0 11784(e)m 3(x)k 3(ecute)k 780(the)s
1992 1128(service.)s 0 11376(The)m 428(service)s 1160(will)s 1586(ha)s 4(v)k 3(e)k
1993 2087(no)s 2380(controlling)s 3482(terminal,)s 4384(b)s 4(ut)k
1994 4746(it)s 4938(will)s 5364(be)s 5646(a)s 5812(process)s
1995 6580(group)s 7192(leader)s 13(.)k 0 10968(If)m 223(the)s
1996 563(client)s 1146(is)s 1348(killed)s 1942(or)s 2194(times)s
1997 2754(out)s 3112(or)s 3364(a)s 3522(\207le)s 3875(or)s
1998 4127(descriptor)s 5134(being)s 5711(read)s 6173(or)s 6424(written)s
1999 7149(by)s 7436(the)s 7776(client)s 8358(process)s 0 10728(gets)m
2000 436(an)s 719(error)s 1242(then)s 1711(the)s 2059(service)s
2001 2791(will)s 3217(be)s 3499(disconnected)s 4806(from)s 5330(the)s
2002 5678(client.)s 6312(The)s 6740(client)s 7330(will)s 7756(return)s
2003 8383(an)s 0 10487(e)m 3(xit)k 415(status)s 1010(of)s
2004 1281(255)s 1687(and)s 2091(some)s 2652(the)s 3000(service')s 13(s)k
2005 3886(pipes)s 4442(may)s 4908(be)s 5190(closed)s 5859(at)s
2006 6091(the)s 6439(other)s 6990(end.)s 7440(The)s 7868(service)s
2007 8600(will)s 0 10247(become)m 800(a)s 966(child)s 1502(of)s
2009 1773 10301 translate
2011 240 fnt31 0 -52(init)m
2013 2173(.)s 2277(The)s 2705(service)s
2014 3437(may)s 3903(well)s 4369(not)s 4735(notice)s 5375(the)s
2015 5723(disconnection,)s 7159(though)s 7882(writing)s 8625(to)s 8864(a)s
2016 0 10007(pipe)m 468(after)s 964(this)s 1360(may)s 1826(produce)s
2018 2819 10061 translate
2020 240 fnt31 0 -52(SIGPIPE)m
2022 3579(and)s 3983(the)s
2023 4331(f)s 2(acility)k 5058(e)s 3(xists)k 5650(to)s
2024 5889(ha)s 4(v)k 3(e)k 6390(a)s gsave
2025 6556 10061 translate
2030 7216(sent)s 7661(to)s 7900(the)s 8248(service)s
2031 0 9767(on)m 297(disconnection.)s 9066 670 0 670 240 240 60 0 8743 LoutGr2
2032 newpath 0 ysize 0.3 ft sub moveto
2038 320 fnt84 0 66(3.1.)m 628(File)s
2041 0 8281(The)m 428(service)s 1160(program')s 13(s)k
2042 2180(standard)s 3048(\207ledescriptors,)s 4508(and)s 4912(possibly)s 5764(other)s
2043 6315(\207le)s 6676(descriptors,)s 7831(will)s 8257(be)s 0 8041(connected)m
2044 1028(to)s 1266(pipes)s 1821(or)s 2080(to)s gsave
2050 3219(.)s 3322(The)s gsave
2053 240 fnt31 0 -52(userv)m
2056 4309(client/daemon)s 5719(pair)s 6150(will)s 6575(arrange)s 7346(that)s
2057 7764(data)s 8221(is)s 8430(copied)s 0 7801(between)m 854(the)s
2058 1202(\207les)s 1651(or)s 1910(\207le)s 2271(descriptors)s 3370(speci\207ed)s
2059 4278(to)s 4517(to)s 4756(the)s 5104(client)s 5694(by)s
2060 5988(the)s 6336(caller)s 6925(and)s 7329(these)s 7876(these)s
2061 8423(pipes.)s 0 7393(Pipes)m 569(which)s 1211(may)s 1677(be)s
2062 1959(written)s 2692(to)s 2931(will)s 3357(be)s 3639(closed)s
2063 4308(if)s 4525(a)s 4691(write)s 5237(error)s 5760(occurs)s
2064 6435(on)s 6732(the)s 7080(corresponding)s 0 7153(client-side)m 1043(\207le)s
2065 1396(or)s 1647(descriptor)s 9(,)k 2692(which)s 3326(may)s
2066 3784(result)s 4366(in)s 4601(a)s gsave
2069 240 fnt31 0 -52(SIGPIPE)m
2072 5512(in)s 5747(the)s 6087(service)s 6811(program;)s 7725(pipes)s
2073 8273(open)s 8788(for)s 0 6913(reading)m 770(will)s 1196(get)s
2077 240 fnt31 0 -52(EOF)m
2079 1908(if)s 2125(the)s 2473(client-side)s
2080 3523(\207le)s 3884(descriptor)s 4899(gets)s gsave
2083 240 fnt31 0 -52(EOF)m
2086 5695(or)s 5954(an)s 6237(error)s 13(.)k 0 6505(If)m
2087 230(the)s 578(service)s 1310(closes)s 1945(one)s 2347(of)s
2088 2618(its)s 2894(reading)s 3663(\207le)s 4024(descriptors)s 5123(the)s
2089 5471(writing)s 6214(end)s 6618(of)s 6889(the)s 7237(corresponding)s
2090 8658(pipe)s 0 6265(will)m 421(generate)s 1280(a)s gsave
2096 2195(when)s 2766(attempts)s 3620(are)s 3962(made)s
2097 4530(by)s 4819(the)s 5161(client/daemon)s 6567(pair)s 6992(to)s
2098 7226(write)s 7766(to)s 8000(it.)s 8230(This)s 8700(will)s
2099 0 6025(not)m 366(be)s 648(considered)s 1742(an)s 2025(error;)s
2100 2600(rather)s 9(,)k 3254(the)s 3602(rele)s 6(v)k 6(ant)k
2101 4419(pipe)s 4887(will)s 5313(be)s 5595(discarded)s 6569(and)s
2102 6973(the)s 7321(corresponding)s 8743(\207le)s 0 5785(or)m 259(\207le)s
2103 620(descriptor)s 1635(held)s 2105(by)s 2399(the)s 2747(client)s
2104 3337(will)s 3763(be)s 4045(closed.)s 0 5377(Lik)m 2(e)k 6(wise,)k
2105 975(if)s 1192(one)s 1594(of)s 1865(the)s 2213(\207le)s
2106 2574(descriptors)s 3673(held)s 4143(by)s 4437(the)s 4785(client)s
2107 5375(for)s 5713(writing)s 6456(by)s 6750(the)s 7098(service)s
2108 7830(is)s 8040(a)s 8206(pipe)s 0 5137(whose)m 665(other)s
2109 1213(end)s 1613(is)s 1820(closed)s 2485(by)s 2776(the)s
2110 3120(caller)s 3706(then)s 4171(the)s 4516(client/daemon)s 5923(pair)s
2111 6351(will)s 6773(see)s 7131(an)s 7410(error)s 7930(when)s
2112 8502(trying)s 0 4897(to)m 239(cop)s 2(y)k 757(data)s
2113 1215(pro)s 3(vided)k 2121(by)s 2415(the)s 2763(service.)s
2114 3543(This)s 4019(too)s 4378(will)s 4804(not)s 5170(be)s
2115 5452(considered)s 6546(an)s 6829(error;)s 7404(rather)s 9(,)k
2116 8058(the)s 8406(pipe)s 0 4657(correspondong)m 1476(to)s 1715(that)s
2117 2133(descriptor)s 3148(will)s 3574(be)s 3856(closed)s 4525(and)s
2118 4929(an)s 3(y)k 5326(further)s 6035(writes)s 6669(will)s
2119 7095(cause)s 7682(the)s 8030(service)s 8762(to)s 0 4417(get)m
2123 240 fnt31 0 -52(SIGPIPE)m
2125 1218(.)s 0 4009(Note)m
2126 521(that)s 939(not)s 1305(all)s 1598(write)s 2144(errors)s
2127 2751(or)s 3010(brok)s 2(en)k 3730(pipes)s 4286(on)s
2128 4583(\207le)s 4944(descriptors)s 6043(may)s 6509(be)s 6791(visible)s
2129 7484(to)s 7723(the)s 8071(service,)s 0 3769(since)m 547(b)s 4(uf)k 6(fered)k
2130 1404(data)s 1862(may)s 2328(be)s 2610(discarded)s 3584(by)s
2131 3878(the)s 4226(operating)s 5182(system)s 5906(and)s 6310(there)s
2132 6843(will)s 7269(be)s 7551(a)s 7717(\207nite)s 8264(interv)s 6(al)k
2133 0 3529(between)m 847(the)s 1188(error)s 1703(happening)s 2747(and)s
2134 3144(the)s 3484(service)s 4209(being)s 4787(disconnected)s 6086(from)s
2135 6603(the)s 6944(client)s 7526(or)s 7778(the)s 8119(ne)s 3(xt)k
2136 8580(write)s 0 3289(causing)m 784(a)s gsave
2139 240 fnt31 0 -52(SIGPIPE)m
2142 1650(.)s 0 2881(Read)m 550(errors)s 1157(on)s 1454(\207le)s
2143 1815(descriptors)s 2914(\(and)s 3397(disconnection\))s 4854(will)s 5280(only)s
2144 5760(be)s 6042(visible)s 6735(to)s 6974(the)s 7322(service)s
2145 8054(and)s 0 2641(distinguishable)m 1504(from)s 2028(normal)s 2760(end)s
2146 3164(of)s 3435(\207le)s 3796(if)s gsave
2149 240 fnt31 0 -52(disconnect\211hup)m
2152 5474(is)s 5684(in)s 5927(ef)s 6(fect.)k 0 2233(Read)m
2153 549(and)s 951(write)s 1495(errors)s 2100(\(other)s 2728(than)s
2154 3196(brok)s 2(en)k 3914(pipes,)s 4524(as)s 4772(described)s
2155 5744(abo)s 3(v)k 3(e\))k 6437(will)s 6861(al)s 2(w)k 2(ays)k
2156 7570(be)s 7850(visible)s 8541(to)s 8778(the)s 0 1993(caller;)m
2157 627(the)s 3(y)k 1075(are)s 1408(system)s 2117(errors,)s
2158 2766(and)s 3155(will)s 3566(therefore)s 4469(cause)s 5041(the)s
2159 5375(client)s 5950(to)s 6174(print)s 6671(an)s 6939(error)s
2160 7448(message)s 8299(to)s 8523(stderr)s 0 1752(and)m 404(return)s
2161 1031(with)s 1513(an)s 1796(e)s 3(xit)k 2211(status)s
2162 2806(of)s 3077(255.)s 0 1344(If)m 230(the)s 578(main)s
2163 1113(service)s 1845(program)s 2715(process)s 3483(e)s 3(xits)k
2164 3982(while)s 4569(it)s 4761(still)s 5173(has)s 5543(running)s
2165 6341(children)s 7181(an)s 3(y)k 7578(\207le)s 7939(descriptors)s
2166 0 1104(held)m 470(by)s 764(those)s 1325(children)s 2165(can)s
2167 2554(remain)s 3274(open,)s 3847(depending)s 4898(on)s 5195(the)s
2168 5543(use)s 5918(of)s gsave
2171 240 fnt31 0 -52(wait)m
2177 240 fnt31 0 -52(nowait)m
2182 240 fnt31 0 -52(close)m
2185 8175(for)s 8513(the)s 0 864(rele)m 6(v)k 6(ant)k
2186 817(\207le)s 1178(descriptor)s 2193(in)s 2436(the)s 2784(client')s 13(s)k
2187 3524(ar)s 4(guments.)k 4620(By)s 4954(def)s 2(ault)k
2188 5675(writing)s 6418(\207ledescriptors)s 7822(remain)s 8542(open)s 0 52(0.64.1)m
2189 4809(User)s 5320(service)s 6052(daemon)s 6867(and)s 7271(client)s
2190 7861(speci\207cation)s
2200 %%PageResources: font Times-Roman
2202 %%+ font Courier-Bold
2203 %%+ font Times-Italic
2205 0.0500 dup scale 10 setlinewidth
2209 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
2224 1417 -15423 translate
2225 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
2229 240 fnt84 8952 13842(9)m 240 fnt82 0 13251(and)m 404(the)s
2230 752(client)s 1342(will)s 1768(w)s 2(ait)k 2237(for)s
2231 2575(them)s 3113(to)s 3352(be)s 3634(closed)s 4303(at)s
2232 4535(the)s 4883(service)s 5615(end,)s 6068(and)s 6472(reading)s
2233 7242(\207le)s 7603(descriptors)s 8702(are)s 0 13011(closed)m 669(immediately)s 15(.)k
2234 1952(These)s 2579(lefto)s 3(v)k 3(er)k 3375(child)s
2235 3911(processes)s 4878(will)s 5304(not)s 5670(get)s 6022(a)s
2236 6188(an)s 3(y)k gsave
2237 6585 13065 translate
2239 240 fnt31 0 -52(SIGHUP)m
2241 7245(e)s 6(v)k 3(en)k
2242 7745(if)s 7962(a)s 8128(read)s 8597(or)s 0 12771(write)m
2243 546(error)s 1069(occurs)s 1744(or)s 2003(the)s 2351(client)s
2244 2941(disconnects)s 4108(before)s 4774(then.)s 9066 609 0 609 240 240 60 0 11808 LoutGr2
2245 newpath 0 ysize 0.3 ft sub moveto
2251 320 fnt84 0 5(3.2.)m
2252 628(En)s 12(vir)k 5(onment)k
2254 0 11346(The)m 428(service)s
2255 1160(will)s 1586(ha)s 4(v)k 3(e)k 2087(some)s
2256 2648(information)s 3833(in)s 4076(en)s 9(vironment)k 5336(v)s 6(ariables:)k
2260 240 fnt31 0 -52(USERV_USER)m
2262 480 10866(The)m 908(login)s 1457(name)s
2263 2031(of)s 2302(the)s 2650(calling)s 3353(user)s 13(.)k
2264 3842(If)s 4072(the)s gsave
2265 4420 10920 translate
2267 240 fnt31 0 -52(LOGNAME)m
2269 5180(v)s 6(ariable)k
2270 5999(is)s 6209(set)s 6534(\(or)s 9(,)k 6910(if)s
2271 7127(that)s 7545(is)s 7755(unset,)s 8367(if)s 8584(the)s
2275 240 fnt31 0 -52(USER)m
2277 940 10626(v)m 6(ariable)k 1759(is)s
2278 1969(set\))s 2362(in)s 2605(the)s 2953(en)s 9(vironment)k
2279 4213(passed)s 4909(to)s 5148(the)s 5496(client)s 6086(by)s
2280 6380(the)s 6728(caller)s 7317(then)s 7786(the)s 8134(passw)s 2(ord)k
2281 480 10386(entry)m 1025(for)s 1363(that)s 1781(login)s 2330(name)s
2282 2904(will)s 3330(be)s 3612(look)s 2(ed)k 4320(up;)s
2283 4672(if)s 4889(that)s 5307(passw)s 2(ord)k 6267(entry')s 13(s)k
2284 6968(uid)s 7332(is)s 7542(the)s 7890(same)s 8437(as)s
2285 8687(that)s 480 10146(of)m 745(the)s 1086(calling)s 1782(process)s
2286 2543(then)s 3005(that)s 3416(login)s 3958(name)s 4525(will)s
2287 4945(be)s 5220(used,)s 5759(otherwise)s 6737(\(or)s 7068(if)s
2288 7278(neither)s gsave
2289 7994 10200 translate
2291 240 fnt31 0 -52(LOGNAME)m
2299 938 9906(is)m 1146(set\))s 1537(the)s 1883(calling)s
2300 2583(process')s 13(s)k 3508(uid)s 3870(will)s 4294(be)s
2301 4573(look)s 2(ed)k 5279(up)s 5570(to)s 5807(determine)s
2302 6815(their)s 7310(login)s 7857(name)s 8429(\(and)s 8909(if)s
2303 480 9666(this)m 876(lookup)s 1595(f)s 2(ails)k 2054(then)s
2304 2523(the)s 2871(service)s 3603(will)s 4029(not)s 4395(be)s
2305 4677(in)s 9(v)k 4(ok)k 2(ed\).)k gsave
2311 480 9186(The)m 908(uid)s 1272(of)s 1543(the)s
2312 1891(calling)s 2594(process.)s gsave
2315 240 fnt31 0 -52(USERV_GID)m
2318 908(gid)s 1272(and)s 1676(supplementary)s 3138(group)s 3750(list)s
2319 4101(of)s 4372(the)s 4720(calling)s 5423(process:)s 6246(\207rst)s
2320 6677(the)s 7025(group)s 7637(in)s 7880(gid)s 8244(and)s
2321 8648(then)s 480 8466(those)m 1041(in)s 1284(the)s 1632(supplementary)s
2322 3094(group)s 3706(list,)s 4104(in)s 4347(decimal,)s 5210(separated)s
2323 6170(by)s 6464(spaces.)s gsave
2326 240 fnt31 0 -52(USERV_GROUP)m
2329 908(group)s 1520(names)s 2182(of)s 2453(the)s 2801(calling)s
2330 3504(process,)s 4328(listed)s 4903(in)s 5146(the)s 5494(same)s
2331 6041(w)s 2(ay)k 6492(as)s 6742(the)s 7090(ids)s
2332 7420(are)s 7767(in)s gsave
2335 240 fnt31 0 -52(USERV_GID)m
2338 480 7746(If)m 710(no)s 1003(name)s 1577(can)s 1966(be)s
2339 2248(found)s 2865(for)s 3203(an)s 3(y)k 3600(of)s
2340 3871(the)s 4219(calling)s 4922(process')s 13(s)k 5849(group\(s\))s
2341 6708(then)s 7177(the)s 7525(service)s 8257(will)s 8683(not)s
2342 480 7506(be)m 762(in)s 9(v)k 4(ok)k 2(ed.)k
2346 240 fnt31 0 -52(USERV_CWD)m
2348 480 7026(The)m 908(client')s 13(s)k
2349 1648(current)s 2384(w)s 2(orking)k 3233(directory)s 4149(name)s
2350 4723(\(this)s 5198(directory)s 6114(may)s 6580(not)s 6946(be)s
2351 7228(accessible)s 8252(to)s 8491(the)s 480 6786(service\).)m 1339(If)s
2352 1568(it)s 1759(could)s 2348(not)s 2713(be)s 2994(determined)s
2353 4126(or)s 4384(the)s gsave
2356 240 fnt31 0 -52(\211\211hidecwd)m
2359 6103(w)s 2(as)k 6523(used)s 7019(then)s 7487(this)s
2360 7882(v)s 6(ariable)k 8700(will)s 480 6546(be)m 762(set)s
2361 1087(to)s 1326(an)s 1609(empty)s 2261(string)s 2858(\(this)s
2362 3333(is)s 3543(not)s 3909(considered)s 5003(an)s 5286(error\).)s
2366 240 fnt31 0 -52(USERV_SERVICE)m
2368 480 6066(The)m 908(service)s 1640(name)s
2369 2214(requested)s 3188(by)s 3482(the)s 3830(caller)s 13(.)k
2373 240 fnt31 0 -52(USERV_U_)m gsave
2376 240 fnt83 0 -52(name)m
2381 908(v)s 6(alue)k 1476(supplied)s 2345(to)s 2584(the)s
2382 2932(client)s 3522(by)s 3816(the)s 4164(caller)s 4753(using)s
2383 5325(-D)s 240 fnt83 5569 5588(name)m 240 fnt82 6081 5586(.)m
2387 240 fnt31 0 -52(HOME)m
2392 240 fnt31 0 -52(PATH)m
2398 240 fnt31 0 -52(SHELL)m
2409 240 fnt31 0 -52(USER)m
2412 3671(be)s 3953(set)s 4278(appropriately)s 5606(\(according)s 6681(to)s
2413 6920(the)s 7268(details)s 7942(of)s 8213(the)s 0 5083(service)m
2414 732(user\).)s 0 52(User)m 511(service)s 1243(daemon)s 2058(and)s
2415 2462(client)s 3052(speci\207cation)s 8491(0.64.1)s
2425 %%PageResources: font Times-Roman
2427 %%+ font Times-Italic
2428 %%+ font Courier-Bold
2430 0.0500 dup scale 10 setlinewidth
2434 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
2449 1417 -15423 translate
2450 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
2454 240 fnt84 0 13842(10)m gsave
2456 240 fnt82 9066 689 0 689 240 240 60 LoutGraphic
2458 newpath 0 ysize 0.3 ft sub moveto
2464 340 fnt84 0 70(4.)m 412(Ser)s 3(vice-side)k
2465 2219(con\207guration)s
2467 240 fnt82 0 12263(Which)m 695(ser)s 973(vices)s
2468 1515(may)s 1981(be)s 2263(run)s 2639(by)s 2933(whom)s
2469 3592(and)s 3996(un)s 4233(der)s 4598(what)s 5123(con)s
2470 5466(di)s 5646(tions)s 6162(is)s 6372(con)s 6715(trolled)s
2471 7396(by)s 7690(con)s 8033(\207g)s 8279(u)s 8394(ra)s
2472 8579(-)s 0 12023(tion)m 429(\207les.)s 0 11615(The)m 428(daemon)s
2473 1243(will)s 1669(read)s 2138(these)s 2685(\207les)s 3134(in)s
2474 3377(order)s 13(.)k 3972(Certain)s 4732(directi)s 6(v)k 3(es)k
2475 5702(in)s 5945(the)s 6293(\207les)s 6742(modify)s 7487(the)s
2476 7835(daemon')s 13(s)k 0 11375(e)m 3(x)k 3(ecution)k
2477 981(settings)s 1762(for)s 2100(in)s 9(v)k 4(oking)k
2478 2992(the)s 3340(service,)s 4123(for)s 4461(e)s 3(xample)k
2479 5324(allo)s 6(wing)k 6208(certain)s 6914(\207le)s 7275(descriptors)s
2480 8374(to)s 8613(be)s 0 11135(speci\207ed)m 908(by)s 1202(the)s
2481 1550(client)s 2140(or)s 2399(specifying)s 3448(which)s 4090(program)s
2482 4960(to)s 5199(e)s 3(x)k 3(ecute)k 5979(to)s
2483 6218(pro)s 3(vide)k 7002(the)s 7350(service.)s 0 10727(The)m
2484 240 fnt83 428 10729(last)m 240 fnt82 837 10727(instance)m 1676(of)s
2485 1947(each)s 2442(such)s 2938(setting)s 3628(will)s 4054(tak)s 2(e)k
2486 4506(ef)s 6(fect.)k 5146(The)s 5574(directi)s 6(v)k 3(es)k
2487 6544(which)s 7186(specify)s 7930(which)s 0 10487(program)m 864(to)s
2488 1096(e)s 3(x)k 3(ecute)k 1869(will)s 2288(not)s
2489 2647(stop)s 3092(the)s 3433(con\207guration)s 4759(\207le)s 5113(from)s
2490 5630(being)s 6208(read;)s 6724(the)s 3(y)k 7180(will)s
2491 7599(be)s 7874(remembered)s 0 10247(and)m 404(will)s 830(only)s
2492 1310(tak)s 2(e)k 1762(ef)s 6(fect)k 2358(if)s
2493 2575(the)s 3(y)k 3038(are)s 3385(not)s 3751(o)s 3(v)k 3(erridden)k
2494 4838(by)s 5132(a)s 5298(later)s 5781(directi)s 6(v)k 3(e.)k
2495 0 9839(The)m 428(daemon)s 1243(will)s 1669(\207rst)s 2100(read)s
2499 240 fnt31 0 -52(/etc/userv/system.default)m
2501 5072(.)s 5176(Then,)s 5775(by)s
2502 6069(def)s 2(ault)k 6790(\(this)s 7265(beha)s 4(viour)k
2503 8278(may)s 0 9599(be)m 282(modi\207ed\),)s 1319(it)s 1511(will)s
2504 1937(read)s 2406(a)s 2572(per)s 4(-user)k 3410(\207le)s
2508 240 fnt31 0 -52(~/.userv/rc)m
2510 4872(,)s 4979(if)s 5196(it)s
2511 5388(e)s 3(xists)k 5980(and)s 6384(the)s 6732(service)s
2512 7464(user')s 13(s)k 8072(shell)s 8578(is)s 8788(in)s
2516 240 fnt31 0 -52(/etc/shells)m
2518 1101 9359(.)m 1205(Finally)s 1936(it)s
2519 2128(will)s 2554(read)s gsave
2522 240 fnt31 0 -52(/etc/userv/system.override)m
2525 0 8951(When)m 627(it)s 816(has)s 1183(read)s 1650(all)s
2526 1940(of)s 2208(these)s 2753(\207les)s 3199(it)s 3388(will)s
2527 3812(act)s 4147(ac)s 4352(cord)s 4775(ing)s 5131(to)s
2528 5368(the)s 5713(cur)s 6018(rent)s 6389(ly)s 6626(v)s 6(al)k
2529 6907(ues)s 7275(of)s 7543(of)s 7811(the)s 8156(e)s 3(x)k
2530 8374(e)s 8476(cu)s 8697(tion)s 0 8711(set)m 265(tings.)s
2531 9066 670 0 670 240 240 60 0 7687 LoutGr2
2532 newpath 0 ysize 0.3 ft sub moveto
2538 320 fnt84 0 66(4.1.)m 628(Con\207guration)s 2618(\207le)s 3100(syntax)s
2541 0 7225(The)m 414(con\207guration)s 1733(\207le)s 2080(is)s 2276(a)s
2542 2428(series)s 3007(of)s 3264(directi)s 6(v)k 3(es,)k
2543 4276(usually)s 5007(one)s 5395(per)s 5746(line.)s 6193(The)s
2544 6607(portion)s 7341(of)s 7598(a)s 7750(line)s 8149(follo)s 6(wing)k
2545 0 6985(a)m 166(hash)s 662(character)s gsave
2551 1756(is)s 1966(tak)s 2(en)k 2539(as)s 2789(a)s
2552 2955(comment)s 3905(and)s 4309(ignored.)s 5144(Each)s 5679(directi)s 6(v)k 3(e)k
2553 6561(consists)s 7369(of)s 7640(a)s 7806(series)s 8400(of)s
2554 0 6745(tok)m 2(ens)k 674(separated)s 1634(by)s 1928(linear)s
2555 2531(whitespace)s 3649(\(spaces)s 4403(and)s 4807(tabs\);)s 5383(tok)s 2(ens)k
2556 6057(may)s 6523(be)s 6805(w)s 2(ords)k 7439(consisting)s
2557 8462(of)s 0 6505(non-space)m 1023(characters)s 2037(\(e)s 3(xcept)k
2558 2794(backslash\),)s 3906(or)s 9(,)k 4200(where)s 4836(a)s
2559 4998(string)s 5592(is)s 5798(required,)s 6698(a)s 6860(string)s
2560 7454(in)s 7693(double)s 8397(quotes.)s 0 6265(Double-quoted)m 1494(strings)s
2561 2182(may)s 2648(contain)s 3409(the)s 3757(follo)s 6(wing)k
2562 4734(backslash)s 5721(escapes:)s gsave
2565 240 fnt31 0 -52(\\n)m
2567 480 5785(ne)m 6(wline)k
2571 240 fnt31 0 -52(\\t)m
2573 480 5305(tab)m gsave
2576 240 fnt31 0 -52(\\r)m
2579 480 4825(carriage)m 1304(return)s gsave
2582 240 fnt31 0 -52(\\)m gsave
2590 480 4345(character)m 1414(whose)s 2082(octal)s 2601(code)s
2591 3109(is)s 240 fnt83 3319 4347(OOO)m gsave
2594 240 fnt31 0 -52(\\x)m
2598 240 fnt83 0 -52(XX)m
2602 240 fnt82 480 3865(character)m 1414(whose)s
2603 2082(he)s 3(x)k 2480(code)s 2988(is)s 240 fnt83
2604 3198 3867(XX)m gsave
2607 240 fnt31 0 -52(\\)m gsave
2610 240 fnt83 0 -52(punctuation)m
2615 240 fnt82 480 3385(literal)m 1090(punctuation)s 2277(character)s 3211(\(e)s 3(g)k
2619 240 fnt31 0 -52(\\\\)m
2624 240 fnt31 0 -52(\\")m
2630 240 fnt31 0 -52(\\)m gsave
2633 240 fnt83 0 -52(ne)m 3(wline)k
2638 1005 3144(\(ie,)m 1363(backslash)s 2350(at)s 2582(end)s 2986(of)s
2639 3257(line\))s 480 2904(string)m 1077(continues)s 2045(on)s 2342(ne)s 3(xt)k
2640 2811(line)s 0 2342(Relati)m 6(v)k 3(e)k 843(pathnames)s
2641 1917(in)s 2160(directi)s 6(v)k 3(es)k 3130(are)s
2642 3477(relati)s 6(v)k 3(e)k 4239(to)s 4478(the)s
2643 4826(service)s 5558(program')s 13(s)k 6578(current)s 7314(directory)s
2644 8230(\(usually)s 0 2102(the)m 348(service)s 1080(user')s 13(s)k
2645 1687(home)s 2275(directory\).)s 3319(P)s 3(athnames)k 4403(starting)s
2646 5171(with)s 5653(the)s 6000(tw)s 2(o)k 6410(characters)s
2650 240 fnt31 0 -52(~/)m
2652 7687(are)s 8033(tak)s 2(en)k
2653 8606(to)s 8844(be)s 0 1862(relati)m 6(v)k 3(e)k
2654 762(to)s 1001(the)s 1349(service)s 2081(user')s 13(s)k
2655 2689(home)s 3277(directory)s 15(.)k 0 1454(Logical)m 785(lines)s
2656 1287(may)s 1753(be)s 2035(continued)s 3037(by)s 3331(putting)s
2657 4062(a)s 4228(backslash)s gsave
2660 240 fnt31 0 -52(\\)m
2663 5607(the)s 5955(end)s 6359(of)s 6630(a)s 6796(line;)s
2664 7266(this)s 7662(counts)s 8338(as)s 8588(part)s 0 1214(of)m
2665 271(linear)s 874(whitespace.)s 0 52(0.64.1)m 4809(User)s 5320(service)s
2666 6052(daemon)s 6867(and)s 7271(client)s 7861(speci\207cation)s
2676 %%PageResources: font Times-Roman
2678 %%+ font Courier-Bold
2679 %%+ font Times-Italic
2681 0.0500 dup scale 10 setlinewidth
2685 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
2700 1417 -15423 translate
2701 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
2705 240 fnt84 8839 13842(11)m gsave
2707 240 fnt82 9066 670 0 670 240 240 60 LoutGraphic
2709 newpath 0 ysize 0.3 ft sub moveto
2715 320 fnt84 0 66(4.2.)m 628(Con\207guration)s
2716 2618(\207le)s 3100(dir)s 5(ecti)k 3(v)k 3(es)k
2719 300 fnt84 0 12132(4.2.1.)m 813(Immediate)s 2261(dir)s 5(ecti)k 3(v)k 3(es)k
2720 240 fnt82 0 11618(The)m 428(follo)s 6(wing)k 1405(directi)s 6(v)k 3(es)k
2721 2375(tak)s 2(e)k 2827(ef)s 6(fect)k 3423(immediately:)s
2725 240 fnt31 0 -52(cd)m gsave
2728 240 fnt83 0 -52(pathname)m
2733 1268(directory)s 2184(in)s 2427(the)s 2775(service)s 3507(program.)s
2735 4421 11024 translate
2737 240 fnt31 0 -52(cd)m
2739 4681(is)s 4891(cumulati)s 6(v)k 3(e.)k
2740 6048(It)s 6253(is)s 6463(an)s 6746(error)s 7269(if)s
2741 7486(the)s 7834(directory)s 480 10730(cannot)m 1178(be)s 1460(changed)s
2743 2666 10784 translate
2745 240 fnt31 0 -52(cd)m
2747 2926(should)s 3623(not)s
2748 3989(be)s 4271(used)s 4768(between)s gsave
2749 5622 10784 translate
2751 240 fnt31 0 -52(execute\211from\211directory)m
2754 7884(and)s 8288(the)s 480 10490(in)m 9(v)k 4(ocation)k
2755 1534(of)s 1805(the)s 2153(service)s 2885(program,)s 3802(as)s
2756 4052(the)s 4400(test)s 4791(for)s 5129(the)s 5477(a)s 4(v)k 6(ailability)k
2757 6595(of)s 6866(the)s 7214(service)s 7946(program)s 480 10250(w)m 2(ould)k
2758 1117(be)s 1380(done)s 1884(with)s 2347(the)s 2677(old)s
2759 3022(current)s 3740(directory)s 4637(and)s 5023(the)s 5352(actual)s
2760 5959(e)s 3(x)k 3(ecution)k 6921(with)s 7385(the)s
2761 7714(ne)s 6(w)k 8142(\(probably)s 480 10010(causing)m 1264(an)s
2762 1547(error\).)s gsave
2765 240 fnt31 0 -52(eof)m
2767 480 9376(Stop)m 972(reading)s
2768 1742(the)s 2090(con\207guration)s 3423(\207le)s 3784(in)s 4027(question,)s
2769 4945(as)s 5195(if)s 5412(end)s 5816(of)s 6087(\207le)s
2770 6448(had)s 6852(been)s 7361(reached.)s 8208(An)s 3(y)k
2771 480 9136(control)m 1212(constructs)s 2232(\()s gsave
2774 240 fnt31 0 -52(if)m
2780 240 fnt31 0 -52(catch\211quit)m
2786 0 -52(errors\211push)m
2788 5033(\))s 5161(which)s 5803(were)s 6323(started)s
2789 7017(in)s 7260(that)s 7678(\207le)s 8039(will)s 8465(be)s
2790 480 8896(considered)m 1574(\207nished.)s 2436(P)s 3(arsing)k 3203(will)s
2791 3629(continue)s 4509(in)s 4752(the)s 5100(\207le)s 5461(which)s
2792 6103(caused)s 6812(the)s 7160(\207le)s 7521(containing)s 8584(the)s
2796 240 fnt31 0 -52(eof)m
2798 840 8656(to)m 1079(be)s 1361(read.)s
2802 240 fnt31 0 -52(quit)m
2804 480 8072(Stop)m 969(reading)s 1735(con\207guration)s
2805 3064(\207les)s 3510(and)s 3910(act)s 4244(immediately)s 5489(on)s
2806 5782(the)s 6126(current)s 6859(settings.)s 7689(The)s 8113(beha)s 4(viour)k
2810 240 fnt31 0 -52(quit)m
2812 1211(is)s 1421(subject)s
2813 2158(to)s 2397(the)s gsave
2816 240 fnt31 0 -52(catch\211quit)m
2819 4538(construct.)s gsave
2822 240 fnt31 0 -52(include)m gsave
2825 240 fnt83 0 -52(\207lename)m
2833 240 fnt31 0 -52(include\211ifexist)m gsave
2836 240 fnt83 0 -52(\207lename)m
2841 1026(the)s 1369(con\207guration)s 2698(\207le)s 240 fnt83 3054 6960(\207lename)m
2842 240 fnt82 3858 6958(,)m 3961(and)s 4360(then)s 4825(return)s
2843 5447(to)s 5682(this)s 6073(\207le)s 6430(and)s 6829(continue)s
2844 7705(parsing)s 8457(it)s 8644(with)s 480 6718(the)m 822(ne)s 3(xt)k
2845 1284(directi)s 6(v)k 3(e.)k 2207(It)s 2405(is)s
2846 2608(an)s 2884(error)s 3400(if)s 3610(the)s 3952(\207le)s
2847 4306(cannot)s 4997(be)s 5272(opened)s 6015(and)s 6412(read,)s
2851 240 fnt31 0 -52(include\211ifexist)m
2853 480 6478(is)m 690(used)s
2854 1187(and)s 1591(the)s 1939(\207le)s 2300(does)s 2790(not)s
2855 3156(e)s 3(xist,)k 3711(in)s 3954(which)s 4596(case)s
2856 5063(the)s 5411(directi)s 6(v)k 3(e)k 6293(is)s
2857 6503(silently)s 7260(ignored.)s gsave
2860 240 fnt31 0 -52(include\211lookup)m gsave
2864 0 -52(par)m 3(ameter)k
2869 240 fnt83 0 -52(dir)m 8(ectory)k
2877 240 fnt31 0 -52(include\211lookup\211all)m gsave
2880 240 fnt83 0 -52(par)m 3(ameter)k
2886 240 fnt83 0 -52(dir)m 8(ectory)k
2890 480 5604(Read)m 1030(the)s
2891 1378(con\207guration)s 2711(\207le)s 3072(in)s 240 fnt83 3315 5606(dir)m 8(ectory)k
2892 240 fnt82 4239 5604(whose)m 4907(name)s 5481(is)s 5691(the)s
2893 6039(v)s 6(alue)k 6607(of)s 240 fnt83 6878 5606(par)m 3(ameter)k
2894 240 fnt82 7937 5604(\(see)m 8377(the)s 480 5364(description)m 1599(of)s
2898 240 fnt31 0 -52(if)m
2900 2070(,)s 2177(`Control)s 3042(structure)s
2901 3933(directi)s 6(v)k 3(es',)k 5038(page)s 5546(12\).)s
2902 5969(If)s 240 fnt83 6199 5366(par)m 3(ameter)k 240 fnt82
2903 7258 5364(has)m 7628(se)s 6(v)k 3(eral)k 8350(v)s 6(alues)k
2904 480 5124(the)m 3(y)k 943(will)s 1369(be)s 1651(tried)s
2905 2146(in)s 2389(order;)s 3005(with)s gsave
2908 240 fnt31 0 -52(include\211lookup)m
2911 4948(this)s 5344(search)s 6011(will)s 6437(stop)s 6889(when)s
2912 7465(one)s 7867(is)s 8077(found,)s 8743(b)s 4(ut)k
2913 480 4884(with)m gsave
2916 240 fnt31 0 -52(include\211lookup\211all)m
2918 2824(the)s 3172(search)s
2919 3839(will)s 4265(continue)s 5145(and)s 5549(an)s 3(y)k
2920 5946(\207les)s 6395(appropriate)s 7539(to)s 7778(other)s 8329(v)s 6(alues)k
2921 480 4644(will)m 906(be)s 1188(read)s 1657(too.)s 2127(If)s
2922 2357(none)s 2879(of)s 3150(the)s 3498(parameter')s 13(s)k
2923 4662(v)s 6(alues)k 5318(had)s 5722(a)s 5888(corresponding)s
2924 7310(\207le)s 7671(then)s 8140(the)s 8488(\207le)s gsave
2930 1340 4404(will)m 1765(be)s 2045(read,)s 2562(if)s
2931 2778(it)s 2968(e)s 3(xists.)k 3612(If)s 240 fnt83
2932 3841 4406(par)m 3(ameter)k 240 fnt82 4840 4404(')m 13(s)k
2933 5048(list)s 5398(of)s 5668(v)s 6(alues)k 6322(w)s 2(as)k
2934 6742(empty)s 7393(then)s 7860(the)s 8207(\207le)s gsave
2940 480 4164(will)m 887(be)s 1149(tried)s 1624(\207rst)s
2941 2035(and)s 2420(read)s 2869(if)s 3066(it)s 3238(e)s 3(xists,)k
2942 3867(otherwise)s gsave
2945 240 fnt31 0 -52(:default)m
2947 5673(will)s 6079(be)s
2948 6342(tried.)s 6923(It)s 7108(is)s 7298(not)s 7645(an)s
2949 7908(error)s 8411(for)s 8729(an)s 3(y)k 480 3924(of)m
2950 736(the)s 1069(\207les)s 1503(\(including)s gsave
2953 240 fnt31 0 -52(:default)m
2956 3324(\))s 3437(not)s 3788(to)s 4011(e)s 3(xist,)k
2957 4551(b)s 4(ut)k 4898(it)s 5074(is)s 5269(an)s
2958 5537(error)s 6045(if)s 6246(a)s 6397(\207le)s 6743(e)s 3(xists)k
2959 7319(and)s 7708(cannot)s 8391(be)s 8657(read)s 480 3684(or)m
2960 726(if)s 930(the)s 1265(directory)s 2168(cannot)s 2853(be)s
2961 3122(accessed.)s 4109(A)s 4325(translation)s 5377(will)s 5790(be)s
2962 6059(applied)s 6808(to)s 7034(v)s 6(alues)k 7677(before)s
2963 8330(the)s 3(y)k 8779(are)s 480 3444(used)m 977(to)s
2964 1216(construct)s 2152(a)s 2318(\207lename,)s 3248(so)s 3514(that)s
2965 3932(the)s 4280(lookup)s 4999(cannot)s 5697(access)s 6358(dot\207les,)s
2966 7169(backup)s 7914(\207les,)s 8419(\207les)s 8868(in)s 480 3204(other)m
2967 1023(directories)s 2072(and)s 2467(the)s 2806(lik)s 2(e:)k
2968 3259(each)s 3745(slash)s 4271(will)s 4688(be)s 4961(replaced)s
2969 5819(with)s 6292(a)s 6449(colon)s 7029(follo)s 6(wed)k
2970 7922(by)s 8207(a)s 8364(h)s 1(yphen)k gsave
2976 680 2964(,)m 787(and)s 1191(all)s 1484(characters)s
2977 2502(which)s 3144(are)s 3491(not)s 3857(lo)s 6(wercase)k
2978 4862(alphanumerics,)s 6363(h)s 1(yphens)k 7212(or)s 7471(underscores)s
2979 8664(will)s 480 2724(ha)m 4(v)k 3(e)k 977(a)s
2980 1138(colon)s 1722(prepended)s 2773(\(so)s 3113(that)s 3526(colons)s
2981 4198(are)s 4540(doubled\).)s 5490(A)s 5716(parameter)s 6725(v)s 6(alue)k
2982 7288(which)s 7926(is)s 8131(the)s 8474(empty)s 480 2484(string)m
2983 1077(will)s 1503(be)s 1785(replaced)s 2652(with)s gsave
2989 3794(\(note)s 4341(that)s 4759(this)s 5155(is)s
2990 5365(dif)s 6(ferent)k 6240(from)s 6764(a)s 6930(parameter)s
2991 7944(not)s 8310(ha)s 4(ving)k 480 2244(an)m 3(y)k
2992 877(v)s 6(alues\).)k gsave
2995 240 fnt31 0 -52(include\211directory)m gsave
2999 0 -52(dir)m 8(ectory)k
3003 480 1610(Read)m 1030(con\207guration)s 2363(from)s
3004 2887(all)s 3180(\207les)s 3629(in)s 3872(directory)s 240 fnt83
3005 4788 1612(dir)m 8(ectory)k 240 fnt82 5712 1610(which)m 6354(are)s
3006 6701(plain)s 7236(\207les)s 7685(whose)s 8353(names)s 480 1370(consist)m
3007 1204(only)s 1684(of)s 1955(alphanumerics)s 3400(and)s 3804(h)s 1(yphens)k
3008 4653(and)s 5057(start)s 5527(with)s 6009(an)s 6292(alphanumeric.)s
3009 7697(The)s 3(y)k 8240(will)s 8666(be)s 480 1130(read)m
3010 949(in)s 1192(le)s 3(xical)k 1880(order)s 13(.)k
3011 2475(It)s 2680(is)s 2890(an)s 3173(error)s 3696(for)s
3012 4034(the)s 4382(directory)s 5298(not)s 5664(to)s 5903(e)s 3(xist)k
3013 6411(or)s 6670(for)s 7008(it)s 7200(or)s 7459(an)s 3(y)k
3014 7856(of)s 8127(the)s 8475(\207les)s 480 890(found)m 1089(not)s
3015 1447(to)s 1677(be)s 1951(read)s 2411(successfully)s 15(,)k
3016 3663(or)s 3914(for)s 4243(an)s 3(ything)k 5123(with)s
3017 5596(an)s 5871(appropriate)s 7007(name)s 7572(not)s 7930(to)s
3018 8160(be)s 8434(a)s 8591(plain)s 0 52(User)m 511(service)s
3019 1243(daemon)s 2058(and)s 2462(client)s 3052(speci\207cation)s 8491(0.64.1)s
3030 %%PageResources: font Times-Roman
3032 %%+ font Courier-Bold
3033 %%+ font Times-Italic
3035 0.0500 dup scale 10 setlinewidth
3039 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
3054 1417 -15423 translate
3055 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
3059 240 fnt84 0 13842(12)m 240 fnt82 480 13254(\207le)m 841(or)s
3060 1100(a)s 1266(symbolic)s 2196(link)s 2629(to)s 2868(a)s
3061 3034(plain)s 3569(\207le.)s gsave
3064 240 fnt31 0 -52(error)m gsave
3068 0 -52(te)m 4(xt)k 404(\202)s
3072 480 12620(Causes)m 1209(an)s
3073 1492(error)s 2015(whose)s 2683(message)s 3549(includes)s 4397(the)s
3074 4745(descripti)s 6(v)k 3(e)k 5840(string)s 240 fnt83
3075 6437 12622(te)m 4(xt)k 240 fnt82 6781 12620(.)m 240 fnt83
3076 6885 12622(te)m 4(xt)k 240 fnt82 7289 12620(may)m 7755(consist)s
3077 8479(of)s 480 12380(se)m 6(v)k 3(eral)k 1193(tok)s 2(ens)k
3078 1857(with)s 2330(interv)s 3(ening)k 3459(linear)s 4053(whitespace.)s
3079 5209(Each)s 5734(set)s 6050(of)s 6311(linear)s 6905(whitespace)s
3080 8013(will)s 8429(appear)s 480 12140(in)m 723(the)s 1071(message)s
3081 1937(as)s 2187(a)s 2353(single)s 2980(space.)s 3615(The)s
3082 4043(usual)s 4603(meaning)s 5480(of)s 5751(double-quoted)s 7192(strings)s
3083 7880(\(i.e.,)s 8358(after)s 480 11900(backslash)m 1449(escape)s 2124(processing\))s
3084 3257(will)s 3665(be)s 3929(used.)s 4454(Comments)s 5524(and)s
3085 5910(linear)s 6495(whitespace)s 7595(at)s 7809(the)s 8139(end)s
3086 8525(of)s 8778(the)s 480 11660(line)m 892(\(or)s 1228(just)s
3087 1631(before)s 2295(the)s 2640(comment\))s 3656(will)s 4080(still)s
3088 4490(be)s 4770(ignored.)s 5602(Apart)s 6204(from)s 6726(those)s
3089 7285(cases,)s 7894(each)s 8386(tok)s 2(en')k 13(s)k
3090 480 11420(te)m 3(xt)k 895(will)s 1321(be)s 1603(included)s
3091 2485(v)s 3(erbatim.)k gsave
3094 240 fnt31 0 -52(message)m gsave
3098 0 -52(te)m 4(xt)k 404(\202)s
3102 480 10835(Causes)m 1209(a)s
3103 1375(message)s 2241(including)s 3198(the)s 3546(descripti)s 6(v)k 3(e)k
3104 4641(string)s 240 fnt83 5238 10837(te)m 4(xt)k 240 fnt82
3105 5642 10835(to)m 5881(be)s 6163(deli)s 6(v)k 3(ered)k
3106 7101(as)s 7351(if)s 7568(it)s 7760(were)s 8280(an)s
3107 8563(error)s 480 10595(message,)m 1397(b)s 4(ut)k 1759(does)s
3108 2249(not)s 2615(actually)s 3425(cause)s 4012(an)s 4295(error)s 13(.)k
3109 300 fnt84 0 9928(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 9357(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 9117(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 8469(Speci\207es)m
3128 1380(that)s 1784(the)s 2118(\207le)s 240 fnt83 2465 8471(\207lename)m
3129 240 fnt82 3315 8469(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 8471(not)m 240 fnt82 480 8229(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 7989(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 7749(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 7509(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 6875(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 6483(\207lename)m 240 fnt82
3173 480 6241(Error)m 1039(messages)s 1989(will)s 2410(be)s 2688(written)s
3174 3416(to)s 240 fnt83 3651 6243(\207lename)m 240 fnt82 4455 6241(,)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 6001(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 5607([)m 240 fnt83 1853 5609(facility)m
3185 240 fnt82 2571 5607([)m 240 fnt83 2642 5609(le)m 3(vel)k
3186 240 fnt82 3089 5607(]])m 480 5367(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 5369(facility)m 240 fnt82 6786 5367(is)m gsave
3200 7396(;)s 7508(the)s 7856(def)s 2(ault)k
3201 240 fnt83 8577 5369(le)m 3(vel)k 240 fnt82 480 5127(is)m
3205 240 fnt31 0 -52(error)m
3207 1190(.)s 300 fnt84 0 4510(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 3995(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 3755(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 3515(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 2147(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 1907(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 1667(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 1427(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 946(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 706(\(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
3293 0 52(0.64.1)m 4809(User)s 5320(service)s 6052(daemon)s 6867(and)s
3294 7271(client)s 7861(speci\207cation)s
3304 %%PageResources: font Times-Roman
3306 %%+ font Courier-Bold
3307 %%+ font Times-Italic
3309 0.0500 dup scale 10 setlinewidth
3313 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
3328 1417 -15423 translate
3329 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
3333 240 fnt84 8833 13842(13)m gsave
3336 240 fnt31 0 -52(range)m gsave
3340 0 -52(par)m 3(ameter)k
3345 240 fnt83 0 -52(min)m
3355 240 fnt82 960 13016(The)m 1380(v)s 6(alue)k
3356 1940(of)s 2203(the)s 2543(parameter)s 3548(is)s 3750(a)s
3357 3908(nonne)s 3(g)k 1(ati)k 6(v)k 3(e)k
3358 5113(inte)s 3(ger)k 5825(and)s 6220(lies)s 6594(within)s
3359 7254(the)s 7594(range)s 8172(speci\207ed.)s 240 fnt83 960 12778(min)m
3360 240 fnt82 1373 12776(or)m 240 fnt83 1632 12778(max)m 240 fnt82
3361 2091 12776(may)m 2557(be)s gsave
3362 2839 12830 translate
3367 3238(indicate)s 4050(no)s 4343(lo)s 6(wer)k 4941(or)s
3368 5200(upper)s 5805(limit,)s 6362(respecti)s 6(v)k 3(ely)k 15(.)k
3372 240 fnt31 0 -52(grep)m gsave
3375 240 fnt83 0 -52(par)m 3(ameter)k
3381 240 fnt83 0 -52(\207lename)m
3385 960 12295(The)m 240 fnt83 1388 12297(\207lename)m
3386 240 fnt82 2252 12295(refers)m 2845(to)s 3084(a)s 3250(\207le)s
3387 3611(one)s 4013(of)s 4284(whose)s 4952(lines)s 5454(is)s
3388 5664(the)s 6012(v)s 6(alue)k 6580(of)s 6851(the)s
3389 7199(parameter)s 8213(\(leading)s 960 12055(or)m 1211(trailing)s 1944(whitespace)s
3390 3053(on)s 3341(each)s 3827(line)s 4232(and)s 4627(empty)s
3391 5270(lines)s 5764(in)s 5998(the)s 6337(\207le)s 6689(are)s
3392 7027(ignored\).)s 7932(It)s 8128(is)s 8329(an)s 8603(error)s
3393 960 11815(for)m 1298(the)s 1646(\207le)s 2007(not)s 2373(to)s
3394 2612(be)s 2894(opened)s 3644(and)s 4048(read.)s gsave
3401 240 fnt83 0 -52(condition)m
3405 960 11334(The)m 240 fnt83
3406 1388 11336(condition)m 240 fnt82 2346 11334(is)m 240 fnt83 2556 11336(not)m
3407 240 fnt82 2926 11334(true.)m 600 11094(Conjunctions:)m gsave
3408 1983 11148 translate
3414 2547 11148 translate
3419 1440 10668 translate
3421 240 fnt31 0 -52(\()m
3425 240 fnt83 0 -52(condition)m
3430 240 fnt83 0 -52(condition)m
3436 240 fnt83 0 -52(condition)m
3438 0 -772(\202)m 0 -1012(\))m
3441 960 9402(is)m 1170(true)s 1597(if)s 1814(all)s 2107(the)s
3442 2455(listed)s 3030(conditions)s 4078(are)s 4425(true;)s 4908(where)s
3448 5708(is)s 5918(used)s 6415(it)s
3449 6607(is)s 6817(true)s 7244(if)s 7461(an)s 3(y)k
3450 7858(of)s 8129(them)s 8667(is)s 960 9157(true.)m 1428(Ne)s 6(wlines)k
3451 2368(must)s 2885(be)s 3159(used)s 3648(to)s 3879(separate)s
3452 4709(one)s 5104(condition)s 6057(from)s 6573(the)s 6913(ne)s 3(xt,)k
3453 7421(as)s 7663(sho)s 6(wn,)k 8382(and)s 8778(the)s
3454 960 8917(parentheses)m 2126(are)s 2473(mandatory)s 15(.)k 3585(These)s
3455 4212(conjunctions)s 5486(do)s 5779(not)s 6145(do)s 6438(lazy)s
3456 6890(e)s 6(v)k 6(aluation.)k 480 8654(The)m 908(parameters)s
3460 240 fnt31 0 -52(service)m
3462 960 8174(The)m 1388(service)s
3463 2120(name)s 2694(speci\207ed)s 3602(when)s 4178(the)s 4526(client)s
3464 5116(w)s 2(as)k 5537(called.)s gsave
3467 240 fnt31 0 -52(calling\211user)m
3470 960 7694(T)m 19(w)k 2(o)k 1431(strings:)s 2174(the)s
3471 2522(login)s 3071(name)s 3645(of)s 3916(the)s 4264(calling)s
3472 4967(user)s 5425(\(determined)s 6637(as)s 6887(for)s gsave
3478 8226(,)s 8333(abo)s 3(v)k 3(e\))k
3479 960 7454(and)m 1364(the)s 1712(calling)s 2415(uid)s 2779(\(represented)s
3480 4017(in)s 4260(decimal\).)s gsave
3483 240 fnt31 0 -52(calling\211group)m
3485 960 6974(Se)m 6(v)k 3(eral)k
3486 1722(strings:)s 2465(the)s 2813(primary)s 3623(and)s 4027(supplementary)s
3487 5489(group)s 6101(names)s 6763(and)s 7167(gids)s 7617(\(in)s
3488 7939(decimal\))s 960 6734(of)m 1231(the)s 1579(calling)s 2282(process.)s
3489 3103(All)s 3463(the)s 3811(group)s 4423(names)s 5085(come)s
3490 5659(\207rst,)s 6137(and)s 6541(then)s 7010(the)s 7358(gids.)s
3491 7861(If)s 8091(the)s 8439(\207rst)s 960 6494(supplementary)m 2422(group)s
3492 3034(is)s 3244(the)s 3592(same)s 4139(as)s 4389(the)s
3493 4737(primary)s 5547(group)s 6159(then)s 6628(it)s 6820(is)s
3494 7030(elided.)s gsave
3497 240 fnt31 0 -52(calling\211user\211shell)m
3499 960 6014(The)m 1388(calling)s
3500 2091(user')s 13(s)k 2699(shell,)s 3257(as)s 3507(listed)s
3501 4082(in)s 4325(the)s 4673(passw)s 2(ord)k 5633(entry)s
3502 6178(for)s 6516(the)s 6864(calling)s 7567(login)s 8116(name)s
3503 8690(\(as)s 960 5774(determined)m 2093(for)s gsave
3506 240 fnt31 0 -52(USERV_USER)m
3509 3432(,)s 3539(abo)s 3(v)k 3(e\).)k gsave
3513 0 -52(service\211user)m
3515 960 5294(T)m 19(w)k 2(o)k 1431(strings:)s
3516 2174(the)s 2522(name)s 3096(of)s 3367(the)s 3715(service)s
3517 4447(user)s 4905(\(as)s 5234(speci\207ed)s 6142(to)s 6381(the)s
3518 6729(client\))s 7387(and)s 7791(their)s 8288(uid)s 960 5054(\(represented)m
3519 2198(in)s 2441(decimal\).)s gsave
3522 240 fnt31 0 -52(service\211group)m
3524 960 4574(Se)m 6(v)k 3(eral)k
3525 1722(strings:)s 2465(the)s 2813(primary)s 3623(and)s 4027(supplementary)s
3526 5489(group)s 6101(names)s 6763(and)s 7167(gids)s 7617(\(in)s
3527 7939(decimal\))s 8823(of)s 960 4334(the)m 1308(service)s 2040(user)s 13(.)k
3531 240 fnt31 0 -52(service\211user\211shell)m
3533 960 3854(The)m 1388(service)s 2120(user')s 13(s)k
3534 2728(shell,)s 3286(as)s 3536(listed)s 4111(in)s 4354(their)s
3535 4851(passw)s 2(ord)k 5811(entry)s 15(.)k gsave
3542 240 fnt83 0 -52(name)m
3546 960 3374(The)m 1388(v)s 6(alue)k
3547 1956(of)s 2227(the)s 2575(user)s 4(-de\207ned)k 3811(v)s 6(ariable)k
3548 240 fnt83 4630 3376(name)m 240 fnt82 5202 3374(passed)m 5898(by)s
3549 6192(the)s 6540(caller)s 7129(using)s 7701(the)s gsave
3553 0 -52(\211\211defvar)m
3555 960 3134(command-line)m 2397(option)s 3066(to)s 3305(the)s
3556 3653(client.)s 4287(If)s 4517(the)s 4865(v)s 6(ariable)k
3557 5684(w)s 2(as)k 6105(not)s 6471(de\207ned)s 7234(then)s
3558 7703(this)s 8099(parameter)s 960 2894(is)m 1170(an)s 1453(empty)s
3559 2105(list)s 2456(of)s 2727(strings;)s 3476(in)s 3719(this)s
3560 4115(case)s 4582(an)s 3(y)k 4979(condition)s 5940(which)s
3561 6582(tests)s 7057(it)s 7249(will)s 7675(be)s 7957(f)s 2(alse,)k
3565 240 fnt31 0 -52(include\211lookup)m
3567 2421 2654(on)m 2718(it)s
3568 2910(will)s 3336(read)s 3805(the)s gsave
3571 240 fnt31 0 -52(:none)m
3574 4713(\207le,)s 5125(or)s gsave
3577 240 fnt31 0 -52(:default)m
3583 240 fnt31 0 -52(:none)m
3585 7022(is)s 7232(not)s 7598(found.)s
3589 240 fnt31 0 -52(errors\211push)m
3591 240 fnt83 1281 2233(\207lename)m gsave
3597 240 fnt82 480 1751(Stacks)m 1155(the)s 1503(error)s
3598 2026(handling)s 2917(beha)s 4(viour)k 3930(currently)s 4846(in)s
3599 5089(ef)s 6(fect.)k 5729(An)s 3(y)k 6193(changes)s
3600 7015(to)s 7254(error)s 7777(handling)s 8668(will)s 480 1511(tak)m 2(e)k
3601 932(ef)s 6(fect)k 1528(only)s 2008(between)s gsave
3605 0 -52(errors\211push)m
3610 240 fnt31 0 -52(srorre)m
3616 240 fnt31 0 -52(catch\211quit)m
3621 240 fnt31 0 -52(hctac)m
3624 511(service)s 1243(daemon)s 2058(and)s 2462(client)s 3052(speci\207cation)s
3635 %%PageResources: font Times-Roman
3637 %%+ font Courier-Bold
3638 %%+ font Times-Italic
3640 0.0500 dup scale 10 setlinewidth
3644 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
3659 1417 -15423 translate
3660 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
3664 240 fnt84 0 13842(14)m 240 fnt82 480 13254(An)m 3(y)k
3665 935(use)s 1301(of)s gsave
3666 1563 13308 translate
3668 240 fnt31 0 -52(quit)m
3672 2631 13308 translate
3674 240 fnt31 0 -52(catch\211quit)m
3676 3683(will)s 4100(merely)s 4807(cause)s
3677 5385(the)s 5724(parsing)s 6472(to)s 6701(continue)s 7572(at)s
3679 7795 13308 translate
3681 240 fnt31 0 -52(hctac)m
3683 8345(instead.)s 480 13014(An)m 3(y)k
3684 944(control)s 1676(constructs)s 2696(started)s 3390(since)s 3937(the)s
3686 4285 13068 translate
3688 240 fnt31 0 -52(catch\211quit)m
3690 5346(will)s 5772(be)s 6054(considered)s
3691 7148(\207nished)s 7964(if)s 8181(a)s gsave
3692 8347 13068 translate
3694 240 fnt31 0 -52(quit)m
3697 8807(is)s 480 12774(found.)m 1203(If)s 1433(an)s 1716(error)s
3698 2239(occurs)s 2914(inside)s gsave
3699 3541 12828 translate
3701 240 fnt31 0 -52(catch\211quit)m
3704 4950(e)s 3(x)k 3(ecution)k 5931(settings)s 6712(will)s
3705 7138(be)s 7420(reset)s 7930(\(as)s 8259(if)s 8476(by)s
3709 240 fnt31 0 -52(reset)m
3711 1040 12534(directi)m 6(v)k 3(e\))k
3712 1994(and)s 2398(parsing)s 3155(will)s 3581(lik)s 2(e)k 6(wise)k
3713 4425(continue)s 5305(at)s gsave
3714 5537 12588 translate
3716 240 fnt31 0 -52(hctac)m
3719 6201(If)s 6431(a)s 6597(le)s 3(xical)k 7285(or)s
3720 7544(syntax)s 8224(error)s 8747(is)s 480 12294(detected)m 1334(in)s
3721 1577(the)s 1925(same)s 2472(con\207guration)s 3805(\207le)s 4166(as)s
3723 4764 12348 translate
3725 240 fnt31 0 -52(catch\211quit)m
3727 5765(,)s 5872(while)s
3728 6459(looking)s 7244(for)s 7582(the)s gsave
3729 7930 12348 translate
3731 240 fnt31 0 -52(hctac)m
3734 8490(after)s 480 12054(an)m 763(error)s 1286(or)s gsave
3735 1545 12108 translate
3740 1945(,)s 2052(that)s 2470(ne)s 6(w)k
3741 2917(error)s 3440(will)s 3866(not)s 4232(be)s 4514(caught.)s
3742 300 fnt84 0 11387(4.2.4.)m 813(Dir)s 5(ecti)k 3(v)k 3(es)k
3743 2148(f)s 7(or)k 2595(changing)s 3829(execution)s 5112(settings)s
3744 240 fnt82 0 10816(The)m 419(follo)s 6(wing)k 1386(directi)s 6(v)k 3(es)k
3745 2346(modify)s 3082(the)s 3420(e)s 3(x)k 3(ecution)k
3746 4391(settings;)s 5223(the)s 5562(serv)s 3(er)k 6192(will)s
3747 6608(remember)s 7627(the)s 7965(f)s 2(act)k 8370(that)s
3748 8778(the)s 0 10575(directi)m 6(v)k 3(e)k 881(w)s 2(as)k
3749 1300(encountered)s 2525(and)s 2927(act)s 3263(on)s 3559(it)s
3750 3749(only)s 4227(after)s 4721(all)s 5012(the)s 5359(con\207guration)s
3751 6690(has)s 7058(been)s 7565(parsed.)s 8291(The)s 240 fnt83
3752 8717 10577(last)m 240 fnt82 0 10335(directi)m 6(v)k 3(e)k
3753 882(which)s 1524(modi\207es)s 2399(an)s 3(y)k 2796(particuar)s
3754 3704(setting)s 4394(will)s 4820(tak)s 2(e)k 5272(ef)s 6(fect.)k
3758 240 fnt31 0 -52(reject)m
3760 480 9687(Reject)m 1150(the)s 1498(request.)s
3764 240 fnt31 0 -52(execute)m
3769 240 fnt31 0 -52(execute\211from\211directory)m
3775 240 fnt31 0 -52(execute\211from\211path)m
3777 7527(will)s 7953(change)s
3778 480 9447(this)m 876(setting.)s gsave
3781 240 fnt31 0 -52(execute)m gsave
3785 0 -52(pr)m 10(o)k 2(gr)k 3(am)k
3791 240 fnt83 0 -52(ar)m 8(gument)k
3795 480 8813(Ex)m 3(ecute)k
3796 1300(the)s 1645(program)s 240 fnt83 2512 8815(pr)m 10(o)k 2(gr)k 3(am)k
3797 240 fnt82 3332 8813(,)m 3436(with)s 3915(the)s 4259(ar)s 4(guments)k
3798 5299(as)s 5546(speci\207ed,)s 6500(follo)s 6(wed)k 7399(by)s
3799 7690(an)s 3(y)k 8083(ar)s 4(guments)k 480 8573(gi)m 6(v)k 3(en)k
3800 1052(to)s 1282(the)s 1621(client)s 2203(if)s gsave
3804 0 -52(no\211suppress\211args)m
3806 4064(is)s 4266(in)s 4500(ef)s 6(fect.)k
3807 5131(It)s 5328(is)s 5529(an)s 5803(error)s 6318(for)s
3808 6647(the)s 6986(e)s 3(x)k 3(ecution)k 7959(to)s
3809 8189(f)s 2(ail)k 8550(when)s 480 8333(it)m 672(is)s
3810 882(attempted)s 1882(\(after)s 2457(all)s 2750(the)s 3098(con\207guration)s
3811 4431(has)s 4801(been)s 5310(parsed\).)s 6117(If)s 240 fnt83
3812 6347 8335(pr)m 10(o)k 2(gr)k 3(am)k 240 fnt82
3813 7227 8333(does)m 7717(not)s 8083(contain)s 8844(a)s 480 8093(slash)m
3814 1015(it)s 1207(will)s 1633(be)s 1915(searched)s 2809(for)s
3815 3147(on)s 3444(the)s 3792(service)s 4524(user')s 13(s)k
3819 240 fnt31 0 -52(execute\211from\211directory)m gsave
3822 240 fnt83 0 -52(pathname)m
3828 240 fnt83 0 -52(ar)m 8(gument)k
3833 480 7459(T)m 19(ak)k 2(e)k 993(all)s 1286(the)s
3834 1634(characters)s 2652(after)s 3148(the)s 3496(last)s 3887(slash)s
3835 4422(of)s 4693(the)s 5041(service)s 5773(name)s 6347(speci\207ed)s
3836 7255(when)s 7831(the)s 8179(client)s 480 7218(w)m 2(as)k
3837 901(called,)s 1578(and)s 1982(e)s 3(x)k 3(ecute)k
3838 2762(that)s 3180(program)s 4050(in)s 4293(the)s 4641(directory)s
3839 5557(named)s 6253(by)s 240 fnt83 6547 7220(pathname)m 240 fnt82
3840 7545 7218(as)m 7795(if)s 8012(it)s 8204(had)s 8608(been)s
3841 480 6978(speci\207ed)m 1388(for)s 240 fnt83 1726 6980(e)m 4(xecute)k
3842 240 fnt82 2431 6978(.)m 2535(The)s 2963(part)s 3394(of)s
3843 3665(the)s 4013(service)s 4745(name)s 5319(used)s 5816(may)s
3844 6282(contain)s 7043(only)s 7523(alphanumerics)s 480 6738(and)m 884(h)s 1(yphens)k
3845 1732(and)s 2136(must)s 2660(start)s 3130(with)s 3611(an)s
3846 3894(alphanumeric)s 5247(\(and)s 5730(it)s 5921(must)s 6446(be)s
3847 6727(non-empty\),)s 7950(otherwise)s 8934(it)s 480 6498(is)m 690(an)s
3848 973(error)s 13(.)k 1587(This)s 2063(directi)s 6(v)k 3(e)k
3849 2945(is)s 3155(ignored)s 3944(if)s 4161(the)s 4509(rele)s 6(v)k 6(ant)k
3850 5326(program)s 6196(does)s 6686(not)s 7052(e)s 3(xist)k
3851 7560(in)s 7803(the)s 8151(directory)s 480 6258(speci\207ed;)m 1437(in)s
3852 1675(this)s 2066(case)s 2528(the)s 2871(program)s 3735(to)s
3853 3969(e)s 3(x)k 3(ecute)k 4744(is)s 4949(left)s
3854 5321(at)s 5548(its)s 5818(pre)s 6(vious)k 6682(setting)s
3855 7367(\(or)s 7700(unset,)s 8307(if)s 8519(it)s 8705(w)s 2(as)k
3856 480 6018(not)m 846(set)s 1171(before\).)s 2024(It)s 2229(is)s
3857 2439(an)s 2722(error)s 3245(for)s 3583(the)s 3931(test)s
3858 4322(for)s 4660(the)s 5008(e)s 3(xistence)k 5950(of)s
3859 6221(the)s 6569(program)s 7439(to)s 7678(f)s 2(ail)k
3860 8048(other)s 8599(than)s 480 5778(with)m 958(a)s 1120(`no)s
3861 1488(such)s 1980(\207le)s 2336(or)s 2591(directory')s 3561(indication.)s
3862 4617(It)s 4818(is)s 5023(also)s 5457(an)s 5736(error)s
3863 6255(for)s 6589(the)s 6932(e)s 3(x)k 3(ecution)k
3864 7909(to)s 8144(f)s 2(ail)k 8510(if)s 8722(and)s
3865 480 5538(when)m 1056(it)s 1248(is)s 1458(attempted)s 2458(\(after)s
3866 3033(all)s 3326(the)s 3674(con\207guration)s 5007(has)s 5377(been)s
3867 5886(parsed\).)s gsave
3870 240 fnt31 0 -52(execute\211from\211path)m
3872 240 fnt83 480 4906(service)m
3873 240 fnt82 1202 4904(is)m 1404(interpreted)s 2488(as)s 2731(a)s
3874 2889(program)s 3751(on)s 4041(the)s 4381(def)s 2(ault)k
3878 240 fnt31 0 -52(PATH)m
3880 5546(\(or)s 5877(as)s 6119(a)s
3881 6277(pathname)s 7256(of)s 7519(an)s 7794(e)s 3(x)k 3(ecutable,)k
3882 8909(if)s 480 4663(it)m 660(contains)s 1495(a)s gsave
3888 1749(\).)s 1919(This)s 2383(directi)s 6(v)k 3(e)k
3889 3252(is)s 240 fnt83 3450 4665(very)m 3904(dang)s 2(er)k 10(ous)k
3890 240 fnt82 4899 4663(,)m 4994(and)s 5385(is)s 5583(only)s
3891 6050(pro)s 3(vided)k 6944(to)s 7170(mak)s 2(e)k
3895 240 fnt31 0 -52(\211\211override)m
3897 480 4423(options)m 1230(ef)s 6(fecti)k 6(v)k 3(e.)k
3898 2146(It)s 2344(should)s 3034(not)s 3393(normally)s 4304(be)s
3899 4579(used.)s 5115(It)s 5313(is)s 5516(an)s 5792(error)s
3900 6309(for)s 6640(the)s 6981(e)s 3(x)k 3(ecution)k
3901 7955(to)s 8187(f)s 2(ail)k 8550(when)s 480 4183(it)m
3902 672(is)s 882(attempted)s 1882(\(after)s 2457(all)s 2750(the)s
3903 3098(con\207guration)s 4431(has)s 4801(been)s 5310(parsed\).)s gsave
3907 0 -52(execute\211builtin)m gsave
3910 240 fnt83 0 -52(service\211name)m
3915 240 fnt83 0 -52(service\211ar)m 8(guments)k
3920 480 3549(Ex)m 3(ecutes)k 1388(the)s 1732(b)s 4(uiltin)k
3921 2405(service)s 240 fnt83 3133 3551(service-name)m 240 fnt82 4400 3549(.)m
3922 4500(These)s 5123(b)s 4(uiltin)k 5796(services)s 6612(display)s
3923 7353(information)s 8534(about)s 480 3309(the)m 822(serv)s 3(er)k
3924 1455(and/or)s 2120(the)s 2461(request,)s 3252(and)s 3649(ignore)s
3925 4310(an)s 3(y)k 4700(ar)s 4(guments)k 5737(passed)s
3926 6426(from)s 6944(the)s 7285(service)s 8011(side)s 8445(e)s 3(xcept)k
3927 480 3069(possibly)m 1320(to)s 1547(print)s 2046(them)s 2572(as)s
3928 2810(part)s 3228(of)s 3487(their)s 3972(output.)s 4676(The)s 3(y)k
3929 5207(write)s 5740(their)s 6225(results)s 6887(to)s 7114(their)s
3930 7599(standard)s 8454(output)s 480 2829(\(i.e.,)m 958(where)s 6(v)k 3(er)k
3931 1898(\207le)s 2259(descriptor)s 3274(1)s 3429(is)s 3639(directed\).)s
3932 4591(The)s 5019(b)s 4(uiltin)k 5696(services)s 6516(are:)s
3936 240 fnt31 0 -52(execute)m
3938 960 2349(Displays)m 1848(the)s 2196(e)s 3(x)k 3(ecution)k
3939 3177(settings,)s 4014(de\207ned)s 4777(v)s 6(ariables,)k 5740(ar)s 4(guments,)k
3940 6839(etc.)s 7221(with)s 7703(which)s 8345(the)s 960 2109(b)m 4(uiltin)k
3941 1637(service)s 2369(w)s 2(as)k 2790(in)s 9(v)k 4(ok)k 2(ed.)k
3945 240 fnt31 0 -52(environment)m
3947 960 1629(Dis)m 1283(plays)s 1839(the)s
3948 2187(en)s 2410(vi)s 2590(ron)s 2906(ment)s 3444(v)s 6(ari)k
3949 3803(able)s 4257(set)s 4522(tings)s 5038(with)s 5520(which)s
3950 6162(the)s 6510(b)s 4(uiltin)k 7187(ser)s 7465(vice)s
3951 7919(w)s 2(as)k 960 1389(in)m 1143(v)s 4(ok)k 2(ed.)k
3955 240 fnt31 0 -52(parameter)m gsave
3958 240 fnt83 0 -52(par)m 3(ameter)k
3963 960 909(Displays)m 1848(the)s 2196(v)s 6(alues)k 2852(of)s
3964 3123(the)s 3471(service)s 4203(con\207guration)s 5536(language)s 6456(parameter)s
3965 7470(speci\207ed.)s gsave
3968 240 fnt31 0 -52(version)m
3970 0 52(0.64.1)m 4809(User)s
3971 5320(service)s 6052(daemon)s 6867(and)s 7271(client)s 7861(speci\207cation)s
3982 %%PageResources: font Times-Roman
3984 %%+ font Courier-Bold
3985 %%+ font Times-Italic
3987 0.0500 dup scale 10 setlinewidth
3991 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
4006 1417 -15423 translate
4007 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
4011 240 fnt84 8833 13842(15)m 240 fnt82 960 13252(Displays)m 1848(the)s
4012 2196(v)s 3(ersion)k 2954(string)s 3551(and)s 3955(compilation)s
4013 5154(details)s 5828(of)s 6099(the)s 6447(uservd)s 7143(serv)s 3(er)k
4014 7783(program.)s gsave
4017 240 fnt31 0 -52(reset)m
4019 960 12772(Dis)m 1283(plays)s
4020 1838(the)s 2184(de)s 2406(f)s 2(ault)k 2899(re)s
4021 3080(set)s 3403(con)s 3746(\207g)s 3992(u)s 4107(ra)s
4022 4292(tion)s 4719(\(e)s 6(v)k 6(al)k 5179(u)s
4023 5294(at)s 5466(ed)s 5748(when)s gsave
4024 6323 12826 translate
4026 240 fnt31 0 -52(reset)m
4029 6881(is)s 7089(found)s 7704(in)s 7945(a)s 8109(con)s
4030 8452(\207g)s 8698(u)s 8813(ra)s 8998(-)s 960 12532(tion)m
4031 1389(\207le,)s 1801(or)s 2060(when)s 2636(an)s 2919(er)s
4032 3104(ror)s 3442(is)s 3652(caught)s 4350(by)s gsave
4033 4644 12586 translate
4036 0 -52(catch\211quit)m
4041 240 fnt31 0 -52(toplevel)m
4043 960 12052(Displays)m
4044 1848(the)s 2196(top-le)s 6(v)k 3(el)k 3091(def)s 2(ault)k
4045 3812(con\207guration)s 5145(\(the)s 5572(con\207guration)s 6905(data,)s 7410(e)s 6(v)k 6(aluated)k
4046 8372(by)s 8666(the)s 960 11812(serv)m 3(er)k 9(,)k
4047 1638(which)s 2280(calls)s 2768(all)s 3061(the)s 3409(other)s
4048 3960(con\207guration)s 5293(\207les\).)s gsave
4051 240 fnt31 0 -52(override)m
4053 960 11332(Displays)m
4054 1847(the)s 2194(top-le)s 6(v)k 3(el)k 3088(o)s 3(v)k 3(erride)k
4055 3932(con\207guration)s 5264(\(the)s 5690(con\207guration)s 7021(data,)s 7525(e)s 6(v)k 6(aluated)k
4056 8486(by)s 8778(the)s 960 11092(serv)m 3(er)k 9(,)k
4057 1638(which)s 2280(causes)s 2955(all)s 3248(the)s 3596(other)s
4058 4147(con\207guration)s 5480(data)s 5938(to)s 6177(be)s 6459(parsed\).)s
4062 240 fnt31 0 -52(help)m
4064 960 10612(Displays)m 1848(a)s 2014(list)s
4065 2365(of)s 2636(the)s 2984(understood)s 4106(b)s 4(uiltin)k
4066 4783(service)s 5515(names)s 6177(and)s 6581(ar)s 4(guments.)k
4067 480 10349(In)m 736(the)s 1084(fu)s 1278(ture)s 1705(oth)s
4068 2008(er)s 2253(b)s 4(uiltin)k 2930(ser)s 3208(vices)s
4069 3750(may)s 4216(be)s 4498(de)s 4720(\207ned)s 5257(which)s
4070 5899(do)s 6192(more)s 6739(than)s 7208(just)s 7613(print)s
4071 8124(in)s 8307(for)s 8585(-)s 480 10109(ma)m 772(tion.)s
4075 240 fnt31 0 -52(set\211environment)m
4080 240 fnt31 0 -52(no\211set\211environment)m
4086 240 fnt31 0 -52(/etc/environment)m
4088 2686(to)s 2925(set)s 3250(the)s
4089 3598(service)s 4330(user')s 13(s)k 4938(en)s 9(vironment.)k
4090 6242(This)s 6718(adds)s 7208(the)s 7556(o)s 3(v)k 3(erhead)k
4091 8485(of)s 480 9045(in)m 9(v)k 4(oking)k 1372(a)s
4092 1538(shell,)s 2096(b)s 4(ut)k 2458(doesn')s 4(t)k
4093 3218(cause)s 3805(an)s 3(y)k 4202(shell)s 4708(\(de\)mangling)s
4094 6049(of)s 6320(the)s 6668(service')s 13(s)k 7554(ar)s 4(guments.)k
4095 8650(This)s 480 8805(is)m 690(achie)s 6(v)k 3(ed)k
4096 1589(by)s 1883(in)s 9(v)k 4(oking)k gsave
4100 0 -52(.../program)m 1728(arg)s 2304(arg)s 2880(arg)s 3456(\202)s
4106 240 fnt31 0 -52(/bin/sh)m 1152(\211c)s 1584('.)s
4107 2016(/etc/environment;)s 4608(exec)s 5328("$@"')s 6192(\211)s 6480(.../program)s
4108 8208(arg)s 8784(arg)s 9360(arg)s 9936(\202)s
4114 0 -52(no\211set\211environment)m
4116 2342 7890(cancels)m 3096(the)s 3444(ef)s 6(fect)k
4120 240 fnt31 0 -52(set\211environment)m
4126 0 -52(no\211suppress\211args)m
4131 240 fnt31 0 -52(suppress\211args)m
4133 480 7066(Include)m 1253(an)s 3(y)k
4134 1650(ar)s 4(guments)k 2693(gi)s 6(v)k 3(en)k
4135 3273(to)s 3512(the)s 3860(client)s 4450(as)s 4700(ar)s 4(guments)k
4136 5743(to)s 5982(the)s 6330(program)s 7200(in)s 9(v)k 4(ok)k 2(ed)k
4137 8015(as)s 8265(a)s 8431(result)s 480 6826(of)m 749(an)s
4141 240 fnt31 0 -52(execute)m
4146 240 fnt31 0 -52(execute\211from\211directory)m
4152 240 fnt31 0 -52(execute\211from\211path)m
4154 6110(directi)s 6(v)k 3(e.)k
4158 240 fnt31 0 -52(suppress\211args)m
4160 8396(undoes)s 480 6586(the)m 828(ef)s 6(fect)k
4164 240 fnt31 0 -52(no\211suppress\211args)m
4170 0 -52(require\211fd)m gsave
4173 240 fnt83 0 -52(fd\211r)m 3(ang)k 2(e)k
4178 480 5966(In)m 676(sist)s 1054(that)s 1472(the)s
4179 1820(\207ledescrip)s 2808(tor\(s\))s 3373(be)s 3655(opened)s 4405(for)s
4180 4743(read)s 5152(ing)s 5511(resp.)s 6013(writ)s 6397(ing.)s
4181 6807(It)s 7012(is)s 7222(an)s 7505(er)s 7690(ror)s
4182 8028(if)s 8245(an)s 3(y)k 8642(de)s 8864(-)s
4183 480 5726(scrip)m 937(tor)s 1258(mark)s 2(ed)k 2027(as)s
4184 2272(re)s 2453(quired)s 3118(when)s 3689(the)s 4033(ser)s
4185 4311(vice)s 4760(is)s 4966(about)s 5554(to)s 5788(be)s
4186 6066(in)s 6249(v)s 4(ok)k 2(ed)k 6882(\(af)s
4187 7158(ter)s 7465(the)s 7808(con)s 8151(\207g)s 8397(u)s
4188 8512(ra)s 8697(tion)s 480 5486(has)m 850(been)s 1359(parsed\))s
4189 2111(w)s 2(as)k 2532(not)s 2898(spec)s 3316(i)s
4190 3376(\207ed)s 3793(when)s 4369(the)s 4717(client)s 5307(w)s 2(as)k
4191 5728(in)s 5911(v)s 4(ok)k 2(ed.)k 6595(Each)s
4192 7130(\207le)s 7491(de)s 7713(scrip)s 8170(tor)s 8495(has)s
4193 480 5246(a)m 646(sep)s 958(a)s 1064(rate)s 1477(set)s
4194 1742(ting,)s 2221(and)s 2625(the)s 2973(last)s 3364(one)s
4198 240 fnt31 0 -52(require\211fd)m
4209 240 fnt31 0 -52(ignore\211fd)m
4215 240 fnt31 0 -52(null\211fd)m
4220 240 fnt31 0 -52(reject\211fd)m
4223 480 5005(which)m 1122(af)s 1319(fect)s 1676(ed)s 1960(a)s
4224 2126(par)s 2431(tic)s 2662(u)s 2777(lar)s 3088(\207le)s
4225 3449(de)s 3671(scrip)s 4128(tor)s 4453(will)s 4879(tak)s 2(e)k
4226 5331(ef)s 5528(fect.)s 240 fnt83 6049 5007(fd-)m 6302(r)s 3(ang)k 2(e)k
4227 240 fnt82 6909 5005(may)m 7375(be)s 7657(a)s 7823(sin)s
4228 8099(gle)s 8447(num)s 8873(-)s 480 4765(ber)m 9(,)k
4229 883(tw)s 2(o)k 1293(num)s 1719(bers)s 2168(sep)s
4230 2480(a)s 2586(rat)s 2837(ed)s 3121(by)s 3415(a)s
4231 3581(h)s 1(y)k 3814(phen,)s 4387(or)s 4646(one)s
4232 5048(num)s 5474(ber)s 5839(fol)s 6099(lo)s 6(wed)k
4233 6736(by)s 7030(a)s 7196(h)s 1(y)k 7429(phen)s
4234 7952(\(in)s 8214(di)s 8394(cat)s 8672(ing)s 480 4525(all)m
4235 772(de)s 994(scrip)s 1451(tors)s 1858(from)s 2380(that)s
4236 2796(num)s 3222(ber)s 3585(on)s 3822(w)s 2(ards\).)k
4237 4573(It)s 4776(may)s 5240(also)s 5676(be)s 5956(one)s
4238 6357(of)s 6626(the)s 6972(w)s 2(ords)k gsave
4247 240 fnt31 0 -52(stdout)m
4253 240 fnt31 0 -52(stderr)m
4255 1080 4285(.)m 1174(Open-)s 1761(ended)s
4256 2380(\207le)s 2730(de)s 2952(scrip)s 3409(tor)s 3723(rangers)s
4257 4466(are)s 4802(al)s 4969(lo)s 6(wed)k 5596(only)s
4261 240 fnt31 0 -52(reject\211fd)m
4267 0 -52(ignore\211fd)m
4269 8780(,)s 8876(as)s 480 4045(oth)m 783(er)s
4270 968(wise)s 1457(the)s 1799(ser)s 2077(vice)s 2526(pro)s
4271 2838(gram)s 3383(w)s 2(ould)k 4033(\207nd)s 4458(it)s
4272 4590(self)s 5001(with)s 5477(a)s 5638(v)s 3(ery)k
4273 6108(lar)s 4(ge)k 6632(num)s 7058(ber)s 7417(of)s
4274 7683(\207le)s 8038(de)s 8260(scrip)s 8717(tors)s 480 3805(open.)m
4275 1090(When)s 1699(the)s 2027(con)s 2370(\207g)s 2616(u)s
4276 2731(ra)s 2916(tion)s 3325(has)s 3674(been)s 4163(parsed,)s
4277 4874(and)s 5258(be)s 5480(fore)s 5900(the)s 6227(ser)s
4278 6505(vice)s 6939(is)s 7129(about)s 7701(to)s 7920(be)s
4279 8181(e)s 3(x)k 8399(e)s 8501(cut)s 8793(ed,)s
4280 480 3565(stderr)m 1083(\(fd)s 1418(2\))s 1665(must)s 2189(be)s
4281 2470(re)s 2651(quired)s 3320(or)s 3578(al)s 3745(lo)s 6(wed)k
4285 240 fnt31 0 -52(require\211fd)m
4293 6573(\))s 6701(for)s 7038(writ)s 7422(ing;)s
4294 7839(this)s 8234(is)s 8443(so)s 8708(that)s 480 3325(the)m
4295 825(er)s 1010(ror)s 1345(mes)s 1721(sage)s 2198(print)s
4296 2649(ed)s 2930(by)s 3220(the)s 3565(serv)s 3958(er')s 13(s)k
4297 4350(child)s 4882(pro)s 5194(cess)s 5640(if)s 5853(it)s
4298 6042(can)s 6371(not)s gsave
4301 240 fnt31 0 -52(exec)m
4304 7535(ser)s 7813(vice)s 8263(pro)s 8575(gram)s 480 3085(is)m
4305 690(not)s 1056(lost.)s gsave
4308 240 fnt31 0 -52(allow\211fd)m gsave
4312 0 -52(fd\211r)m 3(ang)k 2(e)k
4316 480 2496(Allo)m 6(w)k
4317 1126(the)s 1474(descriptor\(s\))s 2729(to)s 2968(be)s 3250(opened)s
4318 4000(for)s 4338(reading)s 5108(resp.)s 5610(writing,)s 6407(or)s
4319 6666(either)s 7269(if)s 7486(neither)s gsave
4322 240 fnt31 0 -52(read)m
4328 240 fnt31 0 -52(write)m
4330 1040 2256(is)m 1250(speci\207ed.)s
4331 2204(If)s 2434(a)s 2600(particular)s 3574(descriptor)s 4589(not)s
4332 4955(speci\207ed)s 5863(by)s 6157(the)s 6505(client)s 7095(then)s
4333 7564(it)s 7756(will)s 8182(be)s 8464(open)s 480 2016(onto)m
4337 240 fnt31 0 -52(/dev/null)m
4339 1920(\(for)s 2337(reading,)s 3161(writing,)s
4340 3958(or)s 4217(both,)s 4750(depending)s 5801(on)s 6098(whether)s
4344 240 fnt31 0 -52(read)m
4349 240 fnt31 0 -52(write)m
4352 7995(or)s 8254(neither)s 480 1776(w)m 2(as)k 901(speci\207ed\).)s
4356 240 fnt31 0 -52(null\211fd)m gsave
4359 240 fnt83 0 -52(fd\211r)m 3(ang)k 2(e)k
4364 480 1137(Spec)m 938(i)s 998(fy)s 1251(that)s
4365 1669(the)s 2017(de)s 2239(scrip)s 2696(tor\(s\))s 3261(be)s
4366 3543(opened)s 4293(onto)s gsave
4369 240 fnt31 0 -52(/dev/null)m
4372 6071(read)s 6480(ing)s 6839(resp.)s 7341(writ)s 7725(ing,)s
4373 8138(or)s 8397(both)s 8880(if)s 480 897(nei)m 766(ther)s
4377 240 fnt31 0 -52(read)m
4382 240 fnt31 0 -52(write)m
4385 2529(is)s 2722(spec)s 3140(i)s 3200(\207ed.)s 3646(An)s 3(y)k
4386 4093(spec)s 4511(i)s 4571(\207)s 4696(ca)s 4908(tion)s
4387 5320(of)s 5574(these)s 6104(\207le)s 6448(de)s 6670(scrip)s
4388 7127(tors)s 7519(by)s 7796(the)s 8127(client)s 8700(will)s
4389 0 52(User)m 511(service)s 1243(daemon)s 2058(and)s 2462(client)s
4390 3052(speci\207cation)s 8491(0.64.1)s
4400 %%PageResources: font Times-Roman
4402 %%+ font Courier-Bold
4403 %%+ font Times-Italic
4405 0.0500 dup scale 10 setlinewidth
4409 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
4424 1417 -15423 translate
4425 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
4429 240 fnt84 0 13842(16)m 240 fnt82 480 13251(be)m 762(silent)s
4430 1279(ly)s 1519(ig)s 1698(nored;)s 2355(the)s 2703(client)s
4431 3293(will)s 3719(see)s 4080(its)s 4356(ends)s 4846(of)s
4432 5117(the)s 5465(de)s 5687(scrip)s 6144(tors)s 6553(be)s
4433 6775(ing)s 7134(closed)s 7803(im)s 8055(me)s 8343(di)s
4434 8523(ate)s 8797(ly)s 15(.)k gsave
4437 240 fnt31 0 -52(reject\211fd)m
4441 240 fnt83 0 -52(fd\211r)m 3(ang)k 2(e)k
4446 824(not)s 1187(allo)s 6(w)k 1764(the)s 2109(descriptor\(s\))s
4447 3362(to)s 3598(be)s 3878(speci\207ed)s 4783(by)s 5075(the)s
4448 5420(client.)s 6052(It)s 6254(is)s 6462(an)s 6742(error)s
4449 7263(if)s 7477(an)s 3(y)k 7871(descriptor\(s\))s 480 12377(mark)m 2(ed)k
4450 1253(for)s 1591(rejection)s 2483(are)s 2830(speci\207ed)s 3738(when)s
4451 4314(the)s 4662(service)s 5394(is)s 5604(about)s 6196(to)s
4452 6435(be)s 6717(in)s 9(v)k 4(ok)k 2(ed)k
4453 7532(\(after)s 8107(the)s 480 12137(con\207guration)m 1813(has)s 2183(been)s
4454 2692(parsed\).)s gsave
4457 240 fnt31 0 -52(ignore\211fd)m gsave
4460 240 fnt83 0 -52(fd\211r)m 3(ang)k 2(e)k
4465 480 11503(Silent)m 1037(ly)s 1260(ig)s 1439(nore)s 1902(an)s 3(y)k
4466 2281(spec)s 2699(i)s 2759(\207)s 2884(ca)s 3096(tion)s
4467 3507(by)s 3783(the)s 4113(client)s 4685(of)s 4938(those)s
4468 5481(de)s 5703(scrip)s 6160(tor\(s\).)s 6762(The)s 7172(pipes)s
4469 7710(cor)s 8015(re)s 8196(spond)s 8767(ing)s 480 11263(to)m
4470 719(these)s 1266(de)s 1488(scrip)s 1945(tors)s 2354(will)s
4471 2780(be)s 3062(closed)s 3731(just)s 4136(be)s 4358(fore)s
4472 4798(the)s 5146(ser)s 5424(vice)s 5878(is)s 6088(in)s
4473 6271(v)s 4(ok)k 2(ed.)k gsave
4476 240 fnt31 0 -52(disconnect\211hup)m
4482 240 fnt31 0 -52(no\211disconnect\211hup)m
4484 480 10389(Caus)m 950(es)s 1200(the)s
4485 1548(ser)s 1826(vice')s 13(s)k 2434(pro)s 2746(cess)s
4486 3195(group)s 3807(to)s 4046(get)s 4398(a)s gsave
4487 4564 10443 translate
4492 5224(if)s 5441(the)s 5789(client)s 6379(dis)s
4493 6649(con)s 6992(nects)s 7534(be)s 7756(fore)s 8196(the)s
4494 8544(main)s 480 10149(ser)m 758(vice)s 1209(pro)s 1521(cess)s
4495 1966(ter)s 2217(mi)s 2463(nates.)s gsave
4496 3055 10203 translate
4498 240 fnt31 0 -52(no\211disconnect\211hup)m
4501 4813(can)s 5142(cels)s gsave
4502 5560 10203 translate
4504 240 fnt31 0 -52(disconnect\211hup)m
4507 7122(If)s 7348(one)s 7747(of)s 8014(the)s 8358(read)s
4508 8767(ing)s 480 9909(de)m 702(scrip)s 1159(tors)s 1568(spec)s
4509 1986(i)s 2046(\207ed)s 2463(when)s 3039(the)s 3387(client)s
4510 3977(is)s 4187(called)s 4815(gets)s 5251(a)s 5417(read)s
4511 5886(er)s 6071(ror)s 9(,)k 6447(or)s 6706(if)s
4512 6923(the)s 7271(ser)s 7549(vice)s 8003(is)s 8213(dis)s
4513 8483(con)s 8826(-)s 480 9668(nect)m 878(ed)s 1162(for)s
4514 1500(some)s 2061(oth)s 2364(er)s 2609(rea)s 2900(son,)s
4515 3340(then)s 3809(the)s gsave
4518 240 fnt31 0 -52(SIGHUP)m
4521 5243(be)s 5525(de)s 5747(li)s 6(v)k 5988(ered)s
4522 240 fnt83 6457 9670(be)m 6676(for)s 8(e)k 240 fnt82
4523 7106 9668(the)m 7454(writ)s 7838(ing)s 8197(end\(s\))s 8843(of)s
4524 480 9428(the)m 818(ser)s 1096(vice')s 13(s)k 1694(read)s
4525 2103(ing)s 2452(pipe\(s\))s 3154(are)s 3491(closed,)s 4199(so)s
4526 4455(that)s 4863(the)s 5201(client)s 5781(can)s 6160(dis)s
4527 6430(tin)s 6679(guish)s 7245(dis)s 7515(con)s 7858(nec)s
4528 8183(tion)s 8602(from)s 480 9188(read)m 889(ing)s 1248(EOF)s
4529 1758(on)s 2055(a)s 2221(pipe.)s gsave
4532 240 fnt31 0 -52(reset)m
4535 480 8554(Resets)m 1155(the)s 1503(e)s 3(x)k 3(ecution)k
4536 2484(settings)s 3265(to)s 3504(the)s 3852(def)s 2(ault.)k
4537 4617(This)s 5093(is)s 5303(equi)s 6(v)k 6(alent)k
4541 240 fnt31 0 -52(cd)m 432(~/)s 0 -292(reject)m
4542 0 -532(no\211set\211environment)m 0 -772(suppress\211args)m 0 -1012(allow\211fd)m 1296(0)s 1584(read)s
4543 0 -1252(allow\211fd)m 1296(1\2112)s 1872(write)s 0 -1492(reject\211fd)m 1440(3\211)s
4544 0 -1732(disconnect\211hup)m
4546 0 6391(If)m 230(no)s gsave
4549 240 fnt31 0 -52(execute)m
4555 240 fnt31 0 -52(execute\211from\211path)m
4561 0 -52(execute\211from\211directory)m
4566 240 fnt31 0 -52(builtin)m
4569 6630(interpreted)s 7722(before)s 8388(all)s 8681(the)s 0 6151(\207les)m
4570 449(are)s 796(read)s 1265(then)s 1734(the)s 2082(request)s
4571 2832(is)s 3042(rejected.)s 9066 670 0 670 240 240 60 0 5127 LoutGr2
4572 newpath 0 ysize 0.3 ft sub moveto
4578 320 fnt84 0 66(4.3.)m 628(Err)s 5(ors)k
4579 1618(in)s 1958(the)s 2458(con\207guration)s 4359(\207le)s
4582 230(a)s 396(syntax)s 1076(error)s 1599(or)s 1858(other)s
4583 2409(problem)s 3266(occurs)s 3941(when)s 4517(processing)s 5593(a)s
4584 5759(con\207guration)s 7092(\207le)s 7453(then)s 7922(a)s 8088(diagnostic)s
4585 0 4425(will)m 422(be)s 699(issued,)s 1399(to)s 1633(where)s 6(v)k 3(er)k
4586 2568(the)s 2911(error)s 3429(messages)s 4378(are)s 4721(currently)s
4587 5632(being)s 6212(sent)s 6652(\(see)s 7087(the)s gsave
4593 8185(f)s 2(amily)k 8855(of)s 0 4185(directi)m 6(v)k 3(es,)k
4594 1026(abo)s 3(v)k 3(e\).)k 0 3777(The)m 428(error)s
4595 951(will)s 1377(cause)s 1964(processing)s 3040(of)s 3311(the)s
4596 3659(con\207guration)s 4992(\207les)s 5441(to)s 5680(cease)s 6253(at)s
4597 6485(that)s 6903(point,)s 7502(unless)s 8151(the)s 8499(error)s
4598 0 3537(w)m 2(as)k 421(inside)s 1048(a)s gsave
4602 0 -52(catch\211quit)m
4604 2275(construct.)s 3255(In)s 3511(this)s 3907(case)s
4605 4374(the)s 4722(settings)s 5503(controlling)s 6605(the)s 6953(program')s 13(s)k
4606 7973(e)s 3(x)k 3(ecution)k 0 3297(will)m 426(be)s
4607 708(reset)s 1218(to)s 1457(the)s 1805(def)s 2(aults)k
4608 2610(as)s 2860(if)s 3077(a)s gsave
4611 240 fnt31 0 -52(reset)m
4614 3803(directi)s 6(v)k 3(e)k 4685(had)s 5089(been)s
4615 5598(issued,)s 6303(and)s 6707(parsing)s 7464(continues)s 8432(after)s
4619 240 fnt31 0 -52(hctac)m
4621 500 3057(.)m 9066 609 0 609 240 240 60 0 2094 LoutGr2
4622 newpath 0 ysize 0.3 ft sub moveto
4628 320 fnt84 0 5(4.4.)m
4631 0 1632(The)m 428(def)s 2(ault)k 1149(con\207guration)s
4632 2482(processing)s 3558(is)s 3768(as)s 4018(if)s 4235(the)s
4633 4583(daemon)s 5398(were)s 5918(parsing)s 6675(an)s 6958(o)s 3(v)k 3(erall)k
4634 7670(con\207guration)s 0 1392(\207le)m 361(whose)s 1029(contents)s 1877(were)s
4635 2397(as)s 2647(follo)s 6(ws:)k 0 52(0.64.1)m 4809(User)s
4636 5320(service)s 6052(daemon)s 6867(and)s 7271(client)s 7861(speci\207cation)s
4647 %%PageResources: font Times-Roman
4649 %%+ font Courier-Bold
4650 %%+ font Times-Italic
4652 0.0500 dup scale 10 setlinewidth
4656 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
4671 1417 -15423 translate
4672 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
4676 240 fnt84 8831 13842(17)m gsave
4679 240 fnt31 0 -52(reset)m 0 -292(user\211rcfile)m
4680 1728(~/.userv/rc)s 0 -532(errors\211to\211stderr)m 0 -772(include)m 1152(/etc/userv/system.default)s 0 -1012(if)m
4681 432(grep)s 1152(service\211user\211shell)s 3888(/etc/shells)s 432 -1252(errors\211push)m 720 -1492(catch\211quit)m
4682 1008 -1732(include\211ifexist)m gsave
4683 3312 -1680 translate
4685 240 fnt83 0 -52(\207le)m 345(speci\207ed)s 1248(by)s
4686 1530(most)s 2046(r)s 8(ecent)k 2699(user\211r)s 8(c\207le)k
4687 3767(dir)s 8(ective)k
4689 720 -1972(hctac)m 432 -2212(srorre)m 0 -2452(fi)m
4690 0 -2692(include)m 1152(/etc/userv/system.override)s 0 -2932(quit)m
4692 240 fnt82 0 9859(If)m
4693 226(one)s 624(of)s 891(the)s gsave
4696 240 fnt31 0 -52(\211\211override)m
4699 2292(options)s 3044(to)s 3279(the)s 3623(client)s 4209(is)s
4700 4415(used)s 4908(then)s 5373(it)s 5561(will)s 5983(instead)s
4701 6714(be)s 6992(as)s 7238(if)s 7451(the)s 7795(daemon)s
4702 8606(were)s 0 9619(parsing)m 757(an)s 1040(o)s 3(v)k 3(erall)k
4703 1752(con\207guration)s 3085(as)s 3335(follo)s 6(ws:)k gsave
4707 0 -52(reset)m 0 -292(errors\211to\211stderr)m 0 -532(include)m gsave
4710 240 fnt83 0 -52(\207le)m
4711 345(containing)s 1423(con\207gur)s 3(ation)k 2765(data)s 3246(sent)s
4712 3695(by)s 3977(client)s
4716 0 52(User)m 511(service)s
4717 1243(daemon)s 2058(and)s 2462(client)s 3052(speci\207cation)s 8491(0.64.1)s
4728 %%PageResources: font Times-Roman
4730 %%+ font Courier-Bold
4732 0.0500 dup scale 10 setlinewidth
4736 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
4751 1417 -15423 translate
4752 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
4756 240 fnt84 0 13842(18)m gsave
4758 240 fnt82 9066 688 0 688 240 240 60 LoutGraphic
4760 newpath 0 ysize 0.3 ft sub moveto
4766 340 fnt84 0 70(5.)m 412(Inf)s 8(ormation)k
4767 2257(passed)s 3297(thr)s 6(ough)k 4539(the)s 5070(client/daemon)s
4770 240 fnt82 0 12264(The)m 428(information)s 1613(described)s
4771 2587(belo)s 6(w)k 3220(is)s 3430(the)s 3778(only)s
4772 4258(information)s 5443(which)s 6085(passes)s 6747(between)s 7601(the)s
4773 7949(caller)s 8538(and)s 0 12024(the)m 348(service.)s 0 11616(\213)m
4774 480(The)s 908(service)s 1640(name)s 2214(supplied)s 3083(by)s
4775 3377(the)s 3725(caller)s 4314(is)s 4524(a)s 4(v)k 6(ailable)k
4776 5432(in)s 5675(the)s 6023(con\207guration)s 7356(language)s 8276(for)s
4777 480 11376(deciding)m 1343(whether)s 2158(and)s 2547(which)s 3175(service)s
4778 3892(program)s 4747(to)s 4971(in)s 9(v)k 4(ok)k 2(e,)k
4779 5701(in)s 5929(the)s gsave
4780 6262 11430 translate
4782 240 fnt31 0 -52(service)m
4784 7008(parameter)s 9(,)k
4785 8045(and)s 8434(is)s 8629(used)s 480 11136(by)m 774(the)s
4787 1122 11190 translate
4789 240 fnt31 0 -52(execute\211from\211directory)m
4792 3788 11190 translate
4794 240 fnt31 0 -52(execute\211from\211path)m
4797 5550(con\207guration)s 6883(directi)s 6(v)k 3(es.)k 7906(It)s
4798 8111(is)s 8321(usually)s 480 10896(used)m 977(to)s 1216(select)s
4799 1819(which)s 2461(service)s 3193(program)s 4063(to)s 4302(in)s 9(v)k 4(ok)k 2(e.)k
4800 5043(It)s 5248(is)s 5458(also)s 5896(passed)s 6592(to)s
4801 6831(the)s 7179(service)s 7911(program)s 8781(in)s 480 10656(the)m
4805 240 fnt31 0 -52(USERV_SERVICE)m
4807 2189(en)s 9(vironment)k 3449(v)s 6(ariable.)k
4808 0 10225(\213)m 480(File)s 902(descriptors)s 1995(speci\207ed)s 2897(by)s
4809 3185(the)s 3528(client)s 4112(and)s 4510(allo)s 6(wed)k
4810 5313(according)s 6304(to)s 6537(the)s 6879(con\207guration)s 8206(language)s
4811 480 9985(will)m 906(be)s 1188(connected.)s 2262(Each)s 2797(\207le)s
4812 3158(descriptor)s 4173(is)s 4383(opened)s 5133(for)s 5471(reading)s
4813 6241(or)s 6500(writing.)s 7294(Communication)s 8893(is)s 480 9745(via)m
4814 832(pipes,)s 1444(one)s 1846(end)s 2250(of)s 2521(each)s
4815 3016(pipe)s 3484(being)s 4069(open)s 4592(on)s 4889(the)s
4816 5237(appropriate)s 6381(\207le)s 6742(descriptor)s 7757(in)s 8000(the)s
4817 8348(service)s 480 9505(program)m 1347(\(when)s 1999(it)s 2188(is)s
4818 2394(in)s 9(v)k 4(ok)k 2(ed\))k 3276(and)s
4819 3677(the)s 4022(other)s 4569(end)s 4970(being)s 5552(held)s
4820 6019(by)s 6309(the)s 6654(client)s 7241(process,)s 8062(which)s
4821 8700(will)s 480 9265(read)m 942(and)s 1339(write)s 1878(\207les)s
4822 2320(it)s 2505(opens)s 3108(on)s 3398(behalf)s 4060(of)s
4823 4324(its)s 4593(caller)s 5175(or)s 5427(\207le)s 5781(descriptors)s
4824 6873(it)s 7058(is)s 7261(passed)s 7950(by)s 8237(its)s
4825 8506(caller)s 13(.)k 480 9025(Data)m 991(may)s 1457(be)s
4826 1739(passed)s 2435(into)s 2860(the)s 3208(service)s 3940(through)s
4827 4742(reading)s 5512(pipes)s 6068(and)s 6472(out)s 6838(of)s
4828 7109(it)s 7301(through)s 8103(writing)s 480 8785(pipes.)m 1083(These)s
4829 1703(pipes)s 2252(can)s 2634(remain)s 3347(open)s 3864(only)s
4830 4337(until)s 4823(the)s 5164(service)s 5889(and)s 6287(client)s
4831 6870(ha)s 4(v)k 3(e)k 7364(terminated,)s 8485(or)s
4832 8737(can)s 480 8545(be)m 762(made)s 1336(to)s 1575(stay)s
4833 2014(open)s 2537(after)s 3033(the)s 3381(client)s 3971(has)s
4834 4341(terminated)s 5420(and)s 5824(\(if)s 6120(the)s 6468(service)s
4835 7200(program)s 8070(forks\))s 8689(the)s 480 8305(main)m 998(service)s
4836 1712(process)s 2462(has)s 2814(e)s 3(xited;)k 3489(the)s
4837 3820(beha)s 4(viour)k 4815(is)s 5007(controlled)s 6016(by)s
4838 6292(options)s 7031(passed)s 7709(to)s 7930(the)s 8260(client)s
4839 8832(by)s 480 8065(its)m 751(caller)s 13(.)k 1426(The)s
4840 1848(caller)s 2432(can)s 2816(arrange)s 3582(that)s 3995(a)s
4841 4156(writing)s 4893(pipe)s 5356(be)s 5633(connected)s 6655(to)s
4842 6889(a)s 7050(pipe)s 7512(or)s 7766(similar)s 8482(object)s
4843 480 7825(and)m 884(cause)s 1471(attempts)s 2331(to)s 2570(write)s
4844 3116(to)s 3355(that)s 3773(descriptor)s 4788(by)s 5082(the)s
4845 5430(service)s 6162(to)s 6401(generate)s 7266(a)s gsave
4854 240 fnt31 0 -52(EPIPE)m
4860 240 fnt31 0 -52(SIGPIPE)m
4862 1431(is)s 1628(caught)s 2313(or)s
4863 2559(ignored\))s 3405(in)s 3635(the)s 3970(service.)s 4797(Lik)s 2(e)k 6(wise,)k
4864 5759(the)s 6094(service)s 6813(can)s 7189(close)s 7722(\207ledescriptors)s
4865 480 7345(speci\207ed)m 1373(for)s 1696(reading,)s 2505(which)s 3132(will)s
4866 3543(cause)s 4115(the)s 4448(corresponding)s 5855(\207ledescriptors)s 7244(passed)s
4867 7925(by)s 8204(the)s 8537(caller)s 480 7105(to)m 716(be)s
4868 995(closed,)s 1709(so)s 1972(that)s 2387(if)s 2600(these)s
4869 3144(are)s 3488(pipes)s 4040(processes)s 5004(which)s 5643(write)s
4870 6185(to)s 6421(them)s 6956(will)s 7378(recei)s 6(v)k 3(e)k
4874 240 fnt31 0 -52(SIGPIPE)m
4879 240 fnt31 0 -52(EPIPE)m
4882 980 6865(.)m 0 6460(\213)m 480(If)s gsave
4885 240 fnt31 0 -52(no\211suppress\211args)m
4888 2363(is)s 2568(set)s 2888(then)s 3353(ar)s 4(guments)k
4889 4391(passed)s 5082(to)s 5316(the)s 5660(client)s 6245(by)s
4890 6534(its)s 6805(caller)s 7390(will)s 7811(be)s 8088(passed)s
4891 8779(on,)s 480 6220(v)m 3(erbatim,)k 1433(to)s 1672(the)s
4892 2020(service.)s 0 5784(\213)m 480(F)s 3(a)k 716(tal)s
4893 1009(sig)s 1281(nals)s 1717(and)s 2121(sys)s 2418(tem)s
4894 2836(call)s 3235(f)s 2(ail)k 3545(ures)s 3994(e)s 3(x)k
4895 4212(pe)s 4434(ri)s 4573(enced)s 5189(by)s 5483(the)s
4896 5831(client)s 6421(will)s 6847(re)s 7028(sult)s 7433(in)s
4897 7676(the)s 8024(dis)s 8294(con)s 8637(nec)s 8962(-)s
4898 480 5544(tion)m 909(of)s 1180(the)s 1528(ser)s 1806(vice)s
4899 2260(from)s 2784(the)s 3132(client)s 3722(and)s 4126(pos)s
4900 4450(si)s 4603(bly)s 4963(some)s 5524(of)s 5795(the)s
4901 6143(com)s 6555(mu)s 6856(ni)s 7036(ca)s 7248(tion)s
4902 7677(\207le)s 8038(de)s 8260(scrip)s 8717(tors)s 480 5304(de)m
4903 702(scribed)s 1450(abo)s 3(v)k 3(e;)k 2128(if)s
4907 240 fnt31 0 -52(disconnect\211hup)m
4909 3806(is)s 4016(set)s 4341(then)s
4910 4810(the)s 5158(ser)s 5436(vice)s 5890(will)s 6316(also)s
4911 6754(be)s 7036(sent)s 7481(a)s gsave
4914 240 fnt31 0 -52(SIGHUP)m
4917 8247(.)s 0 4868(\213)m 480(The)s 908(v)s 6(alue)k
4918 1476(of)s 1747(the)s gsave
4921 240 fnt31 0 -52(LOGNAME)m
4927 240 fnt31 0 -52(USER)m
4929 3593(\))s 3721(en)s 9(vironment)k
4930 4981(v)s 6(ariable)k 5800(as)s 6050(passed)s 6746(to)s
4931 6985(the)s 7333(client)s 7923(will)s 8349(be)s 480 4628(used)m
4932 977(as)s 1227(the)s 1575(login)s 2124(name)s 2698(of)s
4933 2969(the)s 3317(calling)s 4020(user)s 4478(if)s 4695(the)s
4934 5043(uid)s 5407(of)s 5678(the)s 6026(calling)s 6729(process)s
4935 7497(matches)s 8331(the)s 8679(uid)s 480 4388(corresponding)m 1902(to)s
4936 2141(that)s 2559(login)s 3108(name.)s 3730(Otherwise)s 4768(the)s
4937 5116(calling)s 5819(uid')s 13(s)k 6335(passw)s 2(ord)k
4938 7295(entry)s 7840(will)s 8266(be)s 8548(used)s 480 4148(to)m
4939 708(determine)s 1708(the)s 2045(calling)s 2737(user')s 13(s)k
4940 3334(login)s 3872(name.)s 4543(This)s 5007(login)s 5545(name)s
4941 6108(and)s 6501(the)s 6838(calling)s 7530(uid)s 7883(are)s
4942 8218(a)s 4(v)k 6(ailable)k 480 3908(in)m 723(the)s
4943 1071(con\207guration)s 2404(language)s 3324(in)s 3567(the)s gsave
4947 0 -52(calling\211user)m
4949 5176(parameter)s 6190(and)s 6594(are)s 6941(passed)s
4950 7637(to)s 7876(the)s 8224(service)s 480 3668(program)m 1334(in)s
4951 1561(en)s 9(vironment)k 2805(v)s 6(ariables)k gsave
4960 240 fnt31 0 -52(USERV_UID)m
4963 6178(The)s 6590(shell)s 7080(corresponding)s 8486(to)s 8708(that)s
4964 480 3428(login)m 1023(name)s 1591(\(according)s 2659(to)s 2892(the)s
4965 3233(passw)s 2(ord)k 4187(entry\))s 4799(is)s 5003(a)s 4(v)k 6(ailable)k
4966 5904(as)s 6148(in)s 6384(the)s 6726(con\207guration)s 8052(language')s 13(s)k
4970 240 fnt31 0 -52(calling\211user\211shell)m
4972 2342 3188(parameter)m 13(.)k 3447(If)s
4973 3677(no)s 3970(rele)s 6(v)k 6(ant)k 4787(passw)s 2(ord)k
4974 5747(entry)s 6292(can)s 6681(be)s 6963(found)s 7580(then)s
4975 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
4976 0 2542(\213)m 480(The)s 908(numeric)s 1744(v)s 6(alues)k
4977 2400(and)s 2804(te)s 3(xtual)k 3506(names)s 4168(for)s
4978 4506(calling)s 5209(gid)s 5573(and)s 5977(supplementary)s 7439(group)s
4979 8051(list)s 8402(are)s 480 2302(a)m 4(v)k 6(ailable)k
4980 1380(in)s 1615(the)s 1955(con\207guration)s 3280(language)s 4192(in)s
4984 240 fnt31 0 -52(calling\211group)m
4986 6119(parameter)s 7125(and)s
4987 7521(are)s 7860(passed)s 8548(to)s 8778(the)s 480 2062(service)m
4988 1212(in)s 1455(en)s 9(vironment)k 2715(v)s 6(ariables.)k
4989 3735(If)s 3965(no)s 4258(name)s 4832(can)s 5221(be)s
4990 5503(found)s 6120(for)s 6458(a)s 6624(numeric)s 7460(group)s
4991 8072(to)s 8311(which)s 480 1822(the)m 828(calling)s 1531(process)s
4992 2299(belongs)s 3095(then)s 3564(no)s 3857(service)s 4589(will)s
4993 5015(be)s 5297(in)s 9(v)k 4(ok)k 2(ed.)k
4994 0 1367(\213)m 480(The)s 908(name)s 1482(of)s 1753(the)s
4995 2101(current)s 2837(w)s 2(orking)k 3686(directory)s 4602(in)s
4996 4845(which)s 5487(the)s 5835(client)s 6425(w)s 2(as)k
4997 6846(in)s 9(v)k 4(ok)k 2(ed)k 7661(is)s
4998 7871(passed,)s 8616(if)s 480 1127(a)m 4(v)k 6(ailable)k
4999 1388(and)s 1792(not)s 2158(hidden)s 2867(using)s gsave
5003 0 -52(\211\211hidecwd)m
5005 4340(,)s 4447(to)s 4686(the)s 5034(service)s
5006 5766(program)s 6636(in)s 6879(the)s gsave
5009 240 fnt31 0 -52(USERV_CWD)m
5012 8188(v)s 6(ariable.)k 480 887(This)m 946(grants)s 1570(no)s
5013 1852(special)s 2560(access)s 3210(to)s 3438(that)s 3846(directory)s
5014 4751(unless)s 5389(it)s 5571(is)s 5770(a)s 5925(subdirectory)s
5015 7164(of)s 7424(a)s 7579(directory)s 8484(which)s 0 52(0.64.1)m
5016 4809(User)s 5320(service)s 6052(daemon)s 6867(and)s 7271(client)s
5017 7861(speci\207cation)s
5027 %%PageResources: font Times-Roman
5029 %%+ font Courier-Bold
5030 %%+ font Times-Italic
5032 0.0500 dup scale 10 setlinewidth
5036 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
5051 1417 -15423 translate
5052 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
5056 240 fnt84 8832 13842(19)m 240 fnt82 480 13251(is)m 690(e)s 3(x)k 3(ecutable)k
5057 1762(\(searchable\))s 2977(b)s 4(ut)k 3339(not)s 3705(readable)s
5058 4570(by)s 4864(the)s 5212(service)s 5944(user)s 13(.)k
5059 0 12794(\213)m 480(Settings)s 1301(speci\207ed)s 2209(by)s 2503(the)s
5060 2851(caller)s 3440(using)s 4012(the)s gsave
5061 4360 12848 translate
5063 240 fnt31 0 -52(\211\211defvar)m
5067 240 fnt83 0 -52(name)m
5072 240 fnt83 0 -52(value)m
5077 6432(option)s 7101(to)s 7340(the)s 7688(client)s 8278(are)s
5078 480 12554(a)m 4(v)k 6(ailable)k 1388(in)s 1631(the)s
5079 1979(con\207guration)s 3312(language)s 4232(as)s 4482(the)s 4830(corresponding)s
5081 6252 12608 translate
5083 240 fnt31 0 -52(u\211)m gsave
5086 240 fnt83 0 -52(name)m
5091 8116(and)s 8520(are)s 480 12314(passed)m 1176(to)s 1415(the)s
5092 1763(service)s 2495(program)s 3365(in)s 3608(en)s 9(vironment)k
5093 4868(v)s 6(ariables)k gsave
5094 5775 12368 translate
5096 240 fnt31 0 -52(USERV_U_)m gsave
5104 7082(.)s 0 11859(\213)m 480(If)s 710(the)s
5105 1058(calling)s 1761(user)s 2219(is)s 2429(root)s 2874(or)s
5106 3133(the)s 3481(same)s 4028(as)s 4278(the)s 4626(service)s
5107 5358(user)s 5816(then)s 6285(options)s 7041(may)s 7507(be)s
5108 7789(gi)s 6(v)k 3(en)k 8369(to)s 8608(the)s
5109 480 11619(client)m 1070(which)s 1712(bypass)s 2415(the)s 2763(usual)s
5110 3323(security)s 4133(features;)s 5000(in)s 5243(this)s 5639(case)s
5111 6106(other)s 6657(information)s 7842(may)s 8308(pass)s 480 11379(between)m
5112 1334(the)s 1682(caller)s 2271(and)s 2675(the)s 3023(service.)s
5113 0 52(User)m 511(service)s 1243(daemon)s 2058(and)s 2462(client)s
5114 3052(speci\207cation)s 8491(0.64.1)s
5124 %%PageResources: font Times-Roman
5126 %%+ font Courier-Bold
5127 %%+ font Times-Italic
5129 0.0500 dup scale 10 setlinewidth
5133 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
5148 1417 -15423 translate
5149 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
5153 240 fnt84 0 13842(20)m gsave
5155 240 fnt82 9066 687 0 687 240 240 60 LoutGraphic
5157 newpath 0 ysize 0.3 ft sub moveto
5163 340 fnt84 0 69(6.)m 412(A)s 8(pplications)k
5164 2309(and)s 2935(notes)s 3765(on)s 4204(use)s
5168 240 fnt82 9066 670 0 670 240 240 60 LoutGraphic
5170 newpath 0 ysize 0.3 ft sub moveto
5177 0 66(6.1.)m 628(Standard)s 1977(ser)s 3(vices)k 3110(and)s
5178 3697(dir)s 5(ectory)k 5025(management)s
5180 240 fnt82 0 11187(In)m
5181 250(later)s 726(v)s 3(ersions)k 1565(of)s 1829(this)s
5182 2219(speci\207cation)s 3477(standard)s 4339(service)s 5064(names)s 5720(and)s
5183 6117(interf)s 2(aces)k 7087(for)s 7418(common)s 8306(services)s
5184 0 10947(such)m 496(as)s 746(mail)s 1225(deli)s 6(v)k 3(ery)k
5185 2053(and)s 2457(WWW)s 3193(CGI)s 3661(scripts)s 4335(will)s
5186 4761(be)s 5043(speci\207ed.)s gsave
5189 240 fnt31 0 -52(userv)m
5192 783(ing)s 1142(ap)s 1361(pli)s 1607(ca)s 1819(tions)s
5193 2335(and)s 2739(sys)s 3036(tem)s 3454(ser)s 3732(vices)s
5194 4274(which)s 4916(hide)s gsave
5195 5384 10593 translate
5197 240 fnt31 0 -52(userv)m
5200 6166(hind)s 6650(wrap)s 7121(per)s 7486(scripts)s 8160(may)s
5201 0 10299(need)m 510(to)s 749(store)s 1269(in)s 1452(for)s
5202 1730(ma)s 2022(tion)s 2451(in)s 2694(the)s 3042(user')s 13(s)k
5203 3650(\207lespace)s 4542(to)s 4781(pre)s 5082(serv)s 3(e)k
5204 5639(the)s 5987(cor)s 6292(rect)s 6709(place)s 7209(ment)s
5205 7747(of)s 8018(the)s 8366(se)s 8561(-)s 0 10059(cu)m
5206 221(ri)s 360(ty)s 600(perim)s 1157(iters.)s 1671(Such)s
5207 2207(ap)s 2426(pli)s 2672(ca)s 2884(tions)s 3400(should)s
5208 4097(usu)s 4425(al)s 4592(ly)s 4832(do)s 5125(so)s
5209 5391(in)s 5634(a)s 5800(di)s 5980(rec)s 6264(to)s
5210 6443(ry)s 6696(\(cre)s 7062(at)s 7234(ed)s 7518(by)s
5214 240 fnt31 0 -52(~/.userv/.servdata/)m gsave
5217 240 fnt83 0 -52(service)m
5222 2563 9819(,)m 2670(where)s 240 fnt83 3310 9821(ser)m 3607(vice)s
5223 240 fnt82 4044 9819(is)m 4254(the)s 4602(ser)s 4880(vice)s
5224 5334(name)s 5908(or)s 6167(ap)s 6386(pli)s 6632(ca)s
5225 6844(tion)s 7273(in)s 7516(ques)s 7946(tion.)s 0 9411(The)m
5226 428(use)s 803(of)s 1074(a)s 1240(dot-directory)s 2541(inside)s
5230 240 fnt31 0 -52(~/.userv)m
5232 4029(will)s 4455(hopefully)s 5426(a)s 4(v)k 4(oid)k
5233 6008(the)s 6356(user)s 6814(becoming)s 7811(confused)s 0 9171(by)m
5234 294(\207nding)s 1026(parts)s 1541(of)s 1812(a)s 1978(semi-pri)s 6(vile)k 3(ged)k
5235 3526(application')s 13(s)k 4798(internal)s 5582(state)s 6075(in)s
5236 6318(their)s 6815(\207lespace,)s 7758(and)s 8162(or)s 0 8931(discourage)m
5237 1092(them)s 1630(from)s 2154(\207ddling)s 2952(with)s 3434(and)s
5238 3838(thus)s 4288(corrupting)s 5337(it.)s 5573(\(Note)s 6173(that)s
5239 6591(such)s 7087(applications)s 8293(should)s 0 8691(of)m 271(course)s
5240 951(not)s 1317(rely)s 1742(for)s 2080(their)s 2577(global)s
5241 3230(inte)s 3(grity)k 4090(on)s 4387(the)s 4735(inte)s 3(grity)k
5242 5595(of)s 5866(the)s 6214(data)s 6672(on)s 6969(the)s
5243 7317(user')s 13(s)k 7925(side)s 8366(of)s 8637(the)s
5244 0 8451(security)m 810(boundary)s 15(.\))k 9066 670 0 670 240 240 60 0 7427 LoutGr2
5245 newpath 0 ysize 0.3 ft sub moveto
5251 320 fnt84 0 66(6.2.)m
5252 628(Reducing)s 1997(the)s 2497(number)s 3655(of)s 4018(absolutely)s
5253 5474(pri)s 3(vileged)k 6908(subsystems)s
5255 0 6965(Currently)m 970(most)s
5256 1495(Unix)s 2029(systems)s 2837(ha)s 4(v)k 3(e)k
5257 3338(man)s 3(y)k 3921(components)s 5129(which)s 5771(need)s
5258 6281(to)s 6520(run)s 6896(as)s 7146(root,)s 7638(e)s 6(v)k 3(en)k
5259 8138(though)s 0 6725(most)m 525(of)s 796(their)s 1293(acti)s 6(vity)k
5260 2057(does)s 2547(not)s 2913(strictly)s 3629(require)s 4361(it.)s
5261 4597(This)s 5073(gi)s 6(v)k 3(es)k 5620(rise)s
5262 6020(to)s 6259(a)s 6425(lar)s 4(ge)k 6954(and)s
5263 7358(comple)s 3(x)k 8234(body)s 8768(of)s 0 6485(code)m
5264 508(which)s 1150(must)s 1675(be)s 1957(trusted)s 2665(with)s
5265 3147(the)s 3495(security)s 4305(of)s 4576(the)s 4924(system.)s
5266 0 6077(Using)m gsave
5269 240 fnt31 0 -52(userv)m
5272 1768(of)s 2039(these)s 2586(subsystems)s 3727(no)s 4020(longer)s
5273 4691(need)s 5201(an)s 3(y)k 5598(unusual)s 6398(pri)s 6(vile)k 3(ge.)k
5277 240 fnt31 0 -52(cron)m
5279 455 5669(and)m gsave
5282 240 fnt31 0 -52(at)m
5288 240 fnt31 0 -52(lpr)m
5290 1509(and)s 1907(the)s
5291 2249(system')s 13(s)k 3117(mail)s 3591(transfer)s 4373(agent)s
5295 240 fnt31 0 -52(sendmail)m
5306 240 fnt31 0 -52(exim)m
5309 7229(the)s 7572(lik)s 2(e\))k 8050(all)s 8337(f)s 2(all)k
5310 8701(into)s 0 5429(this)m 396(cate)s 3(gory)k 15(.)k
5311 9066 670 0 670 240 240 60 0 4405 LoutGr2
5312 newpath 0 ysize 0.3 ft sub moveto
5318 320 fnt84 0 66(6.3.)m 628(Do)s 1092(not)s 1615(gi)s 3(v)k 3(e)k
5319 2234(away)s 3019(excessi)s 3(v)k 3(e)k 4312(pri)s 3(vilege)k
5323 320 fnt31 0 -70(userv)m
5325 6577(-using)s 7484(facilities)s
5328 0 3943(There)m 613(is)s 823(a)s 989(danger)s 1700(that)s
5329 2118(people)s 2812(reimplementing)s 4378(the)s 4726(f)s 2(acilities)k
5330 5595(I)s 5730(mention)s 6571(abo)s 3(v)k 3(e)k
5334 240 fnt31 0 -52(userv)m
5336 8325(will)s 0 3703(discard)m
5337 731(much)s 1303(of)s 1557(the)s 1888(security)s 2680(bene\207t)s
5338 3374(by)s 3651(using)s 4206(a)s 4355(nai)s 6(v)k 3(e)k
5339 4902(implementation)s 6442(technique.)s 7459(This)s 7918(will)s 8326(become)s
5340 0 3463(clearer)m 708(with)s 1190(an)s 1473(e)s 3(xample:)k
5341 0 3055(Consider)m 924(the)s gsave
5344 240 fnt31 0 -52(lpr)m
5347 2546(In)s 2802(current)s 3538(systems)s 4346(this)s 4742(needs)s
5348 5338(to)s 5577(ha)s 4(v)k 3(e)k 6078(an)s
5349 6361(absolutely)s 7398(pri)s 6(vile)k 3(ged)k 0 2815(component)m
5350 1124(in)s 1367(order)s 1931(to)s 2170(support)s 2948(delayed)s
5351 3750(printing)s 4560(without)s 5351(cop)s 2(ying:)k 6227(when)s
5352 6803(the)s 7151(user)s 7609(queues)s 8325(a)s 8491(\207le)s
5353 0 2575(to)m 239(be)s 521(printed)s 1256(the)s 1604(\207lename)s
5354 2483(is)s 2693(stored)s 3335(in)s 3578(the)s 3926(print)s
5355 4437(queue,)s 5116(rather)s 5732(than)s 6201(a)s 6367(cop)s 2(y)k
5356 6885(of)s 7156(it,)s 7395(and)s 7799(the)s 8147(printer)s
5357 0 2335(daemon)m 813(accesses)s 1671(the)s 2016(\207le)s 2375(directly)s
5358 3155(when)s 3729(it)s 3918(is)s 4126(ready)s 4708(to)s
5359 4945(print)s 5453(the)s 5799(job)s 9(.)k 6197(In)s
5360 6451(order)s 7012(that)s 7428(the)s 7773(user)s 8229(can)s
5361 8615(print)s 0 2095(\207les)m 449(which)s 1091(are)s 1438(not)s
5362 1804(w)s 2(orld-readable)k 3304(the)s 3652(daemon)s 4467(is)s
5363 4677(gi)s 6(v)k 3(en)k 5257(root)s 5702(pri)s 6(vile)k 3(ge)k
5364 6598(so)s 6864(that)s 7282(it)s 7474(can)s 7863(open)s
5365 8386(the)s 8734(\207le)s 0 1855(in)m 243(the)s 591(conte)s 3(xt)k
5366 1352(of)s 1623(the)s 1971(user)s 9(,)k 2467(rather)s
5367 3083(than)s 3552(its)s 3828(o)s 6(wn.)k 0 1447(A)m
5368 212(simple-minded)s 1686(approach)s 2602(to)s 2823(con)s 9(v)k 3(erting)k
5369 3868(this)s 4246(scheme)s 5001(to)s 5222(use)s gsave
5375 6120(might)s 6720(in)s 9(v)k 4(olv)k 3(e)k
5376 7460(gi)s 6(ving)k 8101(the)s 8430(printer)s 0 1207(daemon)m
5380 240 fnt31 0 -52(lp)m
5382 1489(user\))s 2010(the)s
5383 2354(ability)s 3013(to)s 3248(read)s 3712(the)s 4055(\207le)s
5384 4412(by)s 4701(allo)s 6(wing)k 5581(them)s 6114(to)s
5388 240 fnt31 0 -52(cat)m
5390 7076(\(or)s 7409(a)s
5391 7570(special-purpose)s 0 967(\207le-reading)m 1140(program\))s 2063(as)s 2299(an)s 3(y)k
5392 2681(user)s 13(.)k 3155(The)s gsave
5395 240 fnt31 0 -52(lpr)m
5398 3914(program)s 4769(w)s 2(ould)k 5410(use)s 5770(a)s
5402 240 fnt31 0 -52(userv)m
5404 6467(service)s 7184(to)s 7409(store)s
5405 7914(the)s 8247(\207lename)s 0 727(in)m 243(the)s 591(printer)s
5406 1287(daemon')s 13(s)k 2255(queues,)s 3027(and)s 3431(the)s
5407 3779(daemon)s 4594(w)s 2(ould)k 5249(read)s 5718(the)s
5408 6066(\207le)s 6427(later)s 6910(when)s 7486(it)s 7678(felt)s
5409 8055(lik)s 2(e)k 8467(it.)s 0 52(0.64.1)m 4809(User)s
5410 5320(service)s 6052(daemon)s 6867(and)s 7271(client)s 7861(speci\207cation)s
5421 %%PageResources: font Times-Roman
5423 %%+ font Courier-Bold
5424 %%+ font Times-Italic
5426 0.0500 dup scale 10 setlinewidth
5430 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
5445 1417 -15423 translate
5446 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
5450 240 fnt84 8839 13842(21)m 240 fnt82 0 13254(Ho)m 6(we)k 6(v)k 3(er)k 9(,)k
5451 960(this)s 1356(w)s 2(ould)k 2011(allo)s 6(w)k
5452 2590(the)s 2938(printer)s 3634(daemon)s 4449(to)s 4688(read)s
5453 5157(an)s 3(y)k 5554(\207le)s 5915(on)s 6212(the)s
5454 6560(system,)s 7331(whether)s 8161(or)s 8420(not)s 0 13014(someone)m
5455 907(had)s 1311(ask)s 2(ed)k 1912(for)s 2250(it)s
5456 2442(to)s 2681(be)s 2963(printed.)s 3744(Since)s 4331(man)s 3(y)k
5457 4914(\207les)s 5363(will)s 5789(contain)s 6550(passw)s 2(ords)k
5458 7596(and)s 8000(other)s 0 12774(security-critical)m 1551(information)s 2736(this)s
5459 3132(is)s 3342(nearly)s 3993(as)s 4243(bad)s 4647(as)s
5460 4897(gi)s 6(ving)k 5556(the)s 5904(daemon)s 6719(root)s
5461 7164(access)s 7825(in)s 8068(the)s 8416(\207rst)s 0 12534(place.)m
5462 608(An)s 3(y)k 1072(security)s 1882(holes)s 2438(in)s
5463 2681(the)s 3029(print)s 3540(serv)s 3(er)k 4180(which)s
5464 4822(allo)s 6(w)k 5401(a)s 5567(user)s 6025(to)s
5465 6264(e)s 3(x)k 3(ecute)k 7044(commands)s 8132(as)s
5467 8730 12588 translate
5469 240 fnt31 0 -52(lp)m
5471 0 12294(user)m 458(will)s
5472 884(gi)s 6(v)k 3(e)k 1343(the)s 1691(user)s
5473 2149(the)s 2497(ability)s 3161(to)s 3400(read)s 3869(an)s 3(y)k
5474 4266(\207le)s 4627(on)s 4924(the)s 5272(system.)s 0 11886(Instead,)m
5475 790(it)s 975(is)s 1178(necessary)s 2153(to)s 2385(k)s 2(eep)k
5476 2881(a)s 3040(record)s 3700(of)s 3964(which)s 4599(\207les)s
5477 5040(the)s 5381(daemon)s 6189(has)s 6552(been)s 7053(ask)s 2(ed)k
5478 7647(to)s 7879(print)s 240 fnt83 8382 11888(outside)m 240 fnt82
5479 0 11646(the)m 348(control)s 1080(of)s 1351(the)s 1699(print)s
5480 2210(daemon.)s 3072(This)s 3548(record)s 4216(could)s 4806(be)s
5481 5088(k)s 2(ept)k 5558(by)s 5852(a)s 6018(ne)s 6(w)k
5482 6465(root-pri)s 6(vile)k 3(ged)k 7947(component,)s 0 11406(b)m 4(ut)k
5483 352(this)s 737(is)s 936(not)s 1291(necessary:)s 2315(the)s
5484 2652(record)s 3309(of)s 3569(which)s 4200(\207les)s 4638(a)s
5485 4794(user)s 5241(has)s 5600(ask)s 2(ed)k 6190(to)s
5486 6418(be)s 6689(printed)s 7413(can)s 7791(be)s 8062(k)s 2(ept)k
5487 8521(under)s 0 11166(the)m 348(control)s 1080(of)s 1351(the)s
5488 1699(user)s 2157(in)s 2400(question.)s 3315(The)s 3743(submission)s
5489 4877(program)s gsave
5490 5747 11220 translate
5492 240 fnt31 0 -52(lpr)m
5494 6107(will)s 6533(mak)s 2(e)k
5495 7105(a)s 7271(record)s 7939(in)s 8182(an)s 8465(area)s
5496 0 10926(under)m 605(the)s 953(user')s 13(s)k 1561(control)s
5497 2293(before)s 2959(communicating)s 4500(with)s 4982(the)s 5330(print)s
5498 5841(serv)s 3(er)k 9(,)k 6519(and)s 6923(the)s
5499 7271(print)s 7782(serv)s 3(er)k 8422(w)s 2(ould)k
5500 0 10686(be)m 279(gi)s 6(v)k 3(en)k 855(the)s
5501 1199(ability)s 1859(to)s 2094(run)s 2466(a)s 2628(special)s
5502 3342(\207le-reading)s 4493(program)s 5359(which)s 5997(w)s 2(ould)k
5503 6648(only)s 7124(allo)s 6(w)k 7699(\207les)s 8144(to)s
5504 8379(be)s 8657(read)s 0 10446(which)m 642(were)s 1162(listed)s
5505 1737(in)s 1980(the)s 2328(user')s 13(s)k 2936(\207le)s
5506 3297(of)s 3568(things)s 4204(the)s 3(y')k 12(d)k
5507 4858(ask)s 2(ed)k 5459(to)s 5698(print.)s 0 10038(No)m 6(w)k
5508 502(security)s 1300(holes)s 1844(in)s 2075(most)s 2588(of)s
5509 2846(the)s 3182(printing)s 3980(system)s 4692(do)s 4973(not)s
5510 5327(critically)s 6215(af)s 6(fect)k 6799(the)s 7135(security)s
5511 7933(of)s 8192(the)s 8527(entire)s 0 9798(system:)m 770(the)s 3(y)k
5512 1233(only)s 1713(allo)s 6(w)k 2292(the)s 2640(attack)s 2(er)k
5513 3453(to)s 3692(read)s 4161(and)s 4565(interfere)s 5428(with)s
5514 5910(print)s 6421(jobs.)s 6924(Bugs)s 7468(in)s 7711(the)s
5515 8059(programs)s 0 9558(run)m 373(by)s 664(the)s 1009(print)s
5516 1517(serv)s 3(er)k 2154(to)s 2390(read)s 2856(users')s
5517 3456(\207les)s 3902(\(and)s 4382(to)s 4618(remo)s 3(v)k 3(e)k
5518 5382(entries)s 6066(from)s 6587(the)s 6932(list)s 7280(of)s
5519 7548(\207les)s 7994(when)s 8567(it)s 8756(has)s 0 9318(done)m
5520 522(with)s 1004(them\))s 1610(will)s 2036(still)s 2448(be)s
5521 2730(serious,)s 3514(b)s 4(ut)k 3876(this)s 4272(program)s
5522 5142(can)s 5531(be)s 5813(quite)s 6347(simple.)s 0 8910(Similar)m
5523 762(considerations)s 2194(apply)s 2780(to)s 3019(man)s 3(y)k
5527 240 fnt31 0 -52(userv)m
5529 4102(-based)s 4784(v)s 3(ersions)k
5530 5629(of)s 5900(f)s 2(acilities)k 6769(which)s 7411(currently)s
5531 8327(run)s 0 8670(as)m 250(root.)s 0 8262(It)m 198(is)s
5532 401(debatable)s 1366(whether)s 2189(the)s 2530(user)s 4(-controlled)k
5533 4023(state)s 4509(should)s 5199(be)s 5474(k)s 2(ept)k
5534 5937(in)s 6173(the)s 6514(user')s 13(s)k 7115(\207lespace)s
5535 8000(\(in)s 8315(dot\207les,)s 0 8022(say\))m 440(or)s 692(k)s 2(ept)k
5536 1155(in)s 1391(a)s 1550(separate)s 2381(area)s 2831(set)s
5537 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
5538 6123(using)s 6688(the)s 7029(user')s 13(s)k 7630(home)s
5539 8210(directory)s 0 7782(\(and)m 468(probably)s 1357(creating)s 2164(a)s
5540 2314(separate)s 3137(subdirectory)s 4370(of)s 4626(it)s 4802(as)s
5541 5037(a)s 5187(dot\207le)s 5839(to)s 6062(contain)s 6808(man)s 3(y)k
5542 7375(subsystems')s 8561(state\))s 0 7542(has)m 370(fe)s 6(wer)k
5543 967(implications)s 2199(for)s 2537(the)s 2885(rest)s 3289(of)s
5544 3560(the)s 3908(system)s 4632(and)s 5036(mak)s 2(es)k
5545 5696(it)s 5888(entirely)s 6671(clear)s 7194(where)s 7834(the)s
5546 8182(security)s 0 7302(boundaries)m 1101(lie.)s 9066 670 0 670 240 240 60 0 6278 LoutGr2
5547 newpath 0 ysize 0.3 ft sub moveto
5553 320 fnt84 0 66(6.4.)m
5557 320 fnt31 0 -70(userv)m
5559 1375(is)s 1659(not)s 2182(a)s
5560 2419(r)s 5(eplacement)k 4178(f)s 8(or)k gsave
5569 320 fnt31 0 -70(sudo)m
5579 560 5816(is)m 770(not)s 1136(intended)s 2018(as)s
5580 2268(a)s 2434(general-purpose)s 4030(system)s 4754(administration)s 6191(tool)s
5581 6618(with)s 7100(which)s 7742(system)s 0 5576(administrators)m 1398(can)s
5582 1767(e)s 3(x)k 3(ecute)k 2528(pri)s 6(vile)k 3(ged)k
5583 3526(programs)s 4461(when)s 5017(the)s 3(y)k 5461(need)s
5584 5951(to.)s 6222(It)s 6407(is)s 6598(unsuitable)s 7617(for)s
5585 7936(this)s 8312(purpose)s 0 5336(precisely)m 916(because)s 1729(it)s
5586 1921(enforces)s 2781(a)s 2947(strong)s 3598(separation)s 4637(between)s
5587 5491(the)s 5839(calling)s 6542(and)s 6946(the)s 7294(called)s
5588 7922(program,)s 0 5096(which)m 642(is)s 852(undesirable)s 2010(in)s
5589 2253(this)s 2649(conte)s 3(xt.)k 0 4688(Its)m 289(f)s 2(acilities)k
5590 1158(for)s 1496(restricting)s 2516(acti)s 6(vities)k 3422(to)s
5591 3661(running)s 4459(certain)s 5165(programs)s 6119(may)s 6585(at)s
5592 6817(\207rst)s 7248(glance)s 7928(seem)s 8479(to)s 0 4420(pro)m 3(vide)k
5593 769(similar)s 1476(functionality)s 2736(to)s gsave
5596 240 fnt31 0 -52(sudo)m
5599 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
5600 4454(the)s 4787(separation)s 5811(mentioned)s 6864(abo)s 3(v)k 3(e)k
5601 7471(is)s 7666(a)s 7817(problem)s 8659(here)s 0 4180(too,)m
5602 413(particular)s 1387(for)s 1725(interaction)s 2803(-)s 2931(it)s
5603 3123(can)s 3512(be)s 3794(hard)s 4277(for)s 4615(a)s
5607 240 fnt31 0 -52(userv)m
5609 5341(service)s 6073(program)s 6943(to)s
5610 7182(interact)s 7957(with)s 8439(its)s 8714(real)s 0 3940(caller)m
5611 589(or)s 848(the)s 1196(user)s 1654(in)s 1897(question.)s
5612 9066 670 0 670 240 240 60 0 2916 LoutGr2
5613 newpath 0 ysize 0.3 ft sub moveto
5619 320 fnt84 0 66(6.5.)m 628(Don't)s 1488(gi)s 3(v)k 3(e)k
5620 2107(access)s 3013(to)s 3352(general-pur)s 3(pose)k 5640(utilities)s
5623 0 2454(Do)m 346(not)s 712(specify)s 1456(general)s 2214(purpose)s
5624 3028(programs)s 3982(lik)s 2(e)k gsave
5627 240 fnt31 0 -52(mv)m
5633 240 fnt31 0 -52(cat)m
5641 6377(directi)s 6(v)k 3(es)k 7347(without)s
5642 8138(careful)s 0 2214(thought)m 792(about)s 1384(their)s 1881(ar)s 4(guments,)k
5643 2980(and)s 3384(certainly)s 4273(not)s 4639(if)s gsave
5647 0 -52(no\211suppress\211args)m
5649 6518(is)s 6728(speci\207ed.)s 7682(If)s 7912(you)s
5650 8327(do)s 8620(so)s 8886(it)s 0 1974(will)m 426(gi)s 6(v)k 3(e)k
5651 885(the)s 1233(caller)s 1822(much)s 2411(more)s 2958(pri)s 6(vilige)k
5652 3817(than)s 4286(you)s 4701(probably)s 5606(intend.)s 0 1566(It)m
5653 205(is)s 415(a)s 581(shame)s 1248(that)s 1666(I)s
5654 1801(ha)s 4(v)k 3(e)k 2302(to)s 2541(say)s
5655 2914(this)s 3310(here,)s 3828(b)s 4(ut)k 4190(ine)s 3(xperienced)k
5656 5586(administrators)s 7003(ha)s 4(v)k 3(e)k 7504(made)s
5657 8078(similar)s 1134 0 0 0 240 240 60 0 1178 LoutGr2
5658 0 0 moveto xsize 0 lineto stroke
5662 122 fnt82 0 983(1)m gsave
5665 192 fnt31 0 -42(sudo)m
5668 192 fnt82 425 913(is)m 593(a)s 726(program)s 1422(which)s
5669 1936(allo)s 4(ws)k 2472(users)s 2905(to)s 3097(e)s 2(x)k 2(ecute)k
5670 3723(certain)s 4289(programs)s 5052(as)s 5252(root,)s 5646(according)s
5671 6444(to)s 6636(con\207guration)s 7703(\207les)s 8062(speci\207ed)s 8789(by)s
5672 0 683(the)m 279(system)s 858(administrator)s 10(.)k 240 fnt82
5673 0 52(User)m 511(service)s 1243(daemon)s 2058(and)s 2462(client)s
5674 3052(speci\207cation)s 8491(0.64.1)s
5684 %%PageResources: font Times-Roman
5686 %%+ font Courier-Bold
5688 0.0500 dup scale 10 setlinewidth
5692 240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic
5707 1417 -15423 translate
5708 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic
5712 240 fnt84 0 13842(22)m 240 fnt82 0 13254(mistak)m 2(es)k
5713 885(with)s 1367(programs)s 2321(lik)s 2(e)k gsave
5714 2733 13308 translate
5719 3133(.)s 0 52(0.64.1)m 4809(User)s 5320(service)s
5720 6052(daemon)s 6867(and)s 7271(client)s 7861(speci\207cation)s
5729 %%DocumentNeededResources: font Courier-Bold
5730 %%+ font Times-Roman
5731 %%+ font Times-Italic
5733 %%DocumentSuppliedResources: procset LoutStartUp
5734 %%+ procset LoutMarginNotes