From: ian Date: Sun, 20 Jun 1999 18:14:30 +0000 (+0000) Subject: Regenerated formatted documentation with correct version no. X-Git-Tag: debian_version_0_64_1 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=userv.git;a=commitdiff_plain;h=refs%2Ftags%2Fdebian_version_0_64_1 Regenerated formatted documentation with correct version no. --- diff --git a/debian/changelog b/debian/changelog index c83253a..42b9775 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -userv (0.64) unstable; urgency=low +userv (0.64.1) unstable; urgency=low * New "shutdown" builtin service for terminating uservd. * Spec. document shows subsections in TOC. @@ -9,7 +9,7 @@ userv (0.64) unstable; urgency=low * Regenerated formatted documentation (spec.ps, spec.html). - -- Ian Jackson Sun, 20 Jun 1999 18:45:54 +0100 + -- Ian Jackson Sun, 20 Jun 1999 19:13:42 +0100 userv (0.62) unstable; urgency=low diff --git a/spec.html/ch-client.html b/spec.html/ch-client.html index 4c079db..722f655 100644 --- a/spec.html/ch-client.html +++ b/spec.html/ch-client.html @@ -315,7 +315,7 @@ user will be the real calling user. User service daemon and client specification
-0.62
+0.64.1
Ian Jackson ian@davenant.greenend.org.uk
diff --git a/spec.html/ch-config.html b/spec.html/ch-config.html index 7647ad1..4ccacc7 100644 --- a/spec.html/ch-config.html +++ b/spec.html/ch-config.html @@ -411,11 +411,11 @@ to be parsed).
help
Displays a list of the understood builtin service names and arguments. -
shutdown
Arranges for the uservd to shut down. Available only when the -service user is root. This only affects new requests; it doesn't -terminate any currently-running requests - + + +In the future other builtin services may be defined which do more than +just print information.

set-environment
no-set-environment
Runs /etc/environment to set the service user's environment. @@ -586,7 +586,7 @@ quit User service daemon and client specification
-0.62
+0.64.1
Ian Jackson ian@davenant.greenend.org.uk
diff --git a/spec.html/ch-envir.html b/spec.html/ch-envir.html index 40b79cd..181c0f9 100644 --- a/spec.html/ch-envir.html +++ b/spec.html/ch-envir.html @@ -182,7 +182,7 @@ user). User service daemon and client specification
-0.62
+0.64.1
Ian Jackson ian@davenant.greenend.org.uk
diff --git a/spec.html/ch-intro.html b/spec.html/ch-intro.html index c74b554..c1d9bf4 100644 --- a/spec.html/ch-intro.html +++ b/spec.html/ch-intro.html @@ -58,7 +58,7 @@ each other in any unexpected ways. User service daemon and client specification
-0.62
+0.64.1
Ian Jackson ian@davenant.greenend.org.uk
diff --git a/spec.html/ch-ipass.html b/spec.html/ch-ipass.html index 766ef4e..25f2eb6 100644 --- a/spec.html/ch-ipass.html +++ b/spec.html/ch-ipass.html @@ -134,7 +134,7 @@ and the service. User service daemon and client specification
-0.62
+0.64.1
Ian Jackson ian@davenant.greenend.org.uk
diff --git a/spec.html/ch-notes.html b/spec.html/ch-notes.html index e49eb2a..36e5c77 100644 --- a/spec.html/ch-notes.html +++ b/spec.html/ch-notes.html @@ -215,7 +215,7 @@ administrators have made similar mistakes with programs like User service daemon and client specification
-0.62
+0.64.1
Ian Jackson ian@davenant.greenend.org.uk
diff --git a/spec.html/footnotes.html b/spec.html/footnotes.html index 6ec7665..8404965 100644 --- a/spec.html/footnotes.html +++ b/spec.html/footnotes.html @@ -44,7 +44,7 @@ specified by the system administrator. User service daemon and client specification
-0.62
+0.64.1
Ian Jackson ian@davenant.greenend.org.uk
diff --git a/spec.html/index.html b/spec.html/index.html index 46e8edc..3eaa422 100644 --- a/spec.html/index.html +++ b/spec.html/index.html @@ -76,12 +76,6 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  • 4.1 Configuration file syntax
  • 4.2 Configuration file directives -
      -
    • 4.2.1 Immediate directives -
    • 4.2.2 Directives with delayed effect -
    • 4.2.3 Control structure directives -
    • 4.2.4 Directives for changing execution settings -
  • 4.3 Errors in the configuration file
  • 4.4 Defaults
