+6218(,)s 6309(ha)s 4(v)k 3(e)k
+6793(not)s 7143(been)s 7635(designed)s 8528(to)s 8750(run)s
+0 13014(in)m 243(a)s 409(partially)s 1258(hostile)s 1951(en)s 9(vironment.)k
+gsave
+3255 13068 translate
+0.6953 1.0000 scale
+240 fnt31 0 -52(userv)m
+grestore
+3815(allo)s 6(ws)k 4484(these)s
+5031(programs)s 5985(to)s 6224(be)s 6506(run)s 6882(in)s
+7125(a)s 7291(safer)s 7814(en)s 9(vironment)k 0 12774(and)m
+404(should)s 1101(be)s 1383(used)s 1880(instead.)s 9066 671 0 671 240 240 60 0 11749 LoutGr2
+newpath 0 ysize 0.3 ft sub moveto
+xsize 0 rlineto
+0 0.1 ft rlineto
+xsize neg 0 rlineto
+closepath fill
+grestore
+320 fnt84
+0 66(6.6.)m 628(Err)s 5(or)k 1499(handling)s 2778(and)s
+3365(input)s 4170(str)s 5(eams)k 5301(\(eg)s 5784(stdin\))s
+
+grestore
+0 11287(When)m 610(the)s 938(service)s 1651(program)s 2501(is)s
+2692(reading)s 3442(from)s 3947(a)s 4093(\207le)s 4435(descriptor)s
+5430(connected)s 6439(to)s 6658(the)s 6987(calling)s 7670(side,)s
+8143(the)s 8471(fd)s 8708(that)s 0 11047(the)m 348(service)s
+1080(program)s 1950(refers)s 2543(to)s 2782(a)s 2948(pipe)s
+3416(set)s 3741(up)s 4034(by)s gsave
+4328 11101 translate
+0.6953 1.0000 scale
+240 fnt31 0 -52(userv)m
+
+grestore
+4888(and)s 5292(not)s 5658(to)s 5897(the)s 6245(same)s
+6792(object)s 7436(as)s 7686(w)s 2(as)k 8107(presented)s
+0 10807(by)m 294(the)s 642(caller)s 13(.)k 0 10399(Therefore)m
+988(if)s 1195(there)s 1718(is)s 1918(some)s 2469(kind)s
+2943(of)s 3205(error)s 3718(it)s 3900(is)s 4100(possible)s
+4930(for)s 5258(the)s 5597(service-side)s 6783(fd)s 7030(to)s
+7259(gi)s 6(v)k 3(e)k 7708(premature)s 8722(end)s
+0 10159(of)m 271(\207le.)s 680(If)s 910(it)s 1102(is)s
+1312(important)s 2301(to)s 2540(tell)s 2899(whether)s 3729(all)s
+4022(of)s 4293(the)s 4641(intended)s 5523(data)s 5981(has)s
+6351(been)s 6860(recei)s 6(v)k 3(ed)k 7718(by)s
+8012(the)s 8360(service)s 0 9919(program,)m 917(the)s 1265(datastream)s
+2359(must)s 2884(contain)s 3645(an)s 3928(e)s 3(xplicit)k
+4701(end-of-\207le)s 5765(indication)s 6778(of)s 7049(some)s 7610(kind.)s
+0 9511(F)m 3(or)k 385(e)s 3(xample,)k 1294(consider)s
+2159(a)s gsave
+2321 9565 translate
+0.6953 1.0000 scale
+240 fnt31 0 -52(userv)m
+grestore
+2876(service)s 3603(for)s
+3936(submitting)s 5008(a)s 5169(mail)s 5643(message,)s 6556(where)s
+7191(message)s 8052(is)s 8257(supplied)s 0 9271(on)m 297(the)s
+645(service')s 13(s)k 1531(stdin.)s 2100(Ho)s 6(we)k 6(v)k 3(er)k 9(,)k
+3060(if)s 3277(the)s 3625(calling)s 4328(process)s 5096(is)s
+5306(interrupted)s 6412(before)s 7078(it)s 7270(has)s 7640(written)s
+8373(all)s 8666(of)s 0 9031(the)m 347(message,)s 1262(the)s
+1608(service)s 2339(program)s 3207(will)s 3631(get)s 3982(EOF)s
+4490(on)s 4785(the)s 5132(message)s 5996(data.)s 6496(In)s
+6751(a)s 6915(nai)s 6(v)k 3(e)k 7478(arrangement)s
+8730(this)s 0 8791(w)m 2(ould)k 655(cause)s 1242(a)s
+1408(half-complete)s 2790(message)s 3656(to)s 3895(be)s 4177(sent.)s
+4666(T)s 19(o)k 4966(pre)s 6(v)k 3(ent)k
+5734(this,)s 6186(it)s 6378(is)s 6588(necessary)s 7571(to)s
+7810(adopt)s 8402(some)s 0 8551(kind)m 484(of)s 755(e)s 3(xplicit)k
+1528(end)s 1932(indication;)s 3000(for)s 3338(e)s 3(xample,)k
+4252(the)s 4600(end)s 5004(of)s 5275(the)s 5623(message)s
+6489(could)s 7079(be)s 7361(signalled)s 8282(by)s 8576(a)s
+8742(dot)s 0 8311(on)m 297(a)s 463(line)s 877(by)s
+1171(itself,)s 1754(and)s 2158(dots)s 2608(doubled,)s 3487(as)s
+3737(in)s 3980(SMTP)s 26(.)k 4683(Then)s 5232(the)s
+5580(service)s 6312(program)s 7182(w)s 2(ould)k 7837(kno)s 6(w)k
+8418(when)s 0 8071(the)m 348(entire)s 947(message)s 1813(had)s
+2217(been)s 2726(recei)s 6(v)k 3(ed,)k 3633(and)s
+4037(could)s 4627(a)s 4(v)k 4(oid)k 5209(queueing)s
+6140(incomplete)s 7258(messages.)s 9066 670 0 670 240 240 60 0 7047 LoutGr2
+newpath 0 ysize 0.3 ft sub moveto
+xsize 0 rlineto
+0 0.1 ft rlineto
+xsize neg 0 rlineto
+closepath fill
+grestore
+320 fnt84 0 66(6.7.)m 628(Don't)s
+1488(gi)s 3(v)k 3(e)k 2107(access)s 3013(to)s
+3352(general-pur)s 3(pose)k 5640(utilities)s
+grestore
+0 6585(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 6639 translate
+0.6953 1.0000 scale
+240 fnt31 0 -52(mv)m
+grestore
+4654(or)s gsave
+4913 6639 translate
+0.6953 1.0000 scale
+240 fnt31 0 -52(cat)m
+
+grestore
+5273(in)s gsave
+5516 6639 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 6345(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 6399 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 6105(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 5697(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
+5586(administrators)s 7003(ha)s 4(v)k 3(e)k 7504(made)s
+8078(similar)s 0 5457(mistak)m 2(es)k 885(with)s 1367(programs)s
+2321(lik)s 2(e)k gsave
+2733 5511 translate
+0.6953 1.0000 scale
+240 fnt31 0 -52(sudo)m
+grestore
+3133(.)s
+0 52(1.0.1)m 4809(User)s 5320(service)s 6052(daemon)s 6867(and)s
+7271(client)s 7861(speci\207cation)s