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