@@ -107,7 +101,7 @@ Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. User service daemon and client specification
-0.62
+0.64.1
Ian Jackson ian@davenant.greenend.org.uk
diff --git a/spec.ps b/spec.ps index a428309..6b99f91 100644 --- a/spec.ps +++ b/spec.ps @@ -1,6 +1,6 @@ %!PS-Adobe-3.0 %%Creator: Basser Lout Version 3.10 (November 1996) -%%CreationDate: Sun Jun 20 18:45:09 1999 +%%CreationDate: Sun Jun 20 19:14:05 1999 %%DocumentData: Binary %%DocumentNeededResources: (atend) %%DocumentMedia: Plain 595 842 0 white () @@ -268,7 +268,7 @@ grestore 0.6953 1.0000 scale 200 fnt31 1031 -43()m grestore -240 fnt82 4326 12513(0.62)m +240 fnt82 4245 12513(0.64.1)m 9066 609 0 609 240 240 60 0 11253 LoutGr2 newpath 0 ysize 0.3 ft sub moveto xsize 0 rlineto @@ -350,101 +350,55 @@ grestore 320 fnt84 0 6(0.3.)m 628(Contents)s grestore -0 5477(1.)m 1200(Introduction)s 8962(3)s 0 5250(2.)m -1200(Client)s 1844(program)s 2714(usage)s 8952(4)s 0 5013(2.1.)m -1200(Options)s 8952(4)s 0 4776(2.2.)m 1200(Security-o)s 3(v)k 3(erriding)k -3118(options)s 8958(7)s 0 4539(3.)m 1200(Ex)s 3(ecution)k +0 5477(1.)m 1200(Introduction)s 8952(2)s 0 5250(2.)m +1200(Client)s 1844(program)s 2714(usage)s 8962(3)s 0 5013(2.1.)m +1200(Options)s 8962(3)s 0 4775(2.2.)m 1200(Security-o)s 3(v)k 3(erriding)k +3118(options)s 8953(6)s 0 4538(3.)m 1200(Ex)s 3(ecution)k 2224(en)s 9(vironment)k 3484(of)s 3755(the)s 4103(service)s -4835(program)s 8959(8)s 0 4302(3.1.)m 1200(File)s 1627(descriptors)s -8959(8)s 0 4065(3.2.)m 1200(En)s 9(vironment)k 8955(9)s -0 3838(4.)m 1200(Service-side)s 2436(con\207guration)s 8831(10)s 0 3601(4.1.)m -1200(Con\207guration)s 2587(\207le)s 2948(syntax)s 8831(10)s 0 3364(4.2.)m +4835(program)s 8958(7)s 0 4301(3.1.)m 1200(File)s 1627(descriptors)s +8958(7)s 0 4064(3.2.)m 1200(En)s 9(vironment)k 8959(8)s +0 3837(4.)m 1200(Service-side)s 2436(con\207guration)s 8955(9)s 0 3600(4.1.)m +1200(Con\207guration)s 2587(\207le)s 2948(syntax)s 8955(9)s 0 3363(4.2.)m 1200(Con\207guration)s 2587(\207le)s 2948(directi)s 6(v)k 3(es)k -8831(10)s 0 3127(4.2.1.)m 1200(Immediate)s 2277(directi)s 6(v)k 3(es)k -8851(11)s 0 2900(4.2.2.)m 1200(Directi)s 6(v)k 3(es)k -2223(with)s 2705(delayed)s 3507(ef)s 6(fect)k 8832(12)s -0 2663(4.2.3.)m 1200(Control)s 1986(structure)s 2877(directi)s 6(v)k 3(es)k -8832(12)s 0 2436(4.2.4.)m 1200(Directi)s 6(v)k 3(es)k -2223(for)s 2561(changing)s 3492(e)s 3(x)k 3(ecution)k -4473(settings)s 8832(14)s 0 2198(4.3.)m 1200(Errors)s 1847(in)s -2090(the)s 2438(con\207guration)s 3771(\207le)s 8833(16)s 0 1960(4.4.)m -1200(Def)s 2(aults)k 8833(16)s 0 1733(5.)m 1200(Information)s -2398(passed)s 3094(through)s 3896(the)s 4244(client/daemon)s 5655(combination)s -8839(18)s 0 1495(6.)m 1200(Applications)s 2473(and)s 2877(notes)s -3433(on)s 3730(use)s 8831(20)s 0 1257(6.1.)m 1200(Standard)s -2108(services)s 2928(and)s 3332(directory)s 4248(management)s 8831(20)s -0 1019(6.2.)m 1200(Reducing)s 2171(the)s 2519(number)s 3310(of)s -3581(absolutely)s 4618(pri)s 6(vile)k 3(ged)k 5636(subsystems)s -8831(20)s 0 52(User)m 511(service)s 1243(daemon)s 2058(and)s -2462(client)s 3052(speci\207cation)s 8652(0.62)s -grestore - -grestore - -pgsave restore -showpage - -%%Page: 2 2 -%%BeginPageSetup -%%PageResources: font Times-Roman -%%+ font Times-Bold -%%+ font Courier-Bold -/pgsave save def -0.0500 dup scale 10 setlinewidth -%%EndPageSetup -gsave -0 0 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 11900 16840 0 16840 240 240 60 LoutGraphic -gsave -LoutPageSet -grestore -gsave -0 16840 translate -0.0000 rotate - -grestore - -grestore -gsave -0 16840 translate -0.0000 rotate -gsave -1417 -15423 translate -240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic -gsave -0 LoutMargSet -grestore -240 fnt84 0 13842(2)m 240 fnt82 0 13253(6.3.)m 1200(Do)s -1546(not)s 1912(gi)s 6(v)k 3(e)k 2371(a)s 3(w)k 2(ay)k +8955(9)s 0 3124(4.3.)m 1200(Errors)s 1847(in)s 2090(the)s +2438(con\207guration)s 3771(\207le)s 8840(15)s 0 2885(4.4.)m 1200(Def)s 2(aults)k +8840(15)s 0 2658(5.)m 1200(Information)s 2398(passed)s 3094(through)s +3896(the)s 4244(client/daemon)s 5655(combination)s 8838(17)s 0 2420(6.)m +1200(Applications)s 2473(and)s 2877(notes)s 3433(on)s 3730(use)s +8835(19)s 0 2182(6.1.)m 1200(Standard)s 2108(services)s 2928(and)s +3332(directory)s 4248(management)s 8835(19)s 0 1944(6.2.)m 1200(Reducing)s +2171(the)s 2519(number)s 3310(of)s 3581(absolutely)s 4618(pri)s 6(vile)k 3(ged)k +5636(subsystems)s 8835(19)s 0 1706(6.3.)m 1200(Do)s 1546(not)s +1912(gi)s 6(v)k 3(e)k 2371(a)s 3(w)k 2(ay)k 2925(e)s 3(xcessi)k 6(v)k 3(e)k 3885(pri)s 6(vile)k 3(ge)k 4781(to)s gsave -5020 13307 translate +5020 1760 translate 0.6953 1.0000 scale 240 fnt31 0 -52(userv)m grestore 5520(-using)s 6171(f)s 2(acilities)k -8831(20)s 0 13015(6.4.)m gsave -1200 13069 translate +8835(19)s 0 1468(6.4.)m gsave +1200 1522 translate 0.6953 1.0000 scale 240 fnt31 0 -52(userv)m grestore 1760(is)s 1970(not)s 2336(a)s 2502(replacement)s 3729(for)s gsave -4067 13069 translate +4067 1522 translate 0.6953 1.0000 scale 240 fnt31 0 -52(really)m grestore 4727(and)s gsave -5131 13069 translate +5131 1522 translate 0.6953 1.0000 scale 240 fnt31 0 -52(sudo)m grestore -8851(21)s -0 12776(6.5.)m 1200(Don')s 4(t)k 1814(gi)s 6(v)k 3(e)k -2273(access)s 2934(to)s 3173(general-purpose)s 4769(utilities)s 8851(21)s -0 52(0.62)m 4809(User)s 5320(service)s 6052(daemon)s 6867(and)s -7271(client)s 7861(speci\207cation)s +8831(20)s +0 1229(6.5.)m 1200(Don')s 4(t)k 1814(gi)s 6(v)k 3(e)k +2273(access)s 2934(to)s 3173(general-purpose)s 4769(utilities)s 8831(20)s +0 52(User)m 511(service)s 1243(daemon)s 2058(and)s 2462(client)s +3052(speci\207cation)s 8491(0.64.1)s grestore grestore @@ -452,7 +406,7 @@ grestore pgsave restore showpage -%%Page: 3 3 +%%Page: 2 2 %%BeginPageSetup %%PageResources: font Times-Roman %%+ font Times-Bold @@ -480,10 +434,10 @@ gsave 1417 -15423 translate 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic gsave -1 LoutMargSet +0 LoutMargSet grestore -240 fnt84 8953 13842(3)m gsave -0 12792 translate +240 fnt84 0 13842(2)m gsave +0 12795 translate 240 fnt82 9066 622 0 622 240 240 60 LoutGraphic gsave newpath 0 ysize 0.3 ft sub moveto @@ -495,42 +449,42 @@ grestore 340 fnt84 0 4(1.)m 412(Intr)s 6(oduction)k grestore -240 fnt82 0 12330(There)m 613(is)s 823(a)s 989(daemon)s +240 fnt82 0 12333(There)m 613(is)s 823(a)s 989(daemon)s 1804(which)s 2446(in)s 9(v)k 4(ok)k 2(es)k 3227(user)s 3685(service)s 4417(programs)s 5371(\(henceforth)s 6529(`services'\))s -7584(in)s 7827(response)s 8720(to)s 0 12090(requests)m 822(by)s +7584(in)s 7827(response)s 8720(to)s 0 12093(requests)m 822(by)s 1104(callers)s 1765(of)s 2024(a)s 2178(companion)s 3287(client)s 3865(program)s 4723(\(henceforth)s 5869(the)s 6205(`client'\))s 7009(and)s -7401(according)s 8385(to)s 8611(rules)s 0 11850(set)m 325(forth)s +7401(according)s 8385(to)s 8611(rules)s 0 11853(set)m 325(forth)s 846(in)s 1089(system-wide)s 2353(and)s 2757(user)s 4(-speci\207c)k 4013(con\207guration)s 5346(\207les.)s 5848(The)s 6276(companion)s 7397(client)s -7987(program)s 0 11610(is)m 210(setuid)s 839(root,)s 1331(and)s +7987(program)s 0 11613(is)m 210(setuid)s 839(root,)s 1331(and)s 1735(ne)s 3(gotiates)k 2752(with)s 3234(the)s 3582(daemon)s 4397(through)s 5199(an)s gsave -5482 11664 translate +5482 11667 translate 0.6953 1.0000 scale 240 fnt31 0 -52(AF_UNIX)m grestore 6242(sock)s 2(et)k -6911(and)s 7315(associated)s 8355(objects)s 0 11370(in)m 243(a)s +6911(and)s 7315(associated)s 8355(objects)s 0 11373(in)m 243(a)s 409(system-wide)s 1673(pri)s 6(v)k 6(ate)k 2380(directory)s 3296(set)s 3621(aside)s 4168(for)s 4506(the)s 4854(purpose.)s 5716(The)s 6144(user)s 6602(who)s 7068(wishes)s 7770(the)s -8118(service)s 8850(to)s 0 11130(be)m 282(performed)s 1335(and)s +8118(service)s 8850(to)s 0 11133(be)m 282(performed)s 1335(and)s 1739(calls)s 2227(the)s 2575(client)s 3165(is)s 3375(called)s 4003(the)s 4351(`calling)s 5133(user';)s 5722(the)s 6070(process)s 6838(which)s 7480(calls)s 7968(the)s 8316(client)s 8906(is)s -0 10890(called)m 628(the)s 976(`calling)s 1758(process'.)s 0 10482(The)m +0 10893(called)m 628(the)s 976(`calling)s 1758(process'.)s 0 10485(The)m 428(daemon)s 1243(and)s 1647(the)s 1995(client)s 2585(are)s 2932(responsible)s 4077(for)s 4415(ensuring)s 5292(that)s 5710(information)s -6895(is)s 7105(safely)s 7729(carried)s 8449(across)s 0 10242(the)m +6895(is)s 7105(safely)s 7729(carried)s 8449(across)s 0 10245(the)m 338(security)s 1138(boundary)s 2087(between)s 2931(the)s 3269(tw)s 2(o)k 3669(users,)s 4257(and)s 4650(that)s 5058(the)s 5396(processes)s 6353(on)s 6640(either)s 7233(side)s 7664(cannot)s 8351(interact)s -0 10002(with)m 482(each)s 977(other)s 1528(in)s 1771(an)s 3(y)k -2168(une)s 3(xpected)k 3313(w)s 2(ays.)k 0 52(User)m -511(service)s 1243(daemon)s 2058(and)s 2462(client)s 3052(speci\207cation)s -8652(0.62)s +0 10005(with)m 482(each)s 977(other)s 1528(in)s 1771(an)s 3(y)k +2168(une)s 3(xpected)k 3313(w)s 2(ays.)k 0 52(0.64.1)m +4809(User)s 5320(service)s 6052(daemon)s 6867(and)s 7271(client)s +7861(speci\207cation)s grestore grestore @@ -538,7 +492,7 @@ grestore pgsave restore showpage -%%Page: 4 4 +%%Page: 3 3 %%BeginPageSetup %%PageResources: font Times-Roman %%+ font Times-Bold @@ -567,10 +521,10 @@ gsave 1417 -15423 translate 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic gsave -0 LoutMargSet +1 LoutMargSet grestore -240 fnt84 0 13842(4)m gsave -0 12729 translate +240 fnt84 8953 13842(3)m gsave +0 12726 translate 240 fnt82 9066 688 0 688 240 240 60 LoutGraphic gsave newpath 0 ysize 0.3 ft sub moveto @@ -583,7 +537,7 @@ grestore 1382(pr)s 6(ogram)k 2737(usage)s grestore gsave -480 12081 translate +480 12078 translate 0.6953 1.0000 scale 240 fnt31 0 -52(userv)m gsave @@ -628,12 +582,12 @@ grestore 9029(\202])s grestore 240 fnt83 -0 11208(service-user)m 240 fnt82 1232 11206(speci\207es)m 2106(which)s 2748(user)s +0 11205(service-user)m 240 fnt82 1232 11203(speci\207es)m 2106(which)s 2748(user)s 3206(is)s 3416(to)s 3655(pro)s 3(vide)k 4439(the)s 4787(service.)s 5567(The)s 5995(user)s 6453(may)s 6919(be)s 7201(a)s 7367(login)s 7916(name)s 8490(or)s 8749(a)s -0 10966(numeric)m 836(uid,)s 1249(or)s gsave -1508 11020 translate +0 10963(numeric)m 836(uid,)s 1249(or)s gsave +1508 11017 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211)m @@ -641,12 +595,12 @@ grestore 1668(to)s 1907(indicate)s 2719(that)s 3137(the)s 3485(service)s 4217(user)s 4675(is)s 4885(to)s 5124(be)s 5406(the)s 5754(same)s 6301(as)s 6551(the)s 6899(calling)s 7602(user)s 13(.)k -0 10558(The)m 428(service)s 1160(name)s 1734(is)s 1944(interpreted)s -3036(by)s 3330(the)s 3678(userv)s 153 fnt82 4191 10647(1)m -240 fnt82 4311 10558(daemon)m 5126(on)s 5423(behalf)s 6092(of)s +0 10555(The)m 428(service)s 1160(name)s 1734(is)s 1944(interpreted)s +3036(by)s 3330(the)s 3678(userv)s 153 fnt82 4191 10644(1)m +240 fnt82 4311 10555(daemon)m 5126(on)s 5423(behalf)s 6092(of)s 6363(the)s 6711(service)s 7443(user)s 13(.)k 7932(It)s -8137(will)s 8563(often)s 0 10318(be)m 282(the)s 630(name)s -1204(of)s 1475(a)s 1641(program.)s 9066 670 0 670 240 240 60 0 9294 LoutGr2 +8137(will)s 8563(often)s 0 10315(be)m 282(the)s 630(name)s +1204(of)s 1475(a)s 1641(program.)s 9066 670 0 670 240 240 60 0 9291 LoutGr2 newpath 0 ysize 0.3 ft sub moveto xsize 0 rlineto 0 0.1 ft rlineto @@ -656,46 +610,46 @@ grestore 320 fnt84 0 66(2.1.)m 628(Options)s grestore -0 8832(Single-letter)m 1233(options)s 1983(may)s 2442(be)s +0 8829(Single-letter)m 1233(options)s 1983(may)s 2442(be)s 2718(combined)s 3714(as)s 3957(is)s 4161(usual)s 4714(with)s 5190(Unix)s 5718(programs,)s 6721(and)s 7119(the)s 7461(v)s 6(alue)k -8022(for)s 8354(such)s 8843(an)s 0 8592(option)m 669(may)s +8022(for)s 8354(such)s 8843(an)s 0 8589(option)m 669(may)s 1135(appear)s 1832(in)s 2075(the)s 2423(same)s 2970(ar)s 4(gument)k 3929(or)s 4188(in)s 4431(the)s 4779(ne)s 3(xt.)k gsave -120 8238 translate +120 8235 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211B)m grestore gsave -120 7998 translate +120 7995 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211\211builtin)m grestore -480 7704(Re)m +480 7701(Re)m 742(quests)s 1385(that)s 1797(a)s 1956(b)s 4(uiltin)k 2627(ser)s 2905(vice)s 3352(be)s 3628(pro)s 3940(vid)s 4244(ed.)s 4567(This)s 5037(is)s 5241(equi)s 6(v)k 5762(a)s 5868(lent)s 6279(to)s 6512(us)s 6716(ing)s 7068(the)s gsave -7410 7758 translate +7410 7755 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211\211override)m grestore 8464(op)s 8697(tion)s -480 7463(to)m 719(spec)s 1137(i)s 1197(fy)s 1450(a)s +480 7460(to)m 719(spec)s 1137(i)s 1197(fy)s 1450(a)s 1616(string)s 2213(con)s 2556(sist)s 2874(ing)s 3233(of)s gsave -3504 7517 translate +3504 7514 translate 0.6953 1.0000 scale 240 fnt31 0 -52(execute\211builtin)m grestore 5065(fol)s 5325(lo)s 6(wed)k -5962(by)s 6256(the)s 240 fnt83 6604 7465(b)m 4(uiltin-)k -7291(service)s 240 fnt82 8020 7463(re)m 8201(quest)s 8706(ed,)s -480 7223(and)m 870(re)s 1051(quest)s 1556(ing)s 1900(a)s +5962(by)s 6256(the)s 240 fnt83 6604 7462(b)m 4(uiltin-)k +7291(service)s 240 fnt82 8020 7460(re)m 8201(quest)s 8706(ed,)s +480 7220(and)m 870(re)s 1051(quest)s 1556(ing)s 1900(a)s 2052(ser)s 2330(vice)s 2769(user)s 3213(of)s gsave -3469 7277 translate +3469 7274 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211)m @@ -703,24 +657,24 @@ grestore 3615(\(in)s 3877(di)s 4057(cat)s 4335(ing)s 4679(the)s 5012(call)s 5351(ing)s 5696(user\).)s 6322(If)s 6538(the)s 6871(b)s 4(uiltin)k 7534(ser)s 7812(vice)s -8251(be)s 8473(ing)s 8817(re)s 8998(-)s 480 6983(quest)m +8251(be)s 8473(ing)s 8817(re)s 8998(-)s 480 6980(quest)m 985(ed)s 1254(re)s 1435(quires)s 2054(a)s 240 fnt83 -2204 6985(service-)m 2947(ar)s 8(gument)k 240 fnt82 3905 6983(then)m +2204 6982(service-)m 2947(ar)s 8(gument)k 240 fnt82 3905 6980(then)m 4358(this)s 4738(must)s 5247(be)s 5513(sup)s 5839(plied)s 6359(to)s 6582(the)s 6914(client)s 7488(in)s 7715(the)s -8047(same)s 8578(ar)s 8763(gu)s 8998(-)s 480 6742(ment)m -1012(as)s 1256(the)s 240 fnt83 1598 6744(b)m 4(uiltin-)k -2285(service)s 240 fnt82 2954 6742(.)m 3052(See)s 3447(`Di)s -3759(rec)s 4043(ti)s 6(v)k 3(es)k 4530(for)s -4862(chang)s 5427(ing)s 5780(e)s 3(x)k 5998(e)s -6100(cu)s 6321(tion)s 6744(set)s 7009(tings',)s 7654(page)s -8156(14)s 8444(for)s 8776(de)s 8998(-)s 480 6502(tails)m -921(of)s 1184(the)s 1524(b)s 4(uiltin)k 2193(ser)s -2471(vices)s 3006(a)s 4(v)k 6(ail)k 3455(able,)s -3952(and)s 4348(`Security-)s 5291(o)s 3(v)k 3(erriding)k -6326(op)s 6559(tions',)s 7203(page)s 7703(7)s 7863(for)s -8193(de)s 8415(tails)s 8855(of)s 480 6261(the)m gsave -822 6315 translate +8047(same)s 8578(ar)s 8763(gu)s 8998(-)s 480 6739(ment)m +1013(as)s 1258(the)s 240 fnt83 1601 6741(b)m 4(uiltin-)k +2288(service)s 240 fnt82 2957 6739(.)m 3056(See)s 3451(`Di)s +3763(rec)s 4047(ti)s 6(v)k 3(es)k 4535(for)s +4868(chang)s 5433(ing)s 5787(e)s 3(x)k 6005(e)s +6107(cu)s 6328(tion)s 6751(set)s 7016(tings',)s 7662(page)s +8165(13)s 8444(for)s 8776(de)s 8998(-)s 480 6499(tails)m +920(of)s 1183(the)s 1523(b)s 4(uiltin)k 2192(ser)s +2470(vices)s 3004(a)s 4(v)k 6(ail)k 3453(able,)s +3950(and)s 4345(`Security-)s 5288(o)s 3(v)k 3(erriding)k +6323(op)s 6556(tions',)s 7199(page)s 7699(6)s 7864(for)s +8194(de)s 8416(tails)s 8855(of)s 480 6258(the)m gsave +822 6312 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211\211override)m @@ -728,28 +682,28 @@ grestore 1877(op)s 2110(tions.)s 2733(The)s 3155(ac)s 3360(tu)s 3541(al)s 3762(ser)s 4040(vice)s 4488(name)s 5056(passed)s 5746(will)s 6166(be)s 6442(the)s 240 fnt83 -6784 6263(b)m 4(uiltin-)k 7471(service)s 240 fnt82 8140 6261(;)m -8246(note)s 8708(that)s 480 6021(this)m 876(ac)s 1081(tu)s +6784 6260(b)m 4(uiltin-)k 7471(service)s 240 fnt82 8140 6258(;)m +8246(note)s 8708(that)s 480 6018(this)m 876(ac)s 1081(tu)s 1262(al)s 1489(ser)s 1767(vice)s 2221(name)s 2795(\(as)s 3124(op)s 3357(posed)s 3974(to)s 4213(the)s 4561(o)s 3(v)k 3(er)k 4980(ride)s 5407(data\))s 5933(and)s 6337(the)s 240 fnt83 -6685 6023(info-)m 7124(ar)s 8(gument)k 240 fnt82 8038 6021(s)m -8182(sup)s 8508(plied)s 480 5781(will)m 906(be)s 1188(ig)s +6685 6020(info-)m 7124(ar)s 8(gument)k 240 fnt82 8038 6018(s)m +8182(sup)s 8508(plied)s 480 5778(will)m 906(be)s 1188(ig)s 1367(nored)s 1970(by)s 2264(most)s 2789(b)s 4(uiltin)k 3466(ser)s 3744(vices;)s 4347(the)s 4695(o)s 3(v)k 3(er)k 5114(ride)s 5541(mech)s 6056(a)s 6162(nism)s 6687(and)s gsave -7091 5835 translate +7091 5832 translate 0.6953 1.0000 scale 240 fnt31 0 -52(execute\211builtin)m grestore -8652(will)s 480 5541(be)m 762(used)s +8652(will)s 480 5538(be)m 762(used)s 1259(to)s 1498(en)s 1721(sure)s 2175(that)s 2593(the)s 2941(right)s 3452(b)s 4(uiltin)k 4129(ser)s 4407(vice)s 4861(is)s 5071(called)s 5699(with)s 6181(the)s 6529(right)s -240 fnt83 7040 5543(service-)m 7783(ar)s 8(gument)k 240 fnt82 -8697 5541(s.)m gsave -120 5201 translate +240 fnt83 7040 5540(service-)m 7783(ar)s 8(gument)k 240 fnt82 +8697 5538(s.)m gsave +120 5198 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211f)m gsave 288 0 translate @@ -771,7 +725,7 @@ grestore grestore gsave -120 4961 translate +120 4958 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211\211file)m gsave 1008 0 translate @@ -792,26 +746,26 @@ grestore grestore grestore -480 4667(Requests)m 1384(that)s +480 4664(Requests)m 1384(that)s 1791(data)s 2238(be)s 2509(copied)s 3194(in)s 3426(and)s 3819(out)s 4174(of)s 4434(the)s 4771(service)s 5492(using)s 6053(pipes.)s 6651(F)s 3(or)k 7029(each)s 7513(\207le)s -7863(or)s 8111(descriptor)s 480 4427(this)m 858(will)s 1266(be)s +7863(or)s 8111(descriptor)s 480 4424(this)m 858(will)s 1266(be)s 1530(done)s 2033(by)s 2309(creating)s 3113(a)s 3261(pipe,)s 3761(one)s 4145(end)s 4531(of)s 4784(which)s 5407(is)s 5599(passed)s 6277(to)s 6498(the)s 6827(service)s 7541(program)s -8393(and)s 8778(the)s 480 4187(other)m 1028(end)s 1429(of)s +8393(and)s 8778(the)s 480 4184(other)m 1028(end)s 1429(of)s 1697(which)s 2336(is)s 2543(passed)s 3236(to)s 3472(a)s 3635(cop)s 2(y)k 4149(of)s gsave -4417 4241 translate +4417 4238 translate 0.6953 1.0000 scale 240 fnt31 0 -52(cat)m grestore 4774(in)s 9(v)k 4(ok)k 2(ed)k 5586(by)s 5877(the)s 6222(client;)s 6861(the)s 7206(other)s 7754(\207le)s -8111(descriptor)s 480 3947(passed)m 1161(to)s gsave -1384 4001 translate +8111(descriptor)s 480 3944(passed)m 1161(to)s gsave +1384 3998 translate 0.6953 1.0000 scale 240 fnt31 0 -52(cat)m @@ -819,26 +773,26 @@ grestore 1728(will)s 2139(be)s 2405(one)s 2791(inherited)s 3683(by)s 3961(the)s 4293(client)s 4868(program)s 5722(from)s 6230(the)s 6563(caller)s 7136(or)s 7379(one)s 7766(opened)s 8500(by)s -8778(the)s 480 3707(client)m 1063(program)s 1926(on)s 2215(behalf)s +8778(the)s 480 3704(client)m 1063(program)s 1926(on)s 2215(behalf)s 2877(of)s 3140(the)s 3481(caller)s 13(.)k 4153(The)s 4574(descriptor)s 5581(in)s 5817(the)s 6157(service)s 6882(program)s -7744(that)s 8155(should)s 8844(be)s 480 3466(connected)m 1503(must)s -2023(be)s 2299(speci\207ed)s 3202(as)s 240 fnt83 3446 3468(fd)m -240 fnt82 3638 3466(,)m 3740(either)s 4338(as)s 4582(a)s +7744(that)s 8155(should)s 8844(be)s 480 3463(connected)m 1503(must)s +2023(be)s 2299(speci\207ed)s 3202(as)s 240 fnt83 3446 3465(fd)m +240 fnt82 3638 3463(,)m 3740(either)s 4338(as)s 4582(a)s 4743(decimal)s 5548(number)s 6334(or)s 6588(as)s 6832(one)s 7229(of)s 7494(the)s 7837(strings)s gsave -8519 3520 translate +8519 3517 translate 0.6953 1.0000 scale 240 fnt31 0 -52(stdin)m grestore 9019(,)s gsave -480 3280 translate +480 3277 translate 0.6953 1.0000 scale 240 fnt31 0 -52(stdout)m grestore -1126 3226(or)m gsave -1370 3280 translate +1126 3223(or)m gsave +1370 3277 translate 0.6953 1.0000 scale 240 fnt31 0 -52(stderr)m @@ -846,41 +800,41 @@ grestore 1970(.)s 2059(The)s 2473(ne)s 3(xt)k 2927(ar)s 4(gument)k 3871(is)s 4067(a)s 4218(\207lename)s 5082(which)s 5709(will)s 6121(be)s 6388(opened)s 7123(by)s -7403(the)s 7736(client)s 8311(with)s 8778(the)s 480 2985(pri)m 6(vile)k 3(ges)k +7403(the)s 7736(client)s 8311(with)s 8778(the)s 480 2982(pri)m 6(vile)k 3(ges)k 1458(of)s 1722(the)s 2064(calling)s 2760(user)s 13(.)k -240 fnt83 3303 2987(modi\207er)m 2(s)k 240 fnt82 4240 2985(is)m +240 fnt83 3303 2984(modi\207er)m 2(s)k 240 fnt82 4240 2982(is)m 4444(used)s 4934(to)s 5166(specify)s 5904(whether)s 6727(the)s 7069(\207le)s 7423(or)s 7676(descriptor)s 8684(is)s 8887(to)s -480 2745(be)m 762(read)s 1230(from)s 1754(or)s 2012(written)s +480 2742(be)m 762(read)s 1230(from)s 1754(or)s 2012(written)s 2745(to.)s 3034(It)s 3239(consists)s 4046(of)s 4317(a)s 4482(series)s 5076(of)s 5346(w)s 2(ords)k 5980(separated)s -6939(by)s 7233(commas.)s 8133(A)s 8362(comma)s 480 2504(may)m -946(separate)s 1784(the)s 240 fnt83 2132 2506(modi\207er)m 2(s)k -240 fnt82 3076 2504(from)m 3600(the)s 240 fnt83 3948 2506(fd)m -240 fnt82 4200 2504(and)m 4604(is)s 4814(required)s 5668(if)s -240 fnt83 5885 2506(fd)m 240 fnt82 6137 2504(is)m 6347(not)s -6713(numeric.)s 7660(The)s 8088(modi\207er)s 480 2264(w)m 2(ords)k +6939(by)s 7233(commas.)s 8133(A)s 8362(comma)s 480 2501(may)m +946(separate)s 1784(the)s 240 fnt83 2132 2503(modi\207er)m 2(s)k +240 fnt82 3076 2501(from)m 3600(the)s 240 fnt83 3948 2503(fd)m +240 fnt82 4200 2501(and)m 4604(is)s 4814(required)s 5668(if)s +240 fnt83 5885 2503(fd)m 240 fnt82 6137 2501(is)m 6347(not)s +6713(numeric.)s 7660(The)s 8088(modi\207er)s 480 2261(w)m 2(ords)k 1114(are:)s gsave -600 2078 translate +600 2075 translate 0.6953 1.0000 scale 240 fnt31 0 -52(read)m grestore gsave -960 1838 translate +960 1835 translate 0.6953 1.0000 scale 240 fnt31 0 -52(O_RDONLY)m grestore -1761 1784(:)m 1867(Allo)s 6(w)k 2513(reading)s 3283(and)s +1761 1781(:)m 1867(Allo)s 6(w)k 2513(reading)s 3283(and)s 3687(not)s 4053(writing.)s 4847(May)s 5340(not)s 5706(be)s 5988(used)s 6485(with)s gsave -6967 1838 translate +6967 1835 translate 0.6953 1.0000 scale 240 fnt31 0 -52(write)m grestore 7527(or)s -7786(things)s 8422(that)s 960 1544(imply)m 1572(it.)s gsave -600 1358 translate +7786(things)s 8422(that)s 960 1541(imply)m 1572(it.)s gsave +600 1355 translate 0.6953 1.0000 scale 240 fnt31 0 -52(write)m @@ -898,8 +852,8 @@ grestore grestore 192 fnt82 505 683(is)m 673(short)s 1103(for)s 1373(`user)s 1802(services',)s 2566(and)s 2890(is)s 3058(pronounced)s 4010(`you-serv)s 2(e'.)k -240 fnt82 0 52(0.62)m 4809(User)s 5320(service)s 6052(daemon)s -6867(and)s 7271(client)s 7861(speci\207cation)s +240 fnt82 0 52(User)m 511(service)s 1243(daemon)s 2058(and)s +2462(client)s 3052(speci\207cation)s 8491(0.64.1)s grestore grestore @@ -907,7 +861,7 @@ grestore pgsave restore showpage -%%Page: 5 5 +%%Page: 4 4 %%BeginPageSetup %%PageResources: font Times-Roman %%+ font Times-Bold @@ -936,9 +890,9 @@ gsave 1417 -15423 translate 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic gsave -1 LoutMargSet +0 LoutMargSet grestore -240 fnt84 8953 13844(5)m gsave +240 fnt84 0 13842(4)m gsave 960 13308 translate 0.6953 1.0000 scale 240 fnt31 0 -52(O_WRONLY)m @@ -1378,9 +1332,9 @@ grestore 480 833(Sets)m 924(the)s 1267(action)s 1903(on)s 2194(termination)s 3347(of)s 3613(the)s 3956(service)s 4682(for)s 5015(the)s 5358(speci\207ed)s 6261(\207le)s 6616(descriptor;)s 240 fnt83 -7678 835(action)m 240 fnt82 8325 833(must)m 8844(be)s 0 52(User)m -511(service)s 1243(daemon)s 2058(and)s 2462(client)s 3052(speci\207cation)s -8652(0.62)s +7678 835(action)m 240 fnt82 8325 833(must)m 8844(be)s 0 52(0.64.1)m +4809(User)s 5320(service)s 6052(daemon)s 6867(and)s 7271(client)s +7861(speci\207cation)s grestore grestore @@ -1388,7 +1342,7 @@ grestore pgsave restore showpage -%%Page: 6 6 +%%Page: 5 5 %%BeginPageSetup %%PageResources: font Times-Roman %%+ font Times-Bold @@ -1417,54 +1371,54 @@ gsave 1417 -15423 translate 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic gsave -0 LoutMargSet +1 LoutMargSet grestore -240 fnt84 0 13842(6)m gsave -480 13305 translate +240 fnt84 8953 13844(5)m gsave +480 13308 translate 0.6953 1.0000 scale 240 fnt31 0 -52(wait)m grestore 240 fnt82 -880 13251(,)m gsave -981 13305 translate +880 13254(,)m gsave +981 13308 translate 0.6953 1.0000 scale 240 fnt31 0 -52(nowait)m grestore 1634(or)s gsave -1886 13305 translate +1886 13308 translate 0.6953 1.0000 scale 240 fnt31 0 -52(close)m grestore 2439(as)s 2682(described)s 3650(abo)s 3(v)k 3(e.)k 4313(The)s 4734(\207le)s 5088(descriptor)s 6096(must)s 6615(be)s -6890(speci\207ed)s 7791(as)s 8034(open)s 8550(when)s 480 13011(this)m +6890(speci\207ed)s 7791(as)s 8034(open)s 8550(when)s 480 13014(this)m 876(option)s 1545(is)s 1755(encountered;)s 3036(this)s 3432(option)s 4101(is)s 4311(o)s 3(v)k 3(erridden)k 5398(by)s 5692(an)s 3(y)k 6089(later)s gsave -6572 13065 translate +6572 13068 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211\211file)m grestore 7232(or)s gsave -7491 13065 translate +7491 13068 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211\211fdwait)m grestore -8352(option)s 480 12771(-)m +8352(option)s 480 12774(-)m 608(e)s 6(v)k 3(en)k 1108(by)s 1402(a)s gsave -1568 12825 translate +1568 12828 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211\211file)m grestore 2228(which)s 2870(does)s 3360(not)s 3726(specify)s 4470(an)s 4753(action)s 5394(on)s 5691(termination)s 6849(\(in)s 7171(this)s 7567(case)s 8034(the)s 8382(def)s 2(ault)k -480 12531(will)m 906(be)s 1188(used,)s 1734(as)s 1984(described)s +480 12534(will)m 906(be)s 1188(used,)s 1734(as)s 1984(described)s 2958(abo)s 3(v)k 3(e\).)k gsave -120 12201 translate +120 12204 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211D)m gsave @@ -1481,7 +1435,7 @@ grestore grestore gsave -120 11961 translate +120 11964 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211\211defvar)m gsave 1296 0 translate @@ -1496,17 +1450,17 @@ gsave grestore grestore -480 11667(Set)m 845(a)s 1011(user)s 4(-)k +480 11670(Set)m 845(a)s 1011(user)s 4(-)k 1473(de\207ned)s 2236(v)s 6(ari)k 2595(able)s 240 fnt83 -3049 11669(name)m 240 fnt82 3621 11667(to)m 240 fnt83 3860 11669(val)m -4152(ue)s 240 fnt82 4371 11667(.)m 4475(These)s 5102(user)s 4(-)k +3049 11672(name)m 240 fnt82 3621 11670(to)m 240 fnt83 3860 11672(val)m +4152(ue)s 240 fnt82 4371 11670(.)m 4475(These)s 5102(user)s 4(-)k 5564(de\207ned)s 6327(v)s 6(ari)k 6686(ables)s 7228(are)s 7575(made)s 8149(a)s 4(v)k 6(ail)k 8598(able)s -480 11427(in)m 723(the)s 1071(con)s 1414(\207g)s 1660(u)s +480 11430(in)m 723(the)s 1071(con)s 1414(\207g)s 1660(u)s 1775(ra)s 1960(tion)s 2389(lan)s 2678(guage)s 3306(as)s 3556(the)s 3904(pa)s 4130(ram)s 4501(e)s 4603(ters)s gsave -4998 11481 translate +4998 11484 translate 0.6953 1.0000 scale 240 fnt31 0 -52(u\211)m gsave 288 0 translate @@ -1517,10 +1471,10 @@ grestore grestore 5764(and)s 6168(are)s 6515(passed)s 7211(to)s 7450(the)s 7798(ser)s -8076(vice)s 8530(in)s 8773(en)s 8996(-)s 480 11187(vi)m +8076(vice)s 8530(in)s 8773(en)s 8996(-)s 480 11190(vi)m 660(ron)s 976(ment)s 1508(v)s 6(ari)k 1867(ables)s gsave -2402 11241 translate +2402 11244 translate 0.6953 1.0000 scale 240 fnt31 0 -52(USERV_U_)m gsave 1152 0 translate @@ -1530,18 +1484,18 @@ grestore grestore 3709(.)s -240 fnt83 3806 11189(name)m 240 fnt82 4371 11187(may)m 4831(con)s +240 fnt83 3806 11192(name)m 240 fnt82 4371 11190(may)m 4831(con)s 5174(tain)s 5582(only)s 6055(al)s 6222(phanu)s 6803(mer)s 7174(ics)s 7483(and)s 7880(un)s 8117(der)s 8422(scores,)s -480 10947(and)m 884(must)s 1409(start)s 1879(with)s 2360(a)s +480 10950(and)m 884(must)s 1409(start)s 1879(with)s 2360(a)s 2526(let)s 2764(ter)s 13(.)k 3106(If)s 3335(se)s 6(v)k 3643(er)s 3828(al)s 4055(de\207)s 4406(ni)s 4586(tions)s 5102(are)s 5449(gi)s 6(v)k 5744(en)s 6026(for)s -6364(the)s 6712(same)s 240 fnt83 7258 10949(name)m 240 fnt82 -7830 10947(then)m 8299(only)s 8778(the)s 480 10707(last)m 871(is)s +6364(the)s 6712(same)s 240 fnt83 7258 10952(name)m 240 fnt82 +7830 10950(then)m 8299(only)s 8778(the)s 480 10710(last)m 871(is)s 1081(ef)s 1278(fec)s 1562(ti)s 6(v)k 3(e.)k gsave -120 10416 translate +120 10419 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211t)m gsave 432 0 translate @@ -1551,7 +1505,7 @@ grestore grestore gsave -120 10176 translate +120 10179 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211\211timeout)m gsave @@ -1561,170 +1515,170 @@ gsave grestore grestore -480 9882(T)m 8(ime)k +480 9885(T)m 8(ime)k 1029(out)s 1392(the)s 1736(service)s 2465(if)s 2678(it)s 2867(tak)s 2(es)k 3403(longer)s 4071(than)s 240 fnt83 -4536 9884(seconds)m 240 fnt82 5346 9882(seconds)m 6151(\(a)s 6393(positi)s 6(v)k 3(e)k +4536 9887(seconds)m 240 fnt82 5346 9885(seconds)m 6151(\(a)s 6393(positi)s 6(v)k 3(e)k 7193(inte)s 3(ger)k 9(,)k 7948(in)s 8187(decimal\).)s -480 9641(T)m 8(imeout)k 1331(will)s 1746(produce)s 2562(a)s +480 9644(T)m 8(imeout)k 1331(will)s 1746(produce)s 2562(a)s 2717(diagnostic)s 3742(on)s 4028(stderr)s 4620(and)s 5013(an)s 5284(e)s 3(xit)k 5688(status)s 6272(of)s 6532(255.)s -6985(If)s 240 fnt83 7204 9643(seconds)m 240 fnt82 8006 9641(is)m -8205(zero)s 8657(then)s 480 9401(no)m 773(timeout)s 1563(will)s +6985(If)s 240 fnt83 7204 9646(seconds)m 240 fnt82 8006 9644(is)m +8205(zero)s 8657(then)s 480 9404(no)m 773(timeout)s 1563(will)s 1989(be)s 2271(implemented)s 3577(\(this)s 4052(is)s 4262(the)s 4610(def)s 2(ault\).)k gsave -120 9061 translate +120 9064 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211S)m grestore 240 fnt83 -380 9009(method)m gsave -120 8821 translate +380 9012(method)m gsave +120 8824 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211\211signals)m grestore -1081 8769(method)m 240 fnt82 -480 8527(Af)m 6(fects)k 1212(the)s 1544(handling)s 2420(of)s +1081 8772(method)m 240 fnt82 +480 8530(Af)m 6(fects)k 1212(the)s 1544(handling)s 2420(of)s 2675(the)s 3008(e)s 3(xit)k 3407(status)s 3987(when)s 4547(the)s 4879(service)s 5596(terminates)s 6625(due)s 7012(to)s -7235(a)s 7386(signal.)s 8045(\(The)s 8536(client)s 480 8286(will)m +7235(a)s 7386(signal.)s 8045(\(The)s 8536(client)s 480 8289(will)m 906(al)s 2(w)k 2(ays)k 1617(\207nish)s 2206(by)s 2500(calling)s gsave -3203 8340 translate +3203 8343 translate 0.6953 1.0000 scale 240 fnt31 0 -52(_exit)m grestore 3703(,)s 3810(so)s 4076(that)s 4494(only)s 4974(numbers)s 5849(from)s 6373(0)s 6548(to)s 6787(255)s 7193(can)s 7582(be)s 7864(returned)s -8718(and)s 480 8046(not)m 830(the)s 1162(full)s 1532(range)s +8718(and)s 480 8049(not)m 830(the)s 1162(full)s 1532(range)s 2102(of)s 2357(numbers)s 3216(and)s 3603(signal)s 4213(indications)s 5297(which)s 5922(can)s 6295(be)s 6561(returned)s 7398(by)s 7676(the)s gsave -8008 8100 translate +8008 8103 translate 0.6953 1.0000 scale 240 fnt31 0 -52(wait)m grestore 8451(f)s 2(amily)k -480 7805(of)m 751(system)s 1475(calls.\))s 2160(The)s 240 fnt83 -2588 7807(method)m 240 fnt82 3359 7805(may)m 3825(be)s 4107(one)s +480 7808(of)m 751(system)s 1475(calls.\))s 2160(The)s 240 fnt83 +2588 7810(method)m 240 fnt82 3359 7808(may)m 3825(be)s 4107(one)s 4509(of)s 4780(the)s 5128(follo)s 6(wing:)k 240 fnt83 -600 7567(status)m 240 fnt82 960 7325(The)m 1386(client')s 13(s)k +600 7570(status)m 240 fnt82 960 7328(The)m 1386(client')s 13(s)k 2123(e)s 3(xit)k 2536(status)s 3128(will)s 3552(be)s -240 fnt83 3831 7327(status)m 240 fnt82 4384 7325(.)m 4486(This)s +240 fnt83 3831 7330(status)m 240 fnt82 4384 7328(.)m 4486(This)s 4959(will)s 5383(not)s 5746(be)s 6026(distinguishable)s 7527(from)s -8049(the)s 8394(service)s 960 7084(really)m 1557(ha)s 4(ving)k +8049(the)s 8394(service)s 960 7087(really)m 1557(ha)s 4(ving)k 2258(e)s 3(xited)k 2897(with)s 3379(code)s 240 fnt83 -3887 7086(status)m 240 fnt82 4440 7084(.)m 4544(This)s 5020(method)s +3887 7089(status)m 240 fnt82 4440 7087(.)m 4544(This)s 5020(method)s 5796(is)s 6006(the)s 6354(def)s 2(ault,)k 7122(with)s -7604(a)s 240 fnt83 7770 7086(status)m 240 fnt82 8383 7084(of)m +7604(a)s 240 fnt83 7770 7089(status)m 240 fnt82 8383 7087(of)m 8654(254.)s gsave -600 6898 translate +600 6901 translate 0.6953 1.0000 scale 240 fnt31 0 -52(number)m grestore gsave -600 6658 translate +600 6661 translate 0.6953 1.0000 scale 240 fnt31 0 -52(number\211nocore)m grestore -960 6364(The)m 1388(client')s 13(s)k 2128(e)s 3(xit)k +960 6367(The)m 1388(client')s 13(s)k 2128(e)s 3(xit)k 2543(status)s 3138(will)s 3564(be)s 3846(the)s 4194(number)s 4985(of)s 5256(the)s 5604(signal)s 6230(which)s 6872(caused)s -7581(the)s 7929(termination)s 960 6124(of)m 1231(the)s 1579(service.)s +7581(the)s 7929(termination)s 960 6127(of)m 1231(the)s 1579(service.)s 2359(If)s gsave -2589 6178 translate +2589 6181 translate 0.6953 1.0000 scale 240 fnt31 0 -52(number)m grestore 3249(is)s 3459(used)s 3956(rather)s 4572(than)s gsave -5041 6178 translate +5041 6181 translate 0.6953 1.0000 scale 240 fnt31 0 -52(number\211nocore)m grestore 6402(then)s -6871(128)s 7278(will)s 7704(be)s 7986(added)s 960 5884(if)m +6871(128)s 7278(will)s 7704(be)s 7986(added)s 960 5887(if)m 1177(the)s 1525(service)s 2257(dumped)s 3087(core.)s gsave -3602 5938 translate +3602 5941 translate 0.6953 1.0000 scale 240 fnt31 0 -52(number)m grestore 4262(is)s 4472(v)s 3(ery)k 4948(lik)s 2(e)k 5360(the)s 5708(e)s 3(xit)k 6123(code)s 6631(mangling)s -7588(done)s 8110(by)s 8404(the)s 960 5644(Bourne)m 1721(shell.)s +7588(done)s 8110(by)s 8404(the)s 960 5647(Bourne)m 1721(shell.)s gsave -600 5458 translate +600 5461 translate 0.6953 1.0000 scale 240 fnt31 0 -52(highbit)m grestore -960 5164(The)m 1388(client')s 13(s)k +960 5167(The)m 1388(client')s 13(s)k 2128(e)s 3(xit)k 2543(status)s 3138(will)s 3564(be)s 3846(the)s 4194(number)s 4985(of)s 5256(the)s 5604(signal)s 6230(with)s 6712(128)s 7119(added.)s 7795(If)s 8025(the)s -8373(service)s 960 4924(e)m 3(xits)k 1459(normally)s 2376(with)s +8373(service)s 960 4927(e)m 3(xits)k 1459(normally)s 2376(with)s 2858(an)s 3141(e)s 3(xit)k 3556(code)s 4064(of)s 4335(greater)s 5057(than)s 5526(127)s 5934(then)s 6403(127)s 6811(will)s 7237(be)s 7519(returned.)s gsave -600 4738 translate +600 4741 translate 0.6953 1.0000 scale 240 fnt31 0 -52(stdout)m grestore -960 4444(The)m 1375(service')s 13(s)k 2247(numeric)s 3069(w)s 2(ait)k +960 4447(The)m 1375(service')s 13(s)k 2247(numeric)s 3069(w)s 2(ait)k 3524(status)s 4105(as)s 4341(tw)s 2(o)k 4737(decimal)s 5534(numbers)s 6395(\(high)s 6943(byte)s 7397(\207rst\))s 7882(and)s -8272(a)s 8424(te)s 3(xtual)k 960 4204(description)m 2079(of)s +8272(a)s 8424(te)s 3(xtual)k 960 4207(description)m 2079(of)s 2350(its)s 2626(meaning)s 3503(will)s 3929(be)s 4211(printed)s 4946(to)s 5185(the)s 5533(client')s 13(s)k 6273(standard)s -7141(output.)s 7857(It)s 8062(will)s 8488(be)s 960 3964(preceded)m +7141(output.)s 7857(It)s 8062(will)s 8488(be)s 960 3967(preceded)m 1865(by)s 2142(a)s 2292(ne)s 6(wline)k 3082(and)s 3470(follo)s 6(wed)k 4355(by)s 4633(an)s 4899(e)s 3(xtra)k 5417(ne)s 6(wline,)k 6258(and)s 6646(the)s 6977(numbers)s -7836(are)s 8166(separated)s 960 3724(from)m 1484(each)s 1979(other)s +7836(are)s 8166(separated)s 960 3727(from)m 1484(each)s 1979(other)s 2530(and)s 2934(from)s 3458(the)s 3806(te)s 3(xtual)k 4508(description)s 5627(by)s 5921(single)s 6548(spaces.)s 7276(The)s -7704(e)s 3(xit)k 8119(status)s 8714(of)s 960 3484(the)m +7704(e)s 3(xit)k 8119(status)s 8714(of)s 960 3487(the)m 1308(client)s 1898(will)s 2324(be)s 2606(zero,)s 3124(unless)s 3773(a)s 3939(system)s 4663(error)s 5186(occurs)s 5861(in)s 6104(which)s 6746(case)s 7213(no)s 7506(e)s 3(xit)k -7921(status)s 8516(and)s 960 3244(description)m 2079(will)s 2505(be)s +7921(status)s 8516(and)s 960 3247(description)m 2079(will)s 2505(be)s 2787(printed)s 3522(to)s 3761(stdout,)s 4453(and)s 4857(an)s 5140(error)s 5663(message)s 6529(will)s 6955(be)s 7237(printed)s -7972(to)s 8211(stderr)s 960 3004(as)m 1210(usual.)s 480 2791(Problems)m +7972(to)s 8211(stderr)s 960 3007(as)m 1210(usual.)s 480 2794(Problems)m 1420(such)s 1902(as)s 2137(client)s 2713(usage)s 3299(errors,)s 3948(the)s 4281(service)s 4999(not)s 5351(being)s 5921(found)s -6524(or)s 6768(permission)s 7860(being)s 8430(denied)s 480 2551(or)m +6524(or)s 6768(permission)s 7860(being)s 8430(denied)s 480 2554(or)m 739(f)s 2(ailure)k 1415(of)s 1686(a)s 1852(system)s 2576(call)s 2975(are)s 3322(system)s 4046(errors.)s 4706(An)s 5056(error)s 5579(message)s 6445(describing)s 7494(the)s 7842(problem)s -8699(will)s 480 2310(be)m 758(printed)s 1489(on)s 1782(the)s +8699(will)s 480 2313(be)m 758(printed)s 1489(on)s 1782(the)s 2125(client')s 13(s)k 2861(stderr)s 9(,)k 3498(and)s 3898(the)s 4241(client')s 13(s)k 4977(e)s 3(xit)k 5388(status)s 5978(will)s 6400(be)s 6678(255.)s 7138(If)s -7363(the)s 7707(client)s 8293(dies)s 8724(due)s 480 2070(to)m +7363(the)s 7707(client)s 8293(dies)s 8724(due)s 480 2073(to)m 719(a)s 885(signal)s 1511(this)s 1907(should)s 2604(be)s 2886(treated)s 3593(as)s 3843(a)s 4009(serious)s 4737(system)s 5461(error)s 13(.)k gsave -120 1730 translate +120 1733 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211H)m grestore gsave -120 1490 translate +120 1493 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211\211hidecwd)m grestore -480 1196(Pre)m 6(v)k 3(ents)k 1345(the)s +480 1199(Pre)m 6(v)k 3(ents)k 1345(the)s 1693(calling)s 2396(process')s 13(s)k 3323(current)s 4059(directory)s 4975(name)s 5549(from)s 6073(being)s 6658(passed)s 7354(to)s -7593(the)s 7941(service;)s 8729(the)s 480 956(null)m 907(string)s -1504(will)s 1930(be)s 2212(passed)s 2908(instead.)s 0 52(0.62)m -4809(User)s 5320(service)s 6052(daemon)s 6867(and)s 7271(client)s -7861(speci\207cation)s +7593(the)s 7941(service;)s 8729(the)s 480 959(null)m 907(string)s +1504(will)s 1930(be)s 2212(passed)s 2908(instead.)s 0 52(User)m +511(service)s 1243(daemon)s 2058(and)s 2462(client)s 3052(speci\207cation)s +8491(0.64.1)s grestore grestore @@ -1732,7 +1686,7 @@ grestore pgsave restore showpage -%%Page: 7 7 +%%Page: 6 6 %%BeginPageSetup %%PageResources: font Times-Roman %%+ font Times-Bold @@ -1761,78 +1715,78 @@ gsave 1417 -15423 translate 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic gsave -1 LoutMargSet +0 LoutMargSet grestore -240 fnt84 8951 13844(7)m gsave -120 13337 translate +240 fnt84 0 13842(6)m gsave +120 13332 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211P)m grestore gsave -120 13097 translate +120 13092 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211\211sigpipe)m grestore -240 fnt82 480 12803(If)m 700(the)s 1038(service)s +240 fnt82 480 12798(If)m 700(the)s 1038(service)s 1760(program)s 2620(is)s 2820(terminated)s 3888(due)s 4280(to)s 4509(a)s gsave -4665 12857 translate +4665 12852 translate 0.6953 1.0000 scale 240 fnt31 0 -52(SIGPIPE)m grestore 5415(the)s 5753(e)s 3(xit)k 6157(status)s 6742(of)s 7003(the)s 7341(client)s 7921(will)s -8337(be)s 8608(zero,)s 480 12563(e)m 6(v)k 3(en)k +8337(be)s 8608(zero,)s 480 12558(e)m 6(v)k 3(en)k 967(if)s 1170(it)s 1349(w)s 2(ould)k 1990(ha)s 4(v)k 3(e)k 2477(been)s 2973(something)s 4009(else)s 4423(according)s 5405(to)s 5630(the)s 5965(e)s 3(xit)k 6366(status)s 6948(method)s -7710(speci\207ed.)s 8650(This)s 480 12323(option)m 1149(has)s 1519(no)s +7710(speci\207ed.)s 8650(This)s 480 12318(option)m 1149(has)s 1519(no)s 1812(ef)s 6(fect)k 2408(on)s 2705(the)s 3053(code)s 3561(and)s 3965(description)s 5084(printed)s 5819(if)s 6036(the)s 6384(e)s 3(xit)k 6799(status)s 7394(method)s gsave -8170 12377 translate +8170 12372 translate 0.6953 1.0000 scale 240 fnt31 0 -52(stdout)m grestore -8830(is)s 480 12083(in)m 723(use.)s gsave -120 11793 translate +8830(is)s 480 12078(in)m 723(use.)s gsave +120 11788 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211h)m grestore gsave -120 11553 translate +120 11548 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211\211help)m grestore gsave -120 11313 translate +120 11308 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211\211copyright)m grestore gsave -480 11073 translate +480 11068 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211h)m grestore -740 11019(or)m gsave -999 11073 translate +740 11014(or)m gsave +999 11068 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211\211help)m grestore 1659(prints)s 2254(the)s 2602(client')s 13(s)k 3342(usage)s 3943(message;)s gsave -4865 11073 translate +4865 11068 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211\211copyright)m grestore 6026(prints)s 6621(the)s 6969(cop)s 2(yright)k 7944(and)s 8348(lack)s 8807(of)s -480 10779(w)m 2(arranty)k 1381(notice.)s 9066 670 0 670 240 240 60 0 9649 LoutGr2 +480 10774(w)m 2(arranty)k 1381(notice.)s 9066 670 0 670 240 240 60 0 9644 LoutGr2 newpath 0 ysize 0.3 ft sub moveto xsize 0 rlineto 0 0.1 ft rlineto @@ -1842,19 +1796,19 @@ grestore 320 fnt84 0 66(2.2.)m 628(Security-o)s 3(v)k 3(erriding)k 3373(options)s grestore -0 9187(There)m +0 9182(There)m 613(are)s 960(also)s 1398(some)s 1959(options)s 2715(which)s 3357(are)s 3704(a)s 4(v)k 6(ailable)k 4612(for)s 4950(deb)s 4(ugging)k 6011(and)s 6415(to)s 6654(allo)s 6(w)k -7233(the)s 7581(system)s 0 8947(administrator)m 1333(to)s 1572(o)s 3(v)k 3(erride)k +7233(the)s 7581(system)s 0 8942(administrator)m 1333(to)s 1572(o)s 3(v)k 3(erride)k 2418(a)s 2584(user')s 13(s)k 3192(polic)s 3(y)k 15(.)k 3876(These)s 4503(options)s 5259(are)s 5606(a)s 4(v)k 6(ailable)k 6514(only)s 6994(if)s 7211(the)s 7559(client)s 8149(is)s -8359(called)s 0 8707(by)m 294(root)s 739(or)s 998(if)s +8359(called)s 0 8702(by)m 294(root)s 739(or)s 998(if)s 1215(the)s 1563(calling)s 2266(user)s 2724(is)s 2934(the)s 3282(same)s 3829(as)s 4079(the)s 4427(service)s 5159(user)s 13(.)k gsave -120 8353 translate +120 8348 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211\211override)m gsave 1584 0 translate @@ -1865,7 +1819,7 @@ grestore grestore gsave -120 8113 translate +120 8108 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211\211override\211file)m gsave 2304 0 translate @@ -1874,29 +1828,29 @@ gsave grestore grestore -480 7819(Do)m +480 7814(Do)m 826(not)s 1192(read)s 1661(the)s 2009(usual)s 2569(con\207guration)s 3902(\207les.)s 4404(Instead,)s 5201(the)s 5549(client)s 6139(sends)s -240 fnt83 6722 7821(con\207gur)m 3(ation-data)k 240 fnt82 480 7578(\(follo)m 6(wed)k +240 fnt83 6722 7816(con\207gur)m 3(ation-data)k 240 fnt82 480 7573(\(follo)m 6(wed)k 1461(by)s 1755(a)s 1921(ne)s 6(wline\))k 2800(or)s -3059(the)s 3407(contents)s 4255(of)s 240 fnt83 4526 7580(\207lename)m -240 fnt82 5390 7578(\(which)m 6111(is)s 6321(opened)s 7071(in)s +3059(the)s 3407(contents)s 4255(of)s 240 fnt83 4526 7575(\207lename)m +240 fnt82 5390 7573(\(which)m 6111(is)s 6321(opened)s 7071(in)s 7314(the)s 7662(conte)s 3(xt)k 8423(of)s 8694(the)s -480 7337(client\))m 1138(to)s 1377(the)s 1725(daemon)s 2540(and)s +480 7332(client\))m 1138(to)s 1377(the)s 1725(daemon)s 2540(and)s 2944(the)s 3292(daemon)s 4107(uses)s 4570(that)s 4988(data)s -5446(instead.)s 6227(The)s 240 fnt83 6655 7339(con\207gur)m 3(ation-data)k -240 fnt82 8503 7337(must)m 480 7097(all)m 772(be)s 1052(in)s +5446(instead.)s 6227(The)s 240 fnt83 6655 7334(con\207gur)m 3(ation-data)k +240 fnt82 8503 7332(must)m 480 7092(all)m 772(be)s 1052(in)s 1293(one)s 1693(ar)s 4(gument.)k 2694(It)s 2897(will)s 3321(ha)s 4(v)k 3(e)k 3820(a)s 3984(single)s 4609(ne)s 6(wline)k 5414(appended)s 6388(so)s 6652(that)s 7068(a)s 7232(single)s 7857(directi)s 6(v)k 3(e)k -8737(can)s 480 6857(easily)m 1083(be)s 1357(gi)s 6(v)k 3(en,)k +8737(can)s 480 6852(easily)m 1083(be)s 1357(gi)s 6(v)k 3(en,)k 1979(b)s 4(ut)k 2333(if)s 2542(more)s 3080(than)s 3541(one)s 3935(directi)s 6(v)k 3(e)k 4809(is)s 5011(required)s 5857(it)s 6040(will)s 6458(ha)s 4(v)k 3(e)k 6951(to)s 7182(contain)s 7935(one)s 8329(or)s 8579(more)s -480 6617(real)m 892(ne)s 6(wlines.)k gsave -120 6326 translate +480 6612(real)m 892(ne)s 6(wlines.)k gsave +120 6321 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211\211spoof\211user)m gsave @@ -1906,36 +1860,36 @@ gsave grestore grestore -480 6032(Pretend)m 1268(to)s 1507(the)s +480 6027(Pretend)m 1268(to)s 1507(the)s 1855(service)s 2587(that)s 3005(it)s 3197(is)s 3407(being)s -3992(called)s 4620(by)s 240 fnt83 4914 6034(user)m 240 fnt82 -5391 6032(\(which)m 6112(may)s 6578(be)s 6860(a)s 7026(username)s -7998(or)s 8257(a)s 8423(uid\).)s 480 5792(This)m 956(will)s +3992(called)s 4620(by)s 240 fnt83 4914 6029(user)m 240 fnt82 +5391 6027(\(which)m 6112(may)s 6578(be)s 6860(a)s 7026(username)s +7998(or)s 8257(a)s 8423(uid\).)s 480 5787(This)m 956(will)s 1382(also)s 1820(af)s 6(fect)k 2416(the)s 2764(group)s 3376(and)s 3780(supplementary)s 5242(groups)s 5945(supplied)s 6814(to)s 7053(the)s 7401(service;)s 8189(the)s 3(y)k 8652(will)s -480 5552(be)m 759(the)s 1103(standard)s 1968(group)s 2576(and)s -2977(supplementary)s 4435(groups)s 5135(for)s 240 fnt83 5469 5554(user)m -240 fnt82 5886 5552(.)m 5987(The)s gsave -6411 5606 translate +480 5547(be)m 759(the)s 1103(standard)s 1968(group)s 2576(and)s +2977(supplementary)s 4435(groups)s 5135(for)s 240 fnt83 5469 5549(user)m +240 fnt82 5886 5547(.)m 5987(The)s gsave +6411 5601 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211\211spoof\211user)m grestore -7669(option)s 8334(will)s 240 fnt83 8756 5554(not)m 240 fnt82 -480 5312(af)m 6(fect)k 1076(which)s 1718(user)s 2176(is)s +7669(option)s 8334(will)s 240 fnt83 8756 5549(not)m 240 fnt82 +480 5307(af)m 6(fect)k 1076(which)s 1718(user)s 2176(is)s 2386(chosen)s 3108(if)s 3325(the)s 3673(service)s 4405(user)s 4863(is)s 5073(speci\207ed)s 5981(as)s 6231(just)s gsave -6636 5366 translate +6636 5361 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211)m grestore 6736(;)s 6848(in)s 7091(this)s 7487(case)s -7954(the)s 8302(service)s 480 5072(user)m 938(will)s 1364(be)s +7954(the)s 8302(service)s 480 5067(user)m 938(will)s 1364(be)s 1646(the)s 1994(real)s 2406(calling)s 3109(user)s 13(.)k -0 52(User)m 511(service)s 1243(daemon)s 2058(and)s 2462(client)s -3052(speci\207cation)s 8652(0.62)s +0 52(0.64.1)m 4809(User)s 5320(service)s 6052(daemon)s 6867(and)s +7271(client)s 7861(speci\207cation)s grestore grestore @@ -1943,7 +1897,7 @@ grestore pgsave restore showpage -%%Page: 8 8 +%%Page: 7 7 %%BeginPageSetup %%PageResources: font Times-Roman %%+ font Times-Bold @@ -1971,10 +1925,10 @@ gsave 1417 -15423 translate 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic gsave -0 LoutMargSet +1 LoutMargSet grestore -240 fnt84 0 13842(8)m gsave -0 12726 translate +240 fnt84 8951 13844(7)m gsave +0 12731 translate 240 fnt82 9066 688 0 688 240 240 60 LoutGraphic gsave newpath 0 ysize 0.3 ft sub moveto @@ -1988,54 +1942,54 @@ grestore 4774(ser)s 3(vice)k 5846(pr)s 6(ogram)k grestore 240 fnt82 -0 12264(The)m 428(daemon)s 1243(which)s 1885(is)s 2095(handling)s +0 12269(The)m 428(daemon)s 1243(which)s 1885(is)s 2095(handling)s 2986(the)s 3334(service)s 4066(user)s 4524(side)s 4965(of)s 5236(things)s 5872(will)s 6298(read)s 6767(con\207guration)s 8100(\207les)s -8549(to)s 0 12024(decide)m 680(what)s 1205(to)s 1444(do.)s +8549(to)s 0 12029(decide)m 680(what)s 1205(to)s 1444(do.)s 1788(If)s 2018(it)s 2210(decides)s 2978(to)s 3217(allo)s 6(w)k 3796(the)s 4144(service)s 4876(to)s 5115(be)s 5397(pro)s 3(vided)k 6303(it)s 6495(will)s 6921(fork)s 7380(a)s 7546(subprocess)s -8647(to)s 0 11784(e)m 3(x)k 3(ecute)k 780(the)s -1128(service.)s 0 11376(The)m 428(service)s 1160(will)s 1586(ha)s 4(v)k 3(e)k +8647(to)s 0 11789(e)m 3(x)k 3(ecute)k 780(the)s +1128(service.)s 0 11381(The)m 428(service)s 1160(will)s 1586(ha)s 4(v)k 3(e)k 2087(no)s 2380(controlling)s 3482(terminal,)s 4384(b)s 4(ut)k 4746(it)s 4938(will)s 5364(be)s 5646(a)s 5812(process)s -6580(group)s 7192(leader)s 13(.)k 0 10968(If)m 223(the)s +6580(group)s 7192(leader)s 13(.)k 0 10973(If)m 223(the)s 563(client)s 1146(is)s 1348(killed)s 1942(or)s 2194(times)s 2754(out)s 3112(or)s 3364(a)s 3522(\207le)s 3875(or)s 4127(descriptor)s 5134(being)s 5711(read)s 6173(or)s 6424(written)s -7149(by)s 7436(the)s 7776(client)s 8358(process)s 0 10728(gets)m +7149(by)s 7436(the)s 7776(client)s 8358(process)s 0 10733(gets)m 436(an)s 719(error)s 1242(then)s 1711(the)s 2059(service)s 2791(will)s 3217(be)s 3499(disconnected)s 4806(from)s 5330(the)s 5678(client.)s 6312(The)s 6740(client)s 7330(will)s 7756(return)s -8383(an)s 0 10487(e)m 3(xit)k 415(status)s 1010(of)s +8383(an)s 0 10492(e)m 3(xit)k 415(status)s 1010(of)s 1281(255)s 1687(and)s 2091(some)s 2652(the)s 3000(service')s 13(s)k 3886(pipes)s 4442(may)s 4908(be)s 5190(closed)s 5859(at)s 6091(the)s 6439(other)s 6990(end.)s 7440(The)s 7868(service)s -8600(will)s 0 10247(become)m 800(a)s 966(child)s 1502(of)s +8600(will)s 0 10252(become)m 800(a)s 966(child)s 1502(of)s gsave -1773 10301 translate +1773 10306 translate 0.6953 1.0000 scale 240 fnt31 0 -52(init)m grestore 2173(.)s 2277(The)s 2705(service)s 3437(may)s 3903(well)s 4369(not)s 4735(notice)s 5375(the)s 5723(disconnection,)s 7159(though)s 7882(writing)s 8625(to)s 8864(a)s -0 10007(pipe)m 468(after)s 964(this)s 1360(may)s 1826(produce)s +0 10012(pipe)m 468(after)s 964(this)s 1360(may)s 1826(produce)s 2653(a)s gsave -2819 10061 translate +2819 10066 translate 0.6953 1.0000 scale 240 fnt31 0 -52(SIGPIPE)m grestore 3579(and)s 3983(the)s 4331(f)s 2(acility)k 5058(e)s 3(xists)k 5650(to)s 5889(ha)s 4(v)k 3(e)k 6390(a)s gsave -6556 10061 translate +6556 10066 translate 0.6953 1.0000 scale 240 fnt31 0 -52(SIGHUP)m grestore 7216(sent)s 7661(to)s 7900(the)s 8248(service)s -0 9767(on)m 297(disconnection.)s 9066 670 0 670 240 240 60 0 8743 LoutGr2 +0 9772(on)m 297(disconnection.)s 9066 670 0 670 240 240 60 0 8748 LoutGr2 newpath 0 ysize 0.3 ft sub moveto xsize 0 rlineto 0 0.1 ft rlineto @@ -2045,57 +1999,57 @@ grestore 320 fnt84 0 66(3.1.)m 628(File)s 1216(descriptors)s grestore -0 8281(The)m 428(service)s 1160(program')s 13(s)k +0 8286(The)m 428(service)s 1160(program')s 13(s)k 2180(standard)s 3048(\207ledescriptors,)s 4508(and)s 4912(possibly)s 5764(other)s -6315(\207le)s 6676(descriptors,)s 7831(will)s 8257(be)s 0 8041(connected)m +6315(\207le)s 6676(descriptors,)s 7831(will)s 8257(be)s 0 8046(connected)m 1028(to)s 1266(pipes)s 1821(or)s 2080(to)s gsave -2318 8095 translate +2318 8100 translate 0.6953 1.0000 scale 240 fnt31 0 -52(/dev/null)m grestore 3219(.)s 3322(The)s gsave -3750 8095 translate +3750 8100 translate 0.6953 1.0000 scale 240 fnt31 0 -52(userv)m grestore 4309(client/daemon)s 5719(pair)s 6150(will)s 6575(arrange)s 7346(that)s -7764(data)s 8221(is)s 8430(copied)s 0 7801(between)m 854(the)s +7764(data)s 8221(is)s 8430(copied)s 0 7806(between)m 854(the)s 1202(\207les)s 1651(or)s 1910(\207le)s 2271(descriptors)s 3370(speci\207ed)s 4278(to)s 4517(to)s 4756(the)s 5104(client)s 5694(by)s 5988(the)s 6336(caller)s 6925(and)s 7329(these)s 7876(these)s -8423(pipes.)s 0 7393(Pipes)m 569(which)s 1211(may)s 1677(be)s +8423(pipes.)s 0 7398(Pipes)m 569(which)s 1211(may)s 1677(be)s 1959(written)s 2692(to)s 2931(will)s 3357(be)s 3639(closed)s 4308(if)s 4525(a)s 4691(write)s 5237(error)s 5760(occurs)s -6435(on)s 6732(the)s 7080(corresponding)s 0 7153(client-side)m 1043(\207le)s +6435(on)s 6732(the)s 7080(corresponding)s 0 7158(client-side)m 1043(\207le)s 1396(or)s 1647(descriptor)s 9(,)k 2692(which)s 3326(may)s 3784(result)s 4366(in)s 4601(a)s gsave -4760 7207 translate +4760 7212 translate 0.6953 1.0000 scale 240 fnt31 0 -52(SIGPIPE)m grestore 5512(in)s 5747(the)s 6087(service)s 6811(program;)s 7725(pipes)s -8273(open)s 8788(for)s 0 6913(reading)m 770(will)s 1196(get)s +8273(open)s 8788(for)s 0 6918(reading)m 770(will)s 1196(get)s gsave -1548 6967 translate +1548 6972 translate 0.6953 1.0000 scale 240 fnt31 0 -52(EOF)m grestore 1908(if)s 2125(the)s 2473(client-side)s 3523(\207le)s 3884(descriptor)s 4899(gets)s gsave -5335 6967 translate +5335 6972 translate 0.6953 1.0000 scale 240 fnt31 0 -52(EOF)m grestore -5695(or)s 5954(an)s 6237(error)s 13(.)k 0 6505(If)m +5695(or)s 5954(an)s 6237(error)s 13(.)k 0 6510(If)m 230(the)s 578(service)s 1310(closes)s 1945(one)s 2347(of)s 2618(its)s 2894(reading)s 3663(\207le)s 4024(descriptors)s 5123(the)s 5471(writing)s 6214(end)s 6618(of)s 6889(the)s 7237(corresponding)s -8658(pipe)s 0 6265(will)m 421(generate)s 1280(a)s gsave -1441 6319 translate +8658(pipe)s 0 6270(will)m 421(generate)s 1280(a)s gsave +1441 6324 translate 0.6953 1.0000 scale 240 fnt31 0 -52(SIGPIPE)m @@ -2103,98 +2057,98 @@ grestore 2195(when)s 2766(attempts)s 3620(are)s 3962(made)s 4530(by)s 4819(the)s 5161(client/daemon)s 6567(pair)s 6992(to)s 7226(write)s 7766(to)s 8000(it.)s 8230(This)s 8700(will)s -0 6025(not)m 366(be)s 648(considered)s 1742(an)s 2025(error;)s +0 6030(not)m 366(be)s 648(considered)s 1742(an)s 2025(error;)s 2600(rather)s 9(,)k 3254(the)s 3602(rele)s 6(v)k 6(ant)k 4419(pipe)s 4887(will)s 5313(be)s 5595(discarded)s 6569(and)s -6973(the)s 7321(corresponding)s 8743(\207le)s 0 5785(or)m 259(\207le)s +6973(the)s 7321(corresponding)s 8743(\207le)s 0 5790(or)m 259(\207le)s 620(descriptor)s 1635(held)s 2105(by)s 2399(the)s 2747(client)s -3337(will)s 3763(be)s 4045(closed.)s 0 5377(Lik)m 2(e)k 6(wise,)k +3337(will)s 3763(be)s 4045(closed.)s 0 5382(Lik)m 2(e)k 6(wise,)k 975(if)s 1192(one)s 1594(of)s 1865(the)s 2213(\207le)s 2574(descriptors)s 3673(held)s 4143(by)s 4437(the)s 4785(client)s 5375(for)s 5713(writing)s 6456(by)s 6750(the)s 7098(service)s -7830(is)s 8040(a)s 8206(pipe)s 0 5137(whose)m 665(other)s +7830(is)s 8040(a)s 8206(pipe)s 0 5142(whose)m 665(other)s 1213(end)s 1613(is)s 1820(closed)s 2485(by)s 2776(the)s 3120(caller)s 3706(then)s 4171(the)s 4516(client/daemon)s 5923(pair)s 6351(will)s 6773(see)s 7131(an)s 7410(error)s 7930(when)s -8502(trying)s 0 4897(to)m 239(cop)s 2(y)k 757(data)s +8502(trying)s 0 4902(to)m 239(cop)s 2(y)k 757(data)s 1215(pro)s 3(vided)k 2121(by)s 2415(the)s 2763(service.)s 3543(This)s 4019(too)s 4378(will)s 4804(not)s 5170(be)s 5452(considered)s 6546(an)s 6829(error;)s 7404(rather)s 9(,)k -8058(the)s 8406(pipe)s 0 4657(correspondong)m 1476(to)s 1715(that)s +8058(the)s 8406(pipe)s 0 4662(correspondong)m 1476(to)s 1715(that)s 2133(descriptor)s 3148(will)s 3574(be)s 3856(closed)s 4525(and)s 4929(an)s 3(y)k 5326(further)s 6035(writes)s 6669(will)s -7095(cause)s 7682(the)s 8030(service)s 8762(to)s 0 4417(get)m +7095(cause)s 7682(the)s 8030(service)s 8762(to)s 0 4422(get)m 352(a)s gsave -518 4471 translate +518 4476 translate 0.6953 1.0000 scale 240 fnt31 0 -52(SIGPIPE)m grestore -1218(.)s 0 4009(Note)m +1218(.)s 0 4014(Note)m 521(that)s 939(not)s 1305(all)s 1598(write)s 2144(errors)s 2751(or)s 3010(brok)s 2(en)k 3730(pipes)s 4286(on)s 4583(\207le)s 4944(descriptors)s 6043(may)s 6509(be)s 6791(visible)s -7484(to)s 7723(the)s 8071(service,)s 0 3769(since)m 547(b)s 4(uf)k 6(fered)k +7484(to)s 7723(the)s 8071(service,)s 0 3774(since)m 547(b)s 4(uf)k 6(fered)k 1404(data)s 1862(may)s 2328(be)s 2610(discarded)s 3584(by)s 3878(the)s 4226(operating)s 5182(system)s 5906(and)s 6310(there)s 6843(will)s 7269(be)s 7551(a)s 7717(\207nite)s 8264(interv)s 6(al)k -0 3529(between)m 847(the)s 1188(error)s 1703(happening)s 2747(and)s +0 3534(between)m 847(the)s 1188(error)s 1703(happening)s 2747(and)s 3144(the)s 3484(service)s 4209(being)s 4787(disconnected)s 6086(from)s 6603(the)s 6944(client)s 7526(or)s 7778(the)s 8119(ne)s 3(xt)k -8580(write)s 0 3289(causing)m 784(a)s gsave -950 3343 translate +8580(write)s 0 3294(causing)m 784(a)s gsave +950 3348 translate 0.6953 1.0000 scale 240 fnt31 0 -52(SIGPIPE)m grestore -1650(.)s 0 2881(Read)m 550(errors)s 1157(on)s 1454(\207le)s +1650(.)s 0 2886(Read)m 550(errors)s 1157(on)s 1454(\207le)s 1815(descriptors)s 2914(\(and)s 3397(disconnection\))s 4854(will)s 5280(only)s 5760(be)s 6042(visible)s 6735(to)s 6974(the)s 7322(service)s -8054(and)s 0 2641(distinguishable)m 1504(from)s 2028(normal)s 2760(end)s +8054(and)s 0 2646(distinguishable)m 1504(from)s 2028(normal)s 2760(end)s 3164(of)s 3435(\207le)s 3796(if)s gsave -4013 2695 translate +4013 2700 translate 0.6953 1.0000 scale 240 fnt31 0 -52(disconnect\211hup)m grestore -5474(is)s 5684(in)s 5927(ef)s 6(fect.)k 0 2233(Read)m +5474(is)s 5684(in)s 5927(ef)s 6(fect.)k 0 2238(Read)m 549(and)s 951(write)s 1495(errors)s 2100(\(other)s 2728(than)s 3196(brok)s 2(en)k 3914(pipes,)s 4524(as)s 4772(described)s 5744(abo)s 3(v)k 3(e\))k 6437(will)s 6861(al)s 2(w)k 2(ays)k -7570(be)s 7850(visible)s 8541(to)s 8778(the)s 0 1993(caller;)m +7570(be)s 7850(visible)s 8541(to)s 8778(the)s 0 1998(caller;)m 627(the)s 3(y)k 1075(are)s 1408(system)s 2117(errors,)s 2766(and)s 3155(will)s 3566(therefore)s 4469(cause)s 5041(the)s 5375(client)s 5950(to)s 6174(print)s 6671(an)s 6939(error)s -7448(message)s 8299(to)s 8523(stderr)s 0 1752(and)m 404(return)s +7448(message)s 8299(to)s 8523(stderr)s 0 1757(and)m 404(return)s 1031(with)s 1513(an)s 1796(e)s 3(xit)k 2211(status)s -2806(of)s 3077(255.)s 0 1344(If)m 230(the)s 578(main)s +2806(of)s 3077(255.)s 0 1349(If)m 230(the)s 578(main)s 1113(service)s 1845(program)s 2715(process)s 3483(e)s 3(xits)k 3982(while)s 4569(it)s 4761(still)s 5173(has)s 5543(running)s 6341(children)s 7181(an)s 3(y)k 7578(\207le)s 7939(descriptors)s -0 1104(held)m 470(by)s 764(those)s 1325(children)s 2165(can)s +0 1109(held)m 470(by)s 764(those)s 1325(children)s 2165(can)s 2554(remain)s 3274(open,)s 3847(depending)s 4898(on)s 5195(the)s 5543(use)s 5918(of)s gsave -6189 1158 translate +6189 1163 translate 0.6953 1.0000 scale 240 fnt31 0 -52(wait)m grestore 6589(,)s gsave -6696 1158 translate +6696 1163 translate 0.6953 1.0000 scale 240 fnt31 0 -52(nowait)m grestore 7356(or)s gsave -7615 1158 translate +7615 1163 translate 0.6953 1.0000 scale 240 fnt31 0 -52(close)m grestore -8175(for)s 8513(the)s 0 864(rele)m 6(v)k 6(ant)k +8175(for)s 8513(the)s 0 869(rele)m 6(v)k 6(ant)k 817(\207le)s 1178(descriptor)s 2193(in)s 2436(the)s 2784(client')s 13(s)k 3524(ar)s 4(guments.)k 4620(By)s 4954(def)s 2(ault)k -5675(writing)s 6418(\207ledescriptors)s 7822(remain)s 8542(open)s 0 52(0.62)m -4809(User)s 5320(service)s 6052(daemon)s 6867(and)s 7271(client)s -7861(speci\207cation)s +5675(writing)s 6418(\207ledescriptors)s 7822(remain)s 8542(open)s 0 52(User)m +511(service)s 1243(daemon)s 2058(and)s 2462(client)s 3052(speci\207cation)s +8491(0.64.1)s grestore grestore @@ -2202,7 +2156,7 @@ grestore pgsave restore showpage -%%Page: 9 9 +%%Page: 8 8 %%BeginPageSetup %%PageResources: font Times-Roman %%+ font Times-Bold @@ -2231,9 +2185,9 @@ gsave 1417 -15423 translate 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic gsave -1 LoutMargSet +0 LoutMargSet grestore -240 fnt84 8952 13842(9)m 240 fnt82 0 13251(and)m 404(the)s +240 fnt84 0 13842(8)m 240 fnt82 0 13251(and)m 404(the)s 752(client)s 1342(will)s 1768(w)s 2(ait)k 2237(for)s 2575(them)s 3113(to)s 3352(be)s 3634(closed)s 4303(at)s 4535(the)s 4883(service)s 5615(end,)s 6068(and)s 6472(reading)s @@ -2418,8 +2372,8 @@ grestore 3245(will)s 3671(be)s 3953(set)s 4278(appropriately)s 5606(\(according)s 6681(to)s 6920(the)s 7268(details)s 7942(of)s 8213(the)s 0 5083(service)m -732(user\).)s 0 52(User)m 511(service)s 1243(daemon)s 2058(and)s -2462(client)s 3052(speci\207cation)s 8652(0.62)s +732(user\).)s 0 52(0.64.1)m 4809(User)s 5320(service)s 6052(daemon)s +6867(and)s 7271(client)s 7861(speci\207cation)s grestore grestore @@ -2427,7 +2381,7 @@ grestore pgsave restore showpage -%%Page: 10 10 +%%Page: 9 9 %%BeginPageSetup %%PageResources: font Times-Roman %%+ font Times-Bold @@ -2456,9 +2410,9 @@ gsave 1417 -15423 translate 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic gsave -0 LoutMargSet +1 LoutMargSet grestore -240 fnt84 0 13842(10)m gsave +240 fnt84 8952 13842(9)m gsave 0 12725 translate 240 fnt82 9066 689 0 689 240 240 60 LoutGraphic gsave @@ -2670,8 +2624,8 @@ grestore 628(Con\207guration)s 2618(\207le)s 3100(dir)s 5(ecti)k 3(v)k 3(es)k grestore -0 52(0.62)m 4809(User)s 5320(service)s 6052(daemon)s 6867(and)s -7271(client)s 7861(speci\207cation)s +0 52(User)m 511(service)s 1243(daemon)s 2058(and)s 2462(client)s +3052(speci\207cation)s 8491(0.64.1)s grestore grestore @@ -2679,7 +2633,7 @@ grestore pgsave restore showpage -%%Page: 11 11 +%%Page: 10 10 %%BeginPageSetup %%PageResources: font Times-Roman %%+ font Times-Bold @@ -2708,14 +2662,14 @@ gsave 1417 -15423 translate 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic gsave -1 LoutMargSet +0 LoutMargSet grestore -240 fnt84 8839 13842(11)m 300 fnt84 0 13210(4.2.1.)m 813(Immediate)s +240 fnt84 0 13842(10)m 300 fnt84 0 13207(4.2.1.)m 813(Immediate)s 2261(dir)s 5(ecti)k 3(v)k 3(es)k 240 fnt82 -0 12696(The)m 428(follo)s 6(wing)k 1405(directi)s 6(v)k 3(es)k +0 12693(The)m 428(follo)s 6(wing)k 1405(directi)s 6(v)k 3(es)k 2375(tak)s 2(e)k 2827(ef)s 6(fect)k 3423(immediately:)s gsave -120 12342 translate +120 12339 translate 0.6953 1.0000 scale 240 fnt31 0 -52(cd)m gsave 432 0 translate @@ -2724,95 +2678,95 @@ gsave grestore grestore -480 12048(Change)m +480 12045(Change)m 1268(directory)s 2184(in)s 2427(the)s 2775(service)s 3507(program.)s gsave -4421 12102 translate +4421 12099 translate 0.6953 1.0000 scale 240 fnt31 0 -52(cd)m grestore 4681(is)s 4891(cumulati)s 6(v)k 3(e.)k 6048(It)s 6253(is)s 6463(an)s 6746(error)s 7269(if)s -7486(the)s 7834(directory)s 480 11808(cannot)m 1178(be)s 1460(changed)s +7486(the)s 7834(directory)s 480 11805(cannot)m 1178(be)s 1460(changed)s 2316(to.)s gsave -2666 11862 translate +2666 11859 translate 0.6953 1.0000 scale 240 fnt31 0 -52(cd)m grestore 2926(should)s 3623(not)s 3989(be)s 4271(used)s 4768(between)s gsave -5622 11862 translate +5622 11859 translate 0.6953 1.0000 scale 240 fnt31 0 -52(execute\211from\211directory)m grestore -7884(and)s 8288(the)s 480 11568(in)m 9(v)k 4(ocation)k +7884(and)s 8288(the)s 480 11565(in)m 9(v)k 4(ocation)k 1534(of)s 1805(the)s 2153(service)s 2885(program,)s 3802(as)s 4052(the)s 4400(test)s 4791(for)s 5129(the)s 5477(a)s 4(v)k 6(ailability)k -6595(of)s 6866(the)s 7214(service)s 7946(program)s 480 11328(w)m 2(ould)k +6595(of)s 6866(the)s 7214(service)s 7946(program)s 480 11325(w)m 2(ould)k 1117(be)s 1380(done)s 1884(with)s 2347(the)s 2677(old)s 3022(current)s 3740(directory)s 4637(and)s 5023(the)s 5352(actual)s 5959(e)s 3(x)k 3(ecution)k 6921(with)s 7385(the)s -7714(ne)s 6(w)k 8142(\(probably)s 480 11088(causing)m 1264(an)s +7714(ne)s 6(w)k 8142(\(probably)s 480 11085(causing)m 1264(an)s 1547(error\).)s gsave -120 10748 translate +120 10745 translate 0.6953 1.0000 scale 240 fnt31 0 -52(eof)m grestore -480 10454(Stop)m 972(reading)s +480 10451(Stop)m 972(reading)s 1742(the)s 2090(con\207guration)s 3423(\207le)s 3784(in)s 4027(question,)s 4945(as)s 5195(if)s 5412(end)s 5816(of)s 6087(\207le)s 6448(had)s 6852(been)s 7361(reached.)s 8208(An)s 3(y)k -480 10214(control)m 1212(constructs)s 2232(\()s gsave -2305 10268 translate +480 10211(control)m 1212(constructs)s 2232(\()s gsave +2305 10265 translate 0.6953 1.0000 scale 240 fnt31 0 -52(if)m grestore 2505(,)s gsave -2612 10268 translate +2612 10265 translate 0.6953 1.0000 scale 240 fnt31 0 -52(catch\211quit)m grestore 3673(or)s gsave -3932 10268 translate +3932 10265 translate 0.6953 1.0000 scale 240 fnt31 0 -52(errors\211push)m grestore 5033(\))s 5161(which)s 5803(were)s 6323(started)s 7017(in)s 7260(that)s 7678(\207le)s 8039(will)s 8465(be)s -480 9974(considered)m 1574(\207nished.)s 2436(P)s 3(arsing)k 3203(will)s +480 9971(considered)m 1574(\207nished.)s 2436(P)s 3(arsing)k 3203(will)s 3629(continue)s 4509(in)s 4752(the)s 5100(\207le)s 5461(which)s 6103(caused)s 6812(the)s 7160(\207le)s 7521(containing)s 8584(the)s gsave -480 9788 translate +480 9785 translate 0.6953 1.0000 scale 240 fnt31 0 -52(eof)m grestore -840 9734(to)m 1079(be)s 1361(read.)s +840 9731(to)m 1079(be)s 1361(read.)s gsave -120 9444 translate +120 9441 translate 0.6953 1.0000 scale 240 fnt31 0 -52(quit)m grestore -480 9150(Stop)m 969(reading)s 1735(con\207guration)s +480 9147(Stop)m 969(reading)s 1735(con\207guration)s 3064(\207les)s 3510(and)s 3910(act)s 4244(immediately)s 5489(on)s 5782(the)s 6126(current)s 6859(settings.)s 7689(The)s 8113(beha)s 4(viour)k -480 8910(of)m gsave -751 8964 translate +480 8907(of)m gsave +751 8961 translate 0.6953 1.0000 scale 240 fnt31 0 -52(quit)m grestore 1211(is)s 1421(subject)s 2158(to)s 2397(the)s gsave -2745 8964 translate +2745 8961 translate 0.6953 1.0000 scale 240 fnt31 0 -52(catch\211quit)m grestore 3806(control)s 4538(construct.)s gsave -120 8570 translate +120 8567 translate 0.6953 1.0000 scale 240 fnt31 0 -52(include)m gsave 1152 0 translate @@ -2823,7 +2777,7 @@ grestore grestore gsave -120 8330 translate +120 8327 translate 0.6953 1.0000 scale 240 fnt31 0 -52(include\211ifexist)m gsave 2304 0 translate @@ -2832,25 +2786,25 @@ gsave grestore grestore -480 8036(Read)m -1026(the)s 1369(con\207guration)s 2698(\207le)s 240 fnt83 3054 8038(\207lename)m -240 fnt82 3858 8036(,)m 3961(and)s 4360(then)s 4825(return)s +480 8033(Read)m +1026(the)s 1369(con\207guration)s 2698(\207le)s 240 fnt83 3054 8035(\207lename)m +240 fnt82 3858 8033(,)m 3961(and)s 4360(then)s 4825(return)s 5447(to)s 5682(this)s 6073(\207le)s 6430(and)s 6829(continue)s -7705(parsing)s 8457(it)s 8644(with)s 480 7796(the)m 822(ne)s 3(xt)k +7705(parsing)s 8457(it)s 8644(with)s 480 7793(the)m 822(ne)s 3(xt)k 1284(directi)s 6(v)k 3(e.)k 2207(It)s 2405(is)s 2608(an)s 2884(error)s 3400(if)s 3610(the)s 3952(\207le)s 4306(cannot)s 4997(be)s 5272(opened)s 6015(and)s 6412(read,)s 6923(unless)s gsave -7565 7850 translate +7565 7847 translate 0.6953 1.0000 scale 240 fnt31 0 -52(include\211ifexist)m grestore -480 7556(is)m 690(used)s +480 7553(is)m 690(used)s 1187(and)s 1591(the)s 1939(\207le)s 2300(does)s 2790(not)s 3156(e)s 3(xist,)k 3711(in)s 3954(which)s 4596(case)s 5063(the)s 5411(directi)s 6(v)k 3(e)k 6293(is)s 6503(silently)s 7260(ignored.)s gsave -120 7216 translate +120 7213 translate 0.6953 1.0000 scale 240 fnt31 0 -52(include\211lookup)m gsave 2160 0 translate @@ -2867,7 +2821,7 @@ grestore grestore gsave -120 6976 translate +120 6973 translate 0.6953 1.0000 scale 240 fnt31 0 -52(include\211lookup\211all)m gsave 2736 0 translate @@ -2882,68 +2836,68 @@ gsave grestore grestore -480 6682(Read)m 1030(the)s -1378(con\207guration)s 2711(\207le)s 3072(in)s 240 fnt83 3315 6684(dir)m 8(ectory)k -240 fnt82 4239 6682(whose)m 4907(name)s 5481(is)s 5691(the)s -6039(v)s 6(alue)k 6607(of)s 240 fnt83 6878 6684(par)m 3(ameter)k -240 fnt82 7937 6682(\(see)m 8377(the)s 480 6442(description)m 1599(of)s +480 6679(Read)m 1030(the)s +1378(con\207guration)s 2711(\207le)s 3072(in)s 240 fnt83 3315 6681(dir)m 8(ectory)k +240 fnt82 4239 6679(whose)m 4907(name)s 5481(is)s 5691(the)s +6039(v)s 6(alue)k 6607(of)s 240 fnt83 6878 6681(par)m 3(ameter)k +240 fnt82 7937 6679(\(see)m 8377(the)s 480 6439(description)m 1599(of)s gsave -1870 6496 translate +1870 6493 translate 0.6953 1.0000 scale 240 fnt31 0 -52(if)m grestore 2070(,)s 2177(`Control)s 3042(structure)s -3933(directi)s 6(v)k 3(es',)k 5038(page)s 5546(12\).)s -5969(If)s 240 fnt83 6199 6444(par)m 3(ameter)k 240 fnt82 -7258 6442(has)m 7628(se)s 6(v)k 3(eral)k 8350(v)s 6(alues)k -480 6202(the)m 3(y)k 943(will)s 1369(be)s 1651(tried)s +3933(directi)s 6(v)k 3(es',)k 5038(page)s 5546(11\).)s +5969(If)s 240 fnt83 6199 6441(par)m 3(ameter)k 240 fnt82 +7258 6439(has)m 7628(se)s 6(v)k 3(eral)k 8350(v)s 6(alues)k +480 6199(the)m 3(y)k 943(will)s 1369(be)s 1651(tried)s 2146(in)s 2389(order;)s 3005(with)s gsave -3487 6256 translate +3487 6253 translate 0.6953 1.0000 scale 240 fnt31 0 -52(include\211lookup)m grestore 4948(this)s 5344(search)s 6011(will)s 6437(stop)s 6889(when)s 7465(one)s 7867(is)s 8077(found,)s 8743(b)s 4(ut)k -480 5962(with)m gsave -962 6016 translate +480 5959(with)m gsave +962 6013 translate 0.6953 1.0000 scale 240 fnt31 0 -52(include\211lookup\211all)m grestore 2824(the)s 3172(search)s 3839(will)s 4265(continue)s 5145(and)s 5549(an)s 3(y)k 5946(\207les)s 6395(appropriate)s 7539(to)s 7778(other)s 8329(v)s 6(alues)k -480 5722(will)m 906(be)s 1188(read)s 1657(too.)s 2127(If)s +480 5719(will)m 906(be)s 1188(read)s 1657(too.)s 2127(If)s 2357(none)s 2879(of)s 3150(the)s 3498(parameter')s 13(s)k 4662(v)s 6(alues)k 5318(had)s 5722(a)s 5888(corresponding)s 7310(\207le)s 7671(then)s 8140(the)s 8488(\207le)s gsave -480 5536 translate +480 5533 translate 0.6953 1.0000 scale 240 fnt31 0 -52(:default)m grestore -1340 5482(will)m 1765(be)s 2045(read,)s 2562(if)s +1340 5479(will)m 1765(be)s 2045(read,)s 2562(if)s 2778(it)s 2968(e)s 3(xists.)k 3612(If)s 240 fnt83 -3841 5484(par)m 3(ameter)k 240 fnt82 4840 5482(')m 13(s)k +3841 5481(par)m 3(ameter)k 240 fnt82 4840 5479(')m 13(s)k 5048(list)s 5398(of)s 5668(v)s 6(alues)k 6322(w)s 2(as)k 6742(empty)s 7393(then)s 7860(the)s 8207(\207le)s gsave -8566 5536 translate +8566 5533 translate 0.6953 1.0000 scale 240 fnt31 0 -52(:none)m grestore -480 5242(will)m 906(be)s 1188(tried)s 1683(\207rst)s +480 5239(will)m 906(be)s 1188(tried)s 1683(\207rst)s 2114(and)s 2518(read)s 2987(if)s 3204(it)s 3396(e)s 3(xists,)k 4044(otherwise)s gsave -5029 5296 translate +5029 5293 translate 0.6953 1.0000 scale 240 fnt31 0 -52(:default)m grestore 5890(will)s 6316(be)s 6598(tried.)s 7199(It)s 7404(is)s 7614(not)s 7980(an)s -8263(error)s 8786(for)s 480 5002(an)m 3(y)k 877(of)s +8263(error)s 8786(for)s 480 4999(an)m 3(y)k 877(of)s 1148(the)s 1496(\207les)s 1945(\(including)s gsave -2981 5056 translate +2981 5053 translate 0.6953 1.0000 scale 240 fnt31 0 -52(:default)m @@ -2951,44 +2905,44 @@ grestore 3782(\))s 3910(not)s 4276(to)s 4515(e)s 3(xist,)k 5070(b)s 4(ut)k 5432(it)s 5624(is)s 5834(an)s 6117(error)s 6640(if)s 6857(a)s 7023(\207le)s 7384(e)s 3(xists)k -7976(and)s 8380(cannot)s 480 4762(be)m 753(read)s 1213(or)s +7976(and)s 8380(cannot)s 480 4759(be)m 753(read)s 1213(or)s 1462(if)s 1670(the)s 2008(directory)s 2915(cannot)s 3603(be)s 3876(accessed.)s 4867(A)s 5087(translation)s 6143(will)s 6559(be)s 6832(applied)s 7584(to)s 7814(v)s 6(alues)k 8460(before)s -480 4522(the)m 3(y)k 943(are)s 1290(used)s 1787(to)s +480 4519(the)m 3(y)k 943(are)s 1290(used)s 1787(to)s 2026(construct)s 2962(a)s 3128(\207lename,)s 4058(so)s 4324(that)s 4742(the)s 5090(lookup)s 5809(cannot)s 6507(access)s 7168(dot\207les)s -7923(or)s 8182(\207les)s 8631(in)s 480 4282(other)m 1031(directories:)s +7923(or)s 8182(\207les)s 8631(in)s 480 4279(other)m 1031(directories:)s 2144(v)s 6(alues)k 2800(starting)s 3569(with)s 4051(full)s 4437(stops)s 4980(will)s 5406(ha)s 4(v)k 3(e)k 5907(a)s 6073(colon)s 6662(prepended)s 7717(\(making)s gsave -8567 4336 translate +8567 4333 translate 0.6953 1.0000 scale 240 fnt31 0 -52(:.)m grestore -8767(\),)s 480 4042(colons)m 1156(will)s 1582(be)s +8767(\),)s 480 4039(colons)m 1156(will)s 1582(be)s 1864(doubled,)s 2743(and)s 3147(each)s 3642(slash)s 4177(will)s 4603(be)s 4885(replaced)s 5752(with)s 6234(a)s 6400(colon)s 6989(follo)s 6(wed)k 7891(by)s 8185(a)s 8351(h)s 1(yphen)k gsave -480 3856 translate +480 3853 translate 0.6953 1.0000 scale 240 fnt31 0 -52(:\211)m grestore -680 3802(.)m 784(A)s 1014(parameter)s +680 3799(.)m 784(A)s 1014(parameter)s 2028(v)s 6(alue)k 2596(which)s 3238(is)s 3448(the)s 3796(empty)s 4448(string)s 5045(will)s 5471(be)s 5753(replaced)s 6620(with)s gsave -7102 3856 translate +7102 3853 translate 0.6953 1.0000 scale 240 fnt31 0 -52(:empty)m grestore 7762(\(note)s 8309(that)s -8727(this)s 480 3562(is)m 690(dif)s 6(ferent)k 1565(from)s +8727(this)s 480 3559(is)m 690(dif)s 6(ferent)k 1565(from)s 2089(a)s 2255(parameter)s 3269(not)s 3635(ha)s 4(ving)k 4336(an)s 3(y)k 4733(v)s 6(alues\).)k gsave -120 3222 translate +120 3219 translate 0.6953 1.0000 scale 240 fnt31 0 -52(include\211directory)m gsave @@ -2998,26 +2952,26 @@ grestore grestore grestore -480 2928(Read)m +480 2925(Read)m 1030(con\207guration)s 2363(from)s 2887(all)s 3180(\207les)s 3629(in)s -3872(directory)s 240 fnt83 4788 2930(dir)m 8(ectory)k 240 fnt82 -5712 2928(which)m 6354(are)s 6701(plain)s 7236(\207les)s 7685(whose)s -8353(names)s 480 2688(consist)m 1204(only)s 1684(of)s 1955(alphanumerics)s +3872(directory)s 240 fnt83 4788 2927(dir)m 8(ectory)k 240 fnt82 +5712 2925(which)m 6354(are)s 6701(plain)s 7236(\207les)s 7685(whose)s +8353(names)s 480 2685(consist)m 1204(only)s 1684(of)s 1955(alphanumerics)s 3400(and)s 3804(h)s 1(yphens)k 4653(and)s 5057(start)s 5527(with)s 6009(an)s 6292(alphanumeric.)s 7697(The)s 3(y)k -8240(will)s 8666(be)s 480 2448(read)m 949(in)s 1192(le)s 3(xical)k +8240(will)s 8666(be)s 480 2445(read)m 949(in)s 1192(le)s 3(xical)k 1880(order)s 13(.)k 2475(It)s 2680(is)s 2890(an)s 3173(error)s 3696(for)s 4034(the)s 4382(directory)s 5298(not)s 5664(to)s 5903(e)s 3(xist)k 6411(or)s 6670(for)s 7008(it)s 7200(or)s 7459(an)s 3(y)k 7856(of)s -8127(the)s 8475(\207les)s 480 2208(found)m 1089(not)s 1447(to)s +8127(the)s 8475(\207les)s 480 2205(found)m 1089(not)s 1447(to)s 1677(be)s 1951(read)s 2411(successfully)s 15(,)k 3663(or)s 3914(for)s 4243(an)s 3(ything)k 5123(with)s 5596(an)s 5871(appropriate)s 7007(name)s 7572(not)s 7930(to)s 8160(be)s -8434(a)s 8591(plain)s 480 1968(\207le)m 841(or)s 1100(a)s +8434(a)s 8591(plain)s 480 1965(\207le)m 841(or)s 1100(a)s 1266(symbolic)s 2196(link)s 2629(to)s 2868(a)s 3034(plain)s 3569(\207le.)s gsave -120 1628 translate +120 1625 translate 0.6953 1.0000 scale 240 fnt31 0 -52(error)m gsave 864 0 translate @@ -3027,19 +2981,19 @@ grestore grestore grestore -480 1334(Causes)m 1209(an)s 1492(error)s 2015(whose)s +480 1331(Causes)m 1209(an)s 1492(error)s 2015(whose)s 2683(message)s 3549(includes)s 4397(the)s 4745(descripti)s 6(v)k 3(e)k -5840(string)s 240 fnt83 6437 1336(te)m 4(xt)k 240 fnt82 -6781 1334(.)m 240 fnt83 6885 1336(te)m 4(xt)k 240 fnt82 -7289 1334(may)m 7755(consist)s 8479(of)s 480 1094(se)m 6(v)k 3(eral)k +5840(string)s 240 fnt83 6437 1333(te)m 4(xt)k 240 fnt82 +6781 1331(.)m 240 fnt83 6885 1333(te)m 4(xt)k 240 fnt82 +7289 1331(may)m 7755(consist)s 8479(of)s 480 1091(se)m 6(v)k 3(eral)k 1192(tok)s 2(ens)k 1855(with)s 2326(interv)s 3(ening)k 3454(whitespace.)s 4609(The)s 5026(whitespace)s 6134(will)s 6549(be)s -6820(included)s 7691(in)s 7923(the)s 8260(message)s 480 854(as)m +6820(included)s 7691(in)s 7923(the)s 8260(message)s 480 851(as)m 726(found)s 1338(in)s 1576(the)s 1919(con\207guration)s 3247(\207le:)s 3653(all)s 3941(the)s 4284(characters)s 5298(until)s 5786(the)s 6129(end)s 6528(of)s 6794(the)s 7137(line)s 7546(will)s -7967(be)s 8244(included)s 0 52(User)m 511(service)s 1243(daemon)s -2058(and)s 2462(client)s 3052(speci\207cation)s 8652(0.62)s +7967(be)s 8244(included)s 0 52(0.64.1)m 4809(User)s 5320(service)s +6052(daemon)s 6867(and)s 7271(client)s 7861(speci\207cation)s grestore grestore @@ -3047,7 +3001,7 @@ grestore pgsave restore showpage -%%Page: 12 12 +%%Page: 11 11 %%BeginPageSetup %%PageResources: font Times-Roman %%+ font Times-Bold @@ -3076,9 +3030,9 @@ gsave 1417 -15423 translate 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic gsave -0 LoutMargSet +1 LoutMargSet grestore -240 fnt84 0 13842(12)m 240 fnt82 480 13254(v)m 3(erbatim,)k +240 fnt84 8839 13842(11)m 240 fnt82 480 13254(v)m 3(erbatim,)k 1433(unless)s 2082(the)s 3(y)k 2545(are)s 2892(part)s 3323(of)s 3594(a)s 3760(double-quoted)s 5201(string,)s 5852(in)s 6095(which)s 6737(case)s 7204(the)s 7552(usual)s 8112(meaning)s @@ -3345,8 +3299,8 @@ grestore 240 fnt82 2252 810(refers)m 2845(to)s 3084(a)s 3250(\207le)s 3611(one)s 4013(of)s 4284(whose)s 4952(lines)s 5454(is)s 5664(the)s 6012(v)s 6(alue)k 6580(of)s 6851(the)s -7199(parameter)s 8213(\(leading)s 0 52(0.62)m 4809(User)s 5320(service)s -6052(daemon)s 6867(and)s 7271(client)s 7861(speci\207cation)s +7199(parameter)s 8213(\(leading)s 0 52(User)m 511(service)s 1243(daemon)s +2058(and)s 2462(client)s 3052(speci\207cation)s 8491(0.64.1)s grestore grestore @@ -3354,7 +3308,7 @@ grestore pgsave restore showpage -%%Page: 13 13 +%%Page: 12 12 %%BeginPageSetup %%PageResources: font Times-Roman %%+ font Times-Bold @@ -3383,16 +3337,16 @@ gsave 1417 -15423 translate 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic gsave -1 LoutMargSet +0 LoutMargSet grestore -240 fnt84 8833 13842(13)m 240 fnt82 960 13251(or)m 1211(trailing)s +240 fnt84 0 13842(12)m 240 fnt82 960 13254(or)m 1211(trailing)s 1944(whitespace)s 3053(on)s 3341(each)s 3827(line)s 4232(and)s 4627(empty)s 5270(lines)s 5764(in)s 5998(the)s 6337(\207le)s 6689(are)s 7027(ignored\).)s 7932(It)s 8128(is)s 8329(an)s -8603(error)s 960 13011(for)m 1298(the)s 1646(\207le)s 2007(not)s +8603(error)s 960 13014(for)m 1298(the)s 1646(\207le)s 2007(not)s 2373(to)s 2612(be)s 2894(opened)s 3644(and)s 4048(read.)s gsave -600 12824 translate +600 12827 translate 0.6953 1.0000 scale 240 fnt31 0 -52(!)m gsave 288 0 translate @@ -3401,21 +3355,21 @@ gsave grestore grestore -960 12530(The)m -240 fnt83 1388 12532(condition)m 240 fnt82 2346 12530(is)m 240 fnt83 -2556 12532(not)m 240 fnt82 2926 12530(true.)m 600 12290(Conjunctions:)m gsave -1983 12344 translate +960 12533(The)m +240 fnt83 1388 12535(condition)m 240 fnt82 2346 12533(is)m 240 fnt83 +2556 12535(not)m 240 fnt82 2926 12533(true.)m 600 12293(Conjunctions:)m gsave +1983 12347 translate 0.6953 1.0000 scale 240 fnt31 0 -52(&)m grestore 2143(and)s gsave -2547 12344 translate +2547 12347 translate 0.6953 1.0000 scale 240 fnt31 0 -52(|)m grestore gsave -1440 11864 translate +1440 11867 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\()m gsave @@ -3437,102 +3391,102 @@ grestore 0 -772(\202)m 0 -1012(\))m grestore -960 10598(is)m 1170(true)s 1597(if)s 1814(all)s +960 10601(is)m 1170(true)s 1597(if)s 1814(all)s 2107(the)s 2455(listed)s 3030(conditions)s 4078(are)s 4425(true;)s 4908(where)s gsave -5548 10652 translate +5548 10655 translate 0.6953 1.0000 scale 240 fnt31 0 -52(|)m grestore 5708(is)s 5918(used)s 6415(it)s 6607(is)s 6817(true)s 7244(if)s 7461(an)s 3(y)k -7858(of)s 8129(them)s 8667(is)s 960 10353(true.)m 1428(Ne)s 6(wlines)k +7858(of)s 8129(them)s 8667(is)s 960 10356(true.)m 1428(Ne)s 6(wlines)k 2368(must)s 2885(be)s 3159(used)s 3648(to)s 3879(separate)s 4709(one)s 5104(condition)s 6057(from)s 6573(the)s 6913(ne)s 3(xt,)k 7421(as)s 7663(sho)s 6(wn,)k 8382(and)s 8778(the)s -960 10113(parentheses)m 2126(are)s 2473(mandatory)s 15(.)k 3585(These)s +960 10116(parentheses)m 2126(are)s 2473(mandatory)s 15(.)k 3585(These)s 4212(conjunctions)s 5486(do)s 5779(not)s 6145(do)s 6438(lazy)s -6890(e)s 6(v)k 6(aluation.)k 480 9850(The)m 908(parameters)s +6890(e)s 6(v)k 6(aluation.)k 480 9853(The)m 908(parameters)s 2006(are:)s gsave -600 9664 translate +600 9667 translate 0.6953 1.0000 scale 240 fnt31 0 -52(service)m grestore -960 9370(The)m 1388(service)s +960 9373(The)m 1388(service)s 2120(name)s 2694(speci\207ed)s 3602(when)s 4178(the)s 4526(client)s 5116(w)s 2(as)k 5537(called.)s gsave -600 9184 translate +600 9187 translate 0.6953 1.0000 scale 240 fnt31 0 -52(calling\211user)m grestore -960 8890(T)m 19(w)k 2(o)k 1431(strings:)s 2174(the)s +960 8893(T)m 19(w)k 2(o)k 1431(strings:)s 2174(the)s 2522(login)s 3071(name)s 3645(of)s 3916(the)s 4264(calling)s 4967(user)s 5425(\(determined)s 6637(as)s 6887(for)s gsave -7225 8944 translate +7225 8947 translate 0.6953 1.0000 scale 240 fnt31 0 -52(USERV_USER)m grestore 8226(,)s 8333(abo)s 3(v)k 3(e\))k -960 8650(and)m 1364(the)s 1712(calling)s 2415(uid)s 2779(\(represented)s +960 8653(and)m 1364(the)s 1712(calling)s 2415(uid)s 2779(\(represented)s 4017(in)s 4260(decimal\).)s gsave -600 8464 translate +600 8467 translate 0.6953 1.0000 scale 240 fnt31 0 -52(calling\211group)m grestore -960 8170(Se)m 6(v)k 3(eral)k +960 8173(Se)m 6(v)k 3(eral)k 1722(strings:)s 2465(the)s 2813(primary)s 3623(and)s 4027(supplementary)s 5489(group)s 6101(names)s 6763(and)s 7167(gids)s 7617(\(in)s -7939(decimal\))s 960 7930(of)m 1231(the)s 1579(calling)s 2282(process.)s +7939(decimal\))s 960 7933(of)m 1231(the)s 1579(calling)s 2282(process.)s 3103(All)s 3463(the)s 3811(group)s 4423(names)s 5085(come)s 5659(\207rst,)s 6137(and)s 6541(then)s 7010(the)s 7358(gids.)s -7861(If)s 8091(the)s 8439(\207rst)s 960 7690(supplementary)m 2422(group)s +7861(If)s 8091(the)s 8439(\207rst)s 960 7693(supplementary)m 2422(group)s 3034(is)s 3244(the)s 3592(same)s 4139(as)s 4389(the)s 4737(primary)s 5547(group)s 6159(then)s 6628(it)s 6820(is)s 7030(elided.)s gsave -600 7504 translate +600 7507 translate 0.6953 1.0000 scale 240 fnt31 0 -52(calling\211user\211shell)m grestore -960 7210(The)m 1388(calling)s +960 7213(The)m 1388(calling)s 2091(user')s 13(s)k 2699(shell,)s 3257(as)s 3507(listed)s 4082(in)s 4325(the)s 4673(passw)s 2(ord)k 5633(entry)s 6178(for)s 6516(the)s 6864(calling)s 7567(login)s 8116(name)s -8690(\(as)s 960 6970(determined)m 2093(for)s gsave -2431 7024 translate +8690(\(as)s 960 6973(determined)m 2093(for)s gsave +2431 7027 translate 0.6953 1.0000 scale 240 fnt31 0 -52(USERV_USER)m grestore 3432(,)s 3539(abo)s 3(v)k 3(e\).)k gsave -600 6784 translate +600 6787 translate 0.6953 1.0000 scale 240 fnt31 0 -52(service\211user)m grestore -960 6490(T)m 19(w)k 2(o)k 1431(strings:)s +960 6493(T)m 19(w)k 2(o)k 1431(strings:)s 2174(the)s 2522(name)s 3096(of)s 3367(the)s 3715(service)s 4447(user)s 4905(\(as)s 5234(speci\207ed)s 6142(to)s 6381(the)s -6729(client\))s 7387(and)s 7791(their)s 8288(uid)s 960 6250(\(represented)m +6729(client\))s 7387(and)s 7791(their)s 8288(uid)s 960 6253(\(represented)m 2198(in)s 2441(decimal\).)s gsave -600 6064 translate +600 6067 translate 0.6953 1.0000 scale 240 fnt31 0 -52(service\211group)m grestore -960 5770(Se)m 6(v)k 3(eral)k +960 5773(Se)m 6(v)k 3(eral)k 1722(strings:)s 2465(the)s 2813(primary)s 3623(and)s 4027(supplementary)s 5489(group)s 6101(names)s 6763(and)s 7167(gids)s 7617(\(in)s -7939(decimal\))s 8823(of)s 960 5530(the)m 1308(service)s 2040(user)s 13(.)k +7939(decimal\))s 8823(of)s 960 5533(the)m 1308(service)s 2040(user)s 13(.)k gsave -600 5344 translate +600 5347 translate 0.6953 1.0000 scale 240 fnt31 0 -52(service\211user\211shell)m grestore -960 5050(The)m 1388(service)s 2120(user')s 13(s)k +960 5053(The)m 1388(service)s 2120(user')s 13(s)k 2728(shell,)s 3286(as)s 3536(listed)s 4111(in)s 4354(their)s 4851(passw)s 2(ord)k 5811(entry)s 15(.)k gsave -600 4864 translate +600 4867 translate 0.6953 1.0000 scale 240 fnt31 0 -52(u\211)m gsave @@ -3542,119 +3496,119 @@ grestore grestore grestore -960 4570(The)m 1388(v)s 6(alue)k +960 4573(The)m 1388(v)s 6(alue)k 1956(of)s 2227(the)s 2575(user)s 4(-de\207ned)k 3811(v)s 6(ariable)k -240 fnt83 4630 4572(name)m 240 fnt82 5202 4570(passed)m 5898(by)s +240 fnt83 4630 4575(name)m 240 fnt82 5202 4573(passed)m 5898(by)s 6192(the)s 6540(caller)s 7129(using)s 7701(the)s gsave -8049 4624 translate +8049 4627 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211\211defvar)m grestore -960 4330(command-line)m 2397(option)s 3066(to)s 3305(the)s +960 4333(command-line)m 2397(option)s 3066(to)s 3305(the)s 3653(client.)s 4287(If)s 4517(the)s 4865(v)s 6(ariable)k 5684(w)s 2(as)k 6105(not)s 6471(de\207ned)s 7234(then)s -7703(this)s 8099(parameter)s 960 4090(is)m 1170(an)s 1453(empty)s +7703(this)s 8099(parameter)s 960 4093(is)m 1170(an)s 1453(empty)s 2105(list)s 2456(of)s 2727(strings;)s 3476(in)s 3719(this)s 4115(case)s 4582(an)s 3(y)k 4979(condition)s 5940(which)s 6582(tests)s 7057(it)s 7249(will)s 7675(be)s 7957(f)s 2(alse,)k 8512(and)s gsave -960 3904 translate +960 3907 translate 0.6953 1.0000 scale 240 fnt31 0 -52(include\211lookup)m grestore -2421 3850(on)m 2718(it)s +2421 3853(on)m 2718(it)s 2910(will)s 3336(read)s 3805(the)s gsave -4153 3904 translate +4153 3907 translate 0.6953 1.0000 scale 240 fnt31 0 -52(:none)m grestore 4713(\207le,)s 5125(or)s gsave -5384 3904 translate +5384 3907 translate 0.6953 1.0000 scale 240 fnt31 0 -52(:default)m grestore 6245(if)s gsave -6462 3904 translate +6462 3907 translate 0.6953 1.0000 scale 240 fnt31 0 -52(:none)m grestore 7022(is)s 7232(not)s 7598(found.)s gsave -120 3481 translate +120 3484 translate 0.6953 1.0000 scale 240 fnt31 0 -52(errors\211push)m grestore -240 fnt83 1281 3429(\207lename)m gsave -120 3241 translate +240 fnt83 1281 3432(\207lename)m gsave +120 3244 translate 0.6953 1.0000 scale 240 fnt31 0 -52(srorre)m grestore -240 fnt82 480 2947(Stacks)m 1155(the)s 1503(error)s +240 fnt82 480 2950(Stacks)m 1155(the)s 1503(error)s 2026(handling)s 2917(beha)s 4(viour)k 3930(currently)s 4846(in)s 5089(ef)s 6(fect.)k 5729(An)s 3(y)k 6193(changes)s -7015(to)s 7254(error)s 7777(handling)s 8668(will)s 480 2707(tak)m 2(e)k +7015(to)s 7254(error)s 7777(handling)s 8668(will)s 480 2710(tak)m 2(e)k 932(ef)s 6(fect)k 1528(only)s 2008(between)s gsave -2862 2761 translate +2862 2764 translate 0.6953 1.0000 scale 240 fnt31 0 -52(errors\211push)m grestore 4023(and)s gsave -4427 2761 translate +4427 2764 translate 0.6953 1.0000 scale 240 fnt31 0 -52(srorre)m grestore 5027(.)s gsave -120 2367 translate +120 2370 translate 0.6953 1.0000 scale 240 fnt31 0 -52(catch\211quit)m grestore gsave -120 2127 translate +120 2130 translate 0.6953 1.0000 scale 240 fnt31 0 -52(hctac)m grestore -480 1833(An)m 3(y)k +480 1836(An)m 3(y)k 935(use)s 1301(of)s gsave -1563 1887 translate +1563 1890 translate 0.6953 1.0000 scale 240 fnt31 0 -52(quit)m grestore 2013(inside)s gsave -2631 1887 translate +2631 1890 translate 0.6953 1.0000 scale 240 fnt31 0 -52(catch\211quit)m grestore 3683(will)s 4100(merely)s 4807(cause)s 5385(the)s 5724(parsing)s 6472(to)s 6701(continue)s 7572(at)s gsave -7795 1887 translate +7795 1890 translate 0.6953 1.0000 scale 240 fnt31 0 -52(hctac)m grestore -8345(instead.)s 480 1593(An)m 3(y)k +8345(instead.)s 480 1596(An)m 3(y)k 944(control)s 1676(constructs)s 2696(started)s 3390(since)s 3937(the)s gsave -4285 1647 translate +4285 1650 translate 0.6953 1.0000 scale 240 fnt31 0 -52(catch\211quit)m grestore 5346(will)s 5772(be)s 6054(considered)s 7148(\207nished)s 7964(if)s 8181(a)s gsave -8347 1647 translate +8347 1650 translate 0.6953 1.0000 scale 240 fnt31 0 -52(quit)m grestore -8807(is)s 480 1353(found.)m 1203(If)s 1433(an)s 1716(error)s +8807(is)s 480 1356(found.)m 1203(If)s 1433(an)s 1716(error)s 2239(occurs)s 2914(inside)s gsave -3541 1407 translate +3541 1410 translate 0.6953 1.0000 scale 240 fnt31 0 -52(catch\211quit)m grestore @@ -3662,35 +3616,35 @@ grestore 4950(e)s 3(x)k 3(ecution)k 5931(settings)s 6712(will)s 7138(be)s 7420(reset)s 7930(\(as)s 8259(if)s 8476(by)s 8770(the)s gsave -480 1167 translate +480 1170 translate 0.6953 1.0000 scale 240 fnt31 0 -52(reset)m grestore -1040 1113(directi)m 6(v)k 3(e\))k +1040 1116(directi)m 6(v)k 3(e\))k 1994(and)s 2398(parsing)s 3155(will)s 3581(lik)s 2(e)k 6(wise)k 4425(continue)s 5305(at)s gsave -5537 1167 translate +5537 1170 translate 0.6953 1.0000 scale 240 fnt31 0 -52(hctac)m grestore 6037(.)s 6201(If)s 6431(a)s 6597(le)s 3(xical)k 7285(or)s -7544(syntax)s 8224(error)s 8747(is)s 480 873(detected)m 1334(in)s +7544(syntax)s 8224(error)s 8747(is)s 480 876(detected)m 1334(in)s 1577(the)s 1925(same)s 2472(con\207guration)s 3805(\207le)s 4166(as)s 4416(the)s gsave -4764 927 translate +4764 930 translate 0.6953 1.0000 scale 240 fnt31 0 -52(catch\211quit)m grestore 5765(,)s 5872(while)s 6459(looking)s 7244(for)s 7582(the)s gsave -7930 927 translate +7930 930 translate 0.6953 1.0000 scale 240 fnt31 0 -52(hctac)m grestore -8490(after)s 0 52(User)m 511(service)s 1243(daemon)s 2058(and)s -2462(client)s 3052(speci\207cation)s 8652(0.62)s +8490(after)s 0 52(0.64.1)m 4809(User)s 5320(service)s 6052(daemon)s +6867(and)s 7271(client)s 7861(speci\207cation)s grestore grestore @@ -3698,7 +3652,7 @@ grestore pgsave restore showpage -%%Page: 14 14 +%%Page: 13 13 %%BeginPageSetup %%PageResources: font Times-Roman %%+ font Times-Bold @@ -3727,54 +3681,54 @@ gsave 1417 -15423 translate 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic gsave -0 LoutMargSet +1 LoutMargSet grestore -240 fnt84 0 13842(14)m 240 fnt82 480 13254(an)m 763(error)s +240 fnt84 8833 13842(13)m 240 fnt82 480 13251(an)m 763(error)s 1286(or)s gsave -1545 13308 translate +1545 13305 translate 0.6953 1.0000 scale 240 fnt31 0 -52(quit)m grestore 1945(,)s 2052(that)s 2470(ne)s 6(w)k 2917(error)s 3440(will)s 3866(not)s -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 +4232(be)s 4514(caught.)s 300 fnt84 0 12584(4.2.4.)m 813(Dir)s 5(ecti)k 3(v)k 3(es)k 2148(f)s 7(or)k 2595(changing)s 3829(execution)s 5112(settings)s -240 fnt82 0 12016(The)m 419(follo)s 6(wing)k 1386(directi)s 6(v)k 3(es)k +240 fnt82 0 12013(The)m 419(follo)s 6(wing)k 1386(directi)s 6(v)k 3(es)k 2346(modify)s 3082(the)s 3420(e)s 3(x)k 3(ecution)k 4391(settings;)s 5223(the)s 5562(serv)s 3(er)k 6192(will)s 6608(remember)s 7627(the)s 7965(f)s 2(act)k 8370(that)s -8778(the)s 0 11775(directi)m 6(v)k 3(e)k 881(w)s 2(as)k +8778(the)s 0 11772(directi)m 6(v)k 3(e)k 881(w)s 2(as)k 1300(encountered)s 2525(and)s 2927(act)s 3263(on)s 3559(it)s 3749(only)s 4227(after)s 4721(all)s 5012(the)s 5359(con\207guration)s 6690(has)s 7058(been)s 7565(parsed.)s 8291(The)s 240 fnt83 -8717 11777(last)m 240 fnt82 0 11535(directi)m 6(v)k 3(e)k +8717 11774(last)m 240 fnt82 0 11532(directi)m 6(v)k 3(e)k 882(which)s 1524(modi\207es)s 2399(an)s 3(y)k 2796(particuar)s 3704(setting)s 4394(will)s 4820(tak)s 2(e)k 5272(ef)s 6(fect.)k gsave -120 11181 translate +120 11178 translate 0.6953 1.0000 scale 240 fnt31 0 -52(reject)m grestore -480 10887(Reject)m 1150(the)s 1498(request.)s +480 10884(Reject)m 1150(the)s 1498(request.)s gsave -2292 10941 translate +2292 10938 translate 0.6953 1.0000 scale 240 fnt31 0 -52(execute)m grestore 2992(,)s gsave -3099 10941 translate +3099 10938 translate 0.6953 1.0000 scale 240 fnt31 0 -52(execute\211from\211directory)m grestore 5361(and)s gsave -5765 10941 translate +5765 10938 translate 0.6953 1.0000 scale 240 fnt31 0 -52(execute\211from\211path)m grestore 7527(will)s 7953(change)s -480 10647(this)m 876(setting.)s gsave -120 10307 translate +480 10644(this)m 876(setting.)s gsave +120 10304 translate 0.6953 1.0000 scale 240 fnt31 0 -52(execute)m gsave 1152 0 translate @@ -3790,13 +3744,13 @@ gsave grestore 4048(\202])s grestore -480 10013(Ex)m 3(ecute)k -1300(the)s 1645(program)s 240 fnt83 2512 10015(pr)m 10(o)k 2(gr)k 3(am)k -240 fnt82 3332 10013(,)m 3436(with)s 3915(the)s 4259(ar)s 4(guments)k +480 10010(Ex)m 3(ecute)k +1300(the)s 1645(program)s 240 fnt83 2512 10012(pr)m 10(o)k 2(gr)k 3(am)k +240 fnt82 3332 10010(,)m 3436(with)s 3915(the)s 4259(ar)s 4(guments)k 5299(as)s 5546(speci\207ed,)s 6500(follo)s 6(wed)k 7399(by)s -7690(an)s 3(y)k 8083(ar)s 4(guments)k 480 9773(gi)m 6(v)k 3(en)k +7690(an)s 3(y)k 8083(ar)s 4(guments)k 480 9770(gi)m 6(v)k 3(en)k 1052(to)s 1282(the)s 1621(client)s 2203(if)s gsave -2411 9827 translate +2411 9824 translate 0.6953 1.0000 scale 240 fnt31 0 -52(no\211suppress\211args)m @@ -3804,15 +3758,15 @@ grestore 4064(is)s 4266(in)s 4500(ef)s 6(fect.)k 5131(It)s 5328(is)s 5529(an)s 5803(error)s 6318(for)s 6647(the)s 6986(e)s 3(x)k 3(ecution)k 7959(to)s -8189(f)s 2(ail)k 8550(when)s 480 9533(it)m 672(is)s +8189(f)s 2(ail)k 8550(when)s 480 9530(it)m 672(is)s 882(attempted)s 1882(\(after)s 2457(all)s 2750(the)s 3098(con\207guration)s 4431(has)s 4801(been)s 5310(parsed\).)s 6117(If)s 240 fnt83 -6347 9535(pr)m 10(o)k 2(gr)k 3(am)k 240 fnt82 -7227 9533(does)m 7717(not)s 8083(contain)s 8844(a)s 480 9293(slash)m +6347 9532(pr)m 10(o)k 2(gr)k 3(am)k 240 fnt82 +7227 9530(does)m 7717(not)s 8083(contain)s 8844(a)s 480 9290(slash)m 1015(it)s 1207(will)s 1633(be)s 1915(searched)s 2809(for)s 3147(on)s 3444(the)s 3792(service)s 4524(user')s 13(s)k 5132(path.)s gsave -120 8953 translate +120 8950 translate 0.6953 1.0000 scale 240 fnt31 0 -52(execute\211from\211directory)m gsave 3312 0 translate @@ -3828,78 +3782,78 @@ grestore 6376(\202])s grestore -480 8659(T)m 19(ak)k 2(e)k 993(all)s 1286(the)s +480 8656(T)m 19(ak)k 2(e)k 993(all)s 1286(the)s 1634(characters)s 2652(after)s 3148(the)s 3496(last)s 3887(slash)s 4422(of)s 4693(the)s 5041(service)s 5773(name)s 6347(speci\207ed)s -7255(when)s 7831(the)s 8179(client)s 480 8418(w)m 2(as)k +7255(when)s 7831(the)s 8179(client)s 480 8415(w)m 2(as)k 901(called,)s 1578(and)s 1982(e)s 3(x)k 3(ecute)k 2762(that)s 3180(program)s 4050(in)s 4293(the)s 4641(directory)s -5557(named)s 6253(by)s 240 fnt83 6547 8420(pathname)m 240 fnt82 -7545 8418(as)m 7795(if)s 8012(it)s 8204(had)s 8608(been)s -480 8178(speci\207ed)m 1388(for)s 240 fnt83 1726 8180(e)m 4(xecute)k -240 fnt82 2431 8178(.)m 2535(The)s 2963(part)s 3394(of)s +5557(named)s 6253(by)s 240 fnt83 6547 8417(pathname)m 240 fnt82 +7545 8415(as)m 7795(if)s 8012(it)s 8204(had)s 8608(been)s +480 8175(speci\207ed)m 1388(for)s 240 fnt83 1726 8177(e)m 4(xecute)k +240 fnt82 2431 8175(.)m 2535(The)s 2963(part)s 3394(of)s 3665(the)s 4013(service)s 4745(name)s 5319(used)s 5816(may)s -6282(contain)s 7043(only)s 7523(alphanumerics)s 480 7938(and)m 884(h)s 1(yphens)k +6282(contain)s 7043(only)s 7523(alphanumerics)s 480 7935(and)m 884(h)s 1(yphens)k 1732(and)s 2136(must)s 2660(start)s 3130(with)s 3611(an)s 3894(alphanumeric)s 5247(\(and)s 5730(it)s 5921(must)s 6446(be)s -6727(non-empty\),)s 7950(otherwise)s 8934(it)s 480 7698(is)m 690(an)s +6727(non-empty\),)s 7950(otherwise)s 8934(it)s 480 7695(is)m 690(an)s 973(error)s 13(.)k 1587(This)s 2063(directi)s 6(v)k 3(e)k 2945(is)s 3155(ignored)s 3944(if)s 4161(the)s 4509(rele)s 6(v)k 6(ant)k 5326(program)s 6196(does)s 6686(not)s 7052(e)s 3(xist)k -7560(in)s 7803(the)s 8151(directory)s 480 7458(speci\207ed;)m 1437(in)s +7560(in)s 7803(the)s 8151(directory)s 480 7455(speci\207ed;)m 1437(in)s 1675(this)s 2066(case)s 2528(the)s 2871(program)s 3735(to)s 3969(e)s 3(x)k 3(ecute)k 4744(is)s 4949(left)s 5321(at)s 5548(its)s 5818(pre)s 6(vious)k 6682(setting)s 7367(\(or)s 7700(unset,)s 8307(if)s 8519(it)s 8705(w)s 2(as)k -480 7218(not)m 846(set)s 1171(before\).)s 2024(It)s 2229(is)s +480 7215(not)m 846(set)s 1171(before\).)s 2024(It)s 2229(is)s 2439(an)s 2722(error)s 3245(for)s 3583(the)s 3931(test)s 4322(for)s 4660(the)s 5008(e)s 3(xistence)k 5950(of)s 6221(the)s 6569(program)s 7439(to)s 7678(f)s 2(ail)k -8048(other)s 8599(than)s 480 6978(with)m 958(a)s 1120(`no)s +8048(other)s 8599(than)s 480 6975(with)m 958(a)s 1120(`no)s 1488(such)s 1980(\207le)s 2336(or)s 2591(directory')s 3561(indication.)s 4617(It)s 4818(is)s 5023(also)s 5457(an)s 5736(error)s 6255(for)s 6589(the)s 6932(e)s 3(x)k 3(ecution)k 7909(to)s 8144(f)s 2(ail)k 8510(if)s 8722(and)s -480 6738(when)m 1056(it)s 1248(is)s 1458(attempted)s 2458(\(after)s +480 6735(when)m 1056(it)s 1248(is)s 1458(attempted)s 2458(\(after)s 3033(all)s 3326(the)s 3674(con\207guration)s 5007(has)s 5377(been)s 5886(parsed\).)s gsave -120 6398 translate +120 6395 translate 0.6953 1.0000 scale 240 fnt31 0 -52(execute\211from\211path)m grestore -240 fnt83 480 6106(service)m -240 fnt82 1202 6104(is)m 1404(interpreted)s 2488(as)s 2731(a)s +240 fnt83 480 6103(service)m +240 fnt82 1202 6101(is)m 1404(interpreted)s 2488(as)s 2731(a)s 2889(program)s 3751(on)s 4041(the)s 4381(def)s 2(ault)k gsave -5094 6158 translate +5094 6155 translate 0.6953 1.0000 scale 240 fnt31 0 -52(PATH)m grestore 5546(\(or)s 5877(as)s 6119(a)s 6277(pathname)s 7256(of)s 7519(an)s 7794(e)s 3(x)k 3(ecutable,)k -8909(if)s 480 5863(it)m 660(contains)s 1495(a)s gsave -1649 5917 translate +8909(if)s 480 5860(it)m 660(contains)s 1495(a)s gsave +1649 5914 translate 0.6953 1.0000 scale 240 fnt31 0 -52(/)m grestore 1749(\).)s 1919(This)s 2383(directi)s 6(v)k 3(e)k -3252(is)s 240 fnt83 3450 5865(very)m 3904(dang)s 2(er)k 10(ous)k -240 fnt82 4899 5863(,)m 4994(and)s 5385(is)s 5583(only)s +3252(is)s 240 fnt83 3450 5862(very)m 3904(dang)s 2(er)k 10(ous)k +240 fnt82 4899 5860(,)m 4994(and)s 5385(is)s 5583(only)s 6050(pro)s 3(vided)k 6944(to)s 7170(mak)s 2(e)k 7730(the)s gsave -8065 5917 translate +8065 5914 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211\211override)m grestore -480 5623(options)m 1230(ef)s 6(fecti)k 6(v)k 3(e.)k +480 5620(options)m 1230(ef)s 6(fecti)k 6(v)k 3(e.)k 2146(It)s 2344(should)s 3034(not)s 3393(normally)s 4304(be)s 4579(used.)s 5115(It)s 5313(is)s 5516(an)s 5792(error)s 6309(for)s 6640(the)s 6981(e)s 3(x)k 3(ecution)k -7955(to)s 8187(f)s 2(ail)k 8550(when)s 480 5383(it)m +7955(to)s 8187(f)s 2(ail)k 8550(when)s 480 5380(it)m 672(is)s 882(attempted)s 1882(\(after)s 2457(all)s 2750(the)s 3098(con\207guration)s 4431(has)s 4801(been)s 5310(parsed\).)s gsave -120 5043 translate +120 5040 translate 0.6953 1.0000 scale 240 fnt31 0 -52(execute\211builtin)m gsave @@ -3915,40 +3869,40 @@ gsave grestore grestore -480 4749(Ex)m 3(ecutes)k 1388(the)s 1732(b)s 4(uiltin)k -2405(service)s 240 fnt83 3133 4751(service-name)m 240 fnt82 4400 4749(.)m +480 4746(Ex)m 3(ecutes)k 1388(the)s 1732(b)s 4(uiltin)k +2405(service)s 240 fnt83 3133 4748(service-name)m 240 fnt82 4400 4746(.)m 4500(These)s 5123(b)s 4(uiltin)k 5796(services)s 6612(display)s -7353(information)s 8534(about)s 480 4509(the)m 822(serv)s 3(er)k +7353(information)s 8534(about)s 480 4506(the)m 822(serv)s 3(er)k 1455(and/or)s 2120(the)s 2461(request,)s 3252(and)s 3649(ignore)s 4310(an)s 3(y)k 4700(ar)s 4(guments)k 5737(passed)s 6426(from)s 6944(the)s 7285(service)s 8011(side)s 8445(e)s 3(xcept)k -480 4269(possibly)m 1320(to)s 1547(print)s 2046(them)s 2572(as)s +480 4266(possibly)m 1320(to)s 1547(print)s 2046(them)s 2572(as)s 2810(part)s 3228(of)s 3487(their)s 3972(output.)s 4676(The)s 3(y)k 5207(write)s 5740(their)s 6225(results)s 6887(to)s 7114(their)s -7599(standard)s 8454(output)s 480 4029(\(i.e.,)m 958(where)s 6(v)k 3(er)k +7599(standard)s 8454(output)s 480 4026(\(i.e.,)m 958(where)s 6(v)k 3(er)k 1898(\207le)s 2259(descriptor)s 3274(1)s 3429(is)s 3639(directed\).)s 4591(The)s 5019(b)s 4(uiltin)k 5696(services)s 6516(are:)s gsave -600 3843 translate +600 3840 translate 0.6953 1.0000 scale 240 fnt31 0 -52(execute)m grestore -960 3549(Displays)m 1848(the)s 2196(e)s 3(x)k 3(ecution)k +960 3546(Displays)m 1848(the)s 2196(e)s 3(x)k 3(ecution)k 3177(settings,)s 4014(de\207ned)s 4777(v)s 6(ariables,)k 5740(ar)s 4(guments,)k -6839(etc.)s 7221(with)s 7703(which)s 8345(the)s 960 3309(b)m 4(uiltin)k +6839(etc.)s 7221(with)s 7703(which)s 8345(the)s 960 3306(b)m 4(uiltin)k 1637(service)s 2369(w)s 2(as)k 2790(in)s 9(v)k 4(ok)k 2(ed.)k gsave -600 3123 translate +600 3120 translate 0.6953 1.0000 scale 240 fnt31 0 -52(environment)m grestore -960 2829(Dis)m 1283(plays)s 1839(the)s +960 2826(Dis)m 1283(plays)s 1839(the)s 2187(en)s 2410(vi)s 2590(ron)s 2906(ment)s 3444(v)s 6(ari)k 3803(able)s 4257(set)s 4522(tings)s 5038(with)s 5520(which)s 6162(the)s 6510(b)s 4(uiltin)k 7187(ser)s 7465(vice)s -7919(w)s 2(as)k 960 2589(in)m 1143(v)s 4(ok)k 2(ed.)k +7919(w)s 2(as)k 960 2586(in)m 1143(v)s 4(ok)k 2(ed.)k gsave -600 2403 translate +600 2400 translate 0.6953 1.0000 scale 240 fnt31 0 -52(parameter)m gsave 1440 0 translate @@ -3958,42 +3912,42 @@ gsave grestore grestore -960 2109(Displays)m 1848(the)s 2196(v)s 6(alues)k 2852(of)s +960 2106(Displays)m 1848(the)s 2196(v)s 6(alues)k 2852(of)s 3123(the)s 3471(service)s 4203(con\207guration)s 5536(language)s 6456(parameter)s 7470(speci\207ed.)s gsave -600 1923 translate +600 1920 translate 0.6953 1.0000 scale 240 fnt31 0 -52(version)m grestore -960 1629(Displays)m 1848(the)s +960 1626(Displays)m 1848(the)s 2196(v)s 3(ersion)k 2954(string)s 3551(and)s 3955(compilation)s 5154(details)s 5828(of)s 6099(the)s 6447(uservd)s 7143(serv)s 3(er)k 7783(program.)s gsave -600 1443 translate +600 1440 translate 0.6953 1.0000 scale 240 fnt31 0 -52(reset)m grestore -960 1149(Dis)m 1283(plays)s +960 1146(Dis)m 1283(plays)s 1838(the)s 2184(de)s 2406(f)s 2(ault)k 2899(re)s 3080(set)s 3403(con)s 3746(\207g)s 3992(u)s 4107(ra)s 4292(tion)s 4719(\(e)s 6(v)k 6(al)k 5179(u)s 5294(at)s 5466(ed)s 5748(when)s gsave -6323 1203 translate +6323 1200 translate 0.6953 1.0000 scale 240 fnt31 0 -52(reset)m grestore 6881(is)s 7089(found)s 7704(in)s 7945(a)s 8109(con)s -8452(\207g)s 8698(u)s 8813(ra)s 8998(-)s 960 909(tion)m +8452(\207g)s 8698(u)s 8813(ra)s 8998(-)s 960 906(tion)m 1389(\207le,)s 1801(or)s 2060(when)s 2636(an)s 2919(er)s 3104(ror)s 3442(is)s 3652(caught)s 4350(by)s gsave -4644 963 translate +4644 960 translate 0.6953 1.0000 scale 240 fnt31 0 -52(catch\211quit)m grestore -5645(\).)s 0 52(0.62)m 4809(User)s 5320(service)s -6052(daemon)s 6867(and)s 7271(client)s 7861(speci\207cation)s +5645(\).)s 0 52(User)m 511(service)s 1243(daemon)s +2058(and)s 2462(client)s 3052(speci\207cation)s 8491(0.64.1)s grestore grestore @@ -4001,7 +3955,7 @@ grestore pgsave restore showpage -%%Page: 15 15 +%%Page: 14 14 %%BeginPageSetup %%PageResources: font Times-Roman %%+ font Times-Bold @@ -4030,151 +3984,139 @@ gsave 1417 -15423 translate 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic gsave -1 LoutMargSet +0 LoutMargSet grestore -240 fnt84 8833 13842(15)m gsave -600 13318 translate +240 fnt84 0 13842(14)m gsave +600 13320 translate 0.6953 1.0000 scale 240 fnt31 0 -52(toplevel)m grestore 240 fnt82 -960 13024(Displays)m 1848(the)s 2196(top-le)s 6(v)k 3(el)k +960 13026(Displays)m 1848(the)s 2196(top-le)s 6(v)k 3(el)k 3091(def)s 2(ault)k 3812(con\207guration)s 5145(\(the)s 5572(con\207guration)s 6905(data,)s 7410(e)s 6(v)k 6(aluated)k 8372(by)s -8666(the)s 960 12784(serv)m 3(er)k 9(,)k 1638(which)s +8666(the)s 960 12786(serv)m 3(er)k 9(,)k 1638(which)s 2280(calls)s 2768(all)s 3061(the)s 3409(other)s 3960(con\207guration)s 5293(\207les\).)s gsave -600 12598 translate +600 12600 translate 0.6953 1.0000 scale 240 fnt31 0 -52(override)m grestore -960 12304(Displays)m 1847(the)s +960 12306(Displays)m 1847(the)s 2194(top-le)s 6(v)k 3(el)k 3088(o)s 3(v)k 3(erride)k 3932(con\207guration)s 5264(\(the)s 5690(con\207guration)s 7021(data,)s 7525(e)s 6(v)k 6(aluated)k -8486(by)s 8778(the)s 960 12064(serv)m 3(er)k 9(,)k +8486(by)s 8778(the)s 960 12066(serv)m 3(er)k 9(,)k 1638(which)s 2280(causes)s 2955(all)s 3248(the)s 3596(other)s 4147(con\207guration)s 5480(data)s 5938(to)s 6177(be)s 6459(parsed\).)s gsave -600 11878 translate +600 11880 translate 0.6953 1.0000 scale 240 fnt31 0 -52(help)m grestore -960 11584(Displays)m 1848(a)s 2014(list)s +960 11586(Displays)m 1848(a)s 2014(list)s 2365(of)s 2636(the)s 2984(understood)s 4106(b)s 4(uiltin)k 4783(service)s 5515(names)s 6177(and)s 6581(ar)s 4(guments.)k +480 11323(In)m 736(the)s 1084(fu)s 1278(ture)s 1705(oth)s +2008(er)s 2253(b)s 4(uiltin)k 2930(ser)s 3208(vices)s +3750(may)s 4216(be)s 4498(de)s 4720(\207ned)s 5257(which)s +5899(do)s 6192(more)s 6739(than)s 7208(just)s 7613(print)s +8124(in)s 8307(for)s 8585(-)s 480 11083(ma)m 772(tion.)s gsave -600 11398 translate +120 10793 translate 0.6953 1.0000 scale -240 fnt31 0 -52(shutdown)m -grestore -960 11104(Arranges)m 1876(for)s 2203(the)s -gsave -2540 11158 translate -0.6953 1.0000 scale -240 fnt31 0 -52(uservd)m -grestore -3189(to)s 3417(shut)s 3865(do)s 6(wn.)k -4485(A)s 17(v)k 6(ailable)k 5435(only)s 5904(when)s -6469(the)s 6806(service)s 7527(user)s 7974(is)s 8173(root.)s -8650(This)s 960 10864(only)m 1440(af)s 6(fects)k 2120(ne)s 6(w)k -2567(requests;)s 3462(it)s 3654(doesn')s 4(t)k 4414(terminate)s -5371(an)s 3(y)k 5768(currently-running)s 7507(requests)s gsave -120 10476 translate -0.6953 1.0000 scale -240 fnt31 -0 -52(set\211environment)m +240 fnt31 0 -52(set\211environment)m grestore gsave -120 10236 translate +120 10553 translate 0.6953 1.0000 scale 240 fnt31 0 -52(no\211set\211environment)m grestore -480 9942(Runs)m gsave -1024 9996 translate +480 10259(Runs)m +gsave +1024 10313 translate 0.6953 1.0000 scale -240 fnt31 -0 -52(/etc/environment)m +240 fnt31 0 -52(/etc/environment)m grestore -2686(to)s 2925(set)s 3250(the)s 3598(service)s -4330(user')s 13(s)k 4938(en)s 9(vironment.)k 6242(This)s -6718(adds)s 7208(the)s 7556(o)s 3(v)k 3(erhead)k -8485(of)s 480 9702(in)m 9(v)k 4(oking)k 1372(a)s +2686(to)s 2925(set)s 3250(the)s +3598(service)s 4330(user')s 13(s)k 4938(en)s 9(vironment.)k +6242(This)s 6718(adds)s 7208(the)s 7556(o)s 3(v)k 3(erhead)k +8485(of)s 480 10019(in)m 9(v)k 4(oking)k 1372(a)s 1538(shell,)s 2096(b)s 4(ut)k 2458(doesn')s 4(t)k 3218(cause)s 3805(an)s 3(y)k 4202(shell)s 4708(\(de\)mangling)s 6049(of)s 6320(the)s 6668(service')s 13(s)k 7554(ar)s 4(guments.)k -8650(This)s 480 9462(is)m 690(achie)s 6(v)k 3(ed)k +8650(This)s 480 9779(is)m 690(achie)s 6(v)k 3(ed)k 1589(by)s 1883(in)s 9(v)k 4(oking)k gsave -960 9276 translate +960 9593 translate 0.6953 1.0000 scale 240 fnt31 0 -52(.../program)m 1728(arg)s 2304(arg)s 2880(arg)s 3456(\202)s grestore -480 9031(as)m gsave -960 8845 translate +480 9348(as)m gsave +960 9162 translate 0.6953 1.0000 scale 240 fnt31 0 -52(/bin/sh)m 1152(\211c)s 1584('.)s 2016(/etc/environment;)s 4608(exec)s 5328("$@"')s 6192(\211)s 6480(.../program)s 8208(arg)s 8784(arg)s 9360(arg)s 9936(\202)s grestore gsave -480 8601 translate +480 8918 translate 0.6953 1.0000 scale 240 fnt31 0 -52(no\211set\211environment)m grestore -2342 8547(cancels)m 3096(the)s 3444(ef)s 6(fect)k +2342 8864(cancels)m 3096(the)s 3444(ef)s 6(fect)k 4040(of)s gsave -4311 8601 translate +4311 8918 translate 0.6953 1.0000 scale 240 fnt31 0 -52(set\211environment)m grestore 5812(.)s gsave -120 8257 translate +120 8574 translate 0.6953 1.0000 scale 240 fnt31 0 -52(no\211suppress\211args)m grestore gsave -120 8017 translate +120 8334 translate 0.6953 1.0000 scale 240 fnt31 0 -52(suppress\211args)m grestore -480 7723(Include)m 1253(an)s 3(y)k +480 8040(Include)m 1253(an)s 3(y)k 1650(ar)s 4(guments)k 2693(gi)s 6(v)k 3(en)k 3273(to)s 3512(the)s 3860(client)s 4450(as)s 4700(ar)s 4(guments)k 5743(to)s 5982(the)s 6330(program)s 7200(in)s 9(v)k 4(ok)k 2(ed)k -8015(as)s 8265(a)s 8431(result)s 480 7483(of)m 749(an)s +8015(as)s 8265(a)s 8431(result)s 480 7800(of)m 749(an)s gsave -1030 7537 translate +1030 7854 translate 0.6953 1.0000 scale 240 fnt31 0 -52(execute)m grestore 1730(,)s gsave -1834 7537 translate +1834 7854 translate 0.6953 1.0000 scale 240 fnt31 0 -52(execute\211from\211directory)m grestore 4094(or)s gsave -4351 7537 translate +4351 7854 translate 0.6953 1.0000 scale 240 fnt31 0 -52(execute\211from\211path)m grestore 6110(directi)s 6(v)k 3(e.)k gsave -7038 7537 translate +7038 7854 translate 0.6953 1.0000 scale 240 fnt31 0 -52(suppress\211args)m grestore -8396(undoes)s 480 7243(the)m 828(ef)s 6(fect)k +8396(undoes)s 480 7560(the)m 828(ef)s 6(fect)k 1424(of)s gsave -1695 7297 translate +1695 7614 translate 0.6953 1.0000 scale 240 fnt31 0 -52(no\211suppress\211args)m grestore 3297(.)s gsave -120 6922 translate +120 7239 translate 0.6953 1.0000 scale 240 fnt31 0 -52(require\211fd)m gsave @@ -4185,135 +4127,135 @@ grestore grestore 2940(read|write)s grestore -480 6623(In)m 676(sist)s 1054(that)s 1472(the)s +480 6940(In)m 676(sist)s 1054(that)s 1472(the)s 1820(\207ledescrip)s 2808(tor\(s\))s 3373(be)s 3655(opened)s 4405(for)s 4743(read)s 5152(ing)s 5511(resp.)s 6013(writ)s 6397(ing.)s 6807(It)s 7012(is)s 7222(an)s 7505(er)s 7690(ror)s 8028(if)s 8245(an)s 3(y)k 8642(de)s 8864(-)s -480 6383(scrip)m 937(tor)s 1258(mark)s 2(ed)k 2027(as)s +480 6700(scrip)m 937(tor)s 1258(mark)s 2(ed)k 2027(as)s 2272(re)s 2453(quired)s 3118(when)s 3689(the)s 4033(ser)s 4311(vice)s 4760(is)s 4966(about)s 5554(to)s 5788(be)s 6066(in)s 6249(v)s 4(ok)k 2(ed)k 6882(\(af)s 7158(ter)s 7465(the)s 7808(con)s 8151(\207g)s 8397(u)s -8512(ra)s 8697(tion)s 480 6143(has)m 850(been)s 1359(parsed\))s +8512(ra)s 8697(tion)s 480 6460(has)m 850(been)s 1359(parsed\))s 2111(w)s 2(as)k 2532(not)s 2898(spec)s 3316(i)s 3376(\207ed)s 3793(when)s 4369(the)s 4717(client)s 5307(w)s 2(as)k 5728(in)s 5911(v)s 4(ok)k 2(ed.)k 6595(Each)s 7130(\207le)s 7491(de)s 7713(scrip)s 8170(tor)s 8495(has)s -480 5903(a)m 646(sep)s 958(a)s 1064(rate)s 1477(set)s +480 6220(a)m 646(sep)s 958(a)s 1064(rate)s 1477(set)s 1742(ting,)s 2221(and)s 2625(the)s 2973(last)s 3364(one)s 3766(of)s gsave -4037 5957 translate +4037 6274 translate 0.6953 1.0000 scale 240 fnt31 0 -52(require\211fd)m grestore 5038(,)s gsave -5145 5957 translate +5145 6274 translate 0.6953 1.0000 scale 240 fnt31 0 -52(allow\211fd)m grestore 5946(,)s gsave -6053 5957 translate +6053 6274 translate 0.6953 1.0000 scale 240 fnt31 0 -52(ignore\211fd)m grestore 6954(,)s gsave -7061 5957 translate +7061 6274 translate 0.6953 1.0000 scale 240 fnt31 0 -52(null\211fd)m grestore 7821(or)s gsave -8080 5957 translate +8080 6274 translate 0.6953 1.0000 scale 240 fnt31 0 -52(reject\211fd)m grestore -480 5662(which)m 1122(af)s 1319(fect)s 1676(ed)s 1960(a)s +480 5979(which)m 1122(af)s 1319(fect)s 1676(ed)s 1960(a)s 2126(par)s 2431(tic)s 2662(u)s 2777(lar)s 3088(\207le)s 3449(de)s 3671(scrip)s 4128(tor)s 4453(will)s 4879(tak)s 2(e)k -5331(ef)s 5528(fect.)s 240 fnt83 6049 5664(fd-)m 6302(r)s 3(ang)k 2(e)k -240 fnt82 6909 5662(may)m 7375(be)s 7657(a)s 7823(sin)s -8099(gle)s 8447(num)s 8873(-)s 480 5422(ber)m 9(,)k +5331(ef)s 5528(fect.)s 240 fnt83 6049 5981(fd-)m 6302(r)s 3(ang)k 2(e)k +240 fnt82 6909 5979(may)m 7375(be)s 7657(a)s 7823(sin)s +8099(gle)s 8447(num)s 8873(-)s 480 5739(ber)m 9(,)k 883(tw)s 2(o)k 1293(num)s 1719(bers)s 2168(sep)s 2480(a)s 2586(rat)s 2837(ed)s 3121(by)s 3415(a)s 3581(h)s 1(y)k 3814(phen,)s 4387(or)s 4646(one)s 5048(num)s 5474(ber)s 5839(fol)s 6099(lo)s 6(wed)k 6736(by)s 7030(a)s 7196(h)s 1(y)k 7429(phen)s -7952(\(in)s 8214(di)s 8394(cat)s 8672(ing)s 480 5182(all)m +7952(\(in)s 8214(di)s 8394(cat)s 8672(ing)s 480 5499(all)m 772(de)s 994(scrip)s 1451(tors)s 1858(from)s 2380(that)s 2796(num)s 3222(ber)s 3585(on)s 3822(w)s 2(ards\).)k 4573(It)s 4776(may)s 5240(also)s 5676(be)s 5956(one)s 6357(of)s 6626(the)s 6972(w)s 2(ords)k gsave -7604 5236 translate +7604 5553 translate 0.6953 1.0000 scale 240 fnt31 0 -52(stdin)m grestore 8104(,)s gsave -8209 5236 translate +8209 5553 translate 0.6953 1.0000 scale 240 fnt31 0 -52(stdout)m grestore 8867(or)s gsave -480 4996 translate +480 5313 translate 0.6953 1.0000 scale 240 fnt31 0 -52(stderr)m grestore -1080 4942(.)m 1174(Open-)s 1761(ended)s +1080 5259(.)m 1174(Open-)s 1761(ended)s 2380(\207le)s 2730(de)s 2952(scrip)s 3409(tor)s 3723(rangers)s 4466(are)s 4802(al)s 4969(lo)s 6(wed)k 5596(only)s 6065(with)s gsave -6536 4996 translate +6536 5313 translate 0.6953 1.0000 scale 240 fnt31 0 -52(reject\211fd)m grestore 7486(and)s gsave -7879 4996 translate +7879 5313 translate 0.6953 1.0000 scale 240 fnt31 0 -52(ignore\211fd)m grestore -8780(,)s 8876(as)s 480 4702(oth)m 783(er)s +8780(,)s 8876(as)s 480 5019(oth)m 783(er)s 968(wise)s 1457(the)s 1799(ser)s 2077(vice)s 2526(pro)s 2838(gram)s 3383(w)s 2(ould)k 4033(\207nd)s 4458(it)s 4590(self)s 5001(with)s 5477(a)s 5638(v)s 3(ery)k 6108(lar)s 4(ge)k 6632(num)s 7058(ber)s 7417(of)s -7683(\207le)s 8038(de)s 8260(scrip)s 8717(tors)s 480 4462(open.)m +7683(\207le)s 8038(de)s 8260(scrip)s 8717(tors)s 480 4779(open.)m 1090(When)s 1699(the)s 2027(con)s 2370(\207g)s 2616(u)s 2731(ra)s 2916(tion)s 3325(has)s 3674(been)s 4163(parsed,)s 4874(and)s 5258(be)s 5480(fore)s 5900(the)s 6227(ser)s 6505(vice)s 6939(is)s 7129(about)s 7701(to)s 7920(be)s 8181(e)s 3(x)k 8399(e)s 8501(cut)s 8793(ed,)s -480 4222(stderr)m 1083(\(fd)s 1418(2\))s 1665(must)s 2189(be)s +480 4539(stderr)m 1083(\(fd)s 1418(2\))s 1665(must)s 2189(be)s 2470(re)s 2651(quired)s 3320(or)s 3578(al)s 3745(lo)s 6(wed)k 4381(\()s gsave -4454 4276 translate +4454 4593 translate 0.6953 1.0000 scale 240 fnt31 0 -52(require\211fd)m grestore 5514(or)s gsave -5772 4276 translate +5772 4593 translate 0.6953 1.0000 scale 240 fnt31 0 -52(allow\211fd)m grestore 6573(\))s 6701(for)s 7038(writ)s 7422(ing;)s -7839(this)s 8234(is)s 8443(so)s 8708(that)s 480 3982(the)m +7839(this)s 8234(is)s 8443(so)s 8708(that)s 480 4299(the)m 825(er)s 1010(ror)s 1345(mes)s 1721(sage)s 2198(print)s 2649(ed)s 2930(by)s 3220(the)s 3565(serv)s 3958(er')s 13(s)k 4350(child)s 4882(pro)s 5194(cess)s 5640(if)s 5853(it)s 6042(can)s 6371(not)s gsave -6734 4036 translate +6734 4353 translate 0.6953 1.0000 scale 240 fnt31 0 -52(exec)m grestore 7190(the)s -7535(ser)s 7813(vice)s 8263(pro)s 8575(gram)s 480 3742(is)m +7535(ser)s 7813(vice)s 8263(pro)s 8575(gram)s 480 4059(is)m 690(not)s 1056(lost.)s gsave -120 3452 translate +120 3769 translate 0.6953 1.0000 scale 240 fnt31 0 -52(allow\211fd)m gsave 1296 0 translate @@ -4323,45 +4265,45 @@ grestore grestore 2652([read|write])s grestore -480 3153(Allo)m 6(w)k +480 3470(Allo)m 6(w)k 1126(the)s 1474(descriptor\(s\))s 2729(to)s 2968(be)s 3250(opened)s 4000(for)s 4338(reading)s 5108(resp.)s 5610(writing,)s 6407(or)s 6666(either)s 7269(if)s 7486(neither)s gsave -8209 3207 translate +8209 3524 translate 0.6953 1.0000 scale 240 fnt31 0 -52(read)m grestore 8669(nor)s gsave -480 2967 translate +480 3284 translate 0.6953 1.0000 scale 240 fnt31 0 -52(write)m grestore -1040 2913(is)m 1250(speci\207ed.)s +1040 3230(is)m 1250(speci\207ed.)s 2204(If)s 2434(a)s 2600(particular)s 3574(descriptor)s 4589(not)s 4955(speci\207ed)s 5863(by)s 6157(the)s 6505(client)s 7095(then)s -7564(it)s 7756(will)s 8182(be)s 8464(open)s 480 2673(onto)m +7564(it)s 7756(will)s 8182(be)s 8464(open)s 480 2990(onto)m gsave -959 2727 translate +959 3044 translate 0.6953 1.0000 scale 240 fnt31 0 -52(/dev/null)m grestore 1920(\(for)s 2337(reading,)s 3161(writing,)s 3958(or)s 4217(both,)s 4750(depending)s 5801(on)s 6098(whether)s gsave -6928 2727 translate +6928 3044 translate 0.6953 1.0000 scale 240 fnt31 0 -52(read)m grestore 7328(,)s gsave -7435 2727 translate +7435 3044 translate 0.6953 1.0000 scale 240 fnt31 0 -52(write)m grestore -7995(or)s 8254(neither)s 480 2433(w)m 2(as)k 901(speci\207ed\).)s +7995(or)s 8254(neither)s 480 2750(w)m 2(as)k 901(speci\207ed\).)s gsave -120 2093 translate +120 2410 translate 0.6953 1.0000 scale 240 fnt31 0 -52(null\211fd)m gsave 1152 0 translate @@ -4371,23 +4313,23 @@ gsave grestore 2508([read|write])s grestore -480 1794(Spec)m 938(i)s 998(fy)s 1251(that)s +480 2111(Spec)m 938(i)s 998(fy)s 1251(that)s 1669(the)s 2017(de)s 2239(scrip)s 2696(tor\(s\))s 3261(be)s 3543(opened)s 4293(onto)s gsave -4772 1848 translate +4772 2165 translate 0.6953 1.0000 scale 240 fnt31 0 -52(/dev/null)m grestore 5733(for)s 6071(read)s 6480(ing)s 6839(resp.)s 7341(writ)s 7725(ing,)s -8138(or)s 8397(both)s 8880(if)s 480 1554(nei)m 766(ther)s +8138(or)s 8397(both)s 8880(if)s 480 1871(nei)m 766(ther)s gsave -1181 1608 translate +1181 1925 translate 0.6953 1.0000 scale 240 fnt31 0 -52(read)m grestore 1624(nor)s gsave -1986 1608 translate +1986 1925 translate 0.6953 1.0000 scale 240 fnt31 0 -52(write)m @@ -4396,13 +4338,13 @@ grestore 4093(spec)s 4511(i)s 4571(\207)s 4696(ca)s 4908(tion)s 5320(of)s 5574(these)s 6104(\207le)s 6448(de)s 6670(scrip)s 7127(tors)s 7519(by)s 7796(the)s 8127(client)s 8700(will)s -480 1314(be)m 762(silent)s 1279(ly)s 1519(ig)s 1698(nored;)s +480 1631(be)m 762(silent)s 1279(ly)s 1519(ig)s 1698(nored;)s 2355(the)s 2703(client)s 3293(will)s 3719(see)s 4080(its)s 4356(ends)s 4846(of)s 5117(the)s 5465(de)s 5687(scrip)s 6144(tors)s 6553(be)s 6775(ing)s 7134(closed)s 7803(im)s 8055(me)s 8343(di)s 8523(ate)s 8797(ly)s 15(.)k gsave -120 974 translate +120 1291 translate 0.6953 1.0000 scale 240 fnt31 0 -52(reject\211fd)m gsave 1440 0 translate @@ -4412,8 +4354,15 @@ gsave grestore grestore -0 52(User)m 511(service)s 1243(daemon)s 2058(and)s 2462(client)s -3052(speci\207cation)s 8652(0.62)s +480 997(Do)m 824(not)s 1187(allo)s 6(w)k 1764(the)s +2109(descriptor\(s\))s 3362(to)s 3598(be)s 3878(speci\207ed)s 4783(by)s +5075(the)s 5420(client.)s 6052(It)s 6254(is)s 6462(an)s +6742(error)s 7263(if)s 7477(an)s 3(y)k 7871(descriptor\(s\))s +480 757(mark)m 2(ed)k 1253(for)s 1591(rejection)s 2483(are)s +2830(speci\207ed)s 3738(when)s 4314(the)s 4662(service)s 5394(is)s +5604(about)s 6196(to)s 6435(be)s 6717(in)s 9(v)k 4(ok)k 2(ed)k +7532(\(after)s 8107(the)s 0 52(0.64.1)m 4809(User)s 5320(service)s +6052(daemon)s 6867(and)s 7271(client)s 7861(speci\207cation)s grestore grestore @@ -4421,7 +4370,7 @@ grestore pgsave restore showpage -%%Page: 16 16 +%%Page: 15 15 %%BeginPageSetup %%PageResources: font Times-Roman %%+ font Times-Bold @@ -4450,135 +4399,127 @@ gsave 1417 -15423 translate 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic gsave -0 LoutMargSet +1 LoutMargSet grestore -240 fnt84 0 13842(16)m 240 fnt82 480 13251(Do)m 824(not)s -1187(allo)s 6(w)k 1764(the)s 2109(descriptor\(s\))s 3362(to)s -3598(be)s 3878(speci\207ed)s 4783(by)s 5075(the)s 5420(client.)s -6052(It)s 6254(is)s 6462(an)s 6742(error)s 7263(if)s -7477(an)s 3(y)k 7871(descriptor\(s\))s 480 13011(mark)m 2(ed)k -1253(for)s 1591(rejection)s 2483(are)s 2830(speci\207ed)s 3738(when)s -4314(the)s 4662(service)s 5394(is)s 5604(about)s 6196(to)s -6435(be)s 6717(in)s 9(v)k 4(ok)k 2(ed)k -7532(\(after)s 8107(the)s 480 12771(con\207guration)m 1813(has)s 2183(been)s -2692(parsed\).)s gsave -120 12431 translate +240 fnt84 8833 13842(15)m 240 fnt82 480 13252(con\207guration)m 1813(has)s +2183(been)s 2692(parsed\).)s gsave +120 12912 translate 0.6953 1.0000 scale 240 fnt31 0 -52(ignore\211fd)m gsave 1440 0 translate 1.4219 1.0000 scale -240 fnt83 0 -52(fd\211r)m 3(ang)k 2(e)k - +240 fnt83 +0 -52(fd\211r)m 3(ang)k 2(e)k grestore grestore -480 12137(Silent)m 1037(ly)s 1260(ig)s 1439(nore)s 1902(an)s 3(y)k -2281(spec)s 2699(i)s 2759(\207)s 2884(ca)s 3096(tion)s -3507(by)s 3783(the)s 4113(client)s 4685(of)s 4938(those)s -5481(de)s 5703(scrip)s 6160(tor\(s\).)s 6762(The)s 7172(pipes)s -7710(cor)s 8015(re)s 8196(spond)s 8767(ing)s 480 11897(to)m -719(these)s 1266(de)s 1488(scrip)s 1945(tors)s 2354(will)s -2780(be)s 3062(closed)s 3731(just)s 4136(be)s 4358(fore)s -4798(the)s 5146(ser)s 5424(vice)s 5878(is)s 6088(in)s -6271(v)s 4(ok)k 2(ed.)k gsave -120 11557 translate +480 12618(Silent)m 1037(ly)s +1260(ig)s 1439(nore)s 1902(an)s 3(y)k 2281(spec)s +2699(i)s 2759(\207)s 2884(ca)s 3096(tion)s 3507(by)s +3783(the)s 4113(client)s 4685(of)s 4938(those)s 5481(de)s +5703(scrip)s 6160(tor\(s\).)s 6762(The)s 7172(pipes)s 7710(cor)s +8015(re)s 8196(spond)s 8767(ing)s 480 12378(to)m 719(these)s +1266(de)s 1488(scrip)s 1945(tors)s 2354(will)s 2780(be)s +3062(closed)s 3731(just)s 4136(be)s 4358(fore)s 4798(the)s +5146(ser)s 5424(vice)s 5878(is)s 6088(in)s 6271(v)s 4(ok)k 2(ed.)k +gsave +120 12038 translate 0.6953 1.0000 scale -240 fnt31 0 -52(disconnect\211hup)m - +240 fnt31 0 -52(disconnect\211hup)m grestore gsave -120 11317 translate +120 11798 translate 0.6953 1.0000 scale 240 fnt31 0 -52(no\211disconnect\211hup)m grestore -480 11023(Caus)m 950(es)s 1200(the)s -1548(ser)s 1826(vice')s 13(s)k 2434(pro)s 2746(cess)s -3195(group)s 3807(to)s 4046(get)s 4398(a)s gsave -4564 11077 translate +480 11504(Caus)m +950(es)s 1200(the)s 1548(ser)s 1826(vice')s 13(s)k +2434(pro)s 2746(cess)s 3195(group)s 3807(to)s 4046(get)s +4398(a)s gsave +4564 11558 translate 0.6953 1.0000 scale -240 fnt31 -0 -52(SIGHUP)m +240 fnt31 0 -52(SIGHUP)m grestore -5224(if)s 5441(the)s 5789(client)s 6379(dis)s -6649(con)s 6992(nects)s 7534(be)s 7756(fore)s 8196(the)s -8544(main)s 480 10783(ser)m 758(vice)s 1209(pro)s 1521(cess)s -1966(ter)s 2217(mi)s 2463(nates.)s gsave -3055 10837 translate +5224(if)s 5441(the)s +5789(client)s 6379(dis)s 6649(con)s 6992(nects)s 7534(be)s +7756(fore)s 8196(the)s 8544(main)s 480 11264(ser)m 758(vice)s +1209(pro)s 1521(cess)s 1966(ter)s 2217(mi)s 2463(nates.)s +gsave +3055 11318 translate 0.6953 1.0000 scale -240 fnt31 0 -52(no\211disconnect\211hup)m - +240 fnt31 0 -52(no\211disconnect\211hup)m grestore 4813(can)s 5142(cels)s gsave -5560 10837 translate +5560 11318 translate 0.6953 1.0000 scale -240 fnt31 0 -52(disconnect\211hup)m -grestore -6961(.)s -7122(If)s 7348(one)s 7747(of)s 8014(the)s 8358(read)s -8767(ing)s 480 10543(de)m 702(scrip)s 1159(tors)s 1568(spec)s -1986(i)s 2046(\207ed)s 2463(when)s 3039(the)s 3387(client)s -3977(is)s 4187(called)s 4815(gets)s 5251(a)s 5417(read)s -5886(er)s 6071(ror)s 9(,)k 6447(or)s 6706(if)s -6923(the)s 7271(ser)s 7549(vice)s 8003(is)s 8213(dis)s -8483(con)s 8826(-)s 480 10302(nect)m 878(ed)s 1162(for)s -1500(some)s 2061(oth)s 2364(er)s 2609(rea)s 2900(son,)s -3340(then)s 3809(the)s gsave -4157 10356 translate +240 fnt31 +0 -52(disconnect\211hup)m +grestore +6961(.)s 7122(If)s 7348(one)s 7747(of)s +8014(the)s 8358(read)s 8767(ing)s 480 11024(de)m 702(scrip)s +1159(tors)s 1568(spec)s 1986(i)s 2046(\207ed)s 2463(when)s +3039(the)s 3387(client)s 3977(is)s 4187(called)s 4815(gets)s +5251(a)s 5417(read)s 5886(er)s 6071(ror)s 9(,)k +6447(or)s 6706(if)s 6923(the)s 7271(ser)s 7549(vice)s +8003(is)s 8213(dis)s 8483(con)s 8826(-)s 480 10783(nect)m +878(ed)s 1162(for)s 1500(some)s 2061(oth)s 2364(er)s +2609(rea)s 2900(son,)s 3340(then)s 3809(the)s gsave +4157 10837 translate 0.6953 1.0000 scale -240 fnt31 0 -52(SIGHUP)m +240 fnt31 +0 -52(SIGHUP)m grestore -4817(will)s -5243(be)s 5525(de)s 5747(li)s 6(v)k 5988(ered)s -240 fnt83 6457 10304(be)m 6676(for)s 8(e)k 240 fnt82 -7106 10302(the)m 7454(writ)s 7838(ing)s 8197(end\(s\))s 8843(of)s -480 10062(the)m 818(ser)s 1096(vice')s 13(s)k 1694(read)s -2103(ing)s 2452(pipe\(s\))s 3154(are)s 3491(closed,)s 4199(so)s -4455(that)s 4863(the)s 5201(client)s 5781(can)s 6160(dis)s -6430(tin)s 6679(guish)s 7245(dis)s 7515(con)s 7858(nec)s -8183(tion)s 8602(from)s 480 9822(read)m 889(ing)s 1248(EOF)s -1758(on)s 2055(a)s 2221(pipe.)s gsave -120 9482 translate +4817(will)s 5243(be)s 5525(de)s 5747(li)s 6(v)k +5988(ered)s 240 fnt83 6457 10785(be)m 6676(for)s 8(e)k +240 fnt82 7106 10783(the)m 7454(writ)s 7838(ing)s 8197(end\(s\))s +8843(of)s 480 10543(the)m 818(ser)s 1096(vice')s 13(s)k +1694(read)s 2103(ing)s 2452(pipe\(s\))s 3154(are)s 3491(closed,)s +4199(so)s 4455(that)s 4863(the)s 5201(client)s 5781(can)s +6160(dis)s 6430(tin)s 6679(guish)s 7245(dis)s 7515(con)s +7858(nec)s 8183(tion)s 8602(from)s 480 10303(read)m 889(ing)s +1248(EOF)s 1758(on)s 2055(a)s 2221(pipe.)s gsave +120 9963 translate 0.6953 1.0000 scale -240 fnt31 0 -52(reset)m - +240 fnt31 +0 -52(reset)m grestore -480 9188(Resets)m 1155(the)s 1503(e)s 3(x)k 3(ecution)k +480 9669(Resets)m 1155(the)s 1503(e)s 3(x)k 3(ecution)k 2484(settings)s 3265(to)s 3504(the)s 3852(def)s 2(ault.)k 4617(This)s 5093(is)s 5303(equi)s 6(v)k 6(alent)k 6347(to:)s gsave -960 9002 translate +960 9483 translate 0.6953 1.0000 scale 240 fnt31 0 -52(cd)m 432(~/)s 0 -292(reject)m 0 -532(no\211set\211environment)m 0 -772(suppress\211args)m 0 -1012(allow\211fd)m 1296(0)s 1584(read)s 0 -1252(allow\211fd)m 1296(1\2112)s 1872(write)s 0 -1492(reject\211fd)m 1440(3\211)s 0 -1732(disconnect\211hup)m grestore -0 7025(If)m 230(no)s gsave -523 7079 translate +0 7506(If)m 230(no)s gsave +523 7560 translate 0.6953 1.0000 scale 240 fnt31 0 -52(execute)m grestore 1223(,)s gsave -1330 7079 translate +1330 7560 translate 0.6953 1.0000 scale 240 fnt31 0 -52(execute\211from\211path)m grestore 3032(,)s gsave -3139 7079 translate +3139 7560 translate 0.6953 1.0000 scale 240 fnt31 0 -52(execute\211from\211directory)m grestore 5401(or)s gsave -5660 7079 translate +5660 7560 translate 0.6953 1.0000 scale 240 fnt31 0 -52(builtin)m grestore 6420(is)s -6630(interpreted)s 7722(before)s 8388(all)s 8681(the)s 0 6785(\207les)m +6630(interpreted)s 7722(before)s 8388(all)s 8681(the)s 0 7266(\207les)m 449(are)s 796(read)s 1265(then)s 1734(the)s 2082(request)s -2832(is)s 3042(rejected.)s 9066 670 0 670 240 240 60 0 5761 LoutGr2 +2832(is)s 3042(rejected.)s 9066 670 0 670 240 240 60 0 6242 LoutGr2 newpath 0 ysize 0.3 ft sub moveto xsize 0 rlineto 0 0.1 ft rlineto @@ -4588,35 +4529,35 @@ grestore 320 fnt84 0 66(4.3.)m 628(Err)s 5(ors)k 1618(in)s 1958(the)s 2458(con\207guration)s 4359(\207le)s grestore -0 5299(If)m +0 5780(If)m 230(a)s 396(syntax)s 1076(error)s 1599(or)s 1858(other)s 2409(problem)s 3266(occurs)s 3941(when)s 4517(processing)s 5593(a)s 5759(con\207guration)s 7092(\207le)s 7453(then)s 7922(a)s 8088(diagnostic)s -0 5059(will)m 422(be)s 699(issued,)s 1399(to)s 1633(where)s 6(v)k 3(er)k +0 5540(will)m 422(be)s 699(issued,)s 1399(to)s 1633(where)s 6(v)k 3(er)k 2568(the)s 2911(error)s 3429(messages)s 4378(are)s 4721(currently)s 5632(being)s 6212(sent)s 6652(\(see)s 7087(the)s gsave -7430 5113 translate +7430 5594 translate 0.6953 1.0000 scale 240 fnt31 0 -52(errors\211)m grestore -8185(f)s 2(amily)k 8855(of)s 0 4819(directi)m 6(v)k 3(es,)k -1026(abo)s 3(v)k 3(e\).)k 0 4411(The)m 428(error)s +8185(f)s 2(amily)k 8855(of)s 0 5300(directi)m 6(v)k 3(es,)k +1026(abo)s 3(v)k 3(e\).)k 0 4892(The)m 428(error)s 951(will)s 1377(cause)s 1964(processing)s 3040(of)s 3311(the)s 3659(con\207guration)s 4992(\207les)s 5441(to)s 5680(cease)s 6253(at)s 6485(that)s 6903(point,)s 7502(unless)s 8151(the)s 8499(error)s -0 4171(w)m 2(as)k 421(inside)s 1048(a)s gsave -1214 4225 translate +0 4652(w)m 2(as)k 421(inside)s 1048(a)s gsave +1214 4706 translate 0.6953 1.0000 scale 240 fnt31 0 -52(catch\211quit)m grestore 2275(construct.)s 3255(In)s 3511(this)s 3907(case)s 4374(the)s 4722(settings)s 5503(controlling)s 6605(the)s 6953(program')s 13(s)k -7973(e)s 3(x)k 3(ecution)k 0 3931(will)m 426(be)s +7973(e)s 3(x)k 3(ecution)k 0 4412(will)m 426(be)s 708(reset)s 1218(to)s 1457(the)s 1805(def)s 2(aults)k 2610(as)s 2860(if)s 3077(a)s gsave -3243 3985 translate +3243 4466 translate 0.6953 1.0000 scale 240 fnt31 0 -52(reset)m @@ -4624,11 +4565,11 @@ grestore 3803(directi)s 6(v)k 3(e)k 4685(had)s 5089(been)s 5598(issued,)s 6303(and)s 6707(parsing)s 7464(continues)s 8432(after)s gsave -0 3745 translate +0 4226 translate 0.6953 1.0000 scale 240 fnt31 0 -52(hctac)m grestore -500 3691(.)m 9066 609 0 609 240 240 60 0 2728 LoutGr2 +500 4172(.)m 9066 609 0 609 240 240 60 0 3209 LoutGr2 newpath 0 ysize 0.3 ft sub moveto xsize 0 rlineto 0 0.1 ft rlineto @@ -4638,12 +4579,12 @@ grestore 320 fnt84 0 5(4.4.)m 628(Defaults)s grestore -0 2266(The)m 428(def)s 2(ault)k 1149(con\207guration)s +0 2747(The)m 428(def)s 2(ault)k 1149(con\207guration)s 2482(processing)s 3558(is)s 3768(as)s 4018(if)s 4235(the)s 4583(daemon)s 5398(were)s 5918(parsing)s 6675(an)s 6958(o)s 3(v)k 3(erall)k -7670(con\207guration)s 0 2026(\207le)m 361(whose)s 1029(contents)s 1877(were)s -2397(as)s 2647(follo)s 6(ws:)k 0 52(0.62)m 4809(User)s -5320(service)s 6052(daemon)s 6867(and)s 7271(client)s 7861(speci\207cation)s +7670(con\207guration)s 0 2507(\207le)m 361(whose)s 1029(contents)s 1877(were)s +2397(as)s 2647(follo)s 6(ws:)k 0 52(User)m 511(service)s +1243(daemon)s 2058(and)s 2462(client)s 3052(speci\207cation)s 8491(0.64.1)s grestore @@ -4652,7 +4593,7 @@ grestore pgsave restore showpage -%%Page: 17 17 +%%Page: 16 16 %%BeginPageSetup %%PageResources: font Times-Roman %%+ font Times-Bold @@ -4681,10 +4622,10 @@ gsave 1417 -15423 translate 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic gsave -1 LoutMargSet +0 LoutMargSet grestore -240 fnt84 8831 13842(17)m gsave -480 13335 translate +240 fnt84 0 13842(16)m gsave +480 13332 translate 0.6953 1.0000 scale 240 fnt31 0 -52(reset)m 0 -292(user\211rcfile)m 1728(~/.userv/rc)s 0 -532(errors\211to\211stderr)m 0 -772(include)m 1152(/etc/userv/system.default)s 0 -1012(if)m @@ -4699,9 +4640,9 @@ grestore 720 -1972(hctac)m 432 -2212(srorre)m 0 -2452(fi)m 0 -2692(include)m 1152(/etc/userv/system.override)s 0 -2932(quit)m grestore -240 fnt82 0 9859(If)m +240 fnt82 0 9856(If)m 226(one)s 624(of)s 891(the)s gsave -1235 9913 translate +1235 9910 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211\211override)m @@ -4709,9 +4650,9 @@ grestore 2292(options)s 3044(to)s 3279(the)s 3623(client)s 4209(is)s 4415(used)s 4908(then)s 5373(it)s 5561(will)s 5983(instead)s 6714(be)s 6992(as)s 7238(if)s 7451(the)s 7795(daemon)s -8606(were)s 0 9619(parsing)m 757(an)s 1040(o)s 3(v)k 3(erall)k +8606(were)s 0 9616(parsing)m 757(an)s 1040(o)s 3(v)k 3(erall)k 1752(con\207guration)s 3085(as)s 3335(follo)s 6(ws:)k gsave -480 9433 translate +480 9430 translate 0.6953 1.0000 scale 240 fnt31 0 -52(reset)m 0 -292(errors\211to\211stderr)m 0 -532(include)m gsave @@ -4723,8 +4664,8 @@ grestore grestore 0 -772(quit)m grestore -0 52(User)m 511(service)s -1243(daemon)s 2058(and)s 2462(client)s 3052(speci\207cation)s 8652(0.62)s +0 52(0.64.1)m 4809(User)s +5320(service)s 6052(daemon)s 6867(and)s 7271(client)s 7861(speci\207cation)s grestore @@ -4733,7 +4674,7 @@ grestore pgsave restore showpage -%%Page: 18 18 +%%Page: 17 17 %%BeginPageSetup %%PageResources: font Times-Roman %%+ font Times-Bold @@ -4761,10 +4702,10 @@ gsave 1417 -15423 translate 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic gsave -0 LoutMargSet +1 LoutMargSet grestore -240 fnt84 0 13842(18)m gsave -0 12726 translate +240 fnt84 8831 13842(17)m gsave +0 12729 translate 240 fnt82 9066 688 0 688 240 240 60 LoutGraphic gsave newpath 0 ysize 0.3 ft sub moveto @@ -4777,120 +4718,120 @@ grestore 2257(passed)s 3297(thr)s 6(ough)k 4539(the)s 5070(client/daemon)s 7185(combination)s grestore -240 fnt82 0 12264(The)m 428(information)s 1613(described)s +240 fnt82 0 12267(The)m 428(information)s 1613(described)s 2587(belo)s 6(w)k 3220(is)s 3430(the)s 3778(only)s 4258(information)s 5443(which)s 6085(passes)s 6747(between)s 7601(the)s -7949(caller)s 8538(and)s 0 12024(the)m 348(service.)s 0 11616(\213)m +7949(caller)s 8538(and)s 0 12027(the)m 348(service.)s 0 11619(\213)m 480(The)s 908(service)s 1640(name)s 2214(supplied)s 3083(by)s 3377(the)s 3725(caller)s 4314(is)s 4524(a)s 4(v)k 6(ailable)k 5432(in)s 5675(the)s 6023(con\207guration)s 7356(language)s 8276(for)s -480 11376(deciding)m 1343(whether)s 2158(and)s 2547(which)s 3175(service)s +480 11379(deciding)m 1343(whether)s 2158(and)s 2547(which)s 3175(service)s 3892(program)s 4747(to)s 4971(in)s 9(v)k 4(ok)k 2(e,)k 5701(in)s 5929(the)s gsave -6262 11430 translate +6262 11433 translate 0.6953 1.0000 scale 240 fnt31 0 -52(service)m grestore 7008(parameter)s 9(,)k -8045(and)s 8434(is)s 8629(used)s 480 11136(by)m 774(the)s +8045(and)s 8434(is)s 8629(used)s 480 11139(by)m 774(the)s gsave -1122 11190 translate +1122 11193 translate 0.6953 1.0000 scale 240 fnt31 0 -52(execute\211from\211directory)m grestore 3384(and)s gsave -3788 11190 translate +3788 11193 translate 0.6953 1.0000 scale 240 fnt31 0 -52(execute\211from\211path)m grestore 5550(con\207guration)s 6883(directi)s 6(v)k 3(es.)k 7906(It)s -8111(is)s 8321(usually)s 480 10896(used)m 977(to)s 1216(select)s +8111(is)s 8321(usually)s 480 10899(used)m 977(to)s 1216(select)s 1819(which)s 2461(service)s 3193(program)s 4063(to)s 4302(in)s 9(v)k 4(ok)k 2(e.)k 5043(It)s 5248(is)s 5458(also)s 5896(passed)s 6592(to)s -6831(the)s 7179(service)s 7911(program)s 8781(in)s 480 10656(the)m +6831(the)s 7179(service)s 7911(program)s 8781(in)s 480 10659(the)m gsave -828 10710 translate +828 10713 translate 0.6953 1.0000 scale 240 fnt31 0 -52(USERV_SERVICE)m grestore 2189(en)s 9(vironment)k 3449(v)s 6(ariable.)k -0 10225(\213)m 480(File)s 902(descriptors)s 1995(speci\207ed)s 2897(by)s +0 10228(\213)m 480(File)s 902(descriptors)s 1995(speci\207ed)s 2897(by)s 3185(the)s 3528(client)s 4112(and)s 4510(allo)s 6(wed)k 5313(according)s 6304(to)s 6537(the)s 6879(con\207guration)s 8206(language)s -480 9985(will)m 906(be)s 1188(connected.)s 2262(Each)s 2797(\207le)s +480 9988(will)m 906(be)s 1188(connected.)s 2262(Each)s 2797(\207le)s 3158(descriptor)s 4173(is)s 4383(opened)s 5133(for)s 5471(reading)s -6241(or)s 6500(writing.)s 7294(Communication)s 8893(is)s 480 9745(via)m +6241(or)s 6500(writing.)s 7294(Communication)s 8893(is)s 480 9748(via)m 832(pipes,)s 1444(one)s 1846(end)s 2250(of)s 2521(each)s 3016(pipe)s 3484(being)s 4069(open)s 4592(on)s 4889(the)s 5237(appropriate)s 6381(\207le)s 6742(descriptor)s 7757(in)s 8000(the)s -8348(service)s 480 9505(program)m 1347(\(when)s 1999(it)s 2188(is)s +8348(service)s 480 9508(program)m 1347(\(when)s 1999(it)s 2188(is)s 2394(in)s 9(v)k 4(ok)k 2(ed\))k 3276(and)s 3677(the)s 4022(other)s 4569(end)s 4970(being)s 5552(held)s 6019(by)s 6309(the)s 6654(client)s 7241(process,)s 8062(which)s -8700(will)s 480 9265(read)m 942(and)s 1339(write)s 1878(\207les)s +8700(will)s 480 9268(read)m 942(and)s 1339(write)s 1878(\207les)s 2320(it)s 2505(opens)s 3108(on)s 3398(behalf)s 4060(of)s 4324(its)s 4593(caller)s 5175(or)s 5427(\207le)s 5781(descriptors)s 6873(it)s 7058(is)s 7261(passed)s 7950(by)s 8237(its)s -8506(caller)s 13(.)k 480 9025(Data)m 991(may)s 1457(be)s +8506(caller)s 13(.)k 480 9028(Data)m 991(may)s 1457(be)s 1739(passed)s 2435(into)s 2860(the)s 3208(service)s 3940(through)s 4742(reading)s 5512(pipes)s 6068(and)s 6472(out)s 6838(of)s -7109(it)s 7301(through)s 8103(writing)s 480 8785(pipes.)m 1083(These)s +7109(it)s 7301(through)s 8103(writing)s 480 8788(pipes.)m 1083(These)s 1703(pipes)s 2252(can)s 2634(remain)s 3347(open)s 3864(only)s 4337(until)s 4823(the)s 5164(service)s 5889(and)s 6287(client)s 6870(ha)s 4(v)k 3(e)k 7364(terminated,)s 8485(or)s -8737(can)s 480 8545(be)m 762(made)s 1336(to)s 1575(stay)s +8737(can)s 480 8548(be)m 762(made)s 1336(to)s 1575(stay)s 2014(open)s 2537(after)s 3033(the)s 3381(client)s 3971(has)s 4341(terminated)s 5420(and)s 5824(\(if)s 6120(the)s 6468(service)s -7200(program)s 8070(forks\))s 8689(the)s 480 8305(main)m 998(service)s +7200(program)s 8070(forks\))s 8689(the)s 480 8308(main)m 998(service)s 1712(process)s 2462(has)s 2814(e)s 3(xited;)k 3489(the)s 3820(beha)s 4(viour)k 4815(is)s 5007(controlled)s 6016(by)s 6292(options)s 7031(passed)s 7709(to)s 7930(the)s 8260(client)s -8832(by)s 480 8065(its)m 751(caller)s 13(.)k 1426(The)s +8832(by)s 480 8068(its)m 751(caller)s 13(.)k 1426(The)s 1848(caller)s 2432(can)s 2816(arrange)s 3582(that)s 3995(a)s 4156(writing)s 4893(pipe)s 5356(be)s 5633(connected)s 6655(to)s 6889(a)s 7050(pipe)s 7512(or)s 7766(similar)s 8482(object)s -480 7825(and)m 884(cause)s 1471(attempts)s 2331(to)s 2570(write)s +480 7828(and)m 884(cause)s 1471(attempts)s 2331(to)s 2570(write)s 3116(to)s 3355(that)s 3773(descriptor)s 4788(by)s 5082(the)s 5430(service)s 6162(to)s 6401(generate)s 7266(a)s gsave -7432 7879 translate +7432 7882 translate 0.6953 1.0000 scale 240 fnt31 0 -52(SIGPIPE)m grestore 8192(\(or)s gsave -8530 7879 translate +8530 7882 translate 0.6953 1.0000 scale 240 fnt31 0 -52(EPIPE)m grestore -480 7585(if)m +480 7588(if)m gsave -684 7639 translate +684 7642 translate 0.6953 1.0000 scale 240 fnt31 0 -52(SIGPIPE)m grestore 1431(is)s 1628(caught)s 2313(or)s 2559(ignored\))s 3405(in)s 3635(the)s 3970(service.)s 4797(Lik)s 2(e)k 6(wise,)k 5759(the)s 6094(service)s 6813(can)s 7189(close)s 7722(\207ledescriptors)s -480 7345(speci\207ed)m 1373(for)s 1696(reading,)s 2505(which)s 3132(will)s +480 7348(speci\207ed)m 1373(for)s 1696(reading,)s 2505(which)s 3132(will)s 3543(cause)s 4115(the)s 4448(corresponding)s 5855(\207ledescriptors)s 7244(passed)s -7925(by)s 8204(the)s 8537(caller)s 480 7105(to)m 716(be)s +7925(by)s 8204(the)s 8537(caller)s 480 7108(to)m 716(be)s 995(closed,)s 1709(so)s 1972(that)s 2387(if)s 2600(these)s 3144(are)s 3488(pipes)s 4040(processes)s 5004(which)s 5643(write)s 6185(to)s 6421(them)s 6956(will)s 7378(recei)s 6(v)k 3(e)k gsave -8111 7159 translate +8111 7162 translate 0.6953 1.0000 scale 240 fnt31 0 -52(SIGPIPE)m grestore 8867(or)s gsave -480 6919 translate +480 6922 translate 0.6953 1.0000 scale 240 fnt31 0 -52(EPIPE)m grestore -980 6865(.)m 0 6460(\213)m 480(If)s gsave -706 6514 translate +980 6868(.)m 0 6463(\213)m 480(If)s gsave +706 6517 translate 0.6953 1.0000 scale 240 fnt31 0 -52(no\211suppress\211args)m @@ -4898,133 +4839,133 @@ grestore 2363(is)s 2568(set)s 2888(then)s 3353(ar)s 4(guments)k 4391(passed)s 5082(to)s 5316(the)s 5660(client)s 6245(by)s 6534(its)s 6805(caller)s 7390(will)s 7811(be)s 8088(passed)s -8779(on,)s 480 6220(v)m 3(erbatim,)k 1433(to)s 1672(the)s -2020(service.)s 0 5784(\213)m 480(F)s 3(a)k 716(tal)s +8779(on,)s 480 6223(v)m 3(erbatim,)k 1433(to)s 1672(the)s +2020(service.)s 0 5787(\213)m 480(F)s 3(a)k 716(tal)s 1009(sig)s 1281(nals)s 1717(and)s 2121(sys)s 2418(tem)s 2836(call)s 3235(f)s 2(ail)k 3545(ures)s 3994(e)s 3(x)k 4212(pe)s 4434(ri)s 4573(enced)s 5189(by)s 5483(the)s 5831(client)s 6421(will)s 6847(re)s 7028(sult)s 7433(in)s 7676(the)s 8024(dis)s 8294(con)s 8637(nec)s 8962(-)s -480 5544(tion)m 909(of)s 1180(the)s 1528(ser)s 1806(vice)s +480 5547(tion)m 909(of)s 1180(the)s 1528(ser)s 1806(vice)s 2260(from)s 2784(the)s 3132(client)s 3722(and)s 4126(pos)s 4450(si)s 4603(bly)s 4963(some)s 5524(of)s 5795(the)s 6143(com)s 6555(mu)s 6856(ni)s 7036(ca)s 7248(tion)s -7677(\207le)s 8038(de)s 8260(scrip)s 8717(tors)s 480 5304(de)m +7677(\207le)s 8038(de)s 8260(scrip)s 8717(tors)s 480 5307(de)m 702(scribed)s 1450(abo)s 3(v)k 3(e;)k 2128(if)s gsave -2345 5358 translate +2345 5361 translate 0.6953 1.0000 scale 240 fnt31 0 -52(disconnect\211hup)m grestore 3806(is)s 4016(set)s 4341(then)s 4810(the)s 5158(ser)s 5436(vice)s 5890(will)s 6316(also)s 6754(be)s 7036(sent)s 7481(a)s gsave -7647 5358 translate +7647 5361 translate 0.6953 1.0000 scale 240 fnt31 0 -52(SIGHUP)m grestore -8247(.)s 0 4868(\213)m 480(The)s 908(v)s 6(alue)k +8247(.)s 0 4871(\213)m 480(The)s 908(v)s 6(alue)k 1476(of)s 1747(the)s gsave -2095 4922 translate +2095 4925 translate 0.6953 1.0000 scale 240 fnt31 0 -52(LOGNAME)m grestore 2855(\(or)s gsave -3193 4922 translate +3193 4925 translate 0.6953 1.0000 scale 240 fnt31 0 -52(USER)m grestore 3593(\))s 3721(en)s 9(vironment)k 4981(v)s 6(ariable)k 5800(as)s 6050(passed)s 6746(to)s -6985(the)s 7333(client)s 7923(will)s 8349(be)s 480 4628(used)m +6985(the)s 7333(client)s 7923(will)s 8349(be)s 480 4631(used)m 977(as)s 1227(the)s 1575(login)s 2124(name)s 2698(of)s 2969(the)s 3317(calling)s 4020(user)s 4478(if)s 4695(the)s 5043(uid)s 5407(of)s 5678(the)s 6026(calling)s 6729(process)s -7497(matches)s 8331(the)s 8679(uid)s 480 4388(corresponding)m 1902(to)s +7497(matches)s 8331(the)s 8679(uid)s 480 4391(corresponding)m 1902(to)s 2141(that)s 2559(login)s 3108(name.)s 3730(Otherwise)s 4768(the)s 5116(calling)s 5819(uid')s 13(s)k 6335(passw)s 2(ord)k -7295(entry)s 7840(will)s 8266(be)s 8548(used)s 480 4148(to)m +7295(entry)s 7840(will)s 8266(be)s 8548(used)s 480 4151(to)m 708(determine)s 1708(the)s 2045(calling)s 2737(user')s 13(s)k 3334(login)s 3872(name.)s 4543(This)s 5007(login)s 5545(name)s 6108(and)s 6501(the)s 6838(calling)s 7530(uid)s 7883(are)s -8218(a)s 4(v)k 6(ailable)k 480 3908(in)m 723(the)s +8218(a)s 4(v)k 6(ailable)k 480 3911(in)m 723(the)s 1071(con\207guration)s 2404(language)s 3324(in)s 3567(the)s gsave -3915 3962 translate +3915 3965 translate 0.6953 1.0000 scale 240 fnt31 0 -52(calling\211user)m grestore 5176(parameter)s 6190(and)s 6594(are)s 6941(passed)s -7637(to)s 7876(the)s 8224(service)s 480 3668(program)m 1334(in)s +7637(to)s 7876(the)s 8224(service)s 480 3671(program)m 1334(in)s 1561(en)s 9(vironment)k 2805(v)s 6(ariables)k gsave -3696 3722 translate +3696 3725 translate 0.6953 1.0000 scale 240 fnt31 0 -52(USERV_USER)m grestore 4741(and)s gsave -5129 3722 translate +5129 3725 translate 0.6953 1.0000 scale 240 fnt31 0 -52(USERV_UID)m grestore 6030(.)s 6178(The)s 6590(shell)s 7080(corresponding)s 8486(to)s 8708(that)s -480 3428(login)m 1023(name)s 1591(\(according)s 2659(to)s 2892(the)s +480 3431(login)m 1023(name)s 1591(\(according)s 2659(to)s 2892(the)s 3233(passw)s 2(ord)k 4187(entry\))s 4799(is)s 5003(a)s 4(v)k 6(ailable)k 5904(as)s 6148(in)s 6384(the)s 6726(con\207guration)s 8052(language')s 13(s)k gsave -480 3242 translate +480 3245 translate 0.6953 1.0000 scale 240 fnt31 0 -52(calling\211user\211shell)m grestore -2342 3188(parameter)m 13(.)k 3447(If)s +2342 3191(parameter)m 13(.)k 3447(If)s 3677(no)s 3970(rele)s 6(v)k 6(ant)k 4787(passw)s 2(ord)k 5747(entry)s 6292(can)s 6681(be)s 6963(found)s 7580(then)s -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 -0 2542(\213)m 480(The)s 908(numeric)s 1744(v)s 6(alues)k +8049(no)s 8342(service)s 480 2951(will)m 906(be)s 1188(in)s 9(v)k 4(ok)k 2(ed.)k +0 2545(\213)m 480(The)s 908(numeric)s 1744(v)s 6(alues)k 2400(and)s 2804(te)s 3(xtual)k 3506(names)s 4168(for)s 4506(calling)s 5209(gid)s 5573(and)s 5977(supplementary)s 7439(group)s -8051(list)s 8402(are)s 480 2302(a)m 4(v)k 6(ailable)k +8051(list)s 8402(are)s 480 2305(a)m 4(v)k 6(ailable)k 1380(in)s 1615(the)s 1955(con\207guration)s 3280(language)s 4192(in)s 4427(the)s gsave -4766 2356 translate +4766 2359 translate 0.6953 1.0000 scale 240 fnt31 0 -52(calling\211group)m grestore 6119(parameter)s 7125(and)s -7521(are)s 7860(passed)s 8548(to)s 8778(the)s 480 2062(service)m +7521(are)s 7860(passed)s 8548(to)s 8778(the)s 480 2065(service)m 1212(in)s 1455(en)s 9(vironment)k 2715(v)s 6(ariables.)k 3735(If)s 3965(no)s 4258(name)s 4832(can)s 5221(be)s 5503(found)s 6120(for)s 6458(a)s 6624(numeric)s 7460(group)s -8072(to)s 8311(which)s 480 1822(the)m 828(calling)s 1531(process)s +8072(to)s 8311(which)s 480 1825(the)m 828(calling)s 1531(process)s 2299(belongs)s 3095(then)s 3564(no)s 3857(service)s 4589(will)s 5015(be)s 5297(in)s 9(v)k 4(ok)k 2(ed.)k -0 1367(\213)m 480(The)s 908(name)s 1482(of)s 1753(the)s +0 1370(\213)m 480(The)s 908(name)s 1482(of)s 1753(the)s 2101(current)s 2837(w)s 2(orking)k 3686(directory)s 4602(in)s 4845(which)s 5487(the)s 5835(client)s 6425(w)s 2(as)k 6846(in)s 9(v)k 4(ok)k 2(ed)k 7661(is)s -7871(passed,)s 8616(if)s 480 1127(a)m 4(v)k 6(ailable)k +7871(passed,)s 8616(if)s 480 1130(a)m 4(v)k 6(ailable)k 1388(and)s 1792(not)s 2158(hidden)s 2867(using)s gsave -3439 1181 translate +3439 1184 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211\211hidecwd)m grestore 4340(,)s 4447(to)s 4686(the)s 5034(service)s 5766(program)s 6636(in)s 6879(the)s gsave -7227 1181 translate +7227 1184 translate 0.6953 1.0000 scale 240 fnt31 0 -52(USERV_CWD)m grestore -8188(v)s 6(ariable.)k 480 887(This)m 946(grants)s 1570(no)s +8188(v)s 6(ariable.)k 480 890(This)m 946(grants)s 1570(no)s 1852(special)s 2560(access)s 3210(to)s 3438(that)s 3846(directory)s 4751(unless)s 5389(it)s 5571(is)s 5770(a)s 5925(subdirectory)s -7164(of)s 7424(a)s 7579(directory)s 8484(which)s 0 52(0.62)m -4809(User)s 5320(service)s 6052(daemon)s 6867(and)s 7271(client)s -7861(speci\207cation)s +7164(of)s 7424(a)s 7579(directory)s 8484(which)s 0 52(User)m +511(service)s 1243(daemon)s 2058(and)s 2462(client)s 3052(speci\207cation)s +8491(0.64.1)s grestore grestore @@ -5032,7 +4973,7 @@ grestore pgsave restore showpage -%%Page: 19 19 +%%Page: 18 18 %%BeginPageSetup %%PageResources: font Times-Roman %%+ font Times-Bold @@ -5061,9 +5002,9 @@ gsave 1417 -15423 translate 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic gsave -1 LoutMargSet +0 LoutMargSet grestore -240 fnt84 8832 13842(19)m 240 fnt82 480 13251(is)m 690(e)s 3(x)k 3(ecutable)k +240 fnt84 0 13842(18)m 240 fnt82 480 13251(is)m 690(e)s 3(x)k 3(ecutable)k 1762(\(searchable\))s 2977(b)s 4(ut)k 3339(not)s 3705(readable)s 4570(by)s 4864(the)s 5212(service)s 5944(user)s 13(.)k 0 12794(\213)m 480(Settings)s 1301(speci\207ed)s 2209(by)s 2503(the)s @@ -5120,8 +5061,8 @@ grestore 3323(security)s 4133(features;)s 5000(in)s 5243(this)s 5639(case)s 6106(other)s 6657(information)s 7842(may)s 8308(pass)s 480 11379(between)m 1334(the)s 1682(caller)s 2271(and)s 2675(the)s 3023(service.)s -0 52(User)m 511(service)s 1243(daemon)s 2058(and)s 2462(client)s -3052(speci\207cation)s 8652(0.62)s +0 52(0.64.1)m 4809(User)s 5320(service)s 6052(daemon)s 6867(and)s +7271(client)s 7861(speci\207cation)s grestore grestore @@ -5129,7 +5070,7 @@ grestore pgsave restore showpage -%%Page: 20 20 +%%Page: 19 19 %%BeginPageSetup %%PageResources: font Times-Roman %%+ font Times-Bold @@ -5158,9 +5099,9 @@ gsave 1417 -15423 translate 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic gsave -0 LoutMargSet +1 LoutMargSet grestore -240 fnt84 0 13842(20)m gsave +240 fnt84 8832 13842(19)m gsave 0 12727 translate 240 fnt82 9066 687 0 687 240 240 60 LoutGraphic gsave @@ -5416,8 +5357,8 @@ grestore 1287(daemon')s 13(s)k 2255(queues,)s 3027(and)s 3431(the)s 3779(daemon)s 4594(w)s 2(ould)k 5249(read)s 5718(the)s 6066(\207le)s 6427(later)s 6910(when)s 7486(it)s 7678(felt)s -8055(lik)s 2(e)k 8467(it.)s 0 52(0.62)m 4809(User)s -5320(service)s 6052(daemon)s 6867(and)s 7271(client)s 7861(speci\207cation)s +8055(lik)s 2(e)k 8467(it.)s 0 52(User)m 511(service)s +1243(daemon)s 2058(and)s 2462(client)s 3052(speci\207cation)s 8491(0.64.1)s grestore @@ -5426,7 +5367,7 @@ grestore pgsave restore showpage -%%Page: 21 21 +%%Page: 20 20 %%BeginPageSetup %%PageResources: font Times-Roman %%+ font Times-Bold @@ -5455,105 +5396,105 @@ gsave 1417 -15423 translate 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic gsave -1 LoutMargSet +0 LoutMargSet grestore -240 fnt84 8839 13842(21)m 240 fnt82 0 13254(Ho)m 6(we)k 6(v)k 3(er)k 9(,)k +240 fnt84 0 13842(20)m 240 fnt82 0 13251(Ho)m 6(we)k 6(v)k 3(er)k 9(,)k 960(this)s 1356(w)s 2(ould)k 2011(allo)s 6(w)k 2590(the)s 2938(printer)s 3634(daemon)s 4449(to)s 4688(read)s 5157(an)s 3(y)k 5554(\207le)s 5915(on)s 6212(the)s -6560(system,)s 7331(whether)s 8161(or)s 8420(not)s 0 13014(someone)m +6560(system,)s 7331(whether)s 8161(or)s 8420(not)s 0 13011(someone)m 907(had)s 1311(ask)s 2(ed)k 1912(for)s 2250(it)s 2442(to)s 2681(be)s 2963(printed.)s 3744(Since)s 4331(man)s 3(y)k 4914(\207les)s 5363(will)s 5789(contain)s 6550(passw)s 2(ords)k -7596(and)s 8000(other)s 0 12774(security-critical)m 1551(information)s 2736(this)s +7596(and)s 8000(other)s 0 12771(security-critical)m 1551(information)s 2736(this)s 3132(is)s 3342(nearly)s 3993(as)s 4243(bad)s 4647(as)s 4897(gi)s 6(ving)k 5556(the)s 5904(daemon)s 6719(root)s -7164(access)s 7825(in)s 8068(the)s 8416(\207rst)s 0 12534(place.)m +7164(access)s 7825(in)s 8068(the)s 8416(\207rst)s 0 12531(place.)m 608(An)s 3(y)k 1072(security)s 1882(holes)s 2438(in)s 2681(the)s 3029(print)s 3540(serv)s 3(er)k 4180(which)s 4822(allo)s 6(w)k 5401(a)s 5567(user)s 6025(to)s 6264(e)s 3(x)k 3(ecute)k 7044(commands)s 8132(as)s 8382(the)s gsave -8730 12588 translate +8730 12585 translate 0.6953 1.0000 scale 240 fnt31 0 -52(lp)m grestore -0 12294(user)m 458(will)s +0 12291(user)m 458(will)s 884(gi)s 6(v)k 3(e)k 1343(the)s 1691(user)s 2149(the)s 2497(ability)s 3161(to)s 3400(read)s 3869(an)s 3(y)k -4266(\207le)s 4627(on)s 4924(the)s 5272(system.)s 0 11886(Instead,)m +4266(\207le)s 4627(on)s 4924(the)s 5272(system.)s 0 11883(Instead,)m 790(it)s 975(is)s 1178(necessary)s 2153(to)s 2385(k)s 2(eep)k 2881(a)s 3040(record)s 3700(of)s 3964(which)s 4599(\207les)s 5040(the)s 5381(daemon)s 6189(has)s 6552(been)s 7053(ask)s 2(ed)k -7647(to)s 7879(print)s 240 fnt83 8382 11888(outside)m 240 fnt82 -0 11646(the)m 348(control)s 1080(of)s 1351(the)s 1699(print)s +7647(to)s 7879(print)s 240 fnt83 8382 11885(outside)m 240 fnt82 +0 11643(the)m 348(control)s 1080(of)s 1351(the)s 1699(print)s 2210(daemon.)s 3072(This)s 3548(record)s 4216(could)s 4806(be)s 5088(k)s 2(ept)k 5558(by)s 5852(a)s 6018(ne)s 6(w)k -6465(root-pri)s 6(vile)k 3(ged)k 7947(component,)s 0 11406(b)m 4(ut)k +6465(root-pri)s 6(vile)k 3(ged)k 7947(component,)s 0 11403(b)m 4(ut)k 352(this)s 737(is)s 936(not)s 1291(necessary:)s 2315(the)s 2652(record)s 3309(of)s 3569(which)s 4200(\207les)s 4638(a)s 4794(user)s 5241(has)s 5600(ask)s 2(ed)k 6190(to)s 6418(be)s 6689(printed)s 7413(can)s 7791(be)s 8062(k)s 2(ept)k -8521(under)s 0 11166(the)m 348(control)s 1080(of)s 1351(the)s +8521(under)s 0 11163(the)m 348(control)s 1080(of)s 1351(the)s 1699(user)s 2157(in)s 2400(question.)s 3315(The)s 3743(submission)s 4877(program)s gsave -5747 11220 translate +5747 11217 translate 0.6953 1.0000 scale 240 fnt31 0 -52(lpr)m grestore 6107(will)s 6533(mak)s 2(e)k 7105(a)s 7271(record)s 7939(in)s 8182(an)s 8465(area)s -0 10926(under)m 605(the)s 953(user')s 13(s)k 1561(control)s +0 10923(under)m 605(the)s 953(user')s 13(s)k 1561(control)s 2293(before)s 2959(communicating)s 4500(with)s 4982(the)s 5330(print)s 5841(serv)s 3(er)k 9(,)k 6519(and)s 6923(the)s 7271(print)s 7782(serv)s 3(er)k 8422(w)s 2(ould)k -0 10686(be)m 279(gi)s 6(v)k 3(en)k 855(the)s +0 10683(be)m 279(gi)s 6(v)k 3(en)k 855(the)s 1199(ability)s 1859(to)s 2094(run)s 2466(a)s 2628(special)s 3342(\207le-reading)s 4493(program)s 5359(which)s 5997(w)s 2(ould)k 6648(only)s 7124(allo)s 6(w)k 7699(\207les)s 8144(to)s -8379(be)s 8657(read)s 0 10446(which)m 642(were)s 1162(listed)s +8379(be)s 8657(read)s 0 10443(which)m 642(were)s 1162(listed)s 1737(in)s 1980(the)s 2328(user')s 13(s)k 2936(\207le)s 3297(of)s 3568(things)s 4204(the)s 3(y')k 12(d)k -4858(ask)s 2(ed)k 5459(to)s 5698(print.)s 0 10038(No)m 6(w)k +4858(ask)s 2(ed)k 5459(to)s 5698(print.)s 0 10035(No)m 6(w)k 502(security)s 1300(holes)s 1844(in)s 2075(most)s 2588(of)s 2846(the)s 3182(printing)s 3980(system)s 4692(do)s 4973(not)s 5327(critically)s 6215(af)s 6(fect)k 6799(the)s 7135(security)s -7933(of)s 8192(the)s 8527(entire)s 0 9798(system:)m 770(the)s 3(y)k +7933(of)s 8192(the)s 8527(entire)s 0 9795(system:)m 770(the)s 3(y)k 1233(only)s 1713(allo)s 6(w)k 2292(the)s 2640(attack)s 2(er)k 3453(to)s 3692(read)s 4161(and)s 4565(interfere)s 5428(with)s 5910(print)s 6421(jobs.)s 6924(Bugs)s 7468(in)s 7711(the)s -8059(programs)s 0 9558(run)m 373(by)s 664(the)s 1009(print)s +8059(programs)s 0 9555(run)m 373(by)s 664(the)s 1009(print)s 1517(serv)s 3(er)k 2154(to)s 2390(read)s 2856(users')s 3456(\207les)s 3902(\(and)s 4382(to)s 4618(remo)s 3(v)k 3(e)k 5382(entries)s 6066(from)s 6587(the)s 6932(list)s 7280(of)s -7548(\207les)s 7994(when)s 8567(it)s 8756(has)s 0 9318(done)m +7548(\207les)s 7994(when)s 8567(it)s 8756(has)s 0 9315(done)m 522(with)s 1004(them\))s 1610(will)s 2036(still)s 2448(be)s 2730(serious,)s 3514(b)s 4(ut)k 3876(this)s 4272(program)s -5142(can)s 5531(be)s 5813(quite)s 6347(simple.)s 0 8910(Similar)m +5142(can)s 5531(be)s 5813(quite)s 6347(simple.)s 0 8907(Similar)m 762(considerations)s 2194(apply)s 2780(to)s 3019(man)s 3(y)k gsave -3602 8964 translate +3602 8961 translate 0.6953 1.0000 scale 240 fnt31 0 -52(userv)m grestore 4102(-based)s 4784(v)s 3(ersions)k 5629(of)s 5900(f)s 2(acilities)k 6769(which)s 7411(currently)s -8327(run)s 0 8670(as)m 250(root.)s 0 8262(It)m 198(is)s +8327(run)s 0 8667(as)m 250(root.)s 0 8259(It)m 198(is)s 401(debatable)s 1366(whether)s 2189(the)s 2530(user)s 4(-controlled)k 4023(state)s 4509(should)s 5199(be)s 5474(k)s 2(ept)k 5937(in)s 6173(the)s 6514(user')s 13(s)k 7115(\207lespace)s -8000(\(in)s 8315(dot\207les,)s 0 8022(say\))m 440(or)s 692(k)s 2(ept)k +8000(\(in)s 8315(dot\207les,)s 0 8019(say\))m 440(or)s 692(k)s 2(ept)k 1155(in)s 1391(a)s 1550(separate)s 2381(area)s 2831(set)s 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 6123(using)s 6688(the)s 7029(user')s 13(s)k 7630(home)s -8210(directory)s 0 7782(\(and)m 468(probably)s 1357(creating)s 2164(a)s +8210(directory)s 0 7779(\(and)m 468(probably)s 1357(creating)s 2164(a)s 2314(separate)s 3137(subdirectory)s 4370(of)s 4626(it)s 4802(as)s 5037(a)s 5187(dot\207le)s 5839(to)s 6062(contain)s 6808(man)s 3(y)k -7375(subsystems')s 8561(state\))s 0 7542(has)m 370(fe)s 6(wer)k +7375(subsystems')s 8561(state\))s 0 7539(has)m 370(fe)s 6(wer)k 967(implications)s 2199(for)s 2537(the)s 2885(rest)s 3289(of)s 3560(the)s 3908(system)s 4632(and)s 5036(mak)s 2(es)k 5696(it)s 5888(entirely)s 6671(clear)s 7194(where)s 7834(the)s -8182(security)s 0 7302(boundaries)m 1101(lie.)s 9066 670 0 670 240 240 60 0 6278 LoutGr2 +8182(security)s 0 7299(boundaries)m 1101(lie.)s 9066 670 0 670 240 240 60 0 6275 LoutGr2 newpath 0 ysize 0.3 ft sub moveto xsize 0 rlineto 0 0.1 ft rlineto @@ -5581,45 +5522,45 @@ grestore grestore gsave -0 5870 translate +0 5867 translate 0.6953 1.0000 scale 240 fnt31 0 -52(userv)m grestore -560 5816(is)m 770(not)s 1136(intended)s 2018(as)s +560 5813(is)m 770(not)s 1136(intended)s 2018(as)s 2268(a)s 2434(general-purpose)s 4030(system)s 4754(administration)s 6191(tool)s -6618(with)s 7100(which)s 7742(system)s 0 5576(administrators)m 1398(can)s +6618(with)s 7100(which)s 7742(system)s 0 5573(administrators)m 1398(can)s 1767(e)s 3(x)k 3(ecute)k 2528(pri)s 6(vile)k 3(ged)k 3526(programs)s 4461(when)s 5017(the)s 3(y)k 5461(need)s 5951(to.)s 6222(It)s 6407(is)s 6598(unsuitable)s 7617(for)s -7936(this)s 8312(purpose)s 0 5336(precisely)m 916(because)s 1729(it)s +7936(this)s 8312(purpose)s 0 5333(precisely)m 916(because)s 1729(it)s 1921(enforces)s 2781(a)s 2947(strong)s 3598(separation)s 4637(between)s 5491(the)s 5839(calling)s 6542(and)s 6946(the)s 7294(called)s -7922(program,)s 0 5096(which)m 642(is)s 852(undesirable)s 2010(in)s -2253(this)s 2649(conte)s 3(xt.)k 0 4688(Its)m 289(f)s 2(acilities)k +7922(program,)s 0 5093(which)m 642(is)s 852(undesirable)s 2010(in)s +2253(this)s 2649(conte)s 3(xt.)k 0 4685(Its)m 289(f)s 2(acilities)k 1158(for)s 1496(restricting)s 2516(acti)s 6(vities)k 3422(to)s 3661(running)s 4459(certain)s 5165(programs)s 6119(may)s 6585(at)s -6817(\207rst)s 7248(glance)s 7928(seem)s 8479(to)s 0 4420(pro)m 3(vide)k +6817(\207rst)s 7248(glance)s 7928(seem)s 8479(to)s 0 4417(pro)m 3(vide)k 769(similar)s 1476(functionality)s 2736(to)s gsave -2960 4474 translate +2960 4471 translate 0.6953 1.0000 scale 240 fnt31 0 -52(sudo)m grestore -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 +153 fnt82 3360 4506(1)m 240 fnt82 3420 4417(.)m 3509(Ho)s 6(we)k 6(v)k 3(er)k 9(,)k 4454(the)s 4787(separation)s 5811(mentioned)s 6864(abo)s 3(v)k 3(e)k -7471(is)s 7666(a)s 7817(problem)s 8659(here)s 0 4180(too,)m +7471(is)s 7666(a)s 7817(problem)s 8659(here)s 0 4177(too,)m 413(particular)s 1387(for)s 1725(interaction)s 2803(-)s 2931(it)s 3123(can)s 3512(be)s 3794(hard)s 4277(for)s 4615(a)s gsave -4781 4234 translate +4781 4231 translate 0.6953 1.0000 scale 240 fnt31 0 -52(userv)m grestore 5341(service)s 6073(program)s 6943(to)s -7182(interact)s 7957(with)s 8439(its)s 8714(real)s 0 3940(caller)m +7182(interact)s 7957(with)s 8439(its)s 8714(real)s 0 3937(caller)m 589(or)s 848(the)s 1196(user)s 1654(in)s 1897(question.)s -9066 670 0 670 240 240 60 0 2916 LoutGr2 +9066 670 0 670 240 240 60 0 2913 LoutGr2 newpath 0 ysize 0.3 ft sub moveto xsize 0 rlineto 0 0.1 ft rlineto @@ -5630,36 +5571,36 @@ grestore 2107(access)s 3013(to)s 3352(general-pur)s 3(pose)k 5640(utilities)s grestore -0 2454(Do)m 346(not)s 712(specify)s 1456(general)s 2214(purpose)s +0 2451(Do)m 346(not)s 712(specify)s 1456(general)s 2214(purpose)s 3028(programs)s 3982(lik)s 2(e)k gsave -4394 2508 translate +4394 2505 translate 0.6953 1.0000 scale 240 fnt31 0 -52(mv)m grestore 4654(or)s gsave -4913 2508 translate +4913 2505 translate 0.6953 1.0000 scale 240 fnt31 0 -52(cat)m grestore 5273(in)s gsave -5516 2508 translate +5516 2505 translate 0.6953 1.0000 scale 240 fnt31 0 -52(execute\211)m grestore 6377(directi)s 6(v)k 3(es)k 7347(without)s -8138(careful)s 0 2214(thought)m 792(about)s 1384(their)s 1881(ar)s 4(guments,)k +8138(careful)s 0 2211(thought)m 792(about)s 1384(their)s 1881(ar)s 4(guments,)k 2980(and)s 3384(certainly)s 4273(not)s 4639(if)s gsave -4856 2268 translate +4856 2265 translate 0.6953 1.0000 scale 240 fnt31 0 -52(no\211suppress\211args)m grestore 6518(is)s 6728(speci\207ed.)s 7682(If)s 7912(you)s -8327(do)s 8620(so)s 8886(it)s 0 1974(will)m 426(gi)s 6(v)k 3(e)k +8327(do)s 8620(so)s 8886(it)s 0 1971(will)m 426(gi)s 6(v)k 3(e)k 885(the)s 1233(caller)s 1822(much)s 2411(more)s 2958(pri)s 6(vilige)k -3817(than)s 4286(you)s 4701(probably)s 5606(intend.)s 0 1566(It)m +3817(than)s 4286(you)s 4701(probably)s 5606(intend.)s 0 1563(It)m 205(is)s 415(a)s 581(shame)s 1248(that)s 1666(I)s 1801(ha)s 4(v)k 3(e)k 2302(to)s 2541(say)s 2914(this)s 3310(here,)s 3828(b)s 4(ut)k 4190(ine)s 3(xperienced)k @@ -5680,8 +5621,8 @@ grestore 3723(certain)s 4289(programs)s 5052(as)s 5252(root,)s 5646(according)s 6444(to)s 6636(con\207guration)s 7703(\207les)s 8062(speci\207ed)s 8789(by)s 0 683(the)m 279(system)s 858(administrator)s 10(.)k 240 fnt82 -0 52(User)m 511(service)s 1243(daemon)s 2058(and)s 2462(client)s -3052(speci\207cation)s 8652(0.62)s +0 52(0.64.1)m 4809(User)s 5320(service)s 6052(daemon)s 6867(and)s +7271(client)s 7861(speci\207cation)s grestore grestore @@ -5689,7 +5630,7 @@ grestore pgsave restore showpage -%%Page: 22 22 +%%Page: 21 21 %%BeginPageSetup %%PageResources: font Times-Roman %%+ font Times-Bold @@ -5717,17 +5658,17 @@ gsave 1417 -15423 translate 240 fnt82 0.0 0.0 0.0 setrgbcolor 9066 14006 0 14006 240 240 60 LoutGraphic gsave -0 LoutMargSet +1 LoutMargSet grestore -240 fnt84 0 13842(22)m 240 fnt82 0 13254(mistak)m 2(es)k +240 fnt84 8839 13842(21)m 240 fnt82 0 13254(mistak)m 2(es)k 885(with)s 1367(programs)s 2321(lik)s 2(e)k gsave 2733 13308 translate 0.6953 1.0000 scale 240 fnt31 0 -52(sudo)m grestore -3133(.)s 0 52(0.62)m 4809(User)s 5320(service)s -6052(daemon)s 6867(and)s 7271(client)s 7861(speci\207cation)s +3133(.)s 0 52(User)m 511(service)s 1243(daemon)s +2058(and)s 2462(client)s 3052(speci\207cation)s 8491(0.64.1)s grestore grestore @@ -5743,5 +5684,5 @@ showpage %%DocumentSuppliedResources: procset LoutStartUp %%+ procset LoutMarginNotes %%+ encoding vec2 -%%Pages: 22 +%%Pages: 21 %%EOF diff --git a/spec.sgml b/spec.sgml index 86d612e..8328bf3 100644 --- a/spec.sgml +++ b/spec.sgml @@ -3,7 +3,7 @@ User service daemon and client specification <author>Ian Jackson <email>ian@davenant.greenend.org.uk -<version>0.62</version> +<version>0.64.1</version> <abstract> This is a specification for a Unix system facility to allow one @@ -30,7 +30,7 @@ You should have received a copy of the GNU General Public License along with <prgn/userv/; if not, write to the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -<toc sect1> +<toc sect> <chapt id="intro">Introduction <p> @@ -954,14 +954,11 @@ to be parsed). <tag/<tt/help// <item> Displays a list of the understood builtin service names and arguments. - -<tag/<tt/shutdown// -<item> -Arranges for the <prgn/uservd/ to shut down. Available only when the -service user is root. This only affects new requests; it doesn't -terminate any currently-running requests </taglist> +In the future other builtin services may be defined which do more than +just print information. + <tag/<tt/set-environment// <tag/<tt/no-set-environment// <item>