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