From: ian Date: Sat, 9 Oct 1999 18:45:57 +0000 (+0000) Subject: @@ -1,9 +1,11 @@ X-Git-Tag: debian_version_0_65_1 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=userv.git;a=commitdiff_plain;h=c7ad3b51358d0b7704e5670d973ad1a376caf4e1;hp=67ea27918bbc5d0ff497d13da2eab705f3a928e4 @@ -1,9 +1,11 @@ -userv (0.65.0) unstable; urgency=high +userv (0.65.1) unstable; urgency=high * Avoid accessing backup, auto-save files, etc, with include-lookup. Everything except a-z 0-9 - _ must now be prefixed by a colon. + * Allow \ to continue lines (and do sensible things with whitespace in + `message' and `error' directives). - -- Ian Jackson Sat, 9 Oct 1999 17:09:24 +0100 + -- Ian Jackson Sat, 9 Oct 1999 19:45:21 +0100 userv (0.64.1) unstable; urgency=low --- diff --git a/debian/changelog b/debian/changelog index 0ee5efe..d9d3e57 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,9 +1,11 @@ -userv (0.65.0) unstable; urgency=high +userv (0.65.1) unstable; urgency=high * Avoid accessing backup, auto-save files, etc, with include-lookup. Everything except a-z 0-9 - _ must now be prefixed by a colon. + * Allow \ to continue lines (and do sensible things with whitespace in + `message' and `error' directives). - -- Ian Jackson Sat, 9 Oct 1999 17:09:24 +0100 + -- Ian Jackson Sat, 9 Oct 1999 19:45:21 +0100 userv (0.64.1) unstable; urgency=low diff --git a/lexer.c b/lexer.c index 6d2c63d..3cf4406 100644 --- a/lexer.c +++ b/lexer.c @@ -285,73 +285,73 @@ static void yy_fatal_error YY_PROTO(( yyconst char msg[] )); *yy_cp = '\0'; \ yy_c_buf_p = yy_cp; -#define YY_NUM_RULES 104 -#define YY_END_OF_BUFFER 105 -static yyconst short int yy_accept[579] = +#define YY_NUM_RULES 105 +#define YY_END_OF_BUFFER 106 +static yyconst short int yy_accept[578] = { 0, - 0, 0, 105, 103, 97, 98, 90, 102, 100, 87, - 91, 88, 89, 94, 103, 103, 103, 103, 103, 103, - 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, - 103, 103, 103, 103, 103, 103, 92, 103, 97, 98, - 100, 102, 102, 101, 102, 100, 100, 99, 96, 94, - 103, 103, 103, 103, 19, 103, 103, 103, 103, 103, - 103, 103, 103, 103, 103, 37, 103, 103, 103, 103, - 32, 103, 103, 103, 103, 103, 103, 103, 103, 103, - 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, - 103, 103, 103, 103, 103, 103, 103, 101, 102, 102, - - 102, 102, 0, 102, 102, 95, 94, 103, 103, 103, - 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, - 103, 103, 31, 63, 103, 103, 103, 103, 103, 103, - 103, 103, 103, 103, 71, 103, 103, 103, 103, 103, - 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, - 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, - 103, 103, 103, 102, 102, 101, 0, 102, 102, 95, - 94, 103, 103, 103, 67, 103, 103, 64, 68, 103, - 103, 103, 35, 36, 103, 103, 103, 103, 40, 42, - 103, 51, 103, 103, 60, 70, 103, 72, 103, 73, - - 103, 103, 103, 103, 103, 103, 103, 30, 103, 85, - 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, - 103, 75, 76, 103, 62, 103, 102, 102, 0, 0, - 0, 102, 95, 94, 103, 65, 103, 103, 103, 103, - 103, 59, 103, 66, 103, 93, 103, 38, 103, 103, - 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, - 41, 103, 103, 49, 103, 103, 103, 103, 103, 103, - 103, 103, 103, 103, 103, 86, 102, 0, 0, 95, - 94, 103, 103, 103, 103, 103, 69, 103, 103, 103, - 103, 103, 103, 70, 77, 78, 79, 80, 81, 82, - - 83, 84, 103, 103, 103, 103, 61, 103, 103, 103, - 1, 103, 103, 103, 103, 103, 39, 103, 74, 103, - 103, 103, 103, 0, 95, 94, 103, 103, 103, 103, - 103, 103, 103, 103, 50, 103, 21, 26, 103, 103, - 103, 10, 103, 103, 103, 103, 103, 52, 103, 103, - 103, 103, 103, 45, 62, 95, 94, 103, 9, 67, - 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, - 103, 103, 47, 103, 103, 103, 103, 103, 48, 103, - 46, 103, 95, 103, 103, 103, 103, 103, 103, 103, - 103, 103, 103, 12, 103, 103, 103, 103, 103, 103, - - 44, 11, 103, 103, 103, 103, 103, 103, 95, 103, - 103, 103, 103, 103, 33, 103, 103, 103, 103, 103, - 103, 103, 103, 103, 103, 103, 103, 8, 103, 103, - 103, 103, 103, 103, 103, 103, 103, 103, 103, 43, - 34, 103, 103, 103, 103, 103, 103, 103, 103, 103, - 103, 103, 103, 103, 103, 20, 103, 103, 103, 103, - 53, 103, 103, 103, 103, 103, 103, 103, 103, 103, - 103, 103, 103, 103, 56, 103, 103, 103, 103, 103, - 54, 103, 103, 103, 103, 103, 103, 103, 103, 103, - 103, 103, 103, 103, 57, 103, 103, 15, 103, 103, - - 103, 103, 17, 7, 103, 103, 103, 103, 103, 103, - 103, 23, 103, 103, 103, 103, 103, 103, 103, 103, - 103, 103, 103, 4, 103, 103, 103, 22, 103, 103, - 103, 103, 103, 13, 103, 103, 103, 103, 5, 6, - 103, 103, 103, 103, 103, 103, 16, 103, 103, 103, - 103, 103, 103, 3, 25, 103, 18, 103, 103, 103, - 27, 103, 55, 103, 24, 14, 58, 103, 103, 103, - 103, 28, 103, 103, 103, 29, 2, 0 + 0, 0, 106, 104, 98, 99, 90, 103, 101, 87, + 91, 88, 89, 94, 105, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 92, 104, 98, + 99, 101, 0, 103, 103, 102, 103, 101, 101, 100, + 96, 94, 0, 97, 104, 104, 104, 104, 19, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 37, + 104, 104, 104, 104, 32, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + + 104, 102, 103, 103, 103, 0, 103, 103, 95, 94, + 97, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 31, 63, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 71, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 102, 0, 103, + 103, 95, 94, 104, 104, 104, 67, 104, 104, 64, + 68, 104, 104, 104, 35, 36, 104, 104, 104, 104, + 40, 42, 104, 51, 104, 104, 60, 70, 104, 72, + + 104, 73, 104, 104, 104, 104, 104, 104, 104, 30, + 104, 85, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 75, 76, 104, 62, 104, 0, 0, + 0, 103, 95, 94, 104, 65, 104, 104, 104, 104, + 104, 59, 104, 66, 104, 93, 104, 38, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 41, 104, 104, 49, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 86, 0, 0, 95, 94, + 104, 104, 104, 104, 104, 69, 104, 104, 104, 104, + 104, 104, 70, 77, 78, 79, 80, 81, 82, 83, + + 84, 104, 104, 104, 104, 61, 104, 104, 104, 1, + 104, 104, 104, 104, 104, 39, 104, 74, 104, 104, + 104, 104, 0, 95, 94, 104, 104, 104, 104, 104, + 104, 104, 104, 50, 104, 21, 26, 104, 104, 104, + 10, 104, 104, 104, 104, 104, 52, 104, 104, 104, + 104, 104, 45, 62, 95, 94, 104, 9, 67, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 47, 104, 104, 104, 104, 104, 48, 104, 46, + 104, 95, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 12, 104, 104, 104, 104, 104, 104, 44, + + 11, 104, 104, 104, 104, 104, 104, 95, 104, 104, + 104, 104, 104, 33, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 8, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 43, 34, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 20, 104, 104, 104, 104, 53, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 56, 104, 104, 104, 104, 104, 54, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 57, 104, 104, 15, 104, 104, 104, + + 104, 17, 7, 104, 104, 104, 104, 104, 104, 104, + 23, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 4, 104, 104, 104, 22, 104, 104, 104, + 104, 104, 13, 104, 104, 104, 104, 5, 6, 104, + 104, 104, 104, 104, 104, 16, 104, 104, 104, 104, + 104, 104, 3, 25, 104, 18, 104, 104, 104, 27, + 104, 55, 104, 24, 14, 58, 104, 104, 104, 104, + 28, 104, 104, 104, 29, 2, 0 } ; static yyconst int yy_ec[256] = @@ -390,368 +390,358 @@ static yyconst int yy_meta[52] = { 0, 1, 2, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 4, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 } ; -static yyconst short int yy_base[589] = +static yyconst short int yy_base[588] = { 0, - 0, 0, 924, 0, 50, 925, 0, 52, 56, 0, - 0, 0, 0, 64, 890, 19, 44, 37, 51, 889, - 25, 36, 64, 892, 34, 67, 62, 874, 894, 873, - 75, 74, 878, 65, 887, 72, 0, 0, 109, 925, - 912, 115, 104, 912, 138, 119, 910, 925, 174, 183, - 874, 69, 867, 24, 0, 85, 881, 883, 865, 92, - 878, 860, 875, 862, 874, 0, 863, 872, 856, 863, - 0, 860, 99, 855, 869, 853, 861, 850, 845, 101, - 855, 861, 90, 856, 850, 136, 104, 842, 847, 845, - 841, 843, 853, 854, 838, 837, 845, 0, 204, 875, - - 0, 131, 139, 251, 271, 289, 298, 849, 833, 835, - 841, 836, 844, 826, 831, 831, 822, 839, 835, 835, - 821, 829, 0, 822, 833, 833, 818, 832, 816, 816, - 818, 814, 814, 826, 0, 814, 806, 805, 121, 814, - 810, 803, 811, 818, 798, 810, 812, 810, 793, 808, - 791, 789, 822, 789, 790, 791, 794, 793, 786, 787, - 783, 787, 780, 307, 324, 925, 354, 390, 399, 417, - 426, 787, 778, 774, 780, 786, 786, 0, 0, 778, - 785, 776, 0, 0, 783, 771, 770, 766, 0, 0, - 783, 0, 767, 763, 0, 778, 770, 0, 780, 0, - - 771, 118, 776, 790, 759, 773, 762, 0, 769, 0, - 770, 763, 751, 752, 760, 763, 763, 748, 747, 749, - 758, 774, 0, 752, 751, 754, 435, 444, 134, 0, - 470, 206, 488, 497, 737, 0, 769, 738, 741, 766, - 739, 0, 738, 0, 736, 731, 729, 0, 743, 743, - 734, 506, 738, 725, 723, 726, 736, 734, 730, 733, - 0, 717, 718, 0, 726, 731, 719, 717, 726, 725, - 722, 706, 709, 711, 711, 0, 145, 0, 514, 532, - 541, 720, 717, 713, 714, 703, 0, 705, 704, 729, - 711, 727, 709, 0, 0, 0, 0, 0, 0, 0, - - 0, 0, 708, 709, 723, 694, 0, 705, 704, 687, - 718, 700, 684, 698, 680, 678, 0, 681, 0, 694, - 695, 683, 689, 160, 550, 559, 690, 690, 671, 704, - 670, 685, 676, 127, 700, 681, 698, 0, 670, 679, - 665, 0, 677, 676, 674, 691, 653, 689, 667, 661, - 655, 661, 666, 0, 0, 568, 683, 682, 0, 0, - 135, 660, 665, 662, 645, 650, 143, 660, 148, 649, - 648, 656, 0, 642, 655, 652, 182, 639, 0, 668, - 0, 646, 577, 185, 636, 634, 632, 631, 636, 630, - 660, 626, 628, 0, 636, 638, 628, 628, 619, 621, - - 0, 0, 635, 620, 618, 621, 634, 622, 0, 621, - 607, 612, 615, 624, 0, 640, 607, 618, 100, 616, - 609, 605, 617, 606, 615, 610, 599, 0, 602, 611, - 601, 596, 608, 603, 592, 605, 588, 590, 599, 0, - 0, 596, 165, 589, 584, 588, 557, 566, 573, 496, - 525, 449, 440, 444, 449, 0, 450, 451, 435, 436, - 456, 422, 387, 394, 358, 356, 387, 371, 364, 351, - 351, 355, 368, 352, 379, 361, 346, 350, 348, 374, - 0, 342, 344, 354, 353, 345, 347, 203, 335, 335, - 337, 354, 327, 322, 0, 320, 324, 0, 317, 322, - - 317, 326, 0, 0, 306, 297, 297, 301, 308, 293, - 287, 318, 263, 246, 251, 249, 236, 267, 248, 250, - 246, 232, 232, 0, 220, 217, 218, 0, 234, 213, - 228, 213, 226, 0, 227, 218, 220, 213, 0, 0, - 219, 215, 197, 209, 204, 204, 0, 205, 201, 208, - 205, 201, 209, 0, 0, 199, 0, 190, 197, 194, - 0, 180, 0, 171, 0, 0, 0, 180, 156, 143, - 145, 0, 133, 143, 123, 0, 0, 925, 598, 602, - 606, 610, 614, 618, 622, 626, 138, 67 + 0, 0, 869, 0, 50, 870, 0, 52, 56, 0, + 0, 0, 0, 68, 58, 835, 19, 49, 37, 56, + 834, 27, 38, 69, 837, 32, 72, 67, 819, 839, + 818, 80, 79, 823, 33, 832, 77, 0, 0, 111, + 870, 857, 113, 118, 113, 108, 141, 123, 856, 870, + 177, 186, 127, 125, 820, 103, 813, 101, 0, 114, + 827, 829, 811, 107, 824, 806, 821, 808, 820, 0, + 809, 818, 802, 809, 0, 806, 108, 801, 815, 799, + 807, 796, 791, 78, 801, 807, 126, 802, 796, 140, + 125, 788, 793, 791, 787, 789, 799, 800, 784, 783, + + 791, 0, 147, 0, 169, 128, 195, 212, 230, 239, + 164, 796, 780, 782, 788, 783, 791, 773, 778, 778, + 769, 786, 782, 782, 768, 776, 0, 769, 780, 780, + 765, 779, 763, 763, 765, 761, 761, 773, 0, 761, + 753, 752, 145, 761, 757, 750, 758, 765, 745, 757, + 759, 757, 740, 755, 738, 736, 769, 736, 737, 738, + 741, 740, 733, 734, 730, 734, 727, 870, 260, 296, + 305, 323, 332, 734, 725, 721, 727, 733, 733, 0, + 0, 725, 732, 723, 0, 0, 730, 718, 717, 713, + 0, 0, 730, 0, 714, 710, 0, 725, 717, 0, + + 727, 0, 718, 191, 723, 737, 706, 720, 709, 0, + 716, 0, 717, 710, 698, 699, 707, 710, 710, 695, + 694, 696, 705, 721, 0, 699, 698, 701, 173, 0, + 349, 260, 367, 376, 684, 0, 716, 685, 688, 713, + 686, 0, 685, 0, 683, 678, 676, 0, 690, 690, + 681, 385, 685, 672, 670, 673, 683, 681, 677, 680, + 0, 664, 665, 0, 673, 678, 666, 664, 673, 672, + 669, 653, 656, 658, 658, 0, 0, 393, 411, 420, + 667, 664, 660, 661, 650, 0, 652, 651, 676, 658, + 674, 656, 0, 0, 0, 0, 0, 0, 0, 0, + + 0, 655, 656, 670, 641, 0, 652, 651, 634, 665, + 647, 631, 645, 627, 625, 0, 628, 0, 641, 642, + 630, 636, 261, 429, 438, 637, 637, 618, 651, 617, + 632, 623, 138, 647, 628, 645, 0, 617, 626, 612, + 0, 624, 623, 621, 638, 600, 636, 614, 608, 602, + 608, 613, 0, 0, 447, 630, 629, 0, 0, 240, + 607, 612, 609, 592, 597, 154, 607, 236, 596, 595, + 603, 0, 589, 602, 599, 255, 586, 0, 615, 0, + 593, 456, 260, 583, 581, 579, 578, 583, 577, 607, + 573, 575, 0, 583, 585, 575, 575, 566, 568, 0, + + 0, 582, 567, 565, 568, 581, 569, 0, 568, 554, + 559, 562, 571, 0, 587, 554, 565, 258, 563, 556, + 552, 564, 553, 562, 557, 546, 0, 549, 558, 548, + 543, 555, 550, 539, 552, 535, 537, 546, 0, 0, + 544, 174, 540, 538, 545, 525, 537, 544, 528, 557, + 523, 525, 529, 534, 0, 535, 536, 520, 521, 548, + 514, 522, 529, 513, 511, 542, 526, 519, 506, 506, + 510, 523, 507, 534, 516, 501, 505, 503, 529, 0, + 497, 499, 509, 508, 500, 502, 262, 490, 490, 492, + 519, 492, 487, 0, 485, 489, 0, 482, 487, 482, + + 491, 0, 0, 480, 482, 482, 486, 493, 478, 472, + 503, 482, 476, 481, 479, 466, 496, 474, 473, 467, + 442, 449, 0, 437, 373, 374, 0, 348, 316, 331, + 316, 329, 0, 330, 323, 325, 293, 0, 0, 299, + 275, 257, 268, 259, 260, 0, 261, 257, 264, 261, + 257, 265, 0, 0, 255, 0, 245, 234, 230, 0, + 231, 0, 180, 0, 0, 0, 192, 192, 180, 153, + 0, 143, 148, 128, 0, 0, 870, 477, 481, 485, + 489, 493, 497, 501, 505, 99, 64 } ; -static yyconst short int yy_def[589] = +static yyconst short int yy_def[588] = { 0, - 578, 1, 578, 579, 578, 578, 579, 580, 581, 579, - 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, - 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, - 579, 579, 579, 579, 579, 579, 579, 579, 578, 578, - 582, 580, 583, 584, 580, 581, 582, 578, 579, 14, - 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, - 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, - 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, - 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, - 579, 579, 579, 579, 579, 579, 579, 585, 583, 584, - - 585, 585, 586, 584, 580, 579, 14, 579, 579, 579, - 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, - 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, - 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, - 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, - 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, - 579, 579, 579, 585, 583, 578, 586, 104, 105, 579, - 14, 579, 579, 579, 579, 579, 579, 579, 579, 579, - 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, - 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, - - 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, - 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, - 579, 579, 579, 579, 579, 579, 585, 165, 578, 587, - 586, 580, 579, 14, 579, 579, 579, 579, 579, 579, - 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, - 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, - 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, - 579, 579, 579, 579, 579, 579, 583, 588, 231, 579, - 14, 579, 579, 579, 579, 579, 579, 579, 579, 579, - 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, - - 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, - 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, - 579, 579, 579, 586, 579, 14, 579, 579, 579, 579, - 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, - 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, - 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, - 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, - 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, - 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, - 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, - - 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, - 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, - 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, - 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, - 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, - 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, - 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, - 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, - 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, - 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, - - 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, - 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, - 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, - 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, - 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, - 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, - 579, 579, 579, 579, 579, 579, 579, 579, 579, 579, - 579, 579, 579, 579, 579, 579, 579, 0, 578, 578, - 578, 578, 578, 578, 578, 578, 578, 578 - } ; + 577, 1, 577, 578, 577, 577, 578, 579, 580, 578, + 578, 578, 578, 578, 577, 578, 578, 578, 578, 578, + 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, + 578, 578, 578, 578, 578, 578, 578, 578, 578, 577, + 577, 581, 577, 579, 582, 583, 582, 580, 581, 577, + 578, 14, 577, 577, 578, 578, 578, 578, 578, 578, + 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, + 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, + 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, + 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, -static yyconst short int yy_nxt[977] = - { 0, - 4, 5, 6, 7, 8, 9, 10, 4, 11, 12, - 13, 4, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 4, 4, 15, 16, 4, 17, 18, 19, 20, - 21, 22, 23, 4, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34, 35, 36, 4, 4, 4, - 37, 39, 40, 43, 52, 41, 44, 47, 48, 112, - 67, 57, 69, 53, 70, 58, 68, 113, 54, 59, - 103, 55, 75, 76, 45, 49, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 56, 60, 61, 62, 63, - 79, 77, 64, 71, 72, 78, 96, 109, 65, 85, - - 80, 73, 87, 86, 110, 88, 81, 93, 98, 94, - 39, 40, 139, 97, 41, 89, 43, 114, 90, 44, - 47, 48, 91, 115, 119, 131, 99, 143, 132, 442, - 151, 144, 102, 103, 120, 229, 103, 45, 100, 102, - 103, 278, 443, 166, 140, 152, 255, 153, 201, 98, - 104, 104, 104, 104, 104, 104, 104, 104, 104, 100, - 147, 167, 256, 202, 166, 385, 365, 99, 392, 148, - 366, 577, 393, 576, 575, 395, 149, 574, 150, 386, - 396, 573, 167, 397, 572, 105, 106, 106, 106, 106, - 106, 106, 106, 106, 106, 107, 107, 107, 107, 107, - - 107, 107, 107, 107, 101, 102, 103, 43, 464, 571, - 44, 410, 404, 465, 570, 569, 164, 164, 164, 164, - 164, 164, 164, 164, 164, 101, 405, 411, 45, 412, - 508, 568, 567, 566, 565, 564, 563, 562, 561, 560, - 559, 558, 509, 557, 556, 555, 554, 553, 552, 551, - 550, 165, 101, 549, 548, 547, 546, 545, 544, 543, - 542, 541, 540, 168, 168, 168, 168, 168, 168, 168, - 168, 168, 43, 539, 538, 44, 537, 536, 535, 534, - 533, 532, 531, 169, 169, 169, 169, 169, 169, 169, - 169, 169, 169, 45, 530, 169, 169, 169, 169, 169, - - 169, 170, 170, 170, 170, 170, 170, 170, 170, 170, - 171, 171, 171, 171, 171, 171, 171, 171, 171, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 98, 529, - 528, 527, 526, 525, 524, 523, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 99, 522, 228, 228, - 228, 228, 228, 228, 578, 229, 103, 521, 520, 519, - 518, 517, 516, 515, 514, 513, 230, 230, 230, 230, - 230, 230, 230, 230, 230, 578, 512, 511, 510, 507, - 506, 505, 504, 503, 502, 501, 500, 499, 498, 497, - 496, 495, 494, 493, 492, 491, 490, 489, 488, 487, - - 486, 231, 42, 42, 42, 42, 42, 42, 42, 42, - 42, 232, 232, 232, 232, 232, 232, 232, 232, 232, - 232, 485, 484, 232, 232, 232, 232, 232, 232, 233, - 233, 233, 233, 233, 233, 233, 233, 233, 234, 234, - 234, 234, 234, 234, 234, 234, 234, 43, 43, 43, - 43, 43, 43, 43, 43, 43, 277, 277, 277, 277, - 277, 277, 277, 277, 277, 277, 483, 482, 277, 277, - 277, 277, 277, 277, 166, 481, 480, 479, 478, 477, - 476, 475, 279, 279, 279, 279, 279, 279, 279, 279, - 279, 279, 167, 474, 279, 279, 279, 279, 279, 279, - - 280, 280, 280, 280, 280, 280, 280, 280, 280, 281, - 281, 281, 281, 281, 281, 281, 281, 281, 295, 296, - 297, 298, 299, 300, 301, 302, 324, 324, 324, 324, - 324, 324, 324, 324, 324, 324, 473, 472, 324, 324, - 324, 324, 324, 324, 325, 325, 325, 325, 325, 325, - 325, 325, 325, 326, 326, 326, 326, 326, 326, 326, - 326, 326, 356, 356, 356, 356, 356, 356, 356, 356, - 356, 357, 357, 357, 357, 357, 357, 357, 357, 357, - 383, 383, 383, 383, 383, 383, 383, 383, 383, 409, - 409, 409, 409, 409, 409, 409, 409, 409, 38, 471, - - 470, 38, 42, 42, 469, 42, 46, 46, 46, 46, - 47, 47, 47, 47, 43, 43, 468, 43, 100, 100, - 467, 100, 101, 101, 466, 101, 103, 103, 463, 103, - 462, 461, 460, 459, 458, 457, 456, 455, 454, 453, - 452, 451, 450, 449, 448, 447, 446, 445, 444, 441, - 440, 439, 438, 437, 436, 435, 434, 433, 432, 431, - 430, 429, 428, 427, 426, 425, 424, 423, 422, 421, - 420, 419, 418, 417, 416, 415, 414, 413, 408, 407, - 406, 403, 402, 401, 400, 399, 398, 394, 391, 390, - 389, 388, 387, 384, 49, 382, 381, 380, 379, 378, - - 377, 360, 376, 375, 374, 373, 372, 371, 370, 369, - 368, 367, 364, 363, 362, 361, 360, 359, 358, 355, - 354, 353, 352, 351, 350, 349, 348, 347, 346, 345, - 344, 343, 342, 341, 340, 339, 338, 337, 336, 335, - 334, 333, 332, 331, 330, 329, 328, 327, 323, 322, - 321, 320, 319, 318, 317, 316, 315, 314, 313, 312, - 311, 310, 309, 308, 307, 306, 305, 304, 303, 294, - 293, 292, 291, 290, 289, 288, 287, 286, 285, 284, - 283, 282, 276, 275, 274, 273, 272, 271, 270, 269, - 268, 267, 266, 265, 264, 263, 262, 261, 260, 244, - - 259, 258, 257, 254, 253, 252, 251, 250, 249, 248, - 247, 246, 245, 244, 243, 242, 241, 240, 239, 238, - 237, 236, 235, 226, 225, 224, 223, 222, 221, 220, - 219, 218, 217, 216, 215, 214, 213, 212, 211, 210, - 209, 208, 207, 206, 205, 204, 203, 200, 199, 198, - 197, 196, 195, 194, 193, 192, 191, 190, 189, 188, - 187, 186, 185, 184, 183, 182, 181, 180, 179, 178, - 177, 176, 175, 174, 173, 172, 101, 163, 162, 161, - 160, 159, 158, 157, 156, 155, 154, 146, 145, 142, - 141, 138, 137, 136, 135, 134, 133, 130, 129, 128, - - 127, 126, 125, 124, 123, 122, 121, 118, 117, 116, - 111, 108, 48, 101, 48, 95, 92, 84, 83, 82, - 74, 66, 51, 578, 3, 578, 578, 578, 578, 578, + 578, 584, 583, 584, 584, 585, 584, 582, 578, 14, + 577, 578, 578, 578, 578, 578, 578, 578, 578, 578, + 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, + 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, + 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, + 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, + 578, 578, 578, 578, 578, 578, 578, 577, 585, 584, + 108, 578, 14, 578, 578, 578, 578, 578, 578, 578, + 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, + 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, + + 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, + 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, + 578, 578, 578, 578, 578, 578, 578, 578, 577, 586, + 585, 582, 578, 14, 578, 578, 578, 578, 578, 578, + 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, + 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, + 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, + 578, 578, 578, 578, 578, 578, 587, 231, 578, 14, + 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, + 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, + + 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, + 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, + 578, 578, 585, 578, 14, 578, 578, 578, 578, 578, + 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, + 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, + 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, + 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, + 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, + 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, + 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, + + 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, + 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, - 578, 578, 578, 578, 578, 578 + 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, + 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, + 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, + 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, + + 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, + 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, + 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, + 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, + 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, + 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, + 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, + 578, 578, 578, 578, 578, 578, 0, 577, 577, 577, + 577, 577, 577, 577, 577, 577, 577 } ; -static yyconst short int yy_chk[977] = +static yyconst short int yy_nxt[922] = + { 0, + 4, 5, 6, 7, 8, 9, 10, 4, 11, 12, + 13, 4, 14, 14, 14, 14, 14, 14, 14, 14, + 14, 4, 15, 16, 17, 4, 18, 19, 20, 21, + 22, 23, 24, 4, 25, 26, 27, 28, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 4, 4, 4, + 38, 40, 41, 45, 56, 42, 46, 49, 50, 53, + 54, 61, 71, 57, 73, 62, 74, 106, 72, 63, + 79, 80, 43, 58, 47, 97, 59, 98, 49, 51, + 52, 52, 52, 52, 52, 52, 52, 52, 52, 143, + 60, 64, 65, 66, 67, 83, 81, 68, 75, 76, + + 82, 100, 277, 69, 89, 84, 77, 91, 90, 104, + 92, 85, 40, 41, 53, 54, 42, 102, 101, 45, + 93, 144, 46, 94, 49, 50, 111, 95, 53, 54, + 104, 113, 168, 43, 135, 47, 116, 136, 114, 123, + 47, 104, 105, 106, 117, 49, 118, 43, 104, 124, + 169, 155, 119, 107, 107, 107, 107, 107, 107, 107, + 107, 107, 104, 147, 151, 111, 156, 148, 157, 104, + 105, 106, 203, 152, 229, 106, 576, 364, 575, 391, + 153, 365, 154, 392, 574, 573, 43, 204, 108, 109, + 109, 109, 109, 109, 109, 109, 109, 109, 110, 110, + + 110, 110, 110, 110, 110, 110, 110, 170, 170, 170, + 170, 170, 170, 170, 170, 170, 102, 463, 572, 255, + 571, 570, 464, 569, 171, 171, 171, 171, 171, 171, + 171, 171, 171, 171, 47, 256, 171, 171, 171, 171, + 171, 171, 172, 172, 172, 172, 172, 172, 172, 172, + 172, 173, 173, 173, 173, 173, 173, 173, 173, 173, + 577, 229, 106, 394, 102, 168, 568, 567, 395, 566, + 384, 396, 230, 230, 230, 230, 230, 230, 230, 230, + 230, 577, 47, 169, 385, 403, 409, 441, 565, 507, + 564, 563, 562, 561, 560, 559, 558, 557, 556, 404, + + 442, 508, 410, 555, 411, 554, 553, 231, 45, 45, + 45, 45, 45, 45, 45, 45, 45, 232, 232, 232, + 232, 232, 232, 232, 232, 232, 232, 552, 551, 232, + 232, 232, 232, 232, 232, 233, 233, 233, 233, 233, + 233, 233, 233, 233, 234, 234, 234, 234, 234, 234, + 234, 234, 234, 168, 550, 549, 548, 547, 546, 545, + 544, 278, 278, 278, 278, 278, 278, 278, 278, 278, + 278, 169, 543, 278, 278, 278, 278, 278, 278, 279, + 279, 279, 279, 279, 279, 279, 279, 279, 280, 280, + 280, 280, 280, 280, 280, 280, 280, 294, 295, 296, + + 297, 298, 299, 300, 301, 323, 323, 323, 323, 323, + 323, 323, 323, 323, 323, 542, 541, 323, 323, 323, + 323, 323, 323, 324, 324, 324, 324, 324, 324, 324, + 324, 324, 325, 325, 325, 325, 325, 325, 325, 325, + 325, 355, 355, 355, 355, 355, 355, 355, 355, 355, + 356, 356, 356, 356, 356, 356, 356, 356, 356, 382, + 382, 382, 382, 382, 382, 382, 382, 382, 408, 408, + 408, 408, 408, 408, 408, 408, 408, 39, 540, 539, + 39, 44, 44, 538, 44, 48, 48, 48, 48, 49, + 49, 49, 49, 45, 45, 537, 45, 103, 103, 536, + + 103, 104, 104, 535, 104, 106, 106, 534, 106, 533, + 532, 531, 530, 529, 528, 527, 526, 525, 524, 523, + 522, 521, 520, 519, 518, 517, 516, 515, 514, 513, + 512, 511, 510, 509, 506, 505, 504, 503, 502, 501, + 500, 499, 498, 497, 496, 495, 494, 493, 492, 491, + 490, 489, 488, 487, 486, 485, 484, 483, 482, 481, + 480, 479, 478, 477, 476, 475, 474, 473, 472, 471, + 470, 469, 468, 467, 466, 465, 462, 461, 460, 459, + 458, 457, 456, 455, 454, 453, 452, 451, 450, 449, + 448, 447, 446, 445, 444, 443, 440, 439, 438, 437, + + 436, 435, 434, 433, 432, 431, 430, 429, 428, 427, + 426, 425, 424, 423, 422, 421, 420, 419, 418, 417, + 416, 415, 414, 413, 412, 407, 406, 405, 402, 401, + 400, 399, 398, 397, 393, 390, 389, 388, 387, 386, + 383, 51, 381, 380, 379, 378, 377, 376, 359, 375, + 374, 373, 372, 371, 370, 369, 368, 367, 366, 363, + 362, 361, 360, 359, 358, 357, 354, 353, 352, 351, + 350, 349, 348, 347, 346, 345, 344, 343, 342, 341, + 340, 339, 338, 337, 336, 335, 334, 333, 332, 331, + 330, 329, 328, 327, 326, 322, 321, 320, 319, 318, + + 317, 316, 315, 314, 313, 312, 311, 310, 309, 308, + 307, 306, 305, 304, 303, 302, 293, 292, 291, 290, + 289, 288, 287, 286, 285, 284, 283, 282, 281, 276, + 275, 274, 273, 272, 271, 270, 269, 268, 267, 266, + 265, 264, 263, 262, 261, 260, 244, 259, 258, 257, + 254, 253, 252, 251, 250, 249, 248, 247, 246, 245, + 244, 243, 242, 241, 240, 239, 238, 237, 236, 235, + 228, 227, 226, 225, 224, 223, 222, 221, 220, 219, + 218, 217, 216, 215, 214, 213, 212, 211, 210, 209, + 208, 207, 206, 205, 202, 201, 200, 199, 198, 197, + + 196, 195, 194, 193, 192, 191, 190, 189, 188, 187, + 186, 185, 184, 183, 182, 181, 180, 179, 178, 177, + 176, 175, 174, 167, 166, 165, 164, 163, 162, 161, + 160, 159, 158, 150, 149, 146, 145, 142, 141, 140, + 139, 138, 137, 134, 133, 132, 131, 130, 129, 128, + 127, 126, 125, 122, 121, 120, 115, 112, 50, 50, + 99, 96, 88, 87, 86, 78, 70, 55, 577, 3, + 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, + 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, + 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, + + 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, + 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, + 577 + } ; + +static yyconst short int yy_chk[922] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 5, 5, 8, 16, 5, 8, 9, 9, 54, - 21, 18, 22, 16, 22, 18, 21, 54, 17, 18, - 588, 17, 25, 25, 8, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 17, 19, 19, 19, 19, - 27, 26, 19, 23, 23, 26, 36, 52, 19, 31, - - 27, 23, 32, 31, 52, 32, 27, 34, 43, 34, - 39, 39, 80, 36, 39, 32, 42, 56, 32, 42, - 46, 46, 32, 56, 60, 73, 43, 83, 73, 419, - 87, 83, 102, 102, 60, 229, 229, 42, 45, 45, - 45, 587, 419, 103, 80, 87, 202, 87, 139, 277, - 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, - 86, 103, 202, 139, 324, 361, 334, 277, 367, 86, - 334, 575, 367, 574, 573, 369, 86, 571, 86, 361, - 369, 570, 324, 369, 569, 45, 49, 49, 49, 49, - 49, 49, 49, 49, 49, 50, 50, 50, 50, 50, - - 50, 50, 50, 50, 99, 99, 99, 232, 443, 568, - 232, 384, 377, 443, 564, 562, 99, 99, 99, 99, - 99, 99, 99, 99, 99, 99, 377, 384, 232, 384, - 488, 560, 559, 558, 556, 553, 552, 551, 550, 549, - 548, 546, 488, 545, 544, 543, 542, 541, 538, 537, - 536, 99, 104, 535, 533, 532, 531, 530, 529, 527, - 526, 525, 523, 104, 104, 104, 104, 104, 104, 104, - 104, 104, 105, 522, 521, 105, 520, 519, 518, 517, - 516, 515, 514, 105, 105, 105, 105, 105, 105, 105, - 105, 105, 105, 105, 513, 105, 105, 105, 105, 105, - - 105, 106, 106, 106, 106, 106, 106, 106, 106, 106, - 107, 107, 107, 107, 107, 107, 107, 107, 107, 164, - 164, 164, 164, 164, 164, 164, 164, 164, 165, 512, - 511, 510, 509, 508, 507, 506, 165, 165, 165, 165, - 165, 165, 165, 165, 165, 165, 165, 505, 165, 165, - 165, 165, 165, 165, 167, 167, 167, 502, 501, 500, - 499, 497, 496, 494, 493, 492, 167, 167, 167, 167, - 167, 167, 167, 167, 167, 167, 491, 490, 489, 487, - 486, 485, 484, 483, 482, 480, 479, 478, 477, 476, - 475, 474, 473, 472, 471, 470, 469, 468, 467, 466, - - 465, 167, 168, 168, 168, 168, 168, 168, 168, 168, - 168, 169, 169, 169, 169, 169, 169, 169, 169, 169, - 169, 464, 463, 169, 169, 169, 169, 169, 169, 170, - 170, 170, 170, 170, 170, 170, 170, 170, 171, 171, - 171, 171, 171, 171, 171, 171, 171, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 462, 461, 228, 228, - 228, 228, 228, 228, 231, 460, 459, 458, 457, 455, - 454, 453, 231, 231, 231, 231, 231, 231, 231, 231, - 231, 231, 231, 452, 231, 231, 231, 231, 231, 231, - - 233, 233, 233, 233, 233, 233, 233, 233, 233, 234, - 234, 234, 234, 234, 234, 234, 234, 234, 252, 252, - 252, 252, 252, 252, 252, 252, 279, 279, 279, 279, - 279, 279, 279, 279, 279, 279, 451, 450, 279, 279, - 279, 279, 279, 279, 280, 280, 280, 280, 280, 280, - 280, 280, 280, 281, 281, 281, 281, 281, 281, 281, - 281, 281, 325, 325, 325, 325, 325, 325, 325, 325, - 325, 326, 326, 326, 326, 326, 326, 326, 326, 326, - 356, 356, 356, 356, 356, 356, 356, 356, 356, 383, - 383, 383, 383, 383, 383, 383, 383, 383, 579, 449, - - 448, 579, 580, 580, 447, 580, 581, 581, 581, 581, - 582, 582, 582, 582, 583, 583, 446, 583, 584, 584, - 445, 584, 585, 585, 444, 585, 586, 586, 442, 586, - 439, 438, 437, 436, 435, 434, 433, 432, 431, 430, - 429, 427, 426, 425, 424, 423, 422, 421, 420, 418, - 417, 416, 414, 413, 412, 411, 410, 408, 407, 406, - 405, 404, 403, 400, 399, 398, 397, 396, 395, 393, - 392, 391, 390, 389, 388, 387, 386, 385, 382, 380, - 378, 376, 375, 374, 372, 371, 370, 368, 366, 365, - 364, 363, 362, 358, 357, 353, 352, 351, 350, 349, - - 348, 347, 346, 345, 344, 343, 341, 340, 339, 337, - 336, 335, 333, 332, 331, 330, 329, 328, 327, 323, - 322, 321, 320, 318, 316, 315, 314, 313, 312, 311, - 310, 309, 308, 306, 305, 304, 303, 293, 292, 291, - 290, 289, 288, 286, 285, 284, 283, 282, 275, 274, - 273, 272, 271, 270, 269, 268, 267, 266, 265, 263, - 262, 260, 259, 258, 257, 256, 255, 254, 253, 251, - 250, 249, 247, 246, 245, 243, 241, 240, 239, 238, - 237, 235, 226, 225, 224, 222, 221, 220, 219, 218, - 217, 216, 215, 214, 213, 212, 211, 209, 207, 206, - - 205, 204, 203, 201, 199, 197, 196, 194, 193, 191, - 188, 187, 186, 185, 182, 181, 180, 177, 176, 175, - 174, 173, 172, 163, 162, 161, 160, 159, 158, 157, - 156, 155, 154, 153, 152, 151, 150, 149, 148, 147, - 146, 145, 144, 143, 142, 141, 140, 138, 137, 136, - 134, 133, 132, 131, 130, 129, 128, 127, 126, 125, - 124, 122, 121, 120, 119, 118, 117, 116, 115, 114, - 113, 112, 111, 110, 109, 108, 100, 97, 96, 95, - 94, 93, 92, 91, 90, 89, 88, 85, 84, 82, - 81, 79, 78, 77, 76, 75, 74, 72, 70, 69, - - 68, 67, 65, 64, 63, 62, 61, 59, 58, 57, - 53, 51, 47, 44, 41, 35, 33, 30, 29, 28, - 24, 20, 15, 3, 578, 578, 578, 578, 578, 578, - 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, - 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, - 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, - 578, 578, 578, 578, 578, 578, 578, 578, 578, 578, - 578, 578, 578, 578, 578, 578 + 1, 5, 5, 8, 17, 5, 8, 9, 9, 15, + 15, 19, 22, 17, 23, 19, 23, 587, 22, 19, + 26, 26, 5, 18, 8, 35, 18, 35, 9, 14, + 14, 14, 14, 14, 14, 14, 14, 14, 14, 84, + 18, 20, 20, 20, 20, 28, 27, 20, 24, 24, + + 27, 37, 586, 20, 32, 28, 24, 33, 32, 46, + 33, 28, 40, 40, 43, 43, 40, 45, 37, 44, + 33, 84, 44, 33, 48, 48, 54, 33, 53, 53, + 46, 56, 106, 40, 77, 45, 58, 77, 56, 64, + 44, 47, 47, 47, 58, 48, 60, 54, 103, 64, + 106, 91, 60, 47, 47, 47, 47, 47, 47, 47, + 47, 47, 47, 87, 90, 111, 91, 87, 91, 103, + 105, 105, 143, 90, 229, 229, 574, 333, 573, 366, + 90, 333, 90, 366, 572, 570, 111, 143, 47, 51, + 51, 51, 51, 51, 51, 51, 51, 51, 52, 52, + + 52, 52, 52, 52, 52, 52, 52, 107, 107, 107, + 107, 107, 107, 107, 107, 107, 108, 442, 569, 204, + 568, 567, 442, 563, 108, 108, 108, 108, 108, 108, + 108, 108, 108, 108, 108, 204, 108, 108, 108, 108, + 108, 108, 109, 109, 109, 109, 109, 109, 109, 109, + 109, 110, 110, 110, 110, 110, 110, 110, 110, 110, + 169, 169, 169, 368, 232, 323, 561, 559, 368, 558, + 360, 368, 169, 169, 169, 169, 169, 169, 169, 169, + 169, 169, 232, 323, 360, 376, 383, 418, 557, 487, + 555, 552, 551, 550, 549, 548, 547, 545, 544, 376, + + 418, 487, 383, 543, 383, 542, 541, 169, 170, 170, + 170, 170, 170, 170, 170, 170, 170, 171, 171, 171, + 171, 171, 171, 171, 171, 171, 171, 540, 537, 171, + 171, 171, 171, 171, 171, 172, 172, 172, 172, 172, + 172, 172, 172, 172, 173, 173, 173, 173, 173, 173, + 173, 173, 173, 231, 536, 535, 534, 532, 531, 530, + 529, 231, 231, 231, 231, 231, 231, 231, 231, 231, + 231, 231, 528, 231, 231, 231, 231, 231, 231, 233, + 233, 233, 233, 233, 233, 233, 233, 233, 234, 234, + 234, 234, 234, 234, 234, 234, 234, 252, 252, 252, + + 252, 252, 252, 252, 252, 278, 278, 278, 278, 278, + 278, 278, 278, 278, 278, 526, 525, 278, 278, 278, + 278, 278, 278, 279, 279, 279, 279, 279, 279, 279, + 279, 279, 280, 280, 280, 280, 280, 280, 280, 280, + 280, 324, 324, 324, 324, 324, 324, 324, 324, 324, + 325, 325, 325, 325, 325, 325, 325, 325, 325, 355, + 355, 355, 355, 355, 355, 355, 355, 355, 382, 382, + 382, 382, 382, 382, 382, 382, 382, 578, 524, 522, + 578, 579, 579, 521, 579, 580, 580, 580, 580, 581, + 581, 581, 581, 582, 582, 520, 582, 583, 583, 519, + + 583, 584, 584, 518, 584, 585, 585, 517, 585, 516, + 515, 514, 513, 512, 511, 510, 509, 508, 507, 506, + 505, 504, 501, 500, 499, 498, 496, 495, 493, 492, + 491, 490, 489, 488, 486, 485, 484, 483, 482, 481, + 479, 478, 477, 476, 475, 474, 473, 472, 471, 470, + 469, 468, 467, 466, 465, 464, 463, 462, 461, 460, + 459, 458, 457, 456, 454, 453, 452, 451, 450, 449, + 448, 447, 446, 445, 444, 443, 441, 438, 437, 436, + 435, 434, 433, 432, 431, 430, 429, 428, 426, 425, + 424, 423, 422, 421, 420, 419, 417, 416, 415, 413, + + 412, 411, 410, 409, 407, 406, 405, 404, 403, 402, + 399, 398, 397, 396, 395, 394, 392, 391, 390, 389, + 388, 387, 386, 385, 384, 381, 379, 377, 375, 374, + 373, 371, 370, 369, 367, 365, 364, 363, 362, 361, + 357, 356, 352, 351, 350, 349, 348, 347, 346, 345, + 344, 343, 342, 340, 339, 338, 336, 335, 334, 332, + 331, 330, 329, 328, 327, 326, 322, 321, 320, 319, + 317, 315, 314, 313, 312, 311, 310, 309, 308, 307, + 305, 304, 303, 302, 292, 291, 290, 289, 288, 287, + 285, 284, 283, 282, 281, 275, 274, 273, 272, 271, + + 270, 269, 268, 267, 266, 265, 263, 262, 260, 259, + 258, 257, 256, 255, 254, 253, 251, 250, 249, 247, + 246, 245, 243, 241, 240, 239, 238, 237, 235, 228, + 227, 226, 224, 223, 222, 221, 220, 219, 218, 217, + 216, 215, 214, 213, 211, 209, 208, 207, 206, 205, + 203, 201, 199, 198, 196, 195, 193, 190, 189, 188, + 187, 184, 183, 182, 179, 178, 177, 176, 175, 174, + 167, 166, 165, 164, 163, 162, 161, 160, 159, 158, + 157, 156, 155, 154, 153, 152, 151, 150, 149, 148, + 147, 146, 145, 144, 142, 141, 140, 138, 137, 136, + + 135, 134, 133, 132, 131, 130, 129, 128, 126, 125, + 124, 123, 122, 121, 120, 119, 118, 117, 116, 115, + 114, 113, 112, 101, 100, 99, 98, 97, 96, 95, + 94, 93, 92, 89, 88, 86, 85, 83, 82, 81, + 80, 79, 78, 76, 74, 73, 72, 71, 69, 68, + 67, 66, 65, 63, 62, 61, 57, 55, 49, 42, + 36, 34, 31, 30, 29, 25, 21, 16, 3, 577, + 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, + 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, + 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, + + 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, + 577, 577, 577, 577, 577, 577, 577, 577, 577, 577, + 577 } ; static yy_state_type yy_last_accepting_state; @@ -1106,13 +1096,13 @@ yy_match: while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 579 ) + if ( yy_current_state >= 578 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } - while ( yy_base[yy_current_state] != 925 ); + while ( yy_base[yy_current_state] != 870 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -1650,7 +1640,7 @@ return tokv_lwsp; case 98: YY_RULE_SETUP #line 268 "lexer.l" -cstate->lineno++; return tokv_newline; +return tokv_lwsp; YY_BREAK case 99: YY_RULE_SETUP @@ -1660,38 +1650,43 @@ cstate->lineno++; return tokv_newline; case 100: YY_RULE_SETUP #line 270 "lexer.l" +cstate->lineno++; return tokv_newline; + YY_BREAK +case 101: +YY_RULE_SETUP +#line 271 "lexer.l" { parseerrprint("missing newline at eof after comment"); return tokv_error; } YY_BREAK -case 101: +case 102: YY_RULE_SETUP -#line 274 "lexer.l" +#line 275 "lexer.l" { return dequote(yytext); } YY_BREAK -case 102: +case 103: YY_RULE_SETUP -#line 277 "lexer.l" +#line 278 "lexer.l" { parseerrprint("misquoted or unterminated string"); return tokv_error; } YY_BREAK -case 103: +case 104: YY_RULE_SETUP -#line 281 "lexer.l" +#line 282 "lexer.l" return tokv_barestring; YY_BREAK case YY_STATE_EOF(INITIAL): -#line 282 "lexer.l" +#line 283 "lexer.l" return tokv_eof; YY_BREAK -case 104: +case 105: YY_RULE_SETUP -#line 285 "lexer.l" +#line 286 "lexer.l" ECHO; YY_BREAK @@ -1983,7 +1978,7 @@ static yy_state_type yy_get_previous_state() while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 579 ) + if ( yy_current_state >= 578 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -2018,11 +2013,11 @@ yy_state_type yy_current_state; while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 579 ) + if ( yy_current_state >= 578 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 578); + yy_is_jam = (yy_current_state == 577); return yy_is_jam ? 0 : yy_current_state; } @@ -2577,7 +2572,7 @@ int main() return 0; } #endif -#line 285 "lexer.l" +#line 286 "lexer.l" const char *const builtinservicehelpstrings[]= { diff --git a/lexer.l b/lexer.l index 388089a..ac21f69 100644 --- a/lexer.l +++ b/lexer.l @@ -264,7 +264,8 @@ error { lr_dir= df_error; lr_loglevel= LOG_ERR; return tokv_word_error; } lr_max=-1; return tokv_fdstoend; } -[\ \t]+ return tokv_lwsp; +([\ \t]*\\[\ \t]*\n[\ \t]*)+ return tokv_lwsp; +[\ \t]+ return tokv_lwsp; [\ \t]*\n cstate->lineno++; return tokv_newline; [\ \t]*\#[^\n]*\n cstate->lineno++; return tokv_newline; [\ \t]*\#[^\n]* { @@ -278,7 +279,7 @@ error { lr_dir= df_error; lr_loglevel= LOG_ERR; return tokv_word_error; } parseerrprint("misquoted or unterminated string"); return tokv_error; } -[^\ \t\n]+ return tokv_barestring; +[^\ \t\n\\]+ return tokv_barestring; <> return tokv_eof; diff --git a/lexer.l.m4 b/lexer.l.m4 index c55c2e2..7b26c15 100644 --- a/lexer.l.m4 +++ b/lexer.l.m4 @@ -171,7 +171,8 @@ changequote({*,*}) lr_max=-1; return tokv_fdstoend; } -[\ \t]+ return tokv_lwsp; +([\ \t]*\\[\ \t]*\n[\ \t]*)+ return tokv_lwsp; +[\ \t]+ return tokv_lwsp; [\ \t]*\n cstate->lineno++; return tokv_newline; [\ \t]*\#[^\n]*\n cstate->lineno++; return tokv_newline; [\ \t]*\#[^\n]* { @@ -185,7 +186,7 @@ changequote({*,*}) parseerrprint("misquoted or unterminated string"); return tokv_error; } -[^\ \t\n]+ return tokv_barestring; +[^\ \t\n\\]+ return tokv_barestring; <> return tokv_eof; *} changequote(`,') diff --git a/parser.c b/parser.c index 01b770e..0d1054f 100644 --- a/parser.c +++ b/parser.c @@ -370,6 +370,7 @@ static int paa_message(const char **message_r) { /* Returned value is invalidated by repeated calls. */ static char *buildbuf; static int buildbuflen; + const char *usetext; int r, tl; @@ -384,9 +385,10 @@ static int paa_message(const char **message_r) { return tokv_error; } if (r == tokv_newline) break; - tl+= strlen(yytext); + usetext= r == tokv_lwsp ? " " : yytext; + tl+= strlen(usetext); if (makeroom(&buildbuf,&buildbuflen,tl)) return stringoverflow("message"); - strcat(buildbuf,yytext); + strcat(buildbuf,usetext); } *message_r= buildbuf; return 0; diff --git a/spec.html/ch-config.html b/spec.html/ch-config.html index 4ccacc7..794c7d0 100644 --- a/spec.html/ch-config.html +++ b/spec.html/ch-config.html @@ -70,9 +70,9 @@ The configuration file is a series of directives, usually one per line. The portion of a line following a hash character # is taken as a comment and ignored. Each directive consists of a series of tokens separated by linear whitespace (spaces and tabs); tokens may -be words consisting of non-space characters, or, where a string is -required, a string in double quotes. Double-quoted strings may -contain the following backslash escapes: +be words consisting of non-space characters (except backslash), or, +where a string is required, a string in double quotes. Double-quoted +strings may contain the following backslash escapes:
\n
newline @@ -99,6 +99,11 @@ Pathnames starting with the two characters ~/ are taken to be relative to the service user's home directory.

+

+Logical lines may be continued by putting a backslash \ at the +end of a line; this counts as part of linear whitespace. +

+

@@ -156,11 +161,12 @@ to exist, but it is an error if a file exists and cannot be read or if the directory cannot be accessed. A translation will be applied to values before they are used to -construct a filename, so that the lookup cannot access dotfiles or -files in other directories: values starting with full stops will have -a colon prepended (making :.), colons will be doubled, and each -slash will be replaced with a colon followed by a hyphen :-. A -parameter value which is the empty string will be replaced with +construct a filename, so that the lookup cannot access dotfiles, +backup files, files in other directories and the like: each slash will +be replaced with a colon followed by a hyphen :-, and all +characters which are not lowercase alphanumerics, hyphens or +underscores will have a colon prepended (so that colons are doubled). +A parameter value which is the empty string will be replaced with :empty (note that this is different from a parameter not having any values). @@ -174,13 +180,12 @@ file.

error text ...
Causes an error whose message includes the descriptive string text. text may consist of several tokens with intervening -whitespace. The whitespace will be included in the message as found -in the configuration file: all the characters until the end of the -line will be included verbatim, unless they are part of a -double-quoted string, in which case the usual meaning of the string +linear whitespace. Each set of linear whitespace will appear in the +message as a single space. The usual meaning of double-quoted strings (i.e., after backslash escape processing) will be used. Comments and linear whitespace at the end of the line (or just before the comment) -will still be ignored. +will still be ignored. Apart from those cases, each token's text will +be included verbatim.

message text ...
Causes a message including the descriptive string text to be delivered as if it were an error message, but does not actually cause diff --git a/spec.ps b/spec.ps index 6b99f91..f023d2e 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 19:14:05 1999 +%%CreationDate: Sat Oct 9 19:43:49 1999 %%DocumentData: Binary %%DocumentNeededResources: (atend) %%DocumentMedia: Plain 595 842 0 white () @@ -350,53 +350,53 @@ grestore 320 fnt84 0 6(0.3.)m 628(Contents)s grestore -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 +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 2224(en)s 9(vironment)k 3484(of)s 3755(the)s 4103(service)s -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 +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 1200(Con\207guration)s 2587(\207le)s 2948(directi)s 6(v)k 3(es)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 +8851(11)s 0 3126(4.3.)m 1200(Errors)s 1847(in)s 2090(the)s +2438(con\207guration)s 3771(\207le)s 8833(16)s 0 2888(4.4.)m 1200(Def)s 2(aults)k +8833(16)s 0 2661(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 2423(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 +8831(20)s 0 2185(6.1.)m 1200(Standard)s 2108(services)s 2928(and)s +3332(directory)s 4248(management)s 8831(20)s 0 1947(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 +5636(subsystems)s 8831(20)s 0 1709(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 1760 translate +5020 1763 translate 0.6953 1.0000 scale 240 fnt31 0 -52(userv)m grestore 5520(-using)s 6171(f)s 2(acilities)k -8835(19)s 0 1468(6.4.)m gsave -1200 1522 translate +8831(20)s 0 1471(6.4.)m gsave +1200 1525 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 1522 translate +4067 1525 translate 0.6953 1.0000 scale 240 fnt31 0 -52(really)m grestore 4727(and)s gsave -5131 1522 translate +5131 1525 translate 0.6953 1.0000 scale 240 fnt31 0 -52(sudo)m grestore -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 +8851(21)s +0 1232(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(User)m 511(service)s 1243(daemon)s 2058(and)s 2462(client)s 3052(speci\207cation)s 8491(0.64.1)s grestore @@ -410,7 +410,6 @@ showpage %%BeginPageSetup %%PageResources: font Times-Roman %%+ font Times-Bold -%%+ font Courier-Bold /pgsave save def 0.0500 dup scale 10 setlinewidth %%EndPageSetup @@ -436,8 +435,48 @@ gsave gsave 0 LoutMargSet grestore -240 fnt84 0 13842(2)m gsave -0 12795 translate +240 fnt84 0 13842(2)m 240 fnt82 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 + +pgsave restore +showpage + +%%Page: 3 3 +%%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 +1 LoutMargSet +grestore +240 fnt84 8953 13842(3)m gsave +0 12792 translate 240 fnt82 9066 622 0 622 240 240 60 LoutGraphic gsave newpath 0 ysize 0.3 ft sub moveto @@ -449,42 +488,42 @@ grestore 340 fnt84 0 4(1.)m 412(Intr)s 6(oduction)k grestore -240 fnt82 0 12333(There)m 613(is)s 823(a)s 989(daemon)s +240 fnt82 0 12330(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 12093(requests)m 822(by)s +7584(in)s 7827(response)s 8720(to)s 0 12090(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 11853(set)m 325(forth)s +7401(according)s 8385(to)s 8611(rules)s 0 11850(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 11613(is)m 210(setuid)s 839(root,)s 1331(and)s +7987(program)s 0 11610(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 11667 translate +5482 11664 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 11373(in)m 243(a)s +6911(and)s 7315(associated)s 8355(objects)s 0 11370(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 11133(be)m 282(performed)s 1335(and)s +8118(service)s 8850(to)s 0 11130(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 10893(called)m 628(the)s 976(`calling)s 1758(process'.)s 0 10485(The)m +0 10890(called)m 628(the)s 976(`calling)s 1758(process'.)s 0 10482(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 10245(the)m +6895(is)s 7105(safely)s 7729(carried)s 8449(across)s 0 10242(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 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 +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 +8491(0.64.1)s grestore grestore @@ -492,7 +531,7 @@ grestore pgsave restore showpage -%%Page: 3 3 +%%Page: 4 4 %%BeginPageSetup %%PageResources: font Times-Roman %%+ font Times-Bold @@ -521,10 +560,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 12726 translate +240 fnt84 0 13842(4)m gsave +0 12729 translate 240 fnt82 9066 688 0 688 240 240 60 LoutGraphic gsave newpath 0 ysize 0.3 ft sub moveto @@ -537,7 +576,7 @@ grestore 1382(pr)s 6(ogram)k 2737(usage)s grestore gsave -480 12078 translate +480 12081 translate 0.6953 1.0000 scale 240 fnt31 0 -52(userv)m gsave @@ -582,12 +621,12 @@ grestore 9029(\202])s grestore 240 fnt83 -0 11205(service-user)m 240 fnt82 1232 11203(speci\207es)m 2106(which)s 2748(user)s +0 11208(service-user)m 240 fnt82 1232 11206(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 10963(numeric)m 836(uid,)s 1249(or)s gsave -1508 11017 translate +0 10966(numeric)m 836(uid,)s 1249(or)s gsave +1508 11020 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211)m @@ -595,12 +634,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 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 +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 6363(the)s 6711(service)s 7443(user)s 13(.)k 7932(It)s -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 +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 newpath 0 ysize 0.3 ft sub moveto xsize 0 rlineto 0 0.1 ft rlineto @@ -610,46 +649,46 @@ grestore 320 fnt84 0 66(2.1.)m 628(Options)s grestore -0 8829(Single-letter)m 1233(options)s 1983(may)s 2442(be)s +0 8832(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 8589(option)m 669(may)s +8022(for)s 8354(such)s 8843(an)s 0 8592(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 8235 translate +120 8238 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211B)m grestore gsave -120 7995 translate +120 7998 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211\211builtin)m grestore -480 7701(Re)m +480 7704(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 7755 translate +7410 7758 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211\211override)m grestore 8464(op)s 8697(tion)s -480 7460(to)m 719(spec)s 1137(i)s 1197(fy)s 1450(a)s +480 7463(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 7514 translate +3504 7517 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 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 +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 2052(ser)s 2330(vice)s 2769(user)s 3213(of)s gsave -3469 7274 translate +3469 7277 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211)m @@ -657,24 +696,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 6980(quest)m +8251(be)s 8473(ing)s 8817(re)s 8998(-)s 480 6983(quest)m 985(ed)s 1254(re)s 1435(quires)s 2054(a)s 240 fnt83 -2204 6982(service-)m 2947(ar)s 8(gument)k 240 fnt82 3905 6980(then)m +2204 6985(service-)m 2947(ar)s 8(gument)k 240 fnt82 3905 6983(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 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 +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 0.6953 1.0000 scale 240 fnt31 0 -52(\211\211override)m @@ -682,28 +721,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 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 +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 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 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 +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 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 5832 translate +7091 5835 translate 0.6953 1.0000 scale 240 fnt31 0 -52(execute\211builtin)m grestore -8652(will)s 480 5538(be)m 762(used)s +8652(will)s 480 5541(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 5540(service-)m 7783(ar)s 8(gument)k 240 fnt82 -8697 5538(s.)m gsave -120 5198 translate +240 fnt83 7040 5543(service-)m 7783(ar)s 8(gument)k 240 fnt82 +8697 5541(s.)m gsave +120 5201 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211f)m gsave 288 0 translate @@ -725,7 +764,7 @@ grestore grestore gsave -120 4958 translate +120 4961 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211\211file)m gsave 1008 0 translate @@ -746,26 +785,26 @@ grestore grestore grestore -480 4664(Requests)m 1384(that)s +480 4667(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 4424(this)m 858(will)s 1266(be)s +7863(or)s 8111(descriptor)s 480 4427(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 4184(other)m 1028(end)s 1429(of)s +8393(and)s 8778(the)s 480 4187(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 4238 translate +4417 4241 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 3944(passed)m 1161(to)s gsave -1384 3998 translate +8111(descriptor)s 480 3947(passed)m 1161(to)s gsave +1384 4001 translate 0.6953 1.0000 scale 240 fnt31 0 -52(cat)m @@ -773,26 +812,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 3704(client)m 1063(program)s 1926(on)s 2215(behalf)s +8778(the)s 480 3707(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 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 +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 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 3517 translate +8519 3520 translate 0.6953 1.0000 scale 240 fnt31 0 -52(stdin)m grestore 9019(,)s gsave -480 3277 translate +480 3280 translate 0.6953 1.0000 scale 240 fnt31 0 -52(stdout)m grestore -1126 3223(or)m gsave -1370 3277 translate +1126 3226(or)m gsave +1370 3280 translate 0.6953 1.0000 scale 240 fnt31 0 -52(stderr)m @@ -800,41 +839,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 2982(pri)m 6(vile)k 3(ges)k +7403(the)s 7736(client)s 8311(with)s 8778(the)s 480 2985(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 2984(modi\207er)m 2(s)k 240 fnt82 4240 2982(is)m +240 fnt83 3303 2987(modi\207er)m 2(s)k 240 fnt82 4240 2985(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 2742(be)m 762(read)s 1230(from)s 1754(or)s 2012(written)s +480 2745(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 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 +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 1114(are:)s gsave -600 2075 translate +600 2078 translate 0.6953 1.0000 scale 240 fnt31 0 -52(read)m grestore gsave -960 1835 translate +960 1838 translate 0.6953 1.0000 scale 240 fnt31 0 -52(O_RDONLY)m grestore -1761 1781(:)m 1867(Allo)s 6(w)k 2513(reading)s 3283(and)s +1761 1784(:)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 1835 translate +6967 1838 translate 0.6953 1.0000 scale 240 fnt31 0 -52(write)m grestore 7527(or)s -7786(things)s 8422(that)s 960 1541(imply)m 1572(it.)s gsave -600 1355 translate +7786(things)s 8422(that)s 960 1544(imply)m 1572(it.)s gsave +600 1358 translate 0.6953 1.0000 scale 240 fnt31 0 -52(write)m @@ -852,8 +891,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(User)m 511(service)s 1243(daemon)s 2058(and)s -2462(client)s 3052(speci\207cation)s 8491(0.64.1)s +240 fnt82 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 @@ -861,7 +900,7 @@ grestore pgsave restore showpage -%%Page: 4 4 +%%Page: 5 5 %%BeginPageSetup %%PageResources: font Times-Roman %%+ font Times-Bold @@ -890,9 +929,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(4)m gsave +240 fnt84 8953 13844(5)m gsave 960 13308 translate 0.6953 1.0000 scale 240 fnt31 0 -52(O_WRONLY)m @@ -1332,9 +1371,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(0.64.1)m -4809(User)s 5320(service)s 6052(daemon)s 6867(and)s 7271(client)s -7861(speci\207cation)s +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 +8491(0.64.1)s grestore grestore @@ -1342,7 +1381,7 @@ grestore pgsave restore showpage -%%Page: 5 5 +%%Page: 6 6 %%BeginPageSetup %%PageResources: font Times-Roman %%+ font Times-Bold @@ -1371,54 +1410,54 @@ 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 -480 13308 translate +240 fnt84 0 13842(6)m gsave +480 13305 translate 0.6953 1.0000 scale 240 fnt31 0 -52(wait)m grestore 240 fnt82 -880 13254(,)m gsave -981 13308 translate +880 13251(,)m gsave +981 13305 translate 0.6953 1.0000 scale 240 fnt31 0 -52(nowait)m grestore 1634(or)s gsave -1886 13308 translate +1886 13305 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 13014(this)m +6890(speci\207ed)s 7791(as)s 8034(open)s 8550(when)s 480 13011(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 13068 translate +6572 13065 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211\211file)m grestore 7232(or)s gsave -7491 13068 translate +7491 13065 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211\211fdwait)m grestore -8352(option)s 480 12774(-)m +8352(option)s 480 12771(-)m 608(e)s 6(v)k 3(en)k 1108(by)s 1402(a)s gsave -1568 12828 translate +1568 12825 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 12534(will)m 906(be)s 1188(used,)s 1734(as)s 1984(described)s +480 12531(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 12204 translate +120 12201 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211D)m gsave @@ -1435,7 +1474,7 @@ grestore grestore gsave -120 11964 translate +120 11961 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211\211defvar)m gsave 1296 0 translate @@ -1450,17 +1489,17 @@ gsave grestore grestore -480 11670(Set)m 845(a)s 1011(user)s 4(-)k +480 11667(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 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 +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 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 11430(in)m 723(the)s 1071(con)s 1414(\207g)s 1660(u)s +480 11427(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 11484 translate +4998 11481 translate 0.6953 1.0000 scale 240 fnt31 0 -52(u\211)m gsave 288 0 translate @@ -1471,10 +1510,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 11190(vi)m +8076(vice)s 8530(in)s 8773(en)s 8996(-)s 480 11187(vi)m 660(ron)s 976(ment)s 1508(v)s 6(ari)k 1867(ables)s gsave -2402 11244 translate +2402 11241 translate 0.6953 1.0000 scale 240 fnt31 0 -52(USERV_U_)m gsave 1152 0 translate @@ -1484,18 +1523,18 @@ grestore grestore 3709(.)s -240 fnt83 3806 11192(name)m 240 fnt82 4371 11190(may)m 4831(con)s +240 fnt83 3806 11189(name)m 240 fnt82 4371 11187(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 10950(and)m 884(must)s 1409(start)s 1879(with)s 2360(a)s +480 10947(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 10952(name)m 240 fnt82 -7830 10950(then)m 8299(only)s 8778(the)s 480 10710(last)m 871(is)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 1081(ef)s 1278(fec)s 1562(ti)s 6(v)k 3(e.)k gsave -120 10419 translate +120 10416 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211t)m gsave 432 0 translate @@ -1505,7 +1544,7 @@ grestore grestore gsave -120 10179 translate +120 10176 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211\211timeout)m gsave @@ -1515,170 +1554,170 @@ gsave grestore grestore -480 9885(T)m 8(ime)k +480 9882(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 9887(seconds)m 240 fnt82 5346 9885(seconds)m 6151(\(a)s 6393(positi)s 6(v)k 3(e)k +4536 9884(seconds)m 240 fnt82 5346 9882(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 9644(T)m 8(imeout)k 1331(will)s 1746(produce)s 2562(a)s +480 9641(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 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 +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 1989(be)s 2271(implemented)s 3577(\(this)s 4052(is)s 4262(the)s 4610(def)s 2(ault\).)k gsave -120 9064 translate +120 9061 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211S)m grestore 240 fnt83 -380 9012(method)m gsave -120 8824 translate +380 9009(method)m gsave +120 8821 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211\211signals)m grestore -1081 8772(method)m 240 fnt82 -480 8530(Af)m 6(fects)k 1212(the)s 1544(handling)s 2420(of)s +1081 8769(method)m 240 fnt82 +480 8527(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 8289(will)m +7235(a)s 7386(signal.)s 8045(\(The)s 8536(client)s 480 8286(will)m 906(al)s 2(w)k 2(ays)k 1617(\207nish)s 2206(by)s 2500(calling)s gsave -3203 8343 translate +3203 8340 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 8049(not)m 830(the)s 1162(full)s 1532(range)s +8718(and)s 480 8046(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 8103 translate +8008 8100 translate 0.6953 1.0000 scale 240 fnt31 0 -52(wait)m grestore 8451(f)s 2(amily)k -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 +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 4509(of)s 4780(the)s 5128(follo)s 6(wing:)k 240 fnt83 -600 7570(status)m 240 fnt82 960 7328(The)m 1386(client')s 13(s)k +600 7567(status)m 240 fnt82 960 7325(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 7330(status)m 240 fnt82 4384 7328(.)m 4486(This)s +240 fnt83 3831 7327(status)m 240 fnt82 4384 7325(.)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 7087(really)m 1557(ha)s 4(ving)k +8049(the)s 8394(service)s 960 7084(really)m 1557(ha)s 4(ving)k 2258(e)s 3(xited)k 2897(with)s 3379(code)s 240 fnt83 -3887 7089(status)m 240 fnt82 4440 7087(.)m 4544(This)s 5020(method)s +3887 7086(status)m 240 fnt82 4440 7084(.)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 7089(status)m 240 fnt82 8383 7087(of)m +7604(a)s 240 fnt83 7770 7086(status)m 240 fnt82 8383 7084(of)m 8654(254.)s gsave -600 6901 translate +600 6898 translate 0.6953 1.0000 scale 240 fnt31 0 -52(number)m grestore gsave -600 6661 translate +600 6658 translate 0.6953 1.0000 scale 240 fnt31 0 -52(number\211nocore)m grestore -960 6367(The)m 1388(client')s 13(s)k 2128(e)s 3(xit)k +960 6364(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 6127(of)m 1231(the)s 1579(service.)s +7581(the)s 7929(termination)s 960 6124(of)m 1231(the)s 1579(service.)s 2359(If)s gsave -2589 6181 translate +2589 6178 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 6181 translate +5041 6178 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 5887(if)m +6871(128)s 7278(will)s 7704(be)s 7986(added)s 960 5884(if)m 1177(the)s 1525(service)s 2257(dumped)s 3087(core.)s gsave -3602 5941 translate +3602 5938 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 5647(Bourne)m 1721(shell.)s +7588(done)s 8110(by)s 8404(the)s 960 5644(Bourne)m 1721(shell.)s gsave -600 5461 translate +600 5458 translate 0.6953 1.0000 scale 240 fnt31 0 -52(highbit)m grestore -960 5167(The)m 1388(client')s 13(s)k +960 5164(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 4927(e)m 3(xits)k 1459(normally)s 2376(with)s +8373(service)s 960 4924(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 4741 translate +600 4738 translate 0.6953 1.0000 scale 240 fnt31 0 -52(stdout)m grestore -960 4447(The)m 1375(service')s 13(s)k 2247(numeric)s 3069(w)s 2(ait)k +960 4444(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 4207(description)m 2079(of)s +8272(a)s 8424(te)s 3(xtual)k 960 4204(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 3967(preceded)m +7141(output.)s 7857(It)s 8062(will)s 8488(be)s 960 3964(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 3727(from)m 1484(each)s 1979(other)s +7836(are)s 8166(separated)s 960 3724(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 3487(the)m +7704(e)s 3(xit)k 8119(status)s 8714(of)s 960 3484(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 3247(description)m 2079(will)s 2505(be)s +7921(status)s 8516(and)s 960 3244(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 3007(as)m 1210(usual.)s 480 2794(Problems)m +7972(to)s 8211(stderr)s 960 3004(as)m 1210(usual.)s 480 2791(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 2554(or)m +6524(or)s 6768(permission)s 7860(being)s 8430(denied)s 480 2551(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 2313(be)m 758(printed)s 1489(on)s 1782(the)s +8699(will)s 480 2310(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 2073(to)m +7363(the)s 7707(client)s 8293(dies)s 8724(due)s 480 2070(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 1733 translate +120 1730 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211H)m grestore gsave -120 1493 translate +120 1490 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211\211hidecwd)m grestore -480 1199(Pre)m 6(v)k 3(ents)k 1345(the)s +480 1196(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 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 +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.64.1)m +4809(User)s 5320(service)s 6052(daemon)s 6867(and)s 7271(client)s +7861(speci\207cation)s grestore grestore @@ -1686,7 +1725,7 @@ grestore pgsave restore showpage -%%Page: 6 6 +%%Page: 7 7 %%BeginPageSetup %%PageResources: font Times-Roman %%+ font Times-Bold @@ -1715,78 +1754,78 @@ 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 -120 13332 translate +240 fnt84 8951 13844(7)m gsave +120 13337 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211P)m grestore gsave -120 13092 translate +120 13097 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211\211sigpipe)m grestore -240 fnt82 480 12798(If)m 700(the)s 1038(service)s +240 fnt82 480 12803(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 12852 translate +4665 12857 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 12558(e)m 6(v)k 3(en)k +8337(be)s 8608(zero,)s 480 12563(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 12318(option)m 1149(has)s 1519(no)s +7710(speci\207ed.)s 8650(This)s 480 12323(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 12372 translate +8170 12377 translate 0.6953 1.0000 scale 240 fnt31 0 -52(stdout)m grestore -8830(is)s 480 12078(in)m 723(use.)s gsave -120 11788 translate +8830(is)s 480 12083(in)m 723(use.)s gsave +120 11793 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211h)m grestore gsave -120 11548 translate +120 11553 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211\211help)m grestore gsave -120 11308 translate +120 11313 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211\211copyright)m grestore gsave -480 11068 translate +480 11073 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211h)m grestore -740 11014(or)m gsave -999 11068 translate +740 11019(or)m gsave +999 11073 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 11068 translate +4865 11073 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 10774(w)m 2(arranty)k 1381(notice.)s 9066 670 0 670 240 240 60 0 9644 LoutGr2 +480 10779(w)m 2(arranty)k 1381(notice.)s 9066 670 0 670 240 240 60 0 9649 LoutGr2 newpath 0 ysize 0.3 ft sub moveto xsize 0 rlineto 0 0.1 ft rlineto @@ -1796,19 +1835,19 @@ grestore 320 fnt84 0 66(2.2.)m 628(Security-o)s 3(v)k 3(erriding)k 3373(options)s grestore -0 9182(There)m +0 9187(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 8942(administrator)m 1333(to)s 1572(o)s 3(v)k 3(erride)k +7233(the)s 7581(system)s 0 8947(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 8702(by)m 294(root)s 739(or)s 998(if)s +8359(called)s 0 8707(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 8348 translate +120 8353 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211\211override)m gsave 1584 0 translate @@ -1819,7 +1858,7 @@ grestore grestore gsave -120 8108 translate +120 8113 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211\211override\211file)m gsave 2304 0 translate @@ -1828,29 +1867,29 @@ gsave grestore grestore -480 7814(Do)m +480 7819(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 7816(con\207gur)m 3(ation-data)k 240 fnt82 480 7573(\(follo)m 6(wed)k +240 fnt83 6722 7821(con\207gur)m 3(ation-data)k 240 fnt82 480 7578(\(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 7575(\207lename)m -240 fnt82 5390 7573(\(which)m 6111(is)s 6321(opened)s 7071(in)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 7314(the)s 7662(conte)s 3(xt)k 8423(of)s 8694(the)s -480 7332(client\))m 1138(to)s 1377(the)s 1725(daemon)s 2540(and)s +480 7337(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 7334(con\207gur)m 3(ation-data)k -240 fnt82 8503 7332(must)m 480 7092(all)m 772(be)s 1052(in)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 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 6852(easily)m 1083(be)s 1357(gi)s 6(v)k 3(en,)k +8737(can)s 480 6857(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 6612(real)m 892(ne)s 6(wlines.)k gsave -120 6321 translate +480 6617(real)m 892(ne)s 6(wlines.)k gsave +120 6326 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211\211spoof\211user)m gsave @@ -1860,36 +1899,36 @@ gsave grestore grestore -480 6027(Pretend)m 1268(to)s 1507(the)s +480 6032(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 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 +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 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 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 +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 0.6953 1.0000 scale 240 fnt31 0 -52(\211\211spoof\211user)m grestore -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 +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 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 5361 translate +6636 5366 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 5067(user)m 938(will)s 1364(be)s +7954(the)s 8302(service)s 480 5072(user)m 938(will)s 1364(be)s 1646(the)s 1994(real)s 2406(calling)s 3109(user)s 13(.)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 +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 @@ -1897,7 +1936,7 @@ grestore pgsave restore showpage -%%Page: 7 7 +%%Page: 8 8 %%BeginPageSetup %%PageResources: font Times-Roman %%+ font Times-Bold @@ -1925,10 +1964,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 8951 13844(7)m gsave -0 12731 translate +240 fnt84 0 13842(8)m gsave +0 12726 translate 240 fnt82 9066 688 0 688 240 240 60 LoutGraphic gsave newpath 0 ysize 0.3 ft sub moveto @@ -1942,54 +1981,54 @@ grestore 4774(ser)s 3(vice)k 5846(pr)s 6(ogram)k grestore 240 fnt82 -0 12269(The)m 428(daemon)s 1243(which)s 1885(is)s 2095(handling)s +0 12264(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 12029(decide)m 680(what)s 1205(to)s 1444(do.)s +8549(to)s 0 12024(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 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 +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 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 10973(If)m 223(the)s +6580(group)s 7192(leader)s 13(.)k 0 10968(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 10733(gets)m +7149(by)s 7436(the)s 7776(client)s 8358(process)s 0 10728(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 10492(e)m 3(xit)k 415(status)s 1010(of)s +8383(an)s 0 10487(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 10252(become)m 800(a)s 966(child)s 1502(of)s +8600(will)s 0 10247(become)m 800(a)s 966(child)s 1502(of)s gsave -1773 10306 translate +1773 10301 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 10012(pipe)m 468(after)s 964(this)s 1360(may)s 1826(produce)s +0 10007(pipe)m 468(after)s 964(this)s 1360(may)s 1826(produce)s 2653(a)s gsave -2819 10066 translate +2819 10061 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 10066 translate +6556 10061 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 9772(on)m 297(disconnection.)s 9066 670 0 670 240 240 60 0 8748 LoutGr2 +0 9767(on)m 297(disconnection.)s 9066 670 0 670 240 240 60 0 8743 LoutGr2 newpath 0 ysize 0.3 ft sub moveto xsize 0 rlineto 0 0.1 ft rlineto @@ -1999,57 +2038,57 @@ grestore 320 fnt84 0 66(3.1.)m 628(File)s 1216(descriptors)s grestore -0 8286(The)m 428(service)s 1160(program')s 13(s)k +0 8281(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 8046(connected)m +6315(\207le)s 6676(descriptors,)s 7831(will)s 8257(be)s 0 8041(connected)m 1028(to)s 1266(pipes)s 1821(or)s 2080(to)s gsave -2318 8100 translate +2318 8095 translate 0.6953 1.0000 scale 240 fnt31 0 -52(/dev/null)m grestore 3219(.)s 3322(The)s gsave -3750 8100 translate +3750 8095 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 7806(between)m 854(the)s +7764(data)s 8221(is)s 8430(copied)s 0 7801(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 7398(Pipes)m 569(which)s 1211(may)s 1677(be)s +8423(pipes.)s 0 7393(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 7158(client-side)m 1043(\207le)s +6435(on)s 6732(the)s 7080(corresponding)s 0 7153(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 7212 translate +4760 7207 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 6918(reading)m 770(will)s 1196(get)s +8273(open)s 8788(for)s 0 6913(reading)m 770(will)s 1196(get)s gsave -1548 6972 translate +1548 6967 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 6972 translate +5335 6967 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 6510(If)m +5695(or)s 5954(an)s 6237(error)s 13(.)k 0 6505(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 6270(will)m 421(generate)s 1280(a)s gsave -1441 6324 translate +8658(pipe)s 0 6265(will)m 421(generate)s 1280(a)s gsave +1441 6319 translate 0.6953 1.0000 scale 240 fnt31 0 -52(SIGPIPE)m @@ -2057,98 +2096,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 6030(not)m 366(be)s 648(considered)s 1742(an)s 2025(error;)s +0 6025(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 5790(or)m 259(\207le)s +6973(the)s 7321(corresponding)s 8743(\207le)s 0 5785(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 5382(Lik)m 2(e)k 6(wise,)k +3337(will)s 3763(be)s 4045(closed.)s 0 5377(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 5142(whose)m 665(other)s +7830(is)s 8040(a)s 8206(pipe)s 0 5137(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 4902(to)m 239(cop)s 2(y)k 757(data)s +8502(trying)s 0 4897(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 4662(correspondong)m 1476(to)s 1715(that)s +8058(the)s 8406(pipe)s 0 4657(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 4422(get)m +7095(cause)s 7682(the)s 8030(service)s 8762(to)s 0 4417(get)m 352(a)s gsave -518 4476 translate +518 4471 translate 0.6953 1.0000 scale 240 fnt31 0 -52(SIGPIPE)m grestore -1218(.)s 0 4014(Note)m +1218(.)s 0 4009(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 3774(since)m 547(b)s 4(uf)k 6(fered)k +7484(to)s 7723(the)s 8071(service,)s 0 3769(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 3534(between)m 847(the)s 1188(error)s 1703(happening)s 2747(and)s +0 3529(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 3294(causing)m 784(a)s gsave -950 3348 translate +8580(write)s 0 3289(causing)m 784(a)s gsave +950 3343 translate 0.6953 1.0000 scale 240 fnt31 0 -52(SIGPIPE)m grestore -1650(.)s 0 2886(Read)m 550(errors)s 1157(on)s 1454(\207le)s +1650(.)s 0 2881(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 2646(distinguishable)m 1504(from)s 2028(normal)s 2760(end)s +8054(and)s 0 2641(distinguishable)m 1504(from)s 2028(normal)s 2760(end)s 3164(of)s 3435(\207le)s 3796(if)s gsave -4013 2700 translate +4013 2695 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 2238(Read)m +5474(is)s 5684(in)s 5927(ef)s 6(fect.)k 0 2233(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 1998(caller;)m +7570(be)s 7850(visible)s 8541(to)s 8778(the)s 0 1993(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 1757(and)m 404(return)s +7448(message)s 8299(to)s 8523(stderr)s 0 1752(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 1349(If)m 230(the)s 578(main)s +2806(of)s 3077(255.)s 0 1344(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 1109(held)m 470(by)s 764(those)s 1325(children)s 2165(can)s +0 1104(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 1163 translate +6189 1158 translate 0.6953 1.0000 scale 240 fnt31 0 -52(wait)m grestore 6589(,)s gsave -6696 1163 translate +6696 1158 translate 0.6953 1.0000 scale 240 fnt31 0 -52(nowait)m grestore 7356(or)s gsave -7615 1163 translate +7615 1158 translate 0.6953 1.0000 scale 240 fnt31 0 -52(close)m grestore -8175(for)s 8513(the)s 0 869(rele)m 6(v)k 6(ant)k +8175(for)s 8513(the)s 0 864(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(User)m -511(service)s 1243(daemon)s 2058(and)s 2462(client)s 3052(speci\207cation)s -8491(0.64.1)s +5675(writing)s 6418(\207ledescriptors)s 7822(remain)s 8542(open)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 @@ -2156,7 +2195,7 @@ grestore pgsave restore showpage -%%Page: 8 8 +%%Page: 9 9 %%BeginPageSetup %%PageResources: font Times-Roman %%+ font Times-Bold @@ -2185,9 +2224,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(8)m 240 fnt82 0 13251(and)m 404(the)s +240 fnt84 8952 13842(9)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 @@ -2372,8 +2411,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(0.64.1)m 4809(User)s 5320(service)s 6052(daemon)s -6867(and)s 7271(client)s 7861(speci\207cation)s +732(user\).)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 @@ -2381,7 +2420,7 @@ grestore pgsave restore showpage -%%Page: 9 9 +%%Page: 10 10 %%BeginPageSetup %%PageResources: font Times-Roman %%+ font Times-Bold @@ -2410,9 +2449,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 gsave +240 fnt84 0 13842(10)m gsave 0 12725 translate 240 fnt82 9066 689 0 689 240 240 60 LoutGraphic gsave @@ -2503,89 +2542,89 @@ grestore 2428(series)s 3007(of)s 3264(directi)s 6(v)k 3(es,)k 4276(usually)s 5007(one)s 5395(per)s 5746(line.)s 6193(The)s 6607(portion)s 7341(of)s 7598(a)s 7750(line)s 8149(follo)s 6(wing)k -0 6985(a)m 154(hash)s 638(character)s gsave -1560 7039 translate +0 6985(a)m 166(hash)s 662(character)s gsave +1596 7039 translate 0.6953 1.0000 scale 240 fnt31 0 -52(#)m grestore -1708(is)s 1906(tak)s 2(en)k 2466(as)s 2704(a)s -2858(comment)s 3796(and)s 4188(ignored.)s 5011(Each)s 5533(directi)s 6(v)k 3(e)k -6403(consists)s 7199(of)s 7458(a)s 7612(series)s 8194(of)s -8452(tok)s 2(ens)k 0 6745(separated)m 960(by)s 1254(linear)s -1857(whitespace)s 2975(\(spaces)s 3729(and)s 4133(tabs\);)s 4709(tok)s 2(ens)k -5383(may)s 5849(be)s 6131(w)s 2(ords)k 6765(consisting)s -7788(of)s 8059(non-space)s 0 6505(characters,)m 1074(or)s 9(,)k -1371(where)s 2011(a)s 2177(string)s 2774(is)s 2984(required,)s -3887(a)s 4053(string)s 4650(in)s 4893(double)s 5601(quotes.)s -6330(Double-quoted)s 7824(strings)s 8512(may)s 0 6265(contain)m 761(the)s -1109(follo)s 6(wing)k 2086(backslash)s 3073(escapes:)s gsave +1756(is)s 1966(tak)s 2(en)k 2539(as)s 2789(a)s +2955(comment)s 3905(and)s 4309(ignored.)s 5144(Each)s 5679(directi)s 6(v)k 3(e)k +6561(consists)s 7369(of)s 7640(a)s 7806(series)s 8400(of)s +0 6745(tok)m 2(ens)k 674(separated)s 1634(by)s 1928(linear)s +2531(whitespace)s 3649(\(spaces)s 4403(and)s 4807(tabs\);)s 5383(tok)s 2(ens)k +6057(may)s 6523(be)s 6805(w)s 2(ords)k 7439(consisting)s +8462(of)s 0 6505(non-space)m 1023(characters)s 2037(\(e)s 3(xcept)k +2794(backslash\),)s 3906(or)s 9(,)k 4200(where)s 4836(a)s +4998(string)s 5592(is)s 5798(required,)s 6698(a)s 6860(string)s +7454(in)s 7693(double)s 8397(quotes.)s 0 6265(Double-quoted)m 1494(strings)s +2182(may)s 2648(contain)s 3409(the)s 3757(follo)s 6(wing)k +4734(backslash)s 5721(escapes:)s gsave 120 6079 translate 0.6953 1.0000 scale -240 fnt31 -0 -52(\\n)m +240 fnt31 0 -52(\\n)m grestore -480 5785(ne)m 6(wline)k gsave +480 5785(ne)m 6(wline)k +gsave 120 5599 translate 0.6953 1.0000 scale -240 fnt31 0 -52(\\t)m - +240 fnt31 0 -52(\\t)m grestore 480 5305(tab)m gsave 120 5119 translate 0.6953 1.0000 scale -240 fnt31 0 -52(\\r)m +240 fnt31 0 -52(\\r)m + grestore -480 4825(carriage)m 1304(return)s -gsave +480 4825(carriage)m 1304(return)s gsave 120 4639 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\\)m gsave 144 0 translate 1.4219 1.0000 scale -240 fnt83 0 -52(OOO)m +240 fnt83 +0 -52(OOO)m grestore grestore -480 4345(character)m -1414(whose)s 2082(octal)s 2601(code)s 3109(is)s 240 fnt83 -3319 4347(OOO)m gsave +480 4345(character)m 1414(whose)s 2082(octal)s 2601(code)s +3109(is)s 240 fnt83 3319 4347(OOO)m gsave 120 4159 translate 0.6953 1.0000 scale -240 fnt31 0 -52(\\x)m gsave +240 fnt31 0 -52(\\x)m +gsave 288 0 translate 1.4219 1.0000 scale -240 fnt83 0 -52(XX)m - +240 fnt83 0 -52(XX)m grestore grestore -240 fnt82 480 3865(character)m 1414(whose)s 2082(he)s 3(x)k -2480(code)s 2988(is)s 240 fnt83 3198 3867(XX)m gsave +240 fnt82 480 3865(character)m 1414(whose)s +2082(he)s 3(x)k 2480(code)s 2988(is)s 240 fnt83 +3198 3867(XX)m gsave 120 3679 translate 0.6953 1.0000 scale -240 fnt31 -0 -52(\\)m gsave +240 fnt31 0 -52(\\)m gsave 144 0 translate 1.4219 1.0000 scale -240 fnt83 0 -52(punctuation)m +240 fnt83 0 -52(punctuation)m + grestore grestore -240 fnt82 480 3385(literal)m -1090(punctuation)s 2277(character)s 3211(\(e)s 3(g)k gsave +240 fnt82 480 3385(literal)m 1090(punctuation)s 2277(character)s 3211(\(e)s 3(g)k +gsave 3566 3439 translate 0.6953 1.0000 scale -240 fnt31 -0 -52(\\\\)m +240 fnt31 0 -52(\\\\)m grestore 3766(,)s gsave 3873 3439 translate 0.6953 1.0000 scale -240 fnt31 0 -52(\\")m +240 fnt31 0 -52(\\")m + grestore -4073(\))s -gsave +4073(\))s gsave 120 3198 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\\)m gsave @@ -2613,19 +2652,18 @@ grestore 7687(are)s 8033(tak)s 2(en)k 8606(to)s 8844(be)s 0 1862(relati)m 6(v)k 3(e)k 762(to)s 1001(the)s 1349(service)s 2081(user')s 13(s)k -2689(home)s 3277(directory)s 15(.)k 9066 670 0 670 240 240 60 0 838 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(4.2.)m -628(Con\207guration)s 2618(\207le)s 3100(dir)s 5(ecti)k 3(v)k 3(es)k - +2689(home)s 3277(directory)s 15(.)k 0 1454(Logical)m 785(lines)s +1287(may)s 1753(be)s 2035(continued)s 3037(by)s 3331(putting)s +4062(a)s 4228(backslash)s gsave +5215 1508 translate +0.6953 1.0000 scale +240 fnt31 0 -52(\\)m grestore -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 +5375(at)s +5607(the)s 5955(end)s 6359(of)s 6630(a)s 6796(line;)s +7266(this)s 7662(counts)s 8338(as)s 8588(part)s 0 1214(of)m +271(linear)s 874(whitespace.)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 @@ -2633,7 +2671,7 @@ grestore pgsave restore showpage -%%Page: 10 10 +%%Page: 11 11 %%BeginPageSetup %%PageResources: font Times-Roman %%+ font Times-Bold @@ -2662,14 +2700,27 @@ 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 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 12693(The)m 428(follo)s 6(wing)k 1405(directi)s 6(v)k 3(es)k +240 fnt84 8839 13842(11)m gsave +0 12747 translate +240 fnt82 9066 670 0 670 240 240 60 LoutGraphic +gsave +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(4.2.)m 628(Con\207guration)s +2618(\207le)s 3100(dir)s 5(ecti)k 3(v)k 3(es)k + +grestore +300 fnt84 0 12132(4.2.1.)m 813(Immediate)s 2261(dir)s 5(ecti)k 3(v)k 3(es)k +240 fnt82 0 11618(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 12339 translate +120 11264 translate 0.6953 1.0000 scale 240 fnt31 0 -52(cd)m gsave 432 0 translate @@ -2678,95 +2729,95 @@ gsave grestore grestore -480 12045(Change)m +480 10970(Change)m 1268(directory)s 2184(in)s 2427(the)s 2775(service)s 3507(program.)s gsave -4421 12099 translate +4421 11024 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 11805(cannot)m 1178(be)s 1460(changed)s +7486(the)s 7834(directory)s 480 10730(cannot)m 1178(be)s 1460(changed)s 2316(to.)s gsave -2666 11859 translate +2666 10784 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 11859 translate +5622 10784 translate 0.6953 1.0000 scale 240 fnt31 0 -52(execute\211from\211directory)m grestore -7884(and)s 8288(the)s 480 11565(in)m 9(v)k 4(ocation)k +7884(and)s 8288(the)s 480 10490(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 11325(w)m 2(ould)k +6595(of)s 6866(the)s 7214(service)s 7946(program)s 480 10250(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 11085(causing)m 1264(an)s +7714(ne)s 6(w)k 8142(\(probably)s 480 10010(causing)m 1264(an)s 1547(error\).)s gsave -120 10745 translate +120 9670 translate 0.6953 1.0000 scale 240 fnt31 0 -52(eof)m grestore -480 10451(Stop)m 972(reading)s +480 9376(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 10211(control)m 1212(constructs)s 2232(\()s gsave -2305 10265 translate +480 9136(control)m 1212(constructs)s 2232(\()s gsave +2305 9190 translate 0.6953 1.0000 scale 240 fnt31 0 -52(if)m grestore 2505(,)s gsave -2612 10265 translate +2612 9190 translate 0.6953 1.0000 scale 240 fnt31 0 -52(catch\211quit)m grestore 3673(or)s gsave -3932 10265 translate +3932 9190 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 9971(considered)m 1574(\207nished.)s 2436(P)s 3(arsing)k 3203(will)s +480 8896(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 9785 translate +480 8710 translate 0.6953 1.0000 scale 240 fnt31 0 -52(eof)m grestore -840 9731(to)m 1079(be)s 1361(read.)s +840 8656(to)m 1079(be)s 1361(read.)s gsave -120 9441 translate +120 8366 translate 0.6953 1.0000 scale 240 fnt31 0 -52(quit)m grestore -480 9147(Stop)m 969(reading)s 1735(con\207guration)s +480 8072(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 8907(of)m gsave -751 8961 translate +480 7832(of)m gsave +751 7886 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 8961 translate +2745 7886 translate 0.6953 1.0000 scale 240 fnt31 0 -52(catch\211quit)m grestore 3806(control)s 4538(construct.)s gsave -120 8567 translate +120 7492 translate 0.6953 1.0000 scale 240 fnt31 0 -52(include)m gsave 1152 0 translate @@ -2777,7 +2828,7 @@ grestore grestore gsave -120 8327 translate +120 7252 translate 0.6953 1.0000 scale 240 fnt31 0 -52(include\211ifexist)m gsave 2304 0 translate @@ -2786,25 +2837,25 @@ gsave grestore grestore -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 +480 6958(Read)m +1026(the)s 1369(con\207guration)s 2698(\207le)s 240 fnt83 3054 6960(\207lename)m +240 fnt82 3858 6958(,)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 7793(the)m 822(ne)s 3(xt)k +7705(parsing)s 8457(it)s 8644(with)s 480 6718(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 7847 translate +7565 6772 translate 0.6953 1.0000 scale 240 fnt31 0 -52(include\211ifexist)m grestore -480 7553(is)m 690(used)s +480 6478(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 7213 translate +120 6138 translate 0.6953 1.0000 scale 240 fnt31 0 -52(include\211lookup)m gsave 2160 0 translate @@ -2821,7 +2872,7 @@ grestore grestore gsave -120 6973 translate +120 5898 translate 0.6953 1.0000 scale 240 fnt31 0 -52(include\211lookup\211all)m gsave 2736 0 translate @@ -2836,164 +2887,137 @@ gsave grestore grestore -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 +480 5604(Read)m 1030(the)s +1378(con\207guration)s 2711(\207le)s 3072(in)s 240 fnt83 3315 5606(dir)m 8(ectory)k +240 fnt82 4239 5604(whose)m 4907(name)s 5481(is)s 5691(the)s +6039(v)s 6(alue)k 6607(of)s 240 fnt83 6878 5606(par)m 3(ameter)k +240 fnt82 7937 5604(\(see)m 8377(the)s 480 5364(description)m 1599(of)s gsave -1870 6493 translate +1870 5418 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(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 +3933(directi)s 6(v)k 3(es',)k 5038(page)s 5546(12\).)s +5969(If)s 240 fnt83 6199 5366(par)m 3(ameter)k 240 fnt82 +7258 5364(has)m 7628(se)s 6(v)k 3(eral)k 8350(v)s 6(alues)k +480 5124(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 6253 translate +3487 5178 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 5959(with)m gsave -962 6013 translate +480 4884(with)m gsave +962 4938 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 5719(will)m 906(be)s 1188(read)s 1657(too.)s 2127(If)s +480 4644(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 5533 translate +480 4458 translate 0.6953 1.0000 scale 240 fnt31 0 -52(:default)m grestore -1340 5479(will)m 1765(be)s 2045(read,)s 2562(if)s +1340 4404(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 5481(par)m 3(ameter)k 240 fnt82 4840 5479(')m 13(s)k +3841 4406(par)m 3(ameter)k 240 fnt82 4840 4404(')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 5533 translate +8566 4458 translate 0.6953 1.0000 scale 240 fnt31 0 -52(:none)m grestore -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 5293 translate +480 4164(will)m 887(be)s 1149(tried)s 1624(\207rst)s +2035(and)s 2420(read)s 2869(if)s 3066(it)s 3238(e)s 3(xists,)k +3867(otherwise)s gsave +4832 4218 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 4999(an)m 3(y)k 877(of)s -1148(the)s 1496(\207les)s 1945(\(including)s gsave -2981 5053 translate +5673(will)s 6079(be)s +6342(tried.)s 6923(It)s 7108(is)s 7298(not)s 7645(an)s +7908(error)s 8411(for)s 8729(an)s 3(y)k 480 3924(of)m +736(the)s 1069(\207les)s 1503(\(including)s gsave +2523 3978 translate 0.6953 1.0000 scale 240 fnt31 0 -52(:default)m 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 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 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 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 4333 translate +3324(\))s 3437(not)s 3788(to)s 4011(e)s 3(xist,)k +4551(b)s 4(ut)k 4898(it)s 5074(is)s 5269(an)s +5537(error)s 6045(if)s 6246(a)s 6397(\207le)s 6743(e)s 3(xists)k +7319(and)s 7708(cannot)s 8391(be)s 8657(read)s 480 3684(or)m +726(if)s 930(the)s 1265(directory)s 2168(cannot)s 2853(be)s +3122(accessed.)s 4109(A)s 4325(translation)s 5377(will)s 5790(be)s +6059(applied)s 6808(to)s 7034(v)s 6(alues)k 7677(before)s +8330(the)s 3(y)k 8779(are)s 480 3444(used)m 977(to)s +1216(construct)s 2152(a)s 2318(\207lename,)s 3248(so)s 3514(that)s +3932(the)s 4280(lookup)s 4999(cannot)s 5697(access)s 6358(dot\207les,)s +7169(backup)s 7914(\207les,)s 8419(\207les)s 8868(in)s 480 3204(other)m +1023(directories)s 2072(and)s 2467(the)s 2806(lik)s 2(e:)k +3259(each)s 3745(slash)s 4271(will)s 4688(be)s 4961(replaced)s +5819(with)s 6292(a)s 6449(colon)s 7029(follo)s 6(wed)k +7922(by)s 8207(a)s 8364(h)s 1(yphen)k gsave +480 3018 translate 0.6953 1.0000 scale 240 fnt31 -0 -52(:.)m -grestore -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 3853 translate -0.6953 1.0000 scale -240 fnt31 0 -52(:\211)m -grestore -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 3853 translate +0 -52(:\211)m +grestore +680 2964(,)m 787(and)s 1191(all)s 1484(characters)s +2502(which)s 3144(are)s 3491(not)s 3857(lo)s 6(wercase)k +4862(alphanumerics,)s 6363(h)s 1(yphens)k 7212(or)s 7471(underscores)s +8664(will)s 480 2724(ha)m 4(v)k 3(e)k 977(a)s +1138(colon)s 1722(prepended)s 2773(\(so)s 3113(that)s 3526(colons)s +4198(are)s 4540(doubled\).)s 5490(A)s 5716(parameter)s 6725(v)s 6(alue)k +7288(which)s 7926(is)s 8131(the)s 8474(empty)s 480 2484(string)m +1077(will)s 1503(be)s 1785(replaced)s 2652(with)s gsave +3134 2538 translate 0.6953 1.0000 scale -240 fnt31 0 -52(:empty)m +240 fnt31 +0 -52(:empty)m grestore -7762(\(note)s 8309(that)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 3219 translate +3794(\(note)s 4341(that)s 4759(this)s 5155(is)s +5365(dif)s 6(ferent)k 6240(from)s 6764(a)s 6930(parameter)s +7944(not)s 8310(ha)s 4(ving)k 480 2244(an)m 3(y)k +877(v)s 6(alues\).)k gsave +120 1904 translate 0.6953 1.0000 scale -240 fnt31 -0 -52(include\211directory)m gsave +240 fnt31 0 -52(include\211directory)m gsave 2592 0 translate 1.4219 1.0000 scale -240 fnt83 0 -52(dir)m 8(ectory)k -grestore +240 fnt83 +0 -52(dir)m 8(ectory)k +grestore + +grestore +480 1610(Read)m 1030(con\207guration)s 2363(from)s +2887(all)s 3180(\207les)s 3629(in)s 3872(directory)s 240 fnt83 +4788 1612(dir)m 8(ectory)k 240 fnt82 5712 1610(which)m 6354(are)s +6701(plain)s 7236(\207les)s 7685(whose)s 8353(names)s 480 1370(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 1130(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 890(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 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 -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 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 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 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 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 1625 translate -0.6953 1.0000 scale -240 fnt31 0 -52(error)m gsave -864 0 translate -1.4219 1.0000 scale -240 fnt83 0 -52(te)m 4(xt)k -404(\202)s -grestore - -grestore -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 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 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(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 @@ -3001,7 +3025,7 @@ grestore pgsave restore showpage -%%Page: 11 11 +%%Page: 12 12 %%BeginPageSetup %%PageResources: font Times-Roman %%+ font Times-Bold @@ -3030,46 +3054,68 @@ 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 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 -480 13014(of)m 751(the)s 1099(string)s 1696(\(i.e.,)s 2174(after)s -2670(backslash)s 3657(escape)s 4350(processing\))s 5501(will)s 5927(be)s -6209(used.)s 6752(Comments)s 7840(and)s 8244(linear)s 480 12774(whitespace)m -1598(at)s 1830(the)s 2178(end)s 2582(of)s 2853(the)s -3201(line)s 3615(\(or)s 3953(just)s 4358(before)s 5024(the)s -5372(comment\))s 6390(will)s 6816(still)s 7228(be)s 7510(ignored.)s -gsave -120 12434 translate +240 fnt84 0 13842(12)m 240 fnt82 480 13254(\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 12914 translate +0.6953 1.0000 scale +240 fnt31 0 -52(error)m gsave +864 0 translate +1.4219 1.0000 scale +240 fnt83 +0 -52(te)m 4(xt)k 404(\202)s +grestore + +grestore +480 12620(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 12622(te)m 4(xt)k 240 fnt82 6781 12620(.)m 240 fnt83 +6885 12622(te)m 4(xt)k 240 fnt82 7289 12620(may)m 7755(consist)s +8479(of)s 480 12380(se)m 6(v)k 3(eral)k 1193(tok)s 2(ens)k +1857(with)s 2330(interv)s 3(ening)k 3459(linear)s 4053(whitespace.)s +5209(Each)s 5734(set)s 6050(of)s 6311(linear)s 6905(whitespace)s +8013(will)s 8429(appear)s 480 12140(in)m 723(the)s 1071(message)s +1937(as)s 2187(a)s 2353(single)s 2980(space.)s 3615(The)s +4043(usual)s 4603(meaning)s 5480(of)s 5751(double-quoted)s 7192(strings)s +7880(\(i.e.,)s 8358(after)s 480 11900(backslash)m 1449(escape)s 2124(processing\))s +3257(will)s 3665(be)s 3929(used.)s 4454(Comments)s 5524(and)s +5910(linear)s 6495(whitespace)s 7595(at)s 7809(the)s 8139(end)s +8525(of)s 8778(the)s 480 11660(line)m 892(\(or)s 1228(just)s +1631(before)s 2295(the)s 2640(comment\))s 3656(will)s 4080(still)s +4490(be)s 4770(ignored.)s 5602(Apart)s 6204(from)s 6726(those)s +7285(cases,)s 7894(each)s 8386(tok)s 2(en')k 13(s)k +480 11420(te)m 3(xt)k 895(will)s 1321(be)s 1603(included)s +2485(v)s 3(erbatim.)k gsave +120 11129 translate 0.6953 1.0000 scale 240 fnt31 0 -52(message)m gsave 1152 0 translate 1.4219 1.0000 scale -240 fnt83 0 -52(te)m 4(xt)k -404(\202)s +240 fnt83 +0 -52(te)m 4(xt)k 404(\202)s grestore grestore -480 12140(Causes)m 1209(a)s 1375(message)s 2241(including)s -3198(the)s 3546(descripti)s 6(v)k 3(e)k 4641(string)s -240 fnt83 5238 12142(te)m 4(xt)k 240 fnt82 5642 12140(to)m -5881(be)s 6163(deli)s 6(v)k 3(ered)k 7101(as)s -7351(if)s 7568(it)s 7760(were)s 8280(an)s 8563(error)s -480 11900(message,)m 1397(b)s 4(ut)k 1759(does)s 2249(not)s -2615(actually)s 3425(cause)s 4012(an)s 4295(error)s 13(.)k -300 fnt84 0 11233(4.2.2.)m 813(Dir)s 5(ecti)k 3(v)k 3(es)k +480 10835(Causes)m 1209(a)s +1375(message)s 2241(including)s 3198(the)s 3546(descripti)s 6(v)k 3(e)k +4641(string)s 240 fnt83 5238 10837(te)m 4(xt)k 240 fnt82 +5642 10835(to)m 5881(be)s 6163(deli)s 6(v)k 3(ered)k +7101(as)s 7351(if)s 7568(it)s 7760(were)s 8280(an)s +8563(error)s 480 10595(message,)m 1397(b)s 4(ut)k 1759(does)s +2249(not)s 2615(actually)s 3425(cause)s 4012(an)s 4295(error)s 13(.)k +300 fnt84 0 9928(4.2.2.)m 813(Dir)s 5(ecti)k 3(v)k 3(es)k 2148(with)s 2781(delay)s 3(ed)k 3828(effect)s 240 fnt82 -0 10662(The)m 428(follo)s 6(wing)k 1405(directi)s 6(v)k 3(es)k +0 9357(The)m 428(follo)s 6(wing)k 1405(directi)s 6(v)k 3(es)k 2375(ha)s 4(v)k 3(e)k 2876(no)s 3169(immediate)s 4233(ef)s 6(fect,)k 4876(b)s 4(ut)k 5238(are)s 5585(remembered)s 6837(and)s 7241(ha)s 4(v)k 3(e)k -7742(an)s 8025(ef)s 6(fect)k 8621(on)s 0 10422(later)m +7742(an)s 8025(ef)s 6(fect)k 8621(on)s 0 9117(later)m 483(processing)s 1559(of)s 1830(the)s 2178(con\207guration)s 3511(\207les.)s gsave -120 10068 translate +120 8763 translate 0.6953 1.0000 scale 240 fnt31 0 -52(user\211rcfile)m gsave 1728 0 translate @@ -3078,99 +3124,99 @@ gsave grestore grestore -480 9774(Speci\207es)m -1380(that)s 1784(the)s 2118(\207le)s 240 fnt83 2465 9776(\207lename)m -240 fnt82 3315 9774(should)m 3998(be)s 4266(read)s 4721(instead)s +480 8469(Speci\207es)m +1380(that)s 1784(the)s 2118(\207le)s 240 fnt83 2465 8471(\207lename)m +240 fnt82 3315 8469(should)m 3998(be)s 4266(read)s 4721(instead)s 5442(of)s 5699(the)s 6033(user')s 13(s)k gsave -6627 9828 translate +6627 8523 translate 0.6953 1.0000 scale 240 fnt31 0 -52(~/.userv/rc)m grestore 7728(.)s 7818(This)s 8280(does)s 240 fnt83 -8756 9776(not)m 240 fnt82 480 9534(happen)m 1229(immediately;)s 2535(instead,)s +8756 8471(not)m 240 fnt82 480 8229(happen)m 1229(immediately;)s 2535(instead,)s 3319(the)s 3667(setting)s 4357(is)s 4567(remembered)s 5819(and)s 6223(used)s 6720(after)s 7216(the)s gsave -7564 9588 translate +7564 8283 translate 0.6953 1.0000 scale 240 fnt31 0 -52(system.default)m grestore -480 9294(con\207guration)m 1812(\207le)s 2171(has)s 2539(been)s 3046(read.)s +480 7989(con\207guration)m 1812(\207le)s 2171(has)s 2539(been)s 3046(read.)s 3559(This)s 4033(directi)s 6(v)k 3(e)k 4913(has)s 5281(no)s 5572(ef)s 6(fect)k 6166(in)s 6407(a)s 6571(user')s 13(s)k 7177(con\207guration)s 8508(\207le)s 8867(or)s -480 9054(in)m 723(the)s gsave -1071 9108 translate +480 7749(in)m 723(the)s gsave +1071 7803 translate 0.6953 1.0000 scale 240 fnt31 0 -52(system.override)m grestore 2632(\207le,)s 3044(as)s 3294(the)s 3642(user')s 13(s)k 4250(con\207guration)s 5583(\207le)s 5944(has)s 6314(already)s 7071(been)s 7580(found)s -8197(and)s 8601(read)s 480 8814(by)m 774(then)s 1243(and)s +8197(and)s 8601(read)s 480 7509(by)m 774(then)s 1243(and)s 1647(will)s 2073(not)s 2439(be)s 2721(re-read.)s gsave -120 8474 translate +120 7169 translate 0.6953 1.0000 scale 240 fnt31 0 -52(errors\211to\211stderr)m grestore -480 8180(Causes)m 1209(error)s 1732(messages)s 2686(to)s +480 6875(Causes)m 1209(error)s 1732(messages)s 2686(to)s 2925(be)s 3207(deli)s 6(v)k 3(ered)k 4145(to)s 4384(the)s 4732(client')s 13(s)k 5472(stderr)s 13(.)k gsave -120 7840 translate +120 6535 translate 0.6953 1.0000 scale 240 fnt31 0 -52(errors\211to\211file)m grestore -240 fnt83 1581 7788(\207lename)m 240 fnt82 -480 7546(Error)m 1039(messages)s 1989(will)s 2410(be)s 2688(written)s -3416(to)s 240 fnt83 3651 7548(\207lename)m 240 fnt82 4455 7546(,)m +240 fnt83 1581 6483(\207lename)m 240 fnt82 +480 6241(Error)m 1039(messages)s 1989(will)s 2410(be)s 2688(written)s +3416(to)s 240 fnt83 3651 6243(\207lename)m 240 fnt82 4455 6241(,)m 4557(which)s 5195(will)s 5617(be)s 5894(opened)s 6640(in)s 6878(the)s 7222(conte)s 3(xt)k 7978(of)s 8245(and)s -8644(with)s 480 7306(the)m 828(pri)s 6(vile)k 3(ges)k +8644(with)s 480 6001(the)m 828(pri)s 6(vile)k 3(ges)k 1812(of)s 2083(the)s 2431(service)s 3163(user)s 13(.)k gsave -120 6966 translate +120 5661 translate 0.6953 1.0000 scale 240 fnt31 0 -52(errors\211to\211syslog)m grestore -1782 6912([)m 240 fnt83 1853 6914(facility)m -240 fnt82 2571 6912([)m 240 fnt83 2642 6914(le)m 3(vel)k -240 fnt82 3089 6912(]])m 480 6672(Error)m 1043(messages)s 1997(will)s +1782 5607([)m 240 fnt83 1853 5609(facility)m +240 fnt82 2571 5607([)m 240 fnt83 2642 5609(le)m 3(vel)k +240 fnt82 3089 5607(]])m 480 5367(Error)m 1043(messages)s 1997(will)s 2423(be)s 2705(deli)s 6(v)k 3(ered)k 3643(using)s gsave -4215 6726 translate +4215 5421 translate 0.6953 1.0000 scale 240 fnt31 0 -52(syslog)m grestore 4815(.)s 4919(The)s 5347(def)s 2(ault)k -240 fnt83 6068 6674(facility)m 240 fnt82 6786 6672(is)m gsave -6996 6726 translate +240 fnt83 6068 5369(facility)m 240 fnt82 6786 5367(is)m gsave +6996 5421 translate 0.6953 1.0000 scale 240 fnt31 0 -52(user)m grestore 7396(;)s 7508(the)s 7856(def)s 2(ault)k -240 fnt83 8577 6674(le)m 3(vel)k 240 fnt82 480 6432(is)m +240 fnt83 8577 5369(le)m 3(vel)k 240 fnt82 480 5127(is)m gsave -690 6486 translate +690 5181 translate 0.6953 1.0000 scale 240 fnt31 0 -52(error)m grestore -1190(.)s 300 fnt84 0 5815(4.2.3.)m +1190(.)s 300 fnt84 0 4510(4.2.3.)m 813(Contr)s 5(ol)k 1874(structur)s 5(e)k 3117(dir)s 5(ecti)k 3(v)k 3(es)k -240 fnt82 0 5300(The)m 421(follo)s 6(wing)k 1390(directi)s 6(v)k 3(es)k +240 fnt82 0 3995(The)m 421(follo)s 6(wing)k 1390(directi)s 6(v)k 3(es)k 2353(are)s 2692(used)s 3182(to)s 3413(create)s 4031(control)s 4755(structures.)s 5780(If)s 6002(the)s 6343(end)s 6739(of)s -7003(the)s 7343(\207le)s 7697(is)s 7899(encountered)s 0 5060(before)m +7003(the)s 7343(\207le)s 7697(is)s 7899(encountered)s 0 3755(before)m 666(the)s 1014(end)s 1418(of)s 1689(an)s 3(y)k 2086(control)s 2818(structure)s 3709(which)s 4351(w)s 2(as)k 4772(started)s 5466(inside)s 6093(it)s 6285(then)s 6754(that)s -7172(control)s 7904(structure)s 8795(is)s 0 4820(considered)m 1094(\207nished.)s +7172(control)s 7904(structure)s 8795(is)s 0 3515(considered)m 1094(\207nished.)s 1956(This)s 2432(is)s 2642(not)s 3008(an)s 3291(error)s 13(.)k gsave -120 4466 translate +120 3161 translate 0.6953 1.0000 scale 240 fnt31 0 -52(if)m gsave 432 0 translate @@ -3180,7 +3226,7 @@ grestore grestore gsave -120 4226 translate +120 2921 translate 0.6953 1.0000 scale 240 fnt31 0 -52(elif)m gsave @@ -3191,38 +3237,38 @@ grestore grestore gsave -120 3986 translate +120 2681 translate 0.6953 1.0000 scale 240 fnt31 0 -52(else)m grestore gsave -120 3746 translate +120 2441 translate 0.6953 1.0000 scale 240 fnt31 0 -52(fi)m grestore -480 3452(Lines)m 1062(follo)s 6(wing)k +480 2147(Lines)m 1062(follo)s 6(wing)k gsave -2039 3506 translate +2039 2201 translate 0.6953 1.0000 scale 240 fnt31 0 -52(if)m grestore 2299(are)s 2646(interpreted)s 3738(only)s 4218(if)s 4435(the)s 4783(condition)s 5744(is)s 5954(true.)s -6429(Man)s 3(y)k 7039(conditions)s 8087(are)s 480 3212(properties)m +6429(Man)s 3(y)k 7039(conditions)s 8087(are)s 480 1907(properties)m 1486(of)s 1757(parameter)s 2771(v)s 6(alues.)k 3480(Most)s 4032(parameters)s 5130(ha)s 4(v)k 3(e)k 5631(a)s 5797(single)s 6424(string)s 7021(as)s 7271(a)s 7437(v)s 6(alue;)k 8061(ho)s 6(we)k 6(v)k 3(er)k 9(,)k -480 2972(some)m 1035(may)s 1495(yield)s 2025(zero)s 2483(or)s +480 1667(some)m 1035(may)s 1495(yield)s 2025(zero)s 2483(or)s 2735(se)s 6(v)k 3(eral)k 3451(strings,)s 4189(in)s 4426(which)s 5062(case)s 5522(the)s 5864(condition)s 6819(is)s 7023(true)s 7444(if)s 7654(it)s 7840(is)s 8044(true)s -8465(of)s 8729(an)s 3(y)k 480 2732(of)m 751(the)s +8465(of)s 8729(an)s 3(y)k 480 1427(of)m 751(the)s 1099(strings)s 1787(indi)s 6(vidually)k 15(.)k 3026(P)s 3(arameters)k 4134(are)s 4481(described)s 5455(belo)s 6(w)k 15(.)k 6183(The)s 6611(conditions)s 7659(are:)s gsave -600 2545 translate +600 1240 translate 0.6953 1.0000 scale 240 fnt31 0 -52(glob)m gsave @@ -3238,20 +3284,60 @@ gsave grestore 4178(\202)s grestore -960 2251(The)m 1388(v)s 6(alue)k 1956(of)s +960 946(The)m 1388(v)s 6(alue)k 1956(of)s 2227(the)s 2575(parameter)s 3589(whose)s 4257(name)s 4831(is)s 5041(gi)s 6(v)k 3(en)k 5621(matches)s 6455(one)s -6857(of)s 7128(the)s 7476(glob)s 7955(patterns)s 960 2011(\(anchored)m +6857(of)s 7128(the)s 7476(glob)s 7955(patterns)s 960 706(\(anchored)m 1974(at)s 2206(both)s 2689(ends;)s 3240(backslashes)s 4420(can)s 4809(be)s 5091(used)s 5588(to)s 5827(escape)s 6520(metacharacters\).)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 + +pgsave restore +showpage + +%%Page: 13 13 +%%BeginPageSetup +%%PageResources: font Times-Roman +%%+ font Times-Bold +%%+ font Courier-Bold +%%+ font Times-Italic +/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 -600 1825 translate +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 +1 LoutMargSet +grestore +240 fnt84 8833 13842(13)m gsave +600 13310 translate 0.6953 1.0000 scale 240 fnt31 0 -52(range)m gsave 864 0 translate 1.4219 1.0000 scale -240 fnt83 0 -52(par)m 3(ameter)k - +240 fnt83 +0 -52(par)m 3(ameter)k grestore gsave 2428 0 translate @@ -3261,18 +3347,19 @@ grestore gsave 3073 0 translate 1.4219 1.0000 scale -240 fnt83 0 -52(max)m +240 fnt83 +0 -52(max)m grestore grestore -960 1531(The)m -1380(v)s 6(alue)k 1940(of)s 2203(the)s 2543(parameter)s -3548(is)s 3750(a)s 3908(nonne)s 3(g)k 1(ati)k 6(v)k 3(e)k +240 fnt82 960 13016(The)m 1380(v)s 6(alue)k +1940(of)s 2203(the)s 2543(parameter)s 3548(is)s 3750(a)s +3908(nonne)s 3(g)k 1(ati)k 6(v)k 3(e)k 5113(inte)s 3(ger)k 5825(and)s 6220(lies)s 6594(within)s -7254(the)s 7594(range)s 8172(speci\207ed.)s 240 fnt83 960 1293(min)m -240 fnt82 1373 1291(or)m 240 fnt83 1632 1293(max)m 240 fnt82 -2091 1291(may)m 2557(be)s gsave -2839 1345 translate +7254(the)s 7594(range)s 8172(speci\207ed.)s 240 fnt83 960 12778(min)m +240 fnt82 1373 12776(or)m 240 fnt83 1632 12778(max)m 240 fnt82 +2091 12776(may)m 2557(be)s gsave +2839 12830 translate 0.6953 1.0000 scale 240 fnt31 0 -52($)m grestore @@ -3280,7 +3367,7 @@ grestore 3238(indicate)s 4050(no)s 4343(lo)s 6(wer)k 4941(or)s 5200(upper)s 5805(limit,)s 6362(respecti)s 6(v)k 3(ely)k 15(.)k gsave -600 1104 translate +600 12589 translate 0.6953 1.0000 scale 240 fnt31 0 -52(grep)m gsave 720 0 translate @@ -3295,84 +3382,44 @@ gsave grestore grestore -960 810(The)m 240 fnt83 1388 812(\207lename)m -240 fnt82 2252 810(refers)m 2845(to)s 3084(a)s 3250(\207le)s +960 12295(The)m 240 fnt83 1388 12297(\207lename)m +240 fnt82 2252 12295(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(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 - -pgsave restore -showpage - -%%Page: 12 12 -%%BeginPageSetup -%%PageResources: font Times-Roman -%%+ font Times-Bold -%%+ font Courier-Bold -%%+ font Times-Italic -/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(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 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 12827 translate +7199(parameter)s 8213(\(leading)s 960 12055(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 11815(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 11628 translate 0.6953 1.0000 scale -240 fnt31 0 -52(!)m gsave +240 fnt31 +0 -52(!)m gsave 288 0 translate 1.4219 1.0000 scale 240 fnt83 0 -52(condition)m grestore grestore -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 +960 11334(The)m 240 fnt83 +1388 11336(condition)m 240 fnt82 2346 11334(is)m 240 fnt83 2556 11336(not)m +240 fnt82 2926 11334(true.)m 600 11094(Conjunctions:)m gsave +1983 11148 translate 0.6953 1.0000 scale -240 fnt31 -0 -52(&)m +240 fnt31 0 -52(&)m + grestore 2143(and)s gsave -2547 12347 translate +2547 11148 translate 0.6953 1.0000 scale 240 fnt31 0 -52(|)m grestore gsave -1440 11867 translate +1440 10668 translate 0.6953 1.0000 scale -240 fnt31 -0 -52(\()m gsave +240 fnt31 0 -52(\()m +gsave 288 0 translate 1.4219 1.0000 scale 240 fnt83 0 -52(condition)m @@ -3380,113 +3427,113 @@ grestore 0 -292(&)m gsave 288 -240 translate 1.4219 1.0000 scale -240 fnt83 -0 -52(condition)m +240 fnt83 0 -52(condition)m + grestore 0 -532(&)m gsave 288 -480 translate 1.4219 1.0000 scale 240 fnt83 0 -52(condition)m grestore -0 -772(\202)m -0 -1012(\))m +0 -772(\202)m 0 -1012(\))m + grestore -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 10655 translate +960 9402(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 9456 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 10356(true.)m 1428(Ne)s 6(wlines)k +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 9157(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 10116(parentheses)m 2126(are)s 2473(mandatory)s 15(.)k 3585(These)s +960 8917(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 9853(The)m 908(parameters)s +6890(e)s 6(v)k 6(aluation.)k 480 8654(The)m 908(parameters)s 2006(are:)s gsave -600 9667 translate +600 8468 translate 0.6953 1.0000 scale 240 fnt31 0 -52(service)m grestore -960 9373(The)m 1388(service)s +960 8174(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 9187 translate +600 7988 translate 0.6953 1.0000 scale 240 fnt31 0 -52(calling\211user)m grestore -960 8893(T)m 19(w)k 2(o)k 1431(strings:)s 2174(the)s +960 7694(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 8947 translate +7225 7748 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 8653(and)m 1364(the)s 1712(calling)s 2415(uid)s 2779(\(represented)s +960 7454(and)m 1364(the)s 1712(calling)s 2415(uid)s 2779(\(represented)s 4017(in)s 4260(decimal\).)s gsave -600 8467 translate +600 7268 translate 0.6953 1.0000 scale 240 fnt31 0 -52(calling\211group)m grestore -960 8173(Se)m 6(v)k 3(eral)k +960 6974(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 7933(of)m 1231(the)s 1579(calling)s 2282(process.)s +7939(decimal\))s 960 6734(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 7693(supplementary)m 2422(group)s +7861(If)s 8091(the)s 8439(\207rst)s 960 6494(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 7507 translate +600 6308 translate 0.6953 1.0000 scale 240 fnt31 0 -52(calling\211user\211shell)m grestore -960 7213(The)m 1388(calling)s +960 6014(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 6973(determined)m 2093(for)s gsave -2431 7027 translate +8690(\(as)s 960 5774(determined)m 2093(for)s gsave +2431 5828 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 6787 translate +600 5588 translate 0.6953 1.0000 scale 240 fnt31 0 -52(service\211user)m grestore -960 6493(T)m 19(w)k 2(o)k 1431(strings:)s +960 5294(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 6253(\(represented)m +6729(client\))s 7387(and)s 7791(their)s 8288(uid)s 960 5054(\(represented)m 2198(in)s 2441(decimal\).)s gsave -600 6067 translate +600 4868 translate 0.6953 1.0000 scale 240 fnt31 0 -52(service\211group)m grestore -960 5773(Se)m 6(v)k 3(eral)k +960 4574(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 5533(the)m 1308(service)s 2040(user)s 13(.)k +7939(decimal\))s 8823(of)s 960 4334(the)m 1308(service)s 2040(user)s 13(.)k gsave -600 5347 translate +600 4148 translate 0.6953 1.0000 scale 240 fnt31 0 -52(service\211user\211shell)m grestore -960 5053(The)m 1388(service)s 2120(user')s 13(s)k +960 3854(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 4867 translate +600 3668 translate 0.6953 1.0000 scale 240 fnt31 0 -52(u\211)m gsave @@ -3496,119 +3543,160 @@ grestore grestore grestore -960 4573(The)m 1388(v)s 6(alue)k +960 3374(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 4575(name)m 240 fnt82 5202 4573(passed)m 5898(by)s +240 fnt83 4630 3376(name)m 240 fnt82 5202 3374(passed)m 5898(by)s 6192(the)s 6540(caller)s 7129(using)s 7701(the)s gsave -8049 4627 translate +8049 3428 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211\211defvar)m grestore -960 4333(command-line)m 2397(option)s 3066(to)s 3305(the)s +960 3134(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 4093(is)m 1170(an)s 1453(empty)s +7703(this)s 8099(parameter)s 960 2894(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 3907 translate +960 2708 translate 0.6953 1.0000 scale 240 fnt31 0 -52(include\211lookup)m grestore -2421 3853(on)m 2718(it)s +2421 2654(on)m 2718(it)s 2910(will)s 3336(read)s 3805(the)s gsave -4153 3907 translate +4153 2708 translate 0.6953 1.0000 scale 240 fnt31 0 -52(:none)m grestore 4713(\207le,)s 5125(or)s gsave -5384 3907 translate +5384 2708 translate 0.6953 1.0000 scale 240 fnt31 0 -52(:default)m grestore 6245(if)s gsave -6462 3907 translate +6462 2708 translate 0.6953 1.0000 scale 240 fnt31 0 -52(:none)m grestore 7022(is)s 7232(not)s 7598(found.)s gsave -120 3484 translate +120 2285 translate 0.6953 1.0000 scale 240 fnt31 0 -52(errors\211push)m grestore -240 fnt83 1281 3432(\207lename)m gsave -120 3244 translate +240 fnt83 1281 2233(\207lename)m gsave +120 2045 translate 0.6953 1.0000 scale 240 fnt31 0 -52(srorre)m grestore -240 fnt82 480 2950(Stacks)m 1155(the)s 1503(error)s +240 fnt82 480 1751(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 2710(tak)m 2(e)k +7015(to)s 7254(error)s 7777(handling)s 8668(will)s 480 1511(tak)m 2(e)k 932(ef)s 6(fect)k 1528(only)s 2008(between)s gsave -2862 2764 translate +2862 1565 translate 0.6953 1.0000 scale 240 fnt31 0 -52(errors\211push)m grestore 4023(and)s gsave -4427 2764 translate +4427 1565 translate 0.6953 1.0000 scale 240 fnt31 0 -52(srorre)m grestore 5027(.)s gsave -120 2370 translate +120 1171 translate 0.6953 1.0000 scale 240 fnt31 0 -52(catch\211quit)m grestore gsave -120 2130 translate +120 931 translate 0.6953 1.0000 scale 240 fnt31 0 -52(hctac)m grestore -480 1836(An)m 3(y)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 + +grestore + +pgsave restore +showpage + +%%Page: 14 14 +%%BeginPageSetup +%%PageResources: font Times-Roman +%%+ font Times-Bold +%%+ font Courier-Bold +%%+ font Times-Italic +/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(14)m 240 fnt82 480 13254(An)m 3(y)k 935(use)s 1301(of)s gsave -1563 1890 translate +1563 13308 translate 0.6953 1.0000 scale 240 fnt31 0 -52(quit)m grestore 2013(inside)s gsave -2631 1890 translate +2631 13308 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 1890 translate +7795 13308 translate 0.6953 1.0000 scale 240 fnt31 0 -52(hctac)m grestore -8345(instead.)s 480 1596(An)m 3(y)k +8345(instead.)s 480 13014(An)m 3(y)k 944(control)s 1676(constructs)s 2696(started)s 3390(since)s 3937(the)s gsave -4285 1650 translate +4285 13068 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 1650 translate +8347 13068 translate 0.6953 1.0000 scale 240 fnt31 0 -52(quit)m grestore -8807(is)s 480 1356(found.)m 1203(If)s 1433(an)s 1716(error)s +8807(is)s 480 12774(found.)m 1203(If)s 1433(an)s 1716(error)s 2239(occurs)s 2914(inside)s gsave -3541 1410 translate +3541 12828 translate 0.6953 1.0000 scale 240 fnt31 0 -52(catch\211quit)m grestore @@ -3616,119 +3704,79 @@ 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 1170 translate +480 12588 translate 0.6953 1.0000 scale 240 fnt31 0 -52(reset)m grestore -1040 1116(directi)m 6(v)k 3(e\))k +1040 12534(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 1170 translate +5537 12588 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 876(detected)m 1334(in)s +7544(syntax)s 8224(error)s 8747(is)s 480 12294(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 930 translate +4764 12348 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 930 translate +7930 12348 translate 0.6953 1.0000 scale 240 fnt31 0 -52(hctac)m grestore -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 - -pgsave restore -showpage - -%%Page: 13 13 -%%BeginPageSetup -%%PageResources: font Times-Roman -%%+ font Times-Bold -%%+ font Courier-Bold -%%+ font Times-Italic -/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 -1 LoutMargSet -grestore -240 fnt84 8833 13842(13)m 240 fnt82 480 13251(an)m 763(error)s -1286(or)s gsave -1545 13305 translate +8490(after)s 480 12054(an)m 763(error)s 1286(or)s gsave +1545 12108 translate 0.6953 1.0000 scale -240 fnt31 0 -52(quit)m +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 12584(4.2.4.)m 813(Dir)s 5(ecti)k 3(v)k 3(es)k +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 11387(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 12013(The)m 419(follo)s 6(wing)k 1386(directi)s 6(v)k 3(es)k +240 fnt82 0 10816(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 11772(directi)m 6(v)k 3(e)k 881(w)s 2(as)k +8778(the)s 0 10575(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 11774(last)m 240 fnt82 0 11532(directi)m 6(v)k 3(e)k +8717 10577(last)m 240 fnt82 0 10335(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 11178 translate +120 9981 translate 0.6953 1.0000 scale 240 fnt31 0 -52(reject)m grestore -480 10884(Reject)m 1150(the)s 1498(request.)s +480 9687(Reject)m 1150(the)s 1498(request.)s gsave -2292 10938 translate +2292 9741 translate 0.6953 1.0000 scale 240 fnt31 0 -52(execute)m grestore 2992(,)s gsave -3099 10938 translate +3099 9741 translate 0.6953 1.0000 scale 240 fnt31 0 -52(execute\211from\211directory)m grestore 5361(and)s gsave -5765 10938 translate +5765 9741 translate 0.6953 1.0000 scale 240 fnt31 0 -52(execute\211from\211path)m grestore 7527(will)s 7953(change)s -480 10644(this)m 876(setting.)s gsave -120 10304 translate +480 9447(this)m 876(setting.)s gsave +120 9107 translate 0.6953 1.0000 scale 240 fnt31 0 -52(execute)m gsave 1152 0 translate @@ -3744,13 +3792,13 @@ gsave grestore 4048(\202])s grestore -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 +480 8813(Ex)m 3(ecute)k +1300(the)s 1645(program)s 240 fnt83 2512 8815(pr)m 10(o)k 2(gr)k 3(am)k +240 fnt82 3332 8813(,)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 9770(gi)m 6(v)k 3(en)k +7690(an)s 3(y)k 8083(ar)s 4(guments)k 480 8573(gi)m 6(v)k 3(en)k 1052(to)s 1282(the)s 1621(client)s 2203(if)s gsave -2411 9824 translate +2411 8627 translate 0.6953 1.0000 scale 240 fnt31 0 -52(no\211suppress\211args)m @@ -3758,15 +3806,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 9530(it)m 672(is)s +8189(f)s 2(ail)k 8550(when)s 480 8333(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 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 +6347 8335(pr)m 10(o)k 2(gr)k 3(am)k 240 fnt82 +7227 8333(does)m 7717(not)s 8083(contain)s 8844(a)s 480 8093(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 8950 translate +120 7753 translate 0.6953 1.0000 scale 240 fnt31 0 -52(execute\211from\211directory)m gsave 3312 0 translate @@ -3782,78 +3830,78 @@ grestore 6376(\202])s grestore -480 8656(T)m 19(ak)k 2(e)k 993(all)s 1286(the)s +480 7459(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 8415(w)m 2(as)k +7255(when)s 7831(the)s 8179(client)s 480 7218(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 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 +5557(named)s 6253(by)s 240 fnt83 6547 7220(pathname)m 240 fnt82 +7545 7218(as)m 7795(if)s 8012(it)s 8204(had)s 8608(been)s +480 6978(speci\207ed)m 1388(for)s 240 fnt83 1726 6980(e)m 4(xecute)k +240 fnt82 2431 6978(.)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 7935(and)m 884(h)s 1(yphens)k +6282(contain)s 7043(only)s 7523(alphanumerics)s 480 6738(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 7695(is)m 690(an)s +6727(non-empty\),)s 7950(otherwise)s 8934(it)s 480 6498(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 7455(speci\207ed;)m 1437(in)s +7560(in)s 7803(the)s 8151(directory)s 480 6258(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 7215(not)m 846(set)s 1171(before\).)s 2024(It)s 2229(is)s +480 6018(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 6975(with)m 958(a)s 1120(`no)s +8048(other)s 8599(than)s 480 5778(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 6735(when)m 1056(it)s 1248(is)s 1458(attempted)s 2458(\(after)s +480 5538(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 6395 translate +120 5198 translate 0.6953 1.0000 scale 240 fnt31 0 -52(execute\211from\211path)m grestore -240 fnt83 480 6103(service)m -240 fnt82 1202 6101(is)m 1404(interpreted)s 2488(as)s 2731(a)s +240 fnt83 480 4906(service)m +240 fnt82 1202 4904(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 6155 translate +5094 4958 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 5860(it)m 660(contains)s 1495(a)s gsave -1649 5914 translate +8909(if)s 480 4663(it)m 660(contains)s 1495(a)s gsave +1649 4717 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 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 +3252(is)s 240 fnt83 3450 4665(very)m 3904(dang)s 2(er)k 10(ous)k +240 fnt82 4899 4663(,)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 5914 translate +8065 4717 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211\211override)m grestore -480 5620(options)m 1230(ef)s 6(fecti)k 6(v)k 3(e.)k +480 4423(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 5380(it)m +7955(to)s 8187(f)s 2(ail)k 8550(when)s 480 4183(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 5040 translate +120 3843 translate 0.6953 1.0000 scale 240 fnt31 0 -52(execute\211builtin)m gsave @@ -3869,40 +3917,40 @@ gsave grestore grestore -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 +480 3549(Ex)m 3(ecutes)k 1388(the)s 1732(b)s 4(uiltin)k +2405(service)s 240 fnt83 3133 3551(service-name)m 240 fnt82 4400 3549(.)m 4500(These)s 5123(b)s 4(uiltin)k 5796(services)s 6612(display)s -7353(information)s 8534(about)s 480 4506(the)m 822(serv)s 3(er)k +7353(information)s 8534(about)s 480 3309(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 4266(possibly)m 1320(to)s 1547(print)s 2046(them)s 2572(as)s +480 3069(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 4026(\(i.e.,)m 958(where)s 6(v)k 3(er)k +7599(standard)s 8454(output)s 480 2829(\(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 3840 translate +600 2643 translate 0.6953 1.0000 scale 240 fnt31 0 -52(execute)m grestore -960 3546(Displays)m 1848(the)s 2196(e)s 3(x)k 3(ecution)k +960 2349(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 3306(b)m 4(uiltin)k +6839(etc.)s 7221(with)s 7703(which)s 8345(the)s 960 2109(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 3120 translate +600 1923 translate 0.6953 1.0000 scale 240 fnt31 0 -52(environment)m grestore -960 2826(Dis)m 1283(plays)s 1839(the)s +960 1629(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 2586(in)m 1143(v)s 4(ok)k 2(ed.)k +7919(w)s 2(as)k 960 1389(in)m 1143(v)s 4(ok)k 2(ed.)k gsave -600 2400 translate +600 1203 translate 0.6953 1.0000 scale 240 fnt31 0 -52(parameter)m gsave 1440 0 translate @@ -3912,42 +3960,16 @@ gsave grestore grestore -960 2106(Displays)m 1848(the)s 2196(v)s 6(alues)k 2852(of)s +960 909(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 1920 translate +600 723 translate 0.6953 1.0000 scale 240 fnt31 0 -52(version)m grestore -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 1440 translate -0.6953 1.0000 scale -240 fnt31 0 -52(reset)m -grestore -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 1200 translate -0.6953 1.0000 scale -240 fnt31 0 -52(reset)m +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 -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 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 960 translate -0.6953 1.0000 scale -240 fnt31 -0 -52(catch\211quit)m -grestore -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 @@ -3955,7 +3977,7 @@ grestore pgsave restore showpage -%%Page: 14 14 +%%Page: 15 15 %%BeginPageSetup %%PageResources: font Times-Roman %%+ font Times-Bold @@ -3984,139 +4006,165 @@ 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 8833 13842(15)m 240 fnt82 960 13252(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 13066 translate +0.6953 1.0000 scale +240 fnt31 0 -52(reset)m grestore -240 fnt84 0 13842(14)m gsave -600 13320 translate +960 12772(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 12826 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 12532(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 12586 translate +0.6953 1.0000 scale +240 fnt31 +0 -52(catch\211quit)m +grestore +5645(\).)s gsave +600 12346 translate 0.6953 1.0000 scale 240 fnt31 0 -52(toplevel)m grestore -240 fnt82 -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 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 12600 translate +960 12052(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 11812(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 11626 translate 0.6953 1.0000 scale 240 fnt31 0 -52(override)m grestore -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 +960 11332(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 12066(serv)m 3(er)k 9(,)k +8486(by)s 8778(the)s 960 11092(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 11880 translate +600 10906 translate 0.6953 1.0000 scale 240 fnt31 0 -52(help)m grestore -960 11586(Displays)m 1848(a)s 2014(list)s +960 10612(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 +480 10349(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 +8124(in)s 8307(for)s 8585(-)s 480 10109(ma)m 772(tion.)s gsave -120 10793 translate +120 9819 translate 0.6953 1.0000 scale 240 fnt31 0 -52(set\211environment)m grestore gsave -120 10553 translate +120 9579 translate 0.6953 1.0000 scale 240 fnt31 0 -52(no\211set\211environment)m grestore -480 10259(Runs)m +480 9285(Runs)m gsave -1024 10313 translate +1024 9339 translate 0.6953 1.0000 scale 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 10019(in)m 9(v)k 4(oking)k 1372(a)s +8485(of)s 480 9045(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 9779(is)m 690(achie)s 6(v)k 3(ed)k +8650(This)s 480 8805(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 9593 translate +960 8619 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 9348(as)m gsave -960 9162 translate +480 8374(as)m gsave +960 8188 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 8918 translate +480 7944 translate 0.6953 1.0000 scale 240 fnt31 0 -52(no\211set\211environment)m grestore -2342 8864(cancels)m 3096(the)s 3444(ef)s 6(fect)k +2342 7890(cancels)m 3096(the)s 3444(ef)s 6(fect)k 4040(of)s gsave -4311 8918 translate +4311 7944 translate 0.6953 1.0000 scale 240 fnt31 0 -52(set\211environment)m grestore 5812(.)s gsave -120 8574 translate +120 7600 translate 0.6953 1.0000 scale 240 fnt31 0 -52(no\211suppress\211args)m grestore gsave -120 8334 translate +120 7360 translate 0.6953 1.0000 scale 240 fnt31 0 -52(suppress\211args)m grestore -480 8040(Include)m 1253(an)s 3(y)k +480 7066(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 7800(of)m 749(an)s +8015(as)s 8265(a)s 8431(result)s 480 6826(of)m 749(an)s gsave -1030 7854 translate +1030 6880 translate 0.6953 1.0000 scale 240 fnt31 0 -52(execute)m grestore 1730(,)s gsave -1834 7854 translate +1834 6880 translate 0.6953 1.0000 scale 240 fnt31 0 -52(execute\211from\211directory)m grestore 4094(or)s gsave -4351 7854 translate +4351 6880 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 7854 translate +7038 6880 translate 0.6953 1.0000 scale 240 fnt31 0 -52(suppress\211args)m grestore -8396(undoes)s 480 7560(the)m 828(ef)s 6(fect)k +8396(undoes)s 480 6586(the)m 828(ef)s 6(fect)k 1424(of)s gsave -1695 7614 translate +1695 6640 translate 0.6953 1.0000 scale 240 fnt31 0 -52(no\211suppress\211args)m grestore 3297(.)s gsave -120 7239 translate +120 6265 translate 0.6953 1.0000 scale 240 fnt31 0 -52(require\211fd)m gsave @@ -4127,135 +4175,135 @@ grestore grestore 2940(read|write)s grestore -480 6940(In)m 676(sist)s 1054(that)s 1472(the)s +480 5966(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 6700(scrip)m 937(tor)s 1258(mark)s 2(ed)k 2027(as)s +480 5726(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 6460(has)m 850(been)s 1359(parsed\))s +8512(ra)s 8697(tion)s 480 5486(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 6220(a)m 646(sep)s 958(a)s 1064(rate)s 1477(set)s +480 5246(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 6274 translate +4037 5300 translate 0.6953 1.0000 scale 240 fnt31 0 -52(require\211fd)m grestore 5038(,)s gsave -5145 6274 translate +5145 5300 translate 0.6953 1.0000 scale 240 fnt31 0 -52(allow\211fd)m grestore 5946(,)s gsave -6053 6274 translate +6053 5300 translate 0.6953 1.0000 scale 240 fnt31 0 -52(ignore\211fd)m grestore 6954(,)s gsave -7061 6274 translate +7061 5300 translate 0.6953 1.0000 scale 240 fnt31 0 -52(null\211fd)m grestore 7821(or)s gsave -8080 6274 translate +8080 5300 translate 0.6953 1.0000 scale 240 fnt31 0 -52(reject\211fd)m grestore -480 5979(which)m 1122(af)s 1319(fect)s 1676(ed)s 1960(a)s +480 5005(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 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 +5331(ef)s 5528(fect.)s 240 fnt83 6049 5007(fd-)m 6302(r)s 3(ang)k 2(e)k +240 fnt82 6909 5005(may)m 7375(be)s 7657(a)s 7823(sin)s +8099(gle)s 8447(num)s 8873(-)s 480 4765(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 5499(all)m +7952(\(in)s 8214(di)s 8394(cat)s 8672(ing)s 480 4525(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 5553 translate +7604 4579 translate 0.6953 1.0000 scale 240 fnt31 0 -52(stdin)m grestore 8104(,)s gsave -8209 5553 translate +8209 4579 translate 0.6953 1.0000 scale 240 fnt31 0 -52(stdout)m grestore 8867(or)s gsave -480 5313 translate +480 4339 translate 0.6953 1.0000 scale 240 fnt31 0 -52(stderr)m grestore -1080 5259(.)m 1174(Open-)s 1761(ended)s +1080 4285(.)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 5313 translate +6536 4339 translate 0.6953 1.0000 scale 240 fnt31 0 -52(reject\211fd)m grestore 7486(and)s gsave -7879 5313 translate +7879 4339 translate 0.6953 1.0000 scale 240 fnt31 0 -52(ignore\211fd)m grestore -8780(,)s 8876(as)s 480 5019(oth)m 783(er)s +8780(,)s 8876(as)s 480 4045(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 4779(open.)m +7683(\207le)s 8038(de)s 8260(scrip)s 8717(tors)s 480 3805(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 4539(stderr)m 1083(\(fd)s 1418(2\))s 1665(must)s 2189(be)s +480 3565(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 4593 translate +4454 3619 translate 0.6953 1.0000 scale 240 fnt31 0 -52(require\211fd)m grestore 5514(or)s gsave -5772 4593 translate +5772 3619 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 4299(the)m +7839(this)s 8234(is)s 8443(so)s 8708(that)s 480 3325(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 4353 translate +6734 3379 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 4059(is)m +7535(ser)s 7813(vice)s 8263(pro)s 8575(gram)s 480 3085(is)m 690(not)s 1056(lost.)s gsave -120 3769 translate +120 2795 translate 0.6953 1.0000 scale 240 fnt31 0 -52(allow\211fd)m gsave 1296 0 translate @@ -4265,45 +4313,45 @@ grestore grestore 2652([read|write])s grestore -480 3470(Allo)m 6(w)k +480 2496(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 3524 translate +8209 2550 translate 0.6953 1.0000 scale 240 fnt31 0 -52(read)m grestore 8669(nor)s gsave -480 3284 translate +480 2310 translate 0.6953 1.0000 scale 240 fnt31 0 -52(write)m grestore -1040 3230(is)m 1250(speci\207ed.)s +1040 2256(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 2990(onto)m +7564(it)s 7756(will)s 8182(be)s 8464(open)s 480 2016(onto)m gsave -959 3044 translate +959 2070 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 3044 translate +6928 2070 translate 0.6953 1.0000 scale 240 fnt31 0 -52(read)m grestore 7328(,)s gsave -7435 3044 translate +7435 2070 translate 0.6953 1.0000 scale 240 fnt31 0 -52(write)m grestore -7995(or)s 8254(neither)s 480 2750(w)m 2(as)k 901(speci\207ed\).)s +7995(or)s 8254(neither)s 480 1776(w)m 2(as)k 901(speci\207ed\).)s gsave -120 2410 translate +120 1436 translate 0.6953 1.0000 scale 240 fnt31 0 -52(null\211fd)m gsave 1152 0 translate @@ -4313,23 +4361,23 @@ gsave grestore 2508([read|write])s grestore -480 2111(Spec)m 938(i)s 998(fy)s 1251(that)s +480 1137(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 2165 translate +4772 1191 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 1871(nei)m 766(ther)s +8138(or)s 8397(both)s 8880(if)s 480 897(nei)m 766(ther)s gsave -1181 1925 translate +1181 951 translate 0.6953 1.0000 scale 240 fnt31 0 -52(read)m grestore 1624(nor)s gsave -1986 1925 translate +1986 951 translate 0.6953 1.0000 scale 240 fnt31 0 -52(write)m @@ -4338,31 +4386,8 @@ 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 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 1291 translate -0.6953 1.0000 scale -240 fnt31 0 -52(reject\211fd)m gsave -1440 0 translate -1.4219 1.0000 scale -240 fnt83 0 -52(fd\211r)m 3(ang)k 2(e)k - -grestore - -grestore -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 +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 @@ -4370,7 +4395,7 @@ grestore pgsave restore showpage -%%Page: 15 15 +%%Page: 16 16 %%BeginPageSetup %%PageResources: font Times-Roman %%+ font Times-Bold @@ -4399,127 +4424,151 @@ 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 0 13842(16)m 240 fnt82 480 13251(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 12911 translate +0.6953 1.0000 scale +240 fnt31 0 -52(reject\211fd)m +gsave +1440 0 translate +1.4219 1.0000 scale +240 fnt83 0 -52(fd\211r)m 3(ang)k 2(e)k grestore -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 + +grestore +480 12617(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 12377(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 12137(con\207guration)m 1813(has)s 2183(been)s +2692(parsed\).)s gsave +120 11797 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 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 +480 11503(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 11263(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 10923 translate 0.6953 1.0000 scale -240 fnt31 0 -52(disconnect\211hup)m +240 fnt31 0 -52(disconnect\211hup)m + grestore gsave -120 11798 translate +120 10683 translate 0.6953 1.0000 scale 240 fnt31 0 -52(no\211disconnect\211hup)m grestore -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 +480 10389(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 10443 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 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 +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 10149(ser)m 758(vice)s 1209(pro)s 1521(cess)s +1966(ter)s 2217(mi)s 2463(nates.)s gsave +3055 10203 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 11318 translate +5560 10203 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 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 +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 9909(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 9668(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 9722 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 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 +4817(will)s +5243(be)s 5525(de)s 5747(li)s 6(v)k 5988(ered)s +240 fnt83 6457 9670(be)m 6676(for)s 8(e)k 240 fnt82 +7106 9668(the)m 7454(writ)s 7838(ing)s 8197(end\(s\))s 8843(of)s +480 9428(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 9188(read)m 889(ing)s 1248(EOF)s +1758(on)s 2055(a)s 2221(pipe.)s gsave +120 8848 translate 0.6953 1.0000 scale -240 fnt31 -0 -52(reset)m +240 fnt31 0 -52(reset)m + grestore -480 9669(Resets)m 1155(the)s 1503(e)s 3(x)k 3(ecution)k +480 8554(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 9483 translate +960 8368 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 7506(If)m 230(no)s gsave -523 7560 translate +0 6391(If)m 230(no)s gsave +523 6445 translate 0.6953 1.0000 scale 240 fnt31 0 -52(execute)m grestore 1223(,)s gsave -1330 7560 translate +1330 6445 translate 0.6953 1.0000 scale 240 fnt31 0 -52(execute\211from\211path)m grestore 3032(,)s gsave -3139 7560 translate +3139 6445 translate 0.6953 1.0000 scale 240 fnt31 0 -52(execute\211from\211directory)m grestore 5401(or)s gsave -5660 7560 translate +5660 6445 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 7266(\207les)m +6630(interpreted)s 7722(before)s 8388(all)s 8681(the)s 0 6151(\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 6242 LoutGr2 +2832(is)s 3042(rejected.)s 9066 670 0 670 240 240 60 0 5127 LoutGr2 newpath 0 ysize 0.3 ft sub moveto xsize 0 rlineto 0 0.1 ft rlineto @@ -4529,35 +4578,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 5780(If)m +0 4665(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 5540(will)m 422(be)s 699(issued,)s 1399(to)s 1633(where)s 6(v)k 3(er)k +0 4425(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 5594 translate +7430 4479 translate 0.6953 1.0000 scale 240 fnt31 0 -52(errors\211)m grestore -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 +8185(f)s 2(amily)k 8855(of)s 0 4185(directi)m 6(v)k 3(es,)k +1026(abo)s 3(v)k 3(e\).)k 0 3777(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 4652(w)m 2(as)k 421(inside)s 1048(a)s gsave -1214 4706 translate +0 3537(w)m 2(as)k 421(inside)s 1048(a)s gsave +1214 3591 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 4412(will)m 426(be)s +7973(e)s 3(x)k 3(ecution)k 0 3297(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 4466 translate +3243 3351 translate 0.6953 1.0000 scale 240 fnt31 0 -52(reset)m @@ -4565,11 +4614,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 4226 translate +0 3111 translate 0.6953 1.0000 scale 240 fnt31 0 -52(hctac)m grestore -500 4172(.)m 9066 609 0 609 240 240 60 0 3209 LoutGr2 +500 3057(.)m 9066 609 0 609 240 240 60 0 2094 LoutGr2 newpath 0 ysize 0.3 ft sub moveto xsize 0 rlineto 0 0.1 ft rlineto @@ -4579,12 +4628,12 @@ grestore 320 fnt84 0 5(4.4.)m 628(Defaults)s grestore -0 2747(The)m 428(def)s 2(ault)k 1149(con\207guration)s +0 1632(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 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 +7670(con\207guration)s 0 1392(\207le)m 361(whose)s 1029(contents)s 1877(were)s +2397(as)s 2647(follo)s 6(ws:)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 @@ -4593,7 +4642,7 @@ grestore pgsave restore showpage -%%Page: 16 16 +%%Page: 17 17 %%BeginPageSetup %%PageResources: font Times-Roman %%+ font Times-Bold @@ -4622,10 +4671,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(16)m gsave -480 13332 translate +240 fnt84 8831 13842(17)m gsave +480 13335 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 @@ -4640,9 +4689,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 9856(If)m +240 fnt82 0 9859(If)m 226(one)s 624(of)s 891(the)s gsave -1235 9910 translate +1235 9913 translate 0.6953 1.0000 scale 240 fnt31 0 -52(\211\211override)m @@ -4650,9 +4699,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 9616(parsing)m 757(an)s 1040(o)s 3(v)k 3(erall)k +8606(were)s 0 9619(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 9430 translate +480 9433 translate 0.6953 1.0000 scale 240 fnt31 0 -52(reset)m 0 -292(errors\211to\211stderr)m 0 -532(include)m gsave @@ -4664,8 +4713,8 @@ grestore grestore 0 -772(quit)m grestore -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 +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 @@ -4674,7 +4723,7 @@ grestore pgsave restore showpage -%%Page: 17 17 +%%Page: 18 18 %%BeginPageSetup %%PageResources: font Times-Roman %%+ font Times-Bold @@ -4702,10 +4751,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 -0 12729 translate +240 fnt84 0 13842(18)m gsave +0 12726 translate 240 fnt82 9066 688 0 688 240 240 60 LoutGraphic gsave newpath 0 ysize 0.3 ft sub moveto @@ -4718,120 +4767,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 12267(The)m 428(information)s 1613(described)s +240 fnt82 0 12264(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 12027(the)m 348(service.)s 0 11619(\213)m +7949(caller)s 8538(and)s 0 12024(the)m 348(service.)s 0 11616(\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 11379(deciding)m 1343(whether)s 2158(and)s 2547(which)s 3175(service)s +480 11376(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 11433 translate +6262 11430 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 11139(by)m 774(the)s +8045(and)s 8434(is)s 8629(used)s 480 11136(by)m 774(the)s gsave -1122 11193 translate +1122 11190 translate 0.6953 1.0000 scale 240 fnt31 0 -52(execute\211from\211directory)m grestore 3384(and)s gsave -3788 11193 translate +3788 11190 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 10899(used)m 977(to)s 1216(select)s +8111(is)s 8321(usually)s 480 10896(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 10659(the)m +6831(the)s 7179(service)s 7911(program)s 8781(in)s 480 10656(the)m gsave -828 10713 translate +828 10710 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 10228(\213)m 480(File)s 902(descriptors)s 1995(speci\207ed)s 2897(by)s +0 10225(\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 9988(will)m 906(be)s 1188(connected.)s 2262(Each)s 2797(\207le)s +480 9985(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 9748(via)m +6241(or)s 6500(writing.)s 7294(Communication)s 8893(is)s 480 9745(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 9508(program)m 1347(\(when)s 1999(it)s 2188(is)s +8348(service)s 480 9505(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 9268(read)m 942(and)s 1339(write)s 1878(\207les)s +8700(will)s 480 9265(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 9028(Data)m 991(may)s 1457(be)s +8506(caller)s 13(.)k 480 9025(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 8788(pipes.)m 1083(These)s +7109(it)s 7301(through)s 8103(writing)s 480 8785(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 8548(be)m 762(made)s 1336(to)s 1575(stay)s +8737(can)s 480 8545(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 8308(main)m 998(service)s +7200(program)s 8070(forks\))s 8689(the)s 480 8305(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 8068(its)m 751(caller)s 13(.)k 1426(The)s +8832(by)s 480 8065(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 7828(and)m 884(cause)s 1471(attempts)s 2331(to)s 2570(write)s +480 7825(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 7882 translate +7432 7879 translate 0.6953 1.0000 scale 240 fnt31 0 -52(SIGPIPE)m grestore 8192(\(or)s gsave -8530 7882 translate +8530 7879 translate 0.6953 1.0000 scale 240 fnt31 0 -52(EPIPE)m grestore -480 7588(if)m +480 7585(if)m gsave -684 7642 translate +684 7639 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 7348(speci\207ed)m 1373(for)s 1696(reading,)s 2505(which)s 3132(will)s +480 7345(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 7108(to)m 716(be)s +7925(by)s 8204(the)s 8537(caller)s 480 7105(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 7162 translate +8111 7159 translate 0.6953 1.0000 scale 240 fnt31 0 -52(SIGPIPE)m grestore 8867(or)s gsave -480 6922 translate +480 6919 translate 0.6953 1.0000 scale 240 fnt31 0 -52(EPIPE)m grestore -980 6868(.)m 0 6463(\213)m 480(If)s gsave -706 6517 translate +980 6865(.)m 0 6460(\213)m 480(If)s gsave +706 6514 translate 0.6953 1.0000 scale 240 fnt31 0 -52(no\211suppress\211args)m @@ -4839,133 +4888,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 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 +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 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 5547(tion)m 909(of)s 1180(the)s 1528(ser)s 1806(vice)s +480 5544(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 5307(de)m +7677(\207le)s 8038(de)s 8260(scrip)s 8717(tors)s 480 5304(de)m 702(scribed)s 1450(abo)s 3(v)k 3(e;)k 2128(if)s gsave -2345 5361 translate +2345 5358 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 5361 translate +7647 5358 translate 0.6953 1.0000 scale 240 fnt31 0 -52(SIGHUP)m grestore -8247(.)s 0 4871(\213)m 480(The)s 908(v)s 6(alue)k +8247(.)s 0 4868(\213)m 480(The)s 908(v)s 6(alue)k 1476(of)s 1747(the)s gsave -2095 4925 translate +2095 4922 translate 0.6953 1.0000 scale 240 fnt31 0 -52(LOGNAME)m grestore 2855(\(or)s gsave -3193 4925 translate +3193 4922 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 4631(used)m +6985(the)s 7333(client)s 7923(will)s 8349(be)s 480 4628(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 4391(corresponding)m 1902(to)s +7497(matches)s 8331(the)s 8679(uid)s 480 4388(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 4151(to)m +7295(entry)s 7840(will)s 8266(be)s 8548(used)s 480 4148(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 3911(in)m 723(the)s +8218(a)s 4(v)k 6(ailable)k 480 3908(in)m 723(the)s 1071(con\207guration)s 2404(language)s 3324(in)s 3567(the)s gsave -3915 3965 translate +3915 3962 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 3671(program)m 1334(in)s +7637(to)s 7876(the)s 8224(service)s 480 3668(program)m 1334(in)s 1561(en)s 9(vironment)k 2805(v)s 6(ariables)k gsave -3696 3725 translate +3696 3722 translate 0.6953 1.0000 scale 240 fnt31 0 -52(USERV_USER)m grestore 4741(and)s gsave -5129 3725 translate +5129 3722 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 3431(login)m 1023(name)s 1591(\(according)s 2659(to)s 2892(the)s +480 3428(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 3245 translate +480 3242 translate 0.6953 1.0000 scale 240 fnt31 0 -52(calling\211user\211shell)m grestore -2342 3191(parameter)m 13(.)k 3447(If)s +2342 3188(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 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 +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 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 2305(a)m 4(v)k 6(ailable)k +8051(list)s 8402(are)s 480 2302(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 2359 translate +4766 2356 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 2065(service)m +7521(are)s 7860(passed)s 8548(to)s 8778(the)s 480 2062(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 1825(the)m 828(calling)s 1531(process)s +8072(to)s 8311(which)s 480 1822(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 1370(\213)m 480(The)s 908(name)s 1482(of)s 1753(the)s +0 1367(\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 1130(a)m 4(v)k 6(ailable)k +7871(passed,)s 8616(if)s 480 1127(a)m 4(v)k 6(ailable)k 1388(and)s 1792(not)s 2158(hidden)s 2867(using)s gsave -3439 1184 translate +3439 1181 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 1184 translate +7227 1181 translate 0.6953 1.0000 scale 240 fnt31 0 -52(USERV_CWD)m grestore -8188(v)s 6(ariable.)k 480 890(This)m 946(grants)s 1570(no)s +8188(v)s 6(ariable.)k 480 887(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(User)m -511(service)s 1243(daemon)s 2058(and)s 2462(client)s 3052(speci\207cation)s -8491(0.64.1)s +7164(of)s 7424(a)s 7579(directory)s 8484(which)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 @@ -4973,7 +5022,7 @@ grestore pgsave restore showpage -%%Page: 18 18 +%%Page: 19 19 %%BeginPageSetup %%PageResources: font Times-Roman %%+ font Times-Bold @@ -5002,9 +5051,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(18)m 240 fnt82 480 13251(is)m 690(e)s 3(x)k 3(ecutable)k +240 fnt84 8832 13842(19)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 @@ -5061,8 +5110,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(0.64.1)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 @@ -5070,7 +5119,7 @@ grestore pgsave restore showpage -%%Page: 19 19 +%%Page: 20 20 %%BeginPageSetup %%PageResources: font Times-Roman %%+ font Times-Bold @@ -5099,9 +5148,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 gsave +240 fnt84 0 13842(20)m gsave 0 12727 translate 240 fnt82 9066 687 0 687 240 240 60 LoutGraphic gsave @@ -5357,8 +5406,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(User)m 511(service)s -1243(daemon)s 2058(and)s 2462(client)s 3052(speci\207cation)s 8491(0.64.1)s +8055(lik)s 2(e)k 8467(it.)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 @@ -5367,7 +5416,7 @@ grestore pgsave restore showpage -%%Page: 20 20 +%%Page: 21 21 %%BeginPageSetup %%PageResources: font Times-Roman %%+ font Times-Bold @@ -5396,105 +5445,105 @@ 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 240 fnt82 0 13251(Ho)m 6(we)k 6(v)k 3(er)k 9(,)k +240 fnt84 8839 13842(21)m 240 fnt82 0 13254(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 13011(someone)m +6560(system,)s 7331(whether)s 8161(or)s 8420(not)s 0 13014(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 12771(security-critical)m 1551(information)s 2736(this)s +7596(and)s 8000(other)s 0 12774(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 12531(place.)m +7164(access)s 7825(in)s 8068(the)s 8416(\207rst)s 0 12534(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 12585 translate +8730 12588 translate 0.6953 1.0000 scale 240 fnt31 0 -52(lp)m grestore -0 12291(user)m 458(will)s +0 12294(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 11883(Instead,)m +4266(\207le)s 4627(on)s 4924(the)s 5272(system.)s 0 11886(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 11885(outside)m 240 fnt82 -0 11643(the)m 348(control)s 1080(of)s 1351(the)s 1699(print)s +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 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 11403(b)m 4(ut)k +6465(root-pri)s 6(vile)k 3(ged)k 7947(component,)s 0 11406(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 11163(the)m 348(control)s 1080(of)s 1351(the)s +8521(under)s 0 11166(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 11217 translate +5747 11220 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 10923(under)m 605(the)s 953(user')s 13(s)k 1561(control)s +0 10926(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 10683(be)m 279(gi)s 6(v)k 3(en)k 855(the)s +0 10686(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 10443(which)m 642(were)s 1162(listed)s +8379(be)s 8657(read)s 0 10446(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 10035(No)m 6(w)k +4858(ask)s 2(ed)k 5459(to)s 5698(print.)s 0 10038(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 9795(system:)m 770(the)s 3(y)k +7933(of)s 8192(the)s 8527(entire)s 0 9798(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 9555(run)m 373(by)s 664(the)s 1009(print)s +8059(programs)s 0 9558(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 9315(done)m +7548(\207les)s 7994(when)s 8567(it)s 8756(has)s 0 9318(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 8907(Similar)m +5142(can)s 5531(be)s 5813(quite)s 6347(simple.)s 0 8910(Similar)m 762(considerations)s 2194(apply)s 2780(to)s 3019(man)s 3(y)k gsave -3602 8961 translate +3602 8964 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 8667(as)m 250(root.)s 0 8259(It)m 198(is)s +8327(run)s 0 8670(as)m 250(root.)s 0 8262(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 8019(say\))m 440(or)s 692(k)s 2(ept)k +8000(\(in)s 8315(dot\207les,)s 0 8022(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 7779(\(and)m 468(probably)s 1357(creating)s 2164(a)s +8210(directory)s 0 7782(\(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 7539(has)m 370(fe)s 6(wer)k +7375(subsystems')s 8561(state\))s 0 7542(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 7299(boundaries)m 1101(lie.)s 9066 670 0 670 240 240 60 0 6275 LoutGr2 +8182(security)s 0 7302(boundaries)m 1101(lie.)s 9066 670 0 670 240 240 60 0 6278 LoutGr2 newpath 0 ysize 0.3 ft sub moveto xsize 0 rlineto 0 0.1 ft rlineto @@ -5522,45 +5571,45 @@ grestore grestore gsave -0 5867 translate +0 5870 translate 0.6953 1.0000 scale 240 fnt31 0 -52(userv)m grestore -560 5813(is)m 770(not)s 1136(intended)s 2018(as)s +560 5816(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 5573(administrators)m 1398(can)s +6618(with)s 7100(which)s 7742(system)s 0 5576(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 5333(precisely)m 916(because)s 1729(it)s +7936(this)s 8312(purpose)s 0 5336(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 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 +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 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 4417(pro)m 3(vide)k +6817(\207rst)s 7248(glance)s 7928(seem)s 8479(to)s 0 4420(pro)m 3(vide)k 769(similar)s 1476(functionality)s 2736(to)s gsave -2960 4471 translate +2960 4474 translate 0.6953 1.0000 scale 240 fnt31 0 -52(sudo)m grestore -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 +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 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 4177(too,)m +7471(is)s 7666(a)s 7817(problem)s 8659(here)s 0 4180(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 4231 translate +4781 4234 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 3937(caller)m +7182(interact)s 7957(with)s 8439(its)s 8714(real)s 0 3940(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 2913 LoutGr2 +9066 670 0 670 240 240 60 0 2916 LoutGr2 newpath 0 ysize 0.3 ft sub moveto xsize 0 rlineto 0 0.1 ft rlineto @@ -5571,36 +5620,36 @@ grestore 2107(access)s 3013(to)s 3352(general-pur)s 3(pose)k 5640(utilities)s grestore -0 2451(Do)m 346(not)s 712(specify)s 1456(general)s 2214(purpose)s +0 2454(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 2505 translate +4394 2508 translate 0.6953 1.0000 scale 240 fnt31 0 -52(mv)m grestore 4654(or)s gsave -4913 2505 translate +4913 2508 translate 0.6953 1.0000 scale 240 fnt31 0 -52(cat)m grestore 5273(in)s gsave -5516 2505 translate +5516 2508 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 2211(thought)m 792(about)s 1384(their)s 1881(ar)s 4(guments,)k +8138(careful)s 0 2214(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 2265 translate +4856 2268 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 1971(will)m 426(gi)s 6(v)k 3(e)k +8327(do)s 8620(so)s 8886(it)s 0 1974(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 1563(It)m +3817(than)s 4286(you)s 4701(probably)s 5606(intend.)s 0 1566(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 @@ -5621,8 +5670,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(0.64.1)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 @@ -5630,7 +5679,7 @@ grestore pgsave restore showpage -%%Page: 21 21 +%%Page: 22 22 %%BeginPageSetup %%PageResources: font Times-Roman %%+ font Times-Bold @@ -5658,17 +5707,17 @@ 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(mistak)m 2(es)k +240 fnt84 0 13842(22)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(User)m 511(service)s 1243(daemon)s -2058(and)s 2462(client)s 3052(speci\207cation)s 8491(0.64.1)s +3133(.)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 @@ -5684,5 +5733,5 @@ showpage %%DocumentSuppliedResources: procset LoutStartUp %%+ procset LoutMarginNotes %%+ encoding vec2 -%%Pages: 21 +%%Pages: 22 %%EOF diff --git a/spec.sgml b/spec.sgml index 57329a4..d3abc7d 100644 --- a/spec.sgml +++ b/spec.sgml @@ -553,9 +553,9 @@ The configuration file is a series of directives, usually one per line. The portion of a line following a hash character newline @@ -573,6 +573,10 @@ Relative pathnames in directives are relative to the service program's current directory (usually the service user's home directory). Pathnames starting with the two characters ~/ are taken to be relative to the service user's home directory. +

+ +Logical lines may be continued by putting a backslash Configuration file directives

@@ -664,13 +668,12 @@ file. Causes an error whose message includes the descriptive string