[0001]
[0002]
[0003]
[0004]
[0005]
[0006]
[0007]
[0008]
[0009]
[0010]
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
[0038]
[0039]
[0040]
[0041]
[0042]
[0043]
[0044]
[0045]
[0046]
[0047]
[0048]
[0049]
[0050]
[0051]
[0052]
[0053]
[0054]
[0055]
[0056]
[0057]
[0058]
[0059]
[0060]
[0061]
[0062]
[0063]
[0064]
[0065]
[0066]
[0067]
[0068]
[0069]
[0070]
[0071]
[0072]
[0073]
[0074]
[0075]
[0076]
[0077]
[0078]
[0079]
[0080]
[0081]
[0082]
[0083]
[0084]
[0085]
[0086]
[0087]
[0088]
[0089]
[0090]
[0091]
[0092]
[0093]
[0094]
[0095]
[0096]
[0097]
[0098]
[0099]
[0100]
[0101]
[0102]
[0103]
[0104]
[0105]
[0106]
[0107]
[0108]
[0109]
[0110]
[0111]
[0112]
[0113]
[0114]
[0115]
[0116]
[0117]
[0118]
[0119]
[0120]
[0121]
[0122]
[0123]
[0124]
[0125]
[0126]
[0127]
[0128]
[0129]
[0130]
[0131]
[0132]
[0133]
[0134]
[0135]
[0136]
[0137]
[0138]
[0139]
[0140]
[0141]
[0142]
[0143]
[0144]
[0145]
[0146]
[0147]
[0148]
[0149]
[0150]
[0151]
[0152]
[0153]
[0154]
[0155]
[0156]
[0157]
[0158]
[0159]
[0160]
[0161]
[0162]
[0163]
[0164]
[0165]
[0166]
[0167]
[0168]
[0169]
[0170]
[0171]
[0172]
[0173]
[0174]
[0175]
[0176]
[0177]
[0178]
[0179]
[0180]
[0181]
[0182]
[0183]
[0184]
[0185]
[0186]
[0187]
[0188]
[0189]
[0190]
[0191]
[0192]
[0193]
[0194]
[0195]
[0196]
[0197]
[0198]
[0199]
[0200]
[0201]
[0202]
[0203]
[0204]
[0205]
[0206]
[0207]
[0208]
[0209]
[0210]
[0211]
[0212]
[0213]
[0214]
[0215]
[0216]
[0217]
[0218]
[0219]
[0220]
[0221]
[0222]
[0223]
[0224]
[0225]
[0226]
[0227]
[0228]
[0229]
[0230]
[0231]
[0232]
[0233]
[0234]
[0235]
[0236]
[0237]
[0238]
[0239]
[0240]
[0241]
[0242]
[0243]
[0244]
[0245]
[0246]
[0247]
[0248]
[0249]
[0250]
[0251]
[0252]
[0253]
[0254]
[0255]
[0256]
[0257]
[0258]
[0259]
[0260]
[0261]
[0262]
[0263]
[0264]
[0265]
[0266]
[0267]
[0268]
[0269]
[0270]
[0271]
[0272]
[0273]
[0274]
[0275]
[0276]
[0277]
[0278]
[0279]
[0280]
[0281]
[0282]
[0283]
[0284]
[0285]
[0286]
[0287]
[0288]
[0289]
[0290]
[0291]
[0292]
[0293]
[0294]
[0295]
[0296]
[0297]
[0298]
[0299]
[0300]
[0301]
[0302]
[0303]
[0304]
[0305]
[0306]
[0307]
[0308]
[0309]
[0310]
[0311]
[0312]
[0313]
[0314]
[0315]
[0316]
[0317]
[0318]
[0319]
[0320]
[0321]
[0322]
[0323]
[0324]
[0325]
[0326]
[0327]
[0328]
[0329]
[0330]
[0331]
[0332]
[0333]
[0334]
[0335]
[0336]
[0337]
[0338]
[0339]
[0340]
[0341]
[0342]
[0343]
[0344]
[0345]
[0346]
[0347]
[0348]
[0349]
[0350]
[0351]
[0352]
[0353]
[0354]
[0355]
[0356]
[0357]
[0358]
[0359]
[0360]
[0361]
[0362]
[0363]
[0364]
[0365]
[0366]
[0367]
[0368]
[0369]
[0370]
[0371]
[0372]
[0373]
[0374]
[0375]
[0376]
[0377]
[0378]
[0379]
[0380]
[0381]
[0382]
[0383]
[0384]
[0385]
[0386]
[0387]
[0388]
[0389]
[0390]
[0391]
[0392]
[0393]
[0394]
[0395]
[0396]
[0397]
[0398]
[0399]
[0400]
[0401]
[0402]
[0403]
[0404]
[0405]
[0406]
[0407]
[0408]
[0409]
[0410]
[0411]
[0412]
[0413]
[0414]
[0415]
[0416]
[0417]
[0418]
[0419]
[0420]
[0421]
[0422]
[0423]
[0424]
[0425]
[0426]
[0427]
[0428]
[0429]
[0430]
[0431]
[0432]
[0433]
[0434]
[0435]
[0436]
[0437]
[0438]
[0439]
[0440]
[0441]
[0442]
[0443]
[0444]
[0445]
[0446]
[0447]
[0448]
[0449]
[0450]
[0451]
[0452]
[0453]
[0454]
[0455]
[0456]
[0457]
[0458]
[0459]
[0460]
[0461]
[0462]
[0463]
[0464]
[0465]
[0466]
[0467]
[0468]
[0469]
[0470]
[0471]
[0472]
[0473]
[0474]
[0475]
[0476]
[0477]
[0478]
[0479]
[0480]
[0481]
[0482]
[0483]
[0484]
[0485]
[0486]
[0487]
[0488]
[0489]
[0490]
[0491]
[0492]
[0493]
[0494]
[0495]
[0496]
[0497]
[0498]
[0499]
[0500]
[0501]
[0502]
[0503]
[0504]
[0505]
[0506]
[0507]
[0508]
[0509]
[0510]
[0511]
[0512]
[0513]
[0514]
[0515]
[0516]
[0517]
[0518]
[0519]
[0520]
[0521]
[0522]
[0523]
[0524]
[0525]
[0526]
[0527]
[0528]
[0529]
[0530]
[0531]
[0532]
[0533]
[0534]
[0535]
[0536]
[0537]
[0538]
[0539]
[0540]
[0541]
[0542]
[0543]
[0544]
[0545]
[0546]
[0547]
[0548]
[0549]
[0550]
[0551]
[0552]
[0553]
[0554]
[0555]
[0556]
[0557]
[0558]
[0559]
[0560]
[0561]
[0562]
[0563]
[0564]
[0565]
[0566]
[0567]
[0568]
[0569]
[0570]
[0571]
[0572]
[0573]
[0574]
[0575]
[0576]
[0577]
[0578]
[0579]
[0580]
[0581]
[0582]
[0583]
[0584]
[0585]
[0586]
[0587]
[0588]
[0589]
[0590]
[0591]
[0592]
[0593]
[0594]
[0595]
[0596]
[0597]
[0598]
[0599]
[0600]
[0601]
[0602]
[0603]
[0604]
[0605]
[0606]
[0607]
[0608]
[0609]
[0610]
[0611]
[0612]
[0613]
[0614]
[0615]
[0616]
[0617]
[0618]
[0619]
[0620]
[0621]
[0622]
[0623]
[0624]
[0625]
[0626]
[0627]
[0628]
[0629]
[0630]
[0631]
[0632]
[0633]
[0634]
[0635]
[0636]
[0637]
[0638]
[0639]
[0640]
[0641]
[0642]
[0643]
[0644]
[0645]
[0646]
[0647]
[0648]
[0649]
[0650]
[0651]
[0652]
[0653]
[0654]
[0655]
[0656]
[0657]
[0658]
[0659]
[0660]
[0661]
[0662]
[0663]
[0664]
[0665]
[0666]
[0667]
[0668]
[0669]
[0670]
[0671]
[0672]
[0673]
[0674]
[0675]
[0676]
[0677]
[0678]
[0679]
[0680]
[0681]
[0682]
[0683]
[0684]
[0685]
[0686]
[0687]
[0688]
[0689]
[0690]
[0691]
[0692]
[0693]
[0694]
[0695]
[0696]
[0697]
[0698]
[0699]
[0700]
[0701]
[0702]
[0703]
[0704]
[0705]
[0706]
[0707]
[0708]
[0709]
[0710]
[0711]
[0712]
[0713]
[0714]
[0715]
[0716]
[0717]
[0718]
[0719]
[0720]
[0721]
[0722]
[0723]
[0724]
[0725]
[0726]
[0727]
[0728]
[0729]
[0730]
[0731]
[0732]
[0733]
[0734]
[0735]
[0736]
[0737]
[0738]
[0739]
[0740]
[0741]
[0742]
[0743]
[0744]
[0745]
[0746]
[0747]
[0748]
[0749]
[0750]
[0751]
[0752]
[0753]
[0754]
[0755]
[0756]
[0757]
[0758]
[0759]
[0760]
[0761]
[0762]
[0763]
[0764]
[0765]
[0766]
[0767]
[0768]
[0769]
[0770]
[0771]
[0772]
[0773]
[0774]
[0775]
[0776]
[0777]
[0778]
[0779]
[0780]
[0781]
[0782]
[0783]
[0784]
[0785]
[0786]
[0787]
[0788]
[0789]
[0790]
[0791]
[0792]
[0793]
[0794]
[0795]
[0796]
[0797]
[0798]
[0799]
[0800]
[0801]
[0802]
[0803]
[0804]
[0805]
[0806]
[0807]
[0808]
[0809]
[0810]
[0811]
[0812]
[0813]
[0814]
[0815]
[0816]
[0817]
[0818]
[0819]
[0820]
[0821]
[0822]
[0823]
[0824]
[0825]
[0826]
[0827]
[0828]
[0829]
[0830]
[0831]
[0832]
[0833]
[0834]
[0835]
[0836]
[0837]
[0838]
[0839]
[0840]
[0841]
[0842]
[0843]
[0844]
[0845]
[0846]
[0847]
[0848]
[0849]
[0850]
[0851]
[0852]
[0853]
[0854]
[0855]
[0856]
[0857]
[0858]
[0859]
[0860]
[0861]
[0862]
[0863]
[0864]
[0865]
[0866]
[0867]
[0868]
[0869]
[0870]
[0871]
[0872]
[0873]
[0874]
[0875]
[0876]
[0877]
[0878]
[0879]
[0880]
[0881]
[0882]
[0883]
[0884]
[0885]
[0886]
[0887]
[0888]
[0889]
[0890]
[0891]
[0892]
[0893]
[0894]
[0895]
[0896]
[0897]
[0898]
[0899]
[0900]
[0901]
[0902]
[0903]
[0904]
[0905]
[0906]
[0907]
[0908]
[0909]
[0910]
[0911]
[0912]
[0913]
[0914]
[0915]
[0916]
[0917]
[0918]
[0919]
[0920]
[0921]
[0922]
[0923]
[0924]
[0925]
[0926]
[0927]
[0928]
[0929]
[0930]
[0931]
[0932]
[0933]
[0934]
[0935]
[0936]
[0937]
[0938]
[0939]
[0940]
[0941]
[0942]
[0943]
[0944]
[0945]
[0946]
[0947]
[0948]
[0949]
[0950]
[0951]
[0952]
[0953]
[0954]
[0955]
[0956]
[0957]
[0958]
[0959]
[0960]
[0961]
[0962]
[0963]
[0964]
[0965]
[0966]
[0967]
[0968]
[0969]
[0970]
[0971]
[0972]
[0973]
[0974]
[0975]
[0976]
[0977]
[0978]
[0979]
[0980]
[0981]
[0982]
[0983]
[0984]
[0985]
[0986]
[0987]
[0988]
[0989]
[0990]
[0991]
[0992]
[0993]
[0994]
[0995]
[0996]
[0997]
[0998]
[0999]
[1000]
[1001]
[1002]
[1003]
[1004]
[1005]
[1006]
[1007]
[1008]
[1009]
[1010]
[1011]
[1012]
[1013]
[1014]
[1015]
[1016]
[1017]
[1018]
[1019]
[1020]
[1021]
[1022]
[1023]
[1024]
[1025]
[1026]
[1027]
[1028]
[1029]
[1030]
[1031]
[1032]
[1033]
[1034]
[1035]
[1036]
[1037]
[1038]
[1039]
[1040]
[1041]
[1042]
[1043]
[1044]
[1045]
[1046]
[1047]
[1048]
[1049]
[1050]
[1051]
[1052]
[1053]
[1054]
[1055]
[1056]
[1057]
[1058]
[1059]
[1060]
[1061]
[1062]
[1063]
[1064]
[1065]
[1066]
[1067]
[1068]
[1069]
[1070]
[1071]
[1072]
[1073]
[1074]
[1075]
[1076]
[1077]
[1078]
[1079]
[1080]
[1081]
[1082]
[1083]
[1084]
[1085]
[1086]
[1087]
[1088]
[1089]
[1090]
[1091]
[1092]
[1093]
[1094]
[1095]
[1096]
[1097]
[1098]
[1099]
[1100]
[1101]
[1102]
[1103]
[1104]
[1105]
[1106]
[1107]
[1108]
[1109]
[1110]
[1111]
[1112]
[1113]
[1114]
[1115]
[1116]
[1117]
[1118]
[1119]
[1120]
[1121]
[1122]
[1123]
[1124]
[1125]
[1126]
[1127]
[1128]
[1129]
[1130]
[1131]
[1132]
[1133]
[1134]
[1135]
[1136]
[1137]
[1138]
[1139]
[1140]
[1141]
[1142]
[1143]
[1144]
[1145]
[1146]
[1147]
[1148]
[1149]
[1150]
[1151]
[1152]
[1153]
[1154]
[1155]
[1156]
[1157]
[1158]
[1159]
[1160]
[1161]
[1162]
[1163]
[1164]
[1165]
[1166]
[1167]
[1168]
[1169]
[1170]
[1171]
[1172]
[1173]
[1174]
[1175]
[1176]
[1177]
[1178]
[1179]
[1180]
[1181]
[1182]
[1183]
[1184]
[1185]
[1186]
[1187]
[1188]
[1189]
[1190]
[1191]
[1192]
[1193]
[1194]
[1195]
[1196]
[1197]
[1198]
[1199]
[1200]
[1201]
[1202]
[1203]
[1204]
[1205]
[1206]
[1207]
[1208]
[1209]
[1210]
[1211]
[1212]
[1213]
[1214]
[1215]
[1216]
[1217]
[1218]
[1219]
[1220]
[1221]
[1222]
[1223]
[1224]
[1225]
[1226]
[1227]
[1228]
[1229]
[1230]
[1231]
[1232]
[1233]
[1234]
[1235]
[1236]
[1237]
[1238]
[1239]
[1240]
[1241]
[1242]
[1243]
[1244]
[1245]
[1246]
[1247]
[1248]
[1249]
[1250]
[1251]
[1252]
[1253]
[1254]
[1255]
[1256]
[1257]
[1258]
[1259]
[1260]
[1261]
[1262]
[1263]
[1264]
[1265]
[1266]
[1267]
[1268]
[1269]
[1270]
[1271]
[1272]
[1273]
[1274]
[1275]
[1276]
[1277]
[1278]
[1279]
[1280]
[1281]
[1282]
[1283]
[1284]
[1285]
[1286]
[1287]
[1288]
[1289]
[1290]
[1291]
[1292]
[1293]
[1294]
[1295]
[1296]
[1297]
[1298]
[1299]
[1300]
[1301]
[1302]
[1303]
[1304]
[1305]
[1306]
[1307]
[1308]
[1309]
[1310]
[1311]
[1312]
[1313]
[1314]
[1315]
[1316]
[1317]
[1318]
[1319]
[1320]
[1321]
[1322]
[1323]
[1324]
[1325]
[1326]
[1327]
[1328]
[1329]
[1330]
[1331]
[1332]
[1333]
[1334]
[1335]
[1336]
[1337]
[1338]
[1339]
[1340]
[1341]
[1342]
[1343]
[1344]
[1345]
[1346]
[1347]
[1348]
[1349]
[1350]
[1351]
[1352]
[1353]
[1354]
[1355]
[1356]
[1357]
[1358]
[1359]
[1360]
[1361]
[1362]
[1363]
[1364]
[1365]
[1366]
[1367]
[1368]
[1369]
[1370]
[1371]
[1372]
[1373]
[1374]
[1375]
[1376]
[1377]
[1378]
[1379]
[1380]
[1381]
[1382]
[1383]
[1384]
[1385]
[1386]
[1387]
[1388]
[1389]
[1390]
[1391]
[1392]
[1393]
[1394]
[1395]
[1396]
[1397]
[1398]
[1399]
[1400]
[1401]
[1402]
[1403]
[1404]
[1405]
[1406]
[1407]
[1408]
[1409]
[1410]
[1411]
[1412]
[1413]
[1414]
[1415]
[1416]
[1417]
[1418]
[1419]
[1420]
[1421]
[1422]
[1423]
[1424]
[1425]
[1426]
[1427]
[1428]
[1429]
[1430]
[1431]
[1432]
[1433]
[1434]
[1435]
[1436]
[1437]
[1438]
[1439]
[1440]
[1441]
[1442]
[1443]
[1444]
[1445]
[1446]
[1447]
[1448]
[1449]
[1450]
[1451]
[1452]
[1453]
[1454]
[1455]
[1456]
[1457]
[1458]
[1459]
[1460]
[1461]
[1462]
[1463]
[1464]
[1465]
[1466]
[1467]
[1468]
[1469]
[1470]
[1471]
[1472]
[1473]
[1474]
[1475]
[1476]
[1477]
[1478]
[1479]
[1480]
[1481]
[1482]
[1483]
[1484]
[1485]
[1486]
[1487]
[1488]
[1489]
[1490]
[1491]
[1492]
[1493]
[1494]
[1495]
[1496]
[1497]
[1498]
[1499]
[1500]
[1501]
[1502]
[1503]
[1504]
[1505]
[1506]
[1507]
[1508]
[1509]
[1510]
[1511]
[1512]
[1513]
[1514]
[1515]
[1516]
[1517]
[1518]
[1519]
[1520]
[1521]
[1522]
[1523]
[1524]
[1525]
[1526]
[1527]
[1528]
[1529]
[1530]
[1531]
[1532]
[1533]
[1534]
[1535]
[1536]
[1537]
[1538]
[1539]
[1540]
[1541]
[1542]
[1543]
[1544]
[1545]
[1546]
[1547]
[1548]
[1549]
[1550]
[1551]
[1552]
[1553]
[1554]
[1555]
[1556]
[1557]
[1558]
[1559]
[1560]
[1561]
[1562]
[1563]
[1564]
[1565]
[1566]
[1567]
[1568]
[1569]
[1570]
[1571]
[1572]
[1573]
[1574]
[1575]
[1576]
[1577]
[1578]
[1579]
[1580]
[1581]
[1582]
[1583]
[1584]
[1585]
[1586]
[1587]
[1588]
[1589]
[1590]
[1591]
[1592]
[1593]
[1594]
[1595]
[1596]
[1597]
[1598]
[1599]
[1600]
[1601]
[1602]
[1603]
[1604]
[1605]
[1606]
[1607]
[1608]
[1609]
[1610]
[1611]
[1612]
[1613]
[1614]
[1615]
[1616]
[1617]
[1618]
[1619]
[1620]
[1621]
[1622]
[1623]
[1624]
[1625]
[1626]
[1627]
[1628]
[1629]
[1630]
[1631]
[1632]
[1633]
[1634]
[1635]
[1636]
[1637]
[1638]
[1639]
[1640]
[1641]
[1642]
[1643]
[1644]
[1645]
[1646]
[1647]
[1648]
[1649]
[1650]
[1651]
[1652]
[1653]
[1654]
[1655]
[1656]
[1657]
[1658]
[1659]
[1660]
[1661]
[1662]
[1663]
[1664]
[1665]
[1666]
[1667]
[1668]
[1669]
[1670]
[1671]
[1672]
[1673]
[1674]
[1675]
[1676]
[1677]
[1678]
[1679]
[1680]
[1681]
[1682]
[1683]
[1684]
[1685]
[1686]
[1687]
[1688]
[1689]
[1690]
[1691]
[1692]
[1693]
[1694]
[1695]
[1696]
[1697]
[1698]
[1699]
[1700]
[1701]
[1702]
[1703]
[1704]
[1705]
[1706]
[1707]
[1708]
[1709]
[1710]
[1711]
[1712]
[1713]
[1714]
[1715]
[1716]
[1717]
[1718]
[1719]
[1720]
[1721]
[1722]
[1723]
[1724]
[1725]
[1726]
[1727]
[1728]
[1729]
[1730]
[1731]
[1732]
[1733]
[1734]
[1735]
[1736]
[1737]
[1738]
[1739]
[1740]
[1741]
[1742]
[1743]
[1744]
[1745]
[1746]
[1747]
[1748]
[1749]
[1750]
[1751]
[1752]
[1753]
[1754]
[1755]
[1756]
[1757]
[1758]
[1759]
[1760]
[1761]
[1762]
[1763]
[1764]
[1765]
[1766]
[1767]
[1768]
[1769]
[1770]
[1771]
[1772]
[1773]
[1774]
[1775]
[1776]
[1777]
[1778]
[1779]
[1780]
[1781]
[1782]
[1783]
[1784]
[1785]
[1786]
[1787]
[1788]
[1789]
[1790]
[1791]
[1792]
[1793]
[1794]
[1795]
[1796]
[1797]
[1798]
[1799]
[1800]
[1801]
[1802]
[1803]
[1804]
[1805]
[1806]
[1807]
[1808]
[1809]
[1810]
[1811]
[1812]
[1813]
[1814]
[1815]
[1816]
[1817]
[1818]
[1819]
[1820]
[1821]
[1822]
[1823]
[1824]
[1825]
[1826]
[1827]
[1828]
[1829]
[1830]
[1831]
[1832]
[1833]
[1834]
[1835]
[1836]
[1837]
[1838]
[1839]
[1840]
[1841]
[1842]
[1843]
[1844]
[1845]
[1846]
[1847]
[1848]
[1849]
[1850]
[1851]
[1852]
[1853]
[1854]
[1855]
[1856]
[1857]
[1858]
[1859]
[1860]
[1861]
[1862]
[1863]
[1864]
[1865]
[1866]
[1867]
[1868]
[1869]
[1870]
[1871]
[1872]
[1873]
[1874]
[1875]
[1876]
[1877]
[1878]
[1879]
[1880]
[1881]
[1882]
[1883]
[1884]
[1885]
[1886]
[1887]
[1888]
[1889]
[1890]
|1Global Configuration||

|^ The example
|link%|/wasd_root/example/WASD_CONFIG_GLOBAL.conf|configuration file|
can be used as a template.

|^ By default, the logical name |*WASD_CONFIG_GLOBAL||
locates a global configuration file.  Simple editing of the configuration file
changes the rules.  Alternatively the Server Administration page configuration
interface may be used.  Changes to the global configuration file require a
server restart to put them into effect. 

|^ The [IncludeFile] is a directive common to all WASD configuration, allowing
a separate file to be included as a part of the current configuration.  See
|link|Include File Directive||.

|^ Some directives take a single parameter, such as an integer, string or
boolean value.  Other directives can/must have multiple parameters.  The
version 4 configuration requires the directive to be placed on a line by itself
and each separate parameter on a separate line following it.  All parameter
lines apply to the most recently encountered directive.

|^ Note that all |/boolean|| directives are |/disabled|| (OFF) by default. 
This is done so that there can be no confusion about what is enabled and
disabled by default.  To use directive controlled facility it |*must|| be
explicitly enabled.

|^ Directives requiring |/periods|| (timeouts, lifetimes, etc.) can be
specified as a single integer (representing seconds, minutes, hours, etc.,
depending on the directive) or unambiguously using any one of
|/minutes:seconds||, |/hours:minutes:seconds| or
|/days-hours:minutes:seconds||.  

|^ Changes to the global configuration file can be validated at the
command-line before restart.  This detects and reports any syntactical and 
fatal configuration errors but of course cannot check the |/intent| of the
rules.

|code|
$ HTTPD /DO=GLOBAL=CHECK
|!code|

|2Functional Groupings|

|table|

|~ |.2 |0_Authentication/Authorization|

|~ |. [AuthBasic] |. enable BASIC method
|~ |. [AuthCacheEntriesMax] |. maximum concurrent authentication cache entries
|~ |. [AuthCacheEntrySize] |. maximum authentication cache entry size in bytes
|~ |. [AuthCacheMinutes] |. minutes before explicitly reauthorizing user from sources
|~ |. [AuthDigest] |. enable DIGEST method
|~ |. [AuthDigestGetLife] |. DIGEST method GET lifetime
|~ |. [AuthDigestPutLife] |. DIGEST method PUT lifetime
|~ |. [AuthFailureLimit] |. retries allowed before username is marked as intruder
|~ |. [AuthFailurePeriod] |. period during which failure limit is applied
|~ |. [AuthFailureTimeout] |. period during which a recognised authentication failure is applied
|~ |. [AuthRevalidateLoginCookie] |. |/Obsolete for WASD v10.2.1 and following.||
|~ |. [AuthRevalidateUserMinutes] |. minutes before use needs to reenter password
|~ |. [AuthSysUafAcceptExpPwd] |. accept expired SYSUAF passwords
|~ |. [AuthSysUafLogonType] |. LOCAL, DIALUP, NETWORK (default), REMOTE
|~ |. [AuthSysUafPwdExpURL] |. redirection URL is SYSUAF password if expired
|~ |. [AuthSysUafUseAcme] |. |/Obsolete for WASD V9.3 and following.||

|~ |.2 |0_Buffer Sizes|

|~ |. [BufferQuotaDclOutput] |. allows sizing of script process SYS$OUTPUT mailbox quota
|~ |. [BufferSizeDclCgiHeader] |. number of bytes allocated to when processing a CGI response header
|~ |. [BufferSizeDclCgiPlusIn] |. number of bytes allocated to scripting process CGIPLUSIN mailbox
|~ |. [BufferSizeDclCommand] |. bytes allocated to scripting process SYS$COMMAND mailbox
|~ |. [BufferSizeDclOutput] |. bytes allocated to scripting process SYS$OUTPUT mailbox
|~ |. [BufferSizeNetFile] |. maximum bytes allocated to output buffer when transfering file content
|~ |. [BufferSizeNetMTU] |. adjust network buffer to this value of MTU (maximum transmission unit)
|~ |. [BufferSizeNetRead] |. bytes allocated to client request read buffer, and to the scripting process SYS$INPUT mailbox
|~ |. [BufferSizeNetWrite] |. bytes allocated to client output buffer
|~ |. [SocketSizeRcvBuf] |. bytes allocated to a network connection receive buffer
|~ |. [SocketSizeSndBuf] |. bytes allocated to network connection send buffer

|~ |.2 |0_Content-Type|

|~ |. [AddType] |. add a content-type
|~ |. [AddMimeTypesFile] |. add the contents of a standard MIME.TYPES file
|~ |. [CharsetConvert] |. conversion of one character set to another
|~ |. [CharsetDefault] |. default character set for text responses
|~ |. [StreamLF] |. enable and set maximum size of automatic Stream-LF conversion

|~ |.2 |0_Directory Listing|

|~ |. [AddIcon] |. path to icon for a specified content-type
|~ |. [AddBlankIcon] |. path to blank icon
|~ |. [AddDefaultIcon] |. path to default icon
|~ |. [AddDirIcon] |. path to directory icon
|~ |. [AddParentIcon] |. path to parent icon
|~ |. [AddUnknownIcon] |. path to icon for unknown content-type
|~ |. [DirAccess] |. enable and form of listing
|~ |. [DirBodyTag] |. specify HTML body tag of listing pages
|~ |. [DirDescriptionLines] |. number of HTML file lines searched for document title
|~ |. [DirLayout] |. layout of the various listing components
|~ |. [DirMetaInfo] |. add server and VMS directory information
|~ |. [DirNoImpliedWildcard] |. do not add wildcards to request if not present in path
|~ |. [DirNoPrivIgnore] |. ignore, do not report, privilege violations on files/directories
|~ |. [DirOwner] |. allow owner of file to be included in layout directive
|~ |. [DirPreExpired] |. pre-expire listing responses
|~ |. [DirReadMeFile] |. specify read-me files
|~ |. [DirWildcard] |. allow wildcards to be specified at all

|~ |.2 |0_File Cache|

|~ |. [CacheChunkKBytes] |. memory block allocation size
|~ |. [CacheEntriesMax] |. maximum number of files allowed in cache
|~ |. [CacheFileKBytesMax] |. maximum size of a file
|~ |. [CacheFrequentHits] |. identify active files
|~ |. [CacheFrequentPeriod] |. identify active file
|~ |. [CacheGuardPeriod] |. prevent early reloads
|~ |. [CacheTotalKBytesMax] |. maximum memory to be consumed by cache
|~ |. [CacheValidatePeriod] |. maximum period before the cache checks for file modification

|~ |.2 |0_HTTP/2|

|~ |. [Http2Protocol] |. enables/disables HTTP/2 on a global basis
|~ |. [Http2FrameSizeMax] |. maximum number of bytes in an HTTP/2 frame
|~ |. [Http2HeaderListMax] |. maximum number of bytes in a request or response header
|~ |. [Http2HeaderTableSize] |. maximum number of bytes in a request lookup table
|~ |. [Http2PingSeconds] |. period between RTT server-client pings
|~ |. [Http2StreamMax] |. number of concurrent streams (requests) permitted on a connection
|~ |. [Http2InitWindowSize] |. initial connection flow-control window size

|~ |.2 |0_Logging|

|~ |. [Logging] |. enable logging
|~ |. [LogExcludeHosts] |. hosts to be excluded from log
|~ |. [LogExtend] |. default allocation/extend in blocks
|~ |. [LogFile] |. provides part or all of log file name
|~ |. [LogFormat] |. nature and layout of log contents
|~ |. [LogNaming] |. how the log name is be constructed
|~ |. [LogPeriod] |. period at which new logs are created
|~ |. [LogPerInstance] |. create a separate log for each instance process
|~ |. [LogPerService] |. create a separate log for each configured service
|~ |. [LogPerServiceHostOnly] |. suppress service port number as component of log name
|~ |. [LogWriteFail503] |. generate 530 responses if the access log cannot be written

|~ |.2 |0_Operator Console and Log|

|~ |. [OpcomAdmin] |. Server Administration directives
|~ |. [OpcomAuthorization] |. authentication/authorization messages, e.g. failures
|~ |. [OpcomControl] |. CLI HTTPd control directives
|~ |. [OpcomHTTPd] |. HTTPd events (e.g. startup, exit, SSL private key password requests)
|~ |. [OpcomProxyMaint] |. proxy file cache maintenance
|~ |. [OpcomTarget] |. target operator for online messages

|~ |.2 |0_Miscellaneous|

|~ |. [Accept] |. restrictive list of host from which to accept requests
|~ |. [ActivityDays] |. activity graph duration
|~ |. [ConnectMax] |. maximum number of concurrent connections
|~ |. [DNSLookupClient] |. enable client host name lookup
|~ |. [DNSLookupLifeTime] |. host name lookup cache entry lifetime
|~ |. [DNSLookupRetry] |. number two second attempts to resolve client host name
|~ |. [EntityTag] |. provide a strong validator for file-system based resources
|~ |. [GzipAccept] |. advertise acceptance of GZIUP (deflated) request bodies
|~ |. [GzipFlush] |. period between GZIP buffer flushes
|~ |. [GzipResponse] |. enable GZIP (deflated) response bodies
|~ |. [InstanceMax] |. number of per-node server processes to maintain
|~ |. [InstancePassive] |. start multiple instances already in |/passive|| mode
|~ |. [Monitor] |. enable HTTPDMON data exchange
|~ |. [PipelineRequests] |. check for and process pipelined requests
|~ |. [Port] |. default port
|~ |. [ProcessMax] |. maximum number of concurrent requests being processed
|~ |. [PutBinaryRFM] |. record format of uploaded file
|~ |. [PutMaxKBytes] |. maximum size of a POST or PUT
|~ |. [PutVersionLimit] |. maximum RMS file versions retained in a POST or PUT
|~ |. [RegEx] |. enable regular expression matching
|~ |. [Reject] |. proscriptive list of hosts from which request will be rejected
|~ |. [RequestHistory] |. number of requests kept for request report
|~ |. [SearchScript] |. path to default search script
|~ |. [SearchScriptExclude] |. list of file extensions excluded from implied keyword search
|~ |. [Service] |. list of host names and/or port to create services for |*|/.(deprecated)||||
|~ |. [ServiceNotFoundURL] |. redirection URL when a request service is not configured
|~ |. [Welcome] |. list of file names that are checked for as home pages
|~ |. [WWWimplied] |. virtual services |/host.name|| and |/www.host.name|| are treated as synonyms

|~ |.2 |0_Proxy Serving|

|~ |. [ProxyCache] |. enable proxy caching
|~ |. [ProxyCacheFileKBytesMax] |. maximum size of response for caching
|~ |. [ProxyCacheDeviceCheckMinutes] |. minutes between check of cache device usage
|~ |. [ProxyCacheDeviceDirOrg] |. flat 256 or 64x64 directory organization
|~ |. [ProxyCacheDeviceMaxPercent] |. maximum percentage of cache device used before purge
|~ |. [ProxyCacheDevicePurgePercent] |. during purge reduce by this many percent
|~ |. [ProxyConnectPersistMax] |. connection persistence for this number of connections
|~ |. [ProxyConnectPersistSeconds] |. connections persist for this number of seconds
|~ |. [ProxyConnectTimeoutSeconds] |. the proxy to origin server connect times-out after this number of seconds
|~ |. [ProxyNegativeSeconds] |. cache negative (failure) responses for this period
|~ |. [ProxyCacheNoReloadSeconds] |. prevent pragma reloads for this period
|~ |. [ProxyCachePurgeList] |. list of file ages used during purge
|~ |. [ProxyCacheReloadList] |. list of file ages before realod from source
|~ |. [ProxyCacheRoutineHourOfDay] |. hour of day routine cache purge occurs
|~ |. [ProxyForwarded] |. add "Forwarded:" to requests
|~ |. [ProxyHostLookupRetryCount] |. DNS resolution retry count
|~ |. [ProxyReportLog] |. report failures to process log
|~ |. [ProxyReportCacheLog] |. report cache failures to process log
|~ |. [ProxyServing] |. enable proxy server
|~ |. [ProxyVerifyRecordMax] |. enable proxy verification
|~ |. [ProxyXForwardedFor] |. add "X-Forwarded-For:" to requests

|~ |.2 |0_Reports|

|~ |. [ErrorReportPath] |. path to script, SSI or "flat" error document 
|~ |. [ErrorRecommend] |. for server generated error include probable cause
|~ |. [ReportBasicOnly] |. only ever generate reports containing basic details
|~ |. [ReportMetaInfo] |. add server information to directory listings, etc.
|~ |. [ServerAdmin] |. email address for server-related contact
|~ |. [ServerAdminBodyTag] |. specify HTML body tag of Server Administration (menu) pages
|~ |. [ServerReportBodyTag] |. specify HTML body tag of error and other report pages
|~ |. [ServerSignature] |. add server information to the foot of error and other report pages

|~ |.2 |0_Timeout|

|~ |. [TimeoutHttp2Idle] |. period an HTTP/2 connection remains without processing a request
|~ |. [TimeoutInput] |. period a connection can wait before sending request
|~ |. [TimeoutNoProgress] |. period a response can continue without data transfer progress
|~ |. [TimeoutOutput] |. period a response can continue to output
|~ |. [TimeoutPersistent] |. period a connection is kept active after request conclusion

|~ |.2 |0_Scripting|

|~ |. [CgiStrictOutput] |. script output must be CGI compliant
|~ |. [DclBitBucketTimeout] |. period a script continues after a client prematurely disconnects
|~ |. [DclCgiPlusLifeTime] |. period of non-use before CGIplus process is deleted
|~ |. [DclCleanupScratchMinutesMax] |. maximum minutes between WASD_SCRATCH cleanups
|~ |. [DclCleanupScratchMinutesOld] |. cleanup files older than this
|~ |. [DclDetachProcess] |. use detached scripting processes rather than subprocesses 
|~ |. [DclGatewayBG] |. enable raw TCP/IP socket for scripts 
|~ |. [DclHardLimit] |. maximum number of concurrent processes
|~ |. [DclScriptProctor] |. proactive script and scripting environment startup
|~ |. [DclScriptRunTime] |. script execution environment
|~ |. [DclSoftLimit] |. maximum number of processes before proactive deletion begins
|~ |. [DclSpawnAuthPriv] |. spawn subprocesses with account's authorized privileges
|~ |. [DclZombieLifeTime] |. period of non-use before a CGI/CLI process is deleted
|~ |. [DECnetReuseLifeTime] |. period of non-use before a DECnet process is released
|~ |. [DECnetConnectListMax] |. maximum number of DECnet processes
|~ |. [Scripting] |. enables and disables all scripting

|~ |.2 |0_Secure Socket|

|~ |. [SecureSocket] |. enable Secure Socket (TLS/SSL) (if built with SSL)
|~ |. [SSLcert] |. server certificate file
|~ |. [SSLcipherList] |. list of enabled/disable ciphers
|~ |. [SSLinstanceCacheMax] |. multiple instance shared session cache maximum number of records                   
|~ |. [SSLinstanceCacheSize] |. multiple instance shared session cache size of record
|~ |. [SSLkey] |. server certificate private key
|~ |. [SSLoptions] |. options flags
|~ |. [SSLsessionCacheMax] |. session cache maximum records
|~ |. [SSLsessionLifetime] |. session lifetime
|~ |. [SSLstrictTransSec] |. HSTS maxiumum age in seconds
|~ |. [SSLverifyPeer] |. verify client certificate
|~ |. [SSLverifyPeerDataMax] |. maximum kBytes of request data buffered during renegotiation
|~ |. [SSLverifyPeerCAFile] |. file of accepted CAs
|~ |. [SSLverifyPeerDepth] |. depth of certificate chain
|~ |. [SSLversion] |. TLS/SSL protocol versions supported

|~ |.2 |0_Server Side Includes|

|~ |. [SSI] |. enable Server Side Includes (SSI)
|~ |. [SSIaccesses] |. allow access counting
|~ |. [SSIexec] |. allow DCL commands
|~ |. [SSIsizeMax] |. maximum source file size

|~ |.2 |0_WebDAV|

|~ |. [WebDAV] |. enable WebDAV support
|~ |. [WebDAVCollectionDepth] |. test locking to this depth
|~ |. [WebDAVlocking] |. enable WebDAV locking
|~ |. [WebDAVlockingTimeoutDefault] |. set default lock timeout
|~ |. [WebDAVlockingTimeoutMax] |. set maximumg lock timeout
|~ |. [WebDAVmetaDir] |. location of metadata
|~ |. [WebDAVquota] |. enable disk quota reporting

|!table|

|2Alphabetic Listing|

|number|

|item| |*.[Accept] |/host/domain name||||
|/.(default: all)||

|^ One or more (comma-separated if on the same line) internet host/domain
names, with "*" wildcarding for host/subdomain matching, to be
explicitly allowed access. If DNS lookup is not enabled hosts must be expressed
using literal addresses (see [DNSLookup] directive). Also see the [Reject]
directive. Reject directives have precedence over Accept directives. The
Accept directive may be used multiple times. 

|code|
[Accept]
*.www.example.com
131.185.250.*
|!code|

|item| |*.[ActivityDays] |/integer|||| 
|/.(default: 0)|| 

|^ Specifies the number of days to record activity statistics, available in
report form from the Server Administration facility.  Zero disables this data
collection. The  maximum is 28 days. 11520 bytes per day, and 80640 per week,
is required to store the per-minute data.

|item| |*.[AddIcon] |/icon-URL| |/ALT-text| |/template| |/.(no default)| | 

|^ Specifies a directory listing icon and alternative text for the mime 
content type specified in the template.

|code|
[AddIcon]
/icon/-/doc.gif    [HTM]  text/html
/icon/-/text.gif   [TXT]  text/plain
/icon/-/image.gif  [IMG]  image/gif
|!code|

|item| |*.[AddBlankIcon] |/icon-URL||||
|^- |*.[AddDefaultIcon] |/icon-URL|| |/ALT-text||||
|^- |*.[AddDirIcon] |/icon-URL|| |/ALT-text||||
|^- |*.[AddParentIcon] |/icon-URL|| |/ALT-text||||
|^- |*.[AddUnknownIcon] |/icon-URL|| |/ALT-text||||
|/.(no defaults)|| 

|^ Specifies a directory listing icon for these non-content-type parts of the 
listing.

|code|
[AddBlankIcon]    /icon/-/blank.gif    _____
[AddDefaultIcon]  /icon/-/file.gif     [FIL]
[AddDirIcon]      /icon/-/dir.gif      [DIR]
[AddParentIcon]   /icon/-/back.gif     [<--]
[AddUnknownIcon]  /icon/-/unknown.gif  [???] 
|!code|

|item| |*.[AddMimeTypesFile] |/file specification|| || |/.(no default)|| 

|^ Add the content-types of a (de facto) standard MIME.TYPES file to the
already configured [AddType] content-types.  This binds a file suffix
(extension, type) to a MIME content-type.  Any specification in this file will
supercede any previously defined via [AddType].  A MIME.TYPES file looks
something like

|code|
# MIME type			Extension
application/msword            doc
application/octet-stream      bin dms lha lzh exe class
application/oda               oda
application/pdf               pdf
application/postscript        ai eps ps
application/rtf               rtf
|!code|

|^ The WASD server uses a number of extensions to provide additional
information.  See |link|Content-Type Configuration||.

|item| |*.[AddType] |/.suffix|| |/content-type||
[|/ftp:||] [|/rfm:||] 
[|/script-name||] [|/description||] ||
|/.(no default)|| 

|^ Binds a file suffix (extension, type) to a mime content type.
The script name is used to auto-script against a specified file type.  Use a
hyphen as a place-holder and to indicate no auto-script.  The description is
used as documentation for directory listings. 

|code|
[AddType]
.html  text/html   Web Markup Language
.txt   text/plain  plain text
.gif   image/gif   image (GIF)
.hlb   text/x-script /Conan  VMS Help library
.decw$book   text/x-script   /HyperReader    Bookreader book
*  internal/x-unknown   application/octet-stream
#*  internal/x-unknown  text/plain
|!code|

|^ The content-type string may include a specific character set. In this way
non-default sets (which is usually ISO-8859-1) can be specified for any
particular site or any particular file type. Enclose the content-type string
with double-quotation marks.

|code|
[AddType]
.html    "text/html; charset=ISO-8859-1"   HTML (ISO-8859-1)
.html_5  "text/html; charset=ISO-8859-5"   Cyrillic HTML (ISO-8859-5)
.html_r  "text/html; charset=KOI8-R"       Cyrillic HTML (KOI8-R)
.txt     "text/plain; charset=ISO-8859-1"  plain text (ISO-8859-1)
.txt_5   "text/plain; charset=ISO-8859-5"  Cyrillic text (ISO-8859-5)
.txt_r   "text/plain; charset=KOI8-R"      Cyrillic text (KOI8-R)
|!code|

|^ To provide additional information for correct handling of FTP transfers the
transfer mode can be indicated after the content type using the FTP: keyword. 
One of three characters is used.   An "A" indicates that this file type
should be FTP transfered in ASCII mode.  An "I" or a "B"
indicates that this file type should be FTP transfered in Image (binary) mode. 

|code|
[AddType]
.ps    application/postscript  ftp:A   Postscript document
|!code|

|^ To specify a VMS record format for POST or PUT files use the RFM: keyword
following the content-type.  This record format will always be used when
creating the file.  The precedence for determining the created file record
format is [AddType] RFM:, then any per-path PUT=RFM= mapping rule, then
[PutBinaryRFM], then a default of UDF.

|code|
[AddType]
.doc    application/msword  rfm:STMCR   MS Word document
|!code|

|item| |*.[AuthBasic] |=ENABLED\|DISABLED|||| 
|/.(default: DISABLED)|| 

|^ Enables or disables BASIC username authentication.

|item| |*.[AuthCacheEntriesMax] |/integer|||| 
|/.(default: 32)|| 

|^ Maximum concurrent authentication cache entries.  This needs to be sized
adequately to prevent the cache from thrashing (too many attempted entries
causing each to spend very little time in the cache before being replaced, only
to need to be inserted again with the next attempted access).

|item| |*.[AuthCacheEntrySize] |/integer|||| 
|/.(default: 768)|| 

|^ Maximum size of an authentication cache entry.  The only reason where this
may need to be increased is where a site is using the /PROFILE functionality
and one or more accounts have a particularly large number of rights
identifiers.

|item| |*.[AuthCacheMinutes] |/integer|||| 
|/.(default: 60)|| 

|^ The number of minutes authentication information is cached before being
revalidated from the authentication source.  Zero disables caching (with a
resultant impact on performance as each request requiring authentication is
validated directly from the source).

|item| |*.[AuthDigest] |=ENABLED\|DISABLED|||| 
|/.(default: DISABLED)|| 

|^ Enables or disables Digest username authentication.

|item| |*.[AuthDigestGetLife] |/integer|||| 
|/.(default: 0)|| 

|^ The number of seconds a digest nonce for a GET request (read) can be used
before becoming stale.

|item| |*.[AuthDigestPutLife] |/integer|||| 
|/.(default: 0)|| 

|^ The number of seconds a digest nonce for a PUT (/POST/DELETE ... write)
request can be used before becoming stale.

|item| |*.[AuthFailureLimit] |/integer|||| 

|/.(default: 0)|| 

|^ The number of unsuccessful attempts at authentication before the username
is disabled.  Once disabled any subsequent attempt is automatically refused
without further reference to the authentication source.  A disabled username
can be reenabled by simply purging the cache.
Parallels the purpose of SYSGEN parameter LGI_BRK_LIM.

|item| |*.[AuthFailurePeriod] |/hh:mm:ss|||| 

|/.(default: 00:00:00)|| 

|^ The period during which [AuthFailureLimit] is applied.
Parallels the purpose of SYSGEN parameter LGI_BRK_TMO.

|item| |*.[AuthFailureTimeout] |/hh:mm:ss|||| 
|/.(default: 00:00:00)|| 

|^ The period during which which any intrusion aversion is applied.
Parallels the purpose of SYSGEN parameter LGI_HID_TIM.

|item| |*.[AuthRevalidateUserMinutes] |/integer|||| 
|/.(default: 60)|| 

|^ The number of minutes between authenticated requests that user
authentication remains valid before the user is forced to reenter the
authentication information (via browser dialog).  Zero disables the requirement
for revalidation.

|item| |*.[AuthSysUafAcceptExpPwd] |=ENABLED\|DISABLED|||| 
|/.(default: DISABLED)|| 

|^ If a SYSUAF authenticated password has expired (password lifetime has
been reached) accept it anyway (in much the same way network logins are
accepted in similar circumstances).  This is very different to
|/account expiry||, after which authentication is always rejected.

|item| |*.[AuthSysUafLogonType]
|=LOCAL\|DIALUP\|NETWORK\|REMOTE||||
|/.(default: NETWORK)|| 

|^ When SYSUAF authentication is performed |/account access
restrictions|| are checked.  By default NETWORK restrictions are used but this
global configuration parameter allows another to be specified.

|item| |*.[AuthSysUafPwdExpURL] |/string|||| 
|/.(default: none)|| 

|^ If a SYSUAF authenticated password is/has expired the request is redirected
to this URL to change the password.

|item| |*.[AuthSysUafUseAcme]|| 

|^ |/Obsolete for WASD V9.3 and following.||

|item| |*.[BufferQuotaDclOutput] |/integer||||
|/.(default: [BufferSizeDclOutput] + 256)||

|^ The number of bytes allocated to script SYS$OUTPUT mailbox capacity.  The
[BufferSizeDclOutput] sets the maximum record size and [BufferQuotaDclOutput]
the total number of bytes that can be outstanding at any given time. 

|item| |*.[BufferSizeDclCgiHeader] |/integer||||
|/.(default: 2048)||

|^ The number of bytes allocated to store and process a script CGI  response
header.

|item| |*.[BufferSizeDclCgiPlusIn] |/integer||||
|/.(default: 2048)||

|^ The number of bytes (and hence BYTLM quota) permanently allocated to each
scripting process CGIPLUSIN mailbox.

|item| |*.[BufferSizeDclCommand] |/integer||||
|/.(default: 3072)||

|^ The number of bytes (and hence BYTLM quota) permanently allocated to each
scripting process SYS$COMMAND mailbox.

|item| |*.[BufferSizeDclOutput] |/integer||||
|/.(default: 4096)||

|^ The number of bytes (and hence BYTLM quota) permanently allocated to each
scripting process SYS$OUTPUT mailbox.

|item| |*.[BufferSizeNetFile] |/integer||||
|/.(default: none)||

|^ The maximum bytes to be allocated to a buffer when transfering file
content.  For larger files this can improve both the reading of the file
content from disk and when appropriately |/tuned|| to the local system
the transmission of that content to the client, significantly increasing data
rates.  Limited to the $QIO maximum I/O unit of 65,535 bytes.  Bigger is not
always necessarily better (in the sense it always improves data rates).

|item| |*.[BufferSizeNetMTU] |/integer||||
|/.(default: none)||

|^ This more esoteric directive attempts to minimise network buffer
transmission wastage by rounding the output buffer size up to the network
interface MTU (maximum transmission unit).  This can provide small improvements
to transmission efficiency.  For example a filled buffer of 4096 with an MTU of
1500 sends two 1500 byte packets and then one of 1096 bytes, theoretically
wasting some 404 bytes.  A potentially better choice of buffer size would be
4500.  Setting this directive to 1500 would result in the server automatically
rounding a [BufferSizeNetWrite] value (for example) from 4096 up to 4500.

|item| |*.[BufferSizeNetRead] |/integer||||
|/.(default: 2048)||

|^ The number of bytes allocated to the network read buffer (used for request
header, POST body, etc.).  Also the number of bytes (and hence BYTLM quota)
permanently allocated to each scripting process SYS$INPUT mailbox (allowing
a script to read a request body).

|item| |*.[BufferSizeNetWrite] |/integer||||
|/.(default: 4096)||

|^ Number of bytes allocated to the network write buffer.  This buffer is used
as the basic unit when transfering file contents (from cache or the file
system), as an output buffer during SSI pocessing, directory listing, etc. 
During many activities multiple outputs are buffered into this storage before
being written to the network.

|item| |*.[Cache] |=ENABLED\|DISABLED|||| 
|/.(default: DISABLED)|| 

|^ File cache control.

|item| |*.[CacheChunkKBytes] |/integer||||
|/.(default: 0)||

|^ Granularity of memory blocks allocated to file data, in kilobytes.

|item| |*.[CacheEntriesMax] |/integer||||
|/.(default: 0)||

|^ Maximum number of files loaded into the cache before entries are reused
removing the original contents from the cache.

|item| |*.[CacheFileKBytesMax] |/integer||||
|/.(default: 0)||

|^ Maximum size of a file before it is not a candidate for being cached, in
kilobytes.

|item| |*.[CacheFrequentHits] |/integer||||
|/.(default: 0)||

|^ Minimum, total number of hits an entry must sustain before being a
candidate for [CacheFrequentPeriod] assessment.

|item| |*.[CacheFrequentPeriod] |/hh:mm:ss||||
|/.(default: 00:00:00)||

|^ If a file has been hit at least [CacheFrequentHits] times in total and the
last was within the period here specified it will not be a candidate for reuse.
See |link|Cache Configuration||.

|item| |*.[CacheGuardPeriod] |/integer||||
|/.(default: 15)||

|^ During this period subsequent |/reloads|| (no-cache) requests will
not result in the entry being revalidated or reloaded.  This can guard period
can help prevent unnecessary file system activity.

|item| |*.[CacheEntriesMax] |/integer||||
|/.(default: 0)||

|^ |/Obsolete for WASD V8.0 and following.||

|item| |*.[CacheTotalKBytesMax] |/integer||||
|/.(default: 0)||

|^ Maximum memory allocated to the cache, in kilobytes.

|item| |*.[CacheValidatePeriod] |/hh:mm:ss||||
|/.(default: 00:00:00)||

|^ The interval after which a cache entry's original, content revision time
is revalidated against the file's current revision time.  If not the same the
contents are declared invalid and reloaded.

|item| |*.[CharsetConvert] |/string||||
|/.(default: none)|| 

|^ Document and CGI script output can be dynamically converted from one
character set to another using the standard VMS NCS conversion library.  This
directive provides the server with character set aliases (those that are for
all requirements the same) and which NCS conversion function may be used to
convert one character set into another.  The general format is

|code|
document-charset  accept-charset[,accept-charset..]  [NCS-function-name]
|!code|

|^ When this directive is configured the server compares each text response's
character set (if any) to each of the directive's |/document charset||
string.  If it matches it then compares each of the |/accepted
charset|| (if multiple) to the request "Accept-Charset:" list of accepted
characters sets.  If the same is is either accepted as-is or if a conversion
function specified converted by NCS as the document is transfered.

|code|
windows-1251 windows-1251,cp-1251
windows-1251 koi8-r koi8r_to_windows1251_to_koi8r
koi8-r koi8-r,koi8
koi8-r windows-1251,cp-1251 koi8r_to_windows1251
|!code|

|item| |*.[CharsetDefault] |/string||||
|/.(default: none)|| 

|^ The default character set sent in the response header for text documents
(plain and HTML).  English language sites should specify ISO-8859-1, other
Latin alphabet sites, ISO-8859-2, 3, etc. Cyrillic sites might wish to specify
ISO-8859-5 or KOI8-R, and so on.

|item| |*.[CgiStrictOutput]
|=ENABLED\|DISABLED|||| 
|/.(default: DISABLED)|| 

|^ A script must output a full HTTP or CGI-compliant response.  If a
plain-text stream is output an error is reported (being the more common
behaviour for servers).  Errors in output can be disagnosed using the WATCH 
facility.

|item| |*.[ConnectMax] |/integer||||
|/.(default: 200)||

|^ The maximum number of concurrent client connections before a 
"|/server too busy right now ... try again shortly||" error 
is returned to the client. 

|item| |*.[DclBitBucketTimeout] |/hh:mm:ss||||
|/.(default: 0)||

|^ Period a script is allowed to continue processing before being terminated
after a client prematurely disconnects.  An approptiate setting allows most
scripts to conclude elegantly and be available for further use.  This improves
scripting efficiency significantly.  Setting this period to zero terminates
scripts (and their associated processes) immediately a client is detected as
having disconnected.

|item| |*.[DclCleanupScratchMinutesMax] |/integer||||
|/.(default: 0)||

|^ Whenever the last scripting process is removed from the system, or this
number of minutes maximum (whichever occurs first), scan the WASD_SCRATCH
directory (if logical defined and it exists) deleting all files that are older
than [DclCleanupScratchMinutesOld] minutes.  Setting to zero disables
WASD_SCRATCH scans.

|item| |*.[DclCleanupScratchMinutesOld] |/integer||||
|/.(default: 0)||

|^ When performing a [DclCleanupScratchMinutesMax] scan delete files that are
older than this value (or the value specified by [DclCleanupScratchMinutesMax],
whichever is the larger).

|item| |*.[DclCgiPlusLifeTime] |/hh:mm:ss||||
|/.(default: 0)||

|^ If non-zero the CGIplus process is terminated the specified period after it
last processed a request (idle for that period).  Adjusting the period to suit
the site allows frequently used persistent scripts and scripting engines to
remain resident while more sporadically accessed ones do not remain
unecessarily. If this value is zero (or unconfigured) the idle timeout is one
hour.  

|item| |*.[DclDetachProcess]
|=ENABLED\|DISABLED|||| 
|/.(default: DISABLED)|| 

|^ By default scripts are executed within server processes.  When enabled
this instructs the server to create detached processes.  This side-steps the
issues of having pooled process quotas and also allows non-server-account
scripting and in particular "Scripting Overview, Introduction".

|item| |*.[DclDetachProcessPriority] |/integer[,integer]||||
|/.(default: same as server)||

|^ When detached scripting processes are created it is possible to assign them
base priorities lower that the server itself.  This directive takes one or two
(comma-separated) integers that determine how many priorities lower than the
server scripting processes are created.  The first integer determines server
processes.  A second, if supplied, determines user scripts.  User scripts may
never be a higher priority that server scripts.

|code|
[DclDetachProcessPriority]  1
[DclDetachProcessPriority]  0,1
[DclDetachProcessPriority]  1,2
|!code|
 The first of these examples would set both server and user script
processes one below the server process.  The second, server scripts at the same
priority and user scripts one below.  The last, server scripts one below, and
user scripts two below.

|item| |*.[DclGatewayBG]
|=ENABLED\|DISABLED|||| 
|/.(default: DISABLED)|| 

|^ When enabled, non-SSL, process script CGI environments have a CGI
variable WWW_GATEWAY_BG created containing the device name
(BG|/nnnn||:) of the TCP/IP socket connected to the client.  This
socket may be accessed by the script for transmission of data directly to the
script bypassing the server entirely.  This is obviously much more efficient
for certain classes of script.  For purposes of accurate logging the server
does need to be informed of the quantity of data transfered using a CGI
callout.  See "Scripting Environment" document.

|item| |*.[DclHardLimit] |/integer||||
|/.(default: 0)||

|^ The maximum number of DCL/CGI script processing processes that may ever
exist concurrently (works in conjunction with [DclSoftLimit].

|item| |*.[DclScriptProctor] |/string||||
|/.(default: none)|| 

|^ Script proctoring proactively creates and maintains specific persistent
scripts and scripting environments (RTEs).  It is intended for those
environments that have some significant startup latency.

|^- See |link%|../scripting/##|WASD Web Services - Scripting||
for further information.

|item| |*.[DclScriptRunTime] |/string||||
|/.(default: none)|| 

|^ One or more file type (extension) specification and scripting verb pairs.
See "Scripting Overview, Runtime".

|item| |*.[DclSoftLimit] |/integer||||
|/.(default: 0)||

|^ The number of DCL/CGI script processing processes after which idle
processes are deleted to make room for new ones.  The [DclHardLimit] should
be approximately 25% more than the [DclSoftLimit].  The margin exists to allow
for occasional slow run-down of deleted/finishing processes.  If these
limits are not set (i.e. zero) they are calculated with [ProcessMax] using
"[DclSoftLimit] = [ProcessMax]" and "[DclHardLimit] =
[DclSoftLimit] + [DclSoftLimit] / 4".

|item| |*.[DclSpawnAuthPriv]
|=ENABLED\|DISABLED|||| 
|/.(default: DISABLED)|| 

|^ By default, when a DCL/scripting subprocess is spawned it inherits the
server's currently enabled privileges, which are |*none||, not
even TMPMBX or NETMBX. If this parameter is enabled the subprocess is created
with the server account's SYSUAF-authorized privileges (which should never be
other than NETMBX and TMPMBX). Use with caution.

|item| |*.[DclZombieLifeTime] |/hh:mm:ss||||
|/.(default: 00:00:00)||           

|^ If this value is zero the use of persistant DCL processes is disabled. 
If non-zero the |/zombie||  process is terminated the specified
period after it last processed a request.  This helps prevent zombie processes
from clogging up a system.  See "Scripting Environment" document.

|item| |*.[DECnetReuseLifeTime] |/hh:mm:ss||||
|/.(default: 00:00:00)||              

|^ Period a DECnet scripting connection is maintained with the network task. 
Zero disables connection reuse.

|item| |*.[DECnetConnectListMax] |/integer||||
|/.(default: 0)||              

|^ The size of the list used to manage connections for DECnet scripting.  Zero
effectively allows the server to use as many DECnet scripting connections as
demanded. 

|item| |*.[DirAccess] |=ENABLED\|DISABLED\|SELECTIVE||||
|/.(default: DISABLED)|| 

|^ Controls directory listings.  |=SELECTIVE|| allows access 
only to those directories containing a file 
|=.WWW_BROWSABLE||.  The WASD HTTPd directory access 
facility always ignores directories containing a file named 
|=.WWW_HIDDEN||.  Also see the [DirWildcard]
directive.

|item| |*.[DirBodyTag]  |/string||||
|/.(default: <BODY>)||

|^ Specifies the HTML <BODY> tag for directory listing pages.  This
allows some measure of site "look-and-feel" in page colour, background,
etc. to be employed.

|item| |*.[DirDescriptionLines] |/integer||||
|/.(default: 0)||              

|^ Non-Zero enables HTML file descriptions during listings.  Generating HTML
descriptions involves opening each HTML file and searching for
<TITLE>...</TITLE> and <H1>...</H1> text to generate the
description. This is an obviously resource-intensive activity and on busy
servers or systems may be disabled.  Any non-zero number specifies the number
of lines to be searched before quitting.  Set to a very high number to search
all of files' contents (e.g. 999999).

|item| |*.[DirLayout] |/string||||
|/.(default: I__L__R__S__D)|| 

|^ Allows specification of the directory listing layout. This is a short,
case-insensitive string that specifies the included fields, relative placement
and optionally the width of the fields in a directory listing. Each field is
controlled by a single letter and optional leading decimal number specifying
its width. If a width is not specified an appropriate default applies. An
underscore is used to indicate a single space and is used to separate the
fields (two consecutive works well). 

|simple#|
|item| |*C|| - creation date
|item| |*D|| - description (generally best specified last)

|simple#|
|item| |*D:L|| - for files, make a link out of the description text
|!simple#|

|item| |*I|| - icon (takes no field-width attribute)

|simple#|
|item| |*L|| - link (highlighted anchor using the name of the file)
|item| |*L:F|| - file-system name (for ODS-5 displays spaces, etc.) 
|item| |*L:N|| - name-only, do not display the extension
|item| |*L:U|| - force name to upper-case
|!simple#|

|item| |*N|| - name (no link, why bother? who knows!)
|item| |*O|| - owner (can be disabled)
|item| |*R|| - revision date
|item| |*S|| - size

|simple#|
|item| |*S:B|| - in bytes (comma-formatted)
|item| |*S:D|| - decimal kilos (see below)
|item| |*S:F|| - kilo and mega are displayed to one decimal place
|item| |*S:K|| - in kilo-bytes (and fractions thereof)
|item| |*S:M|| - in mega-bytes (and fractions thereof)
|!simple#|

|item| |*U|| - upper-case file and directory names (must be the
first character)

|!simple#|

|^ The following shows some examples:

|code|
[DirLayout]       I__L__R__S__D
[DirLayout]       I__L__R__S:b__D
[DirLayout]       I__15L__S__D
[DirLayout]       UI__15L__S__D
[DirLayout]       15L__9R__S
[DirLayout]       15N_9C_9R_S
[DirLayout]       I__L__R__S:d__D
[DirLayout]       25D:l__S:b__C__R
|!code|

|^ The size of files is displayed by default as 1024 byte kilos.  When using
the "S:k", "S:m" and "S:f" size modifiers the size is
displayed as 1000 byte kilos.  If it is prefered to have the default display
in 1000 byte kilos then set the directory listing layout using:

|code|
[DirLayout]       I__L__R__S:d__D
|!code|

|^ If unsure of the kilo value being used check the
"<META>" information in the directory listing.

|item| |*.[DirMetaInfo] |=ENABLED\|DISABLED|||| 
|/.(default: DISABLED)|| 

|^ Includes, as <META> information, the software ID of the server
and any relevant VMS file information.

|item| |*.[DirNoImpliedWildcard] |=ENABLED\|DISABLED |||| 
|/.(default: DISABLED)|| 

|^ When a directory is accessed having no file or type component and there is
no welcome page available a directory listing is generated.  By default any
other directory accessed from this listing has the implied wildcards "*.*"
added,  consequently forcing directory listings.  If enabled, this directive
ensures no wildcards are added, so subsequent directories accessed with
welcome pages display the pages, not a forced listing. 

|item| |*.[DirNoPrivIgnore] |=ENABLED\|DISABLED |||| 
|/.(default: DISABLED)|| 

|^ To prevent browsing through directories (perhaps due to inadvertant
mapping) that have file permissions allowing no WORLD access the server stops
listing and reports the error the first time a protection violation occurs. 
This behaviour may be changed to ignore the violation, listing only those files
to which it has access.

|item| |*.[DirOwner] |=ENABLED\|DISABLED| |
|/.(default: DISABLED)|| 

|^ Allows specification and display of the RMS file owner information.

|item| |*.[DirPreExpired] |=ENABLED\|DISABLED| |/.(default: DISABLED)| |

|^ Directory listings and trees may be |/pre-expired||.  That is, the
listing is reloaded each time the page is referenced.  This is convenient in
some environments where directory contents change frequently, but adds
considerable over-head and so is disabled by default.  Individual directory
listings may have the default behaviour over-ridden using syntax similar to the
following examples:

|code|
/dir1/dir2/*.*?httpd=index?expired=yes
/dir1/dir2/*.*?httpd=index?expired=no
/tree/dir2/?httpd=index?expired=yes
/tree/dir1/dir2/?httpd=index?expired=no
|!code|

|item| |*.[DirReadme] |=TOP\|BOTTOM \|
OFF|||| |/.(default: DISABLED)|| 

|^ If any of the files provided using the [DirReadMeFile] directive are
located in the directory the contents are included at the top or bottom of the
listing (or not at all). Plain-text are included as plain-text, HTML are
included as HTML allowing markup tags to be employed. 

|item| |*.[DirReadMeFile] |=file.suffix||||
|/.(no default)|| 

|^ Specifies the names and order in which a directory is checked for
|/read-me|| files. This can be enabled or disabled using the
[DirReadme] directive. Plain-text are included as plain-text, HTML are
included as HTML allowing markup tags to be employed. 

|^ Examples: 

|code|
[DirReadMeFile]
readme.html
readme.htm
readme.
readme.txt
readme.1st
|!code|

|item| |*.[DirWildcard] |=OFF\|ON||||
|/.(default: DISABLED)||

|^ This enables the facility to |/force|| the server to provide a
directory listing by providing a wildcard file specification, even if there is
a home (welcome) document in the directory.  This should not be confused with
the [DirAccess] directive which controls directory listing itself.

|item| |*.[DNSLookupClient] |=ENABLED\|DISABLED||||
|/.(default: DISABLED)|| 

|^ Enables or disables connection request host name resolution.  This 
functionality may be expensive (in terms of processing overhead) and make 
serving granularity coarser if DNS is involved.  If not enabled and logging 
is, the entry is logged against the literal internet address.  If not enabled 
any [Accept], [Reject] or conditional directive, etc., must be expressed as a
literal address.

|item| |*.[DNSLookupLifetime] |/hh:mm:ss||||
|/default 00:10:00|| 

|^ The period for which a host name/address is cached (applies to both client
lookup and proxy host lookup).

|item| |*.[DNSLookupRetry] |/integer||||
|/.(default: 2)|| 

|^ The number of attempts, at two second intervals, made to resolve a host
name/address (applies to both client lookup and proxy host lookup).

|item| |*.[EntityTag]  |=ENABLED\|DISABLED||||
|/.(default: ENABLED)|| 

|^ An entity tag is a client-opaque string used in strong cache validation. 
WASD generates this using the on-disk file identification (FID) and binary
last-modified date-time (RDT).  This is then used as a definitive identifier
for a specified on-disk resource fixed in file-system space-time (hmmm, sounds
like an episode of Star Trek).

|item| |*.[ErrorReportPath] |/string [status...]||||
|/.(default: none)|| 

|^ Specifies the |*URL-format path|| to an optional, error reporting SSI
document or script. See |link|Error reporting||. This path can subsequently be
remapped during request processing.  Optional, space-separated HTTP status
codes restrict the path to those codes, with the remainder handled by
server-internal reporting.

|item| |*.[ErrorRecommend] |=ENABLED\|DISABLED||||
|/.(default: DISABLED)|| 

|^ Provides a short message recommending action when reporting an error to a
client.  For example, if a document cannot be found it may say:

|code|
|/.(document, or bookmark, requires revision)||
|!code|

|item| |*.[GzipAccept] |/integer||||
|/.(default: 0)|| 

|^ Enables GZIP encoding of request bodies.
See |link|GZIP Encoding||.

|item| |*.[GzipFlushSeconds] |/integer||||
|/.(default: 0)|| 

|^ Adjusts the maxiumum period period between GZIP buffer flushes.
See |link|GZIP Encoding||.

|item| |*.[GzipResponse] |/integer||[|/integer,integer||]||
|/.(default: 0)|| 

|^ Enables GZIP encoding (deflation) for suitable requests and responses. 
Valid values are 1 for minimum compression (and minimum resource usage) through
to 9 for maxiumum compression (and maximum resource usage).  The value 9 is
recommended.  See |link|GZIP Encoding||.

|item| |*.[Http2Protocol]||
|*enable||\||*disable||
|/.(default: disable)||) 

|^ Enable or disable (default) HTTP/2 for all services.  The default for a
service follows the global setting.  A service must explicitly disable HTTP/2
if that is required.

|item| |*.[Http2FrameSizeMax] |/integer||||
|/.(default: 65535)|| 

|^ The maximum permitted size (in octets) of an HTTP/2 frame sent from the
client.

|item| |*.[Http2HeaderListMax] |/integer||||
|/.(default: 65535)|| 

|^ The maximum permitted size (in bytes) of a request header sent from the
client.

|item| |*.[Http2HeaderTableMax] |/integer||||
|/.(default: 4096)|| 

|^ The maximum permitted size (in bytes) of a request header compression
table.

|item| |*.[Http2PingSeconds] |/hh:mm:ss||||
|/.(default: 00:05:00)|| 

|^ The period at which HTTP/2 pings are sent from the server to the client to
calculate the (then) Round Trip Time (RTT) of the connection.

|item| |*.[Http2StreamMax] |/integer||||
|/.(default: 32)|| 

|^ Maximum number of concurrent streams (requests) supported by the
connection.

|item| |*.[Http2InitWindowSize] |/integer||||
|/.(default: 65535)|| 

|^ Initial flow-control window size (in bytes).

|item| |*.[InstanceMax]
|/integer||\||=CPU||||
|/.(default: 1)|| 

|^ Number of per-node server processes to create and maintain.
If set to "CPU" once instance per CPU is created.

|item| |*.[InstancePassive] |=ENABLED\|DISABLED||||
|/.(default: DISABLED)|| 

|^ Start a multiple instance server already in |/passive|| mode.

|item| |*.[Logging] |=ENABLED\|DISABLED||||
|/.(default: DISABLED)|| 

|^ Enables or disables the request log.  Logging can slow down request
processing and adds overhead.  The log file name must be specified using the
/LOG qualifier or WASD_CONFIG_LOG logical name (|link|Logical Names||).

|item| |*.[LogExcludeHosts] |/string||||
|/.(default: none)|| 

|^ One or more (comma-separated if on the same line) internet host/domain
names, with "*" wildcarding for host/subdomain matching, requests from
which are not placed in any log files. If DNS lookup is not enabled hosts must
be expressed using literal addresses (see [DNSLookup] directive). Use for
excluding local or web-maintainer's host from logs.

|^ Example: 

|code|
[LogExcludeHosts]
*.www.example.com
131.185.250.*
|!code|

|item| |*.[LogExtend] |/integer||||
|/.(default: 0)|| 

|^ Number of blocks allocated when when a log file is opened or extended.  If
set to zero it uses the process default (SET RMS_DEFAULT /EXTEND_QUANTITY).

|item| |*.[LogFile] |/string||||
|/.(default: none)|| 

|^ Provides some or all of the access log file name.
See |link|Log Per-Period||.

|item| |*.[LogFormat] |/string||||
|/.(default: COMMON)|| 

|^ Specifies one of three pre-defined formats, or a user-definable format.
See |link|Log Format||.

|item| |*.[LogNaming] |/string||||
|/.(default: none)|| 

|^ When [LogPeriod] or [LogPerService] directives are used to generate
multiple log files this directive may be used to modify the naming of the file. 
See |link|Log Naming||.

|item| |*.[LogPeriod] |/string||||
|/.(default: none)|| 

|^ Specifies a period at which the log file is changed.
See |link|Log Per-Period||.

|item| |*.[LogPerInstance] |=ENABLED\|DISABLED||||
|/.(default: DISABLED)|| 

|^ When multiple instances are configured (see
|link%|../features/##Instances and Environments| of
|link%|../features/##|WASD Features and Facilities||)
create a separate log for each.  This has significant performance advantages. 
See |link|Log Per-Instance||.

|item| |*.[LogPerService] |=ENABLED\|DISABLED||||
|/.(default: DISABLED)|| 

|^ When multiple services are specified (|\<REFERENCE>(hd_virtual_services)||) 
a separate log file will be created for each if this is enabled.  See
|link|Log Per-Service||.

|item| |*.[LogPerServiceHostOnly] |=ENABLED\|DISABLED||||
|/.(default: DISABLED)|| 

|^ When generating a log name do not make the port number part of it.  This
effectively provides a single log file for all ports provided against a host
name (e.g. a standard HTTP service on port 80 and an SSL service on port 443
would have entries in the  one file).  See |link|Log Per-Service||.

|item| |*.[LogWriteFail503] |=ENABLED\|DISABLED||||
|/.(default: DISABLED)|| 

|^ After an access log record fails to write all subsequent requests return a
503 service unavailable response until records can be successfully written
again.  This can be used to prevent access to server resources unless an access
audit log is available.

|item| |*.[Monitor] |=ENABLED\|DISABLED||||
|/.(default: DISABLED)|| 

|^ Allows monitoring via the HTTPDMON utility.  Adds slight request processing
overhead. 

|item| |*.[OpcomAdmin] |=ENABLED\|DISABLED||||
|/.(default: DISABLED)|| 

|^ Report to operator log and any enabled operator console (see [OpcomTarget])
server administration directives originating from the Server Administration
Menu, for example path map reload, server restart, etc.

|item| |*.[OpcomAuthorization] |=ENABLED\|DISABLED||||
|/.(default: DISABLED)|| 

|^ Report events related to authentication/authorization.  For example
username-password validation failures.

|item| |*.[OpcomControl] |=ENABLED\|DISABLED||||
|/.(default: DISABLED)|| 

|^ Report HTTPD/DO=|/directive|| control events, both the command-line
directive and the server's response.

|item| |*.[OpcomHTTPd] |=ENABLED\|DISABLED||||
|/.(default: DISABLED)|| 

|^ Report events concerning the server itself.  For example, server startup
and exit (either normally or with error status).

|item| |*.[OpcomProxyMaint] |=ENABLED\|DISABLED||||
|/.(default: DISABLED)|| 

|^ Report events related to proxy server cache maintenance.  For example, the
commencement of file cache reactive and proactive purging, the conclusion of
this purge, both with cache device statistics.

|item| |*.[OpcomTarget] |/string||||
|/.(default: DISABLED)|| 

|^ This enables OPCOM messaging and specifies the target for the OPCOM
reports.  This must be set to a target to enable OPCOM messages, irrespective
of the setting of any of the other [Opcom...] directives.  These messages are
added to SYS$MANAGER:OPERATOR.LOG and displayed at the specified operator's 
console if enabled (using REPLY/ENABLE=target).  The operator log provides a
"permanent" record of server events.  Possible settings include
CENTRAL, NETWORK, SECURITY, OPER1 |...| OPER12, etc.

|item| |*.[PipelineRequests] |=ENABLED\|DISABLED||||
|/.(default: ENABLED)|| 

|^ Pipelining refers to multiple requests being sent over an assumed
persistent connection without waiting for the response from previous requests. 
Such behaviour with capable clients and servers can significantly reduce
response latency.

|item| |*.[Port] |/integer||||
|/.(default: 80)|| 

|^ IP port number for server to bind to.  For anything other than a
command-line server control this parameter is overridden by anything supplied
via the [Service] |*|/.(deprecated)|||| directive.

|item| |*.[ProcessMax] |/integer||||
|/.(default: 100)||

|^ The maximum number of concurrent client request being processed before a 
"|/server too busy right now ... try again shortly||" error 
is returned to the client.  If not explicitly  set this defaults to the same
value as [ConnectMax].  This directive allows a larger number of persistent
connections to be maintained than are concurrently being processed at any given
moment.

|item| |*.[ProxyCache] |=ENABLED\|DISABLED||||
|/.(default: DISABLED)|| 

|^ Enables or disables proxy caching on a whole-of-server basis, irrespective
of any proxy services that might be configured for caching.

|item| |*.[ProxyCacheFileKBytesMax] |/integer||||
|/.(default: 256)|| 

|^ Maximum size of a cache file in kilobytes before it will not be cached.

|item| |*.[ProxyCacheNegativeSeconds] |/hh:mm:ss||||
|/.(default: 00:05:00)|| 

|^ Negative (unsuccessful) responses are cached for this period.

|item| |*.[ProxyCacheRoutineHourOfDay] |/integer||||
|/.(default: 0)|| 

|^ Hour of day for |/routine|| cache purge (00-23).

|item| |*.[ProxyCacheDeviceCheckMinutes] |/integer||||
|/.(default: 15)|| 

|^ Interval in minutes between checking space availablility on cache device. 
If space is not available a |/reactive|| purge is initiated.

|item| |*.[ProxyCacheDeviceDirOrg] |=FLAT256\|64X64||||
|/.(default: FLAT256)|| 

|^ Organization of directories on the proxy cache device.  The first provides
a single level structure with a possible 256 directories at the top level and
files organized immediately below these. For versions of VMS prior to V7.2
exceeding 256 files per directory, or a total of approximately 65,000 files,
incurs a significant performance penalty for some directory operations.  The
second organization involves two levels of directory, each with a maximum of
64 directories.  This allows for approximately 1,000,000 files before
encountering the 256 files per directory issue.

|item| |*.[ProxyCacheDeviceMaxPercent] |/integer||||
|/.(default: 85)|| 

|^ The maximum percentage in use on the cache device before a
|/reactive|| purge is scheduled.  If device usage exceeds this limit no
more cache files are created.

|item| |*.[ProxyCacheDevicePurgePercent] |/integer||||
|/.(default: 1)|| 

|^ The percentage by which the cache device usage is attempted to be reduced
when a |/reactive|| purge is initiated.

|item| |*.[ProxyCacheNoReloadSeconds] |/integer||||
|/.(default: 0)|| 

|^ Prevents pragma reloads actually retrieving the file from the source host
again  until the period expires.  This is designed to limit concurrent or
repeated reloads of files into the cache unecessarily.  Thirty seconds is
probably an adequate period balancing effect against a user legitimately
needing to recache the document.

|item| |*.[ProxyCachePurgeList] |/string||||
|/.(default: 168,48,24,8,0)|| 

|^ A list of comma-separated integers representing the sequence of last
accessed period in hours used during a progressive |/reactive|| purge.

|item| |*.[ProxyCacheReloadList] |/string||||
|/.(default: 1,2,4,8,12,24,48,96,168)|| 

|^ A list of comma-separated integers representing the sequence of age in
hours used when determining whether a cache file's contents should be reloaded.

|item| |*.[ProxyConnectPersistMax] |/integer||||
|/.(default: 100)|| 

|^ The maximum number of established connections that are maintained to remote
servers.

|item| |*.[ProxyConnectPersistSeconds] |/hh:mm:ss||||
|/.(default: 00:00:30)|| 

|^ Period for which the established connections persist.  At expiry the
connection is closed.

|item| |*.[ProxyConnectTimeoutSeconds] |/hh:mm:ss||||
|/.(default: 00:00:30)|| 

|^ Period for which the proxy server will attempt to establish a network
connection to the origin (remote) server.

|item| |*.[ProxyForwarded]
|=BY\|DISABLED\|FOR\|ADDRESS||||
|/.(default: DISABLED)|| 

|^ BY enables the addition of a proxy request header line providing
information that the request has been forwarded by another agent.  The added
header line would look like "Forwarded: by http://server.name.domain
(HTTPd-WASD/n.n.n OpenVMS/AXP Digital-TCPIP SSL)".  If the FOR variant is used
the field included the host name (or ADDRESS) the request is being forwarded on
behalf of, as in "Forwarded: by http://server.name.domain
(HTTPd-WASD/n.n.n OpenVMS/AXP Digital-TCPIP SSL) for host.name.domain".

|item| |*.[ProxyHostLookupRetryCount] |/integer||||
|/.(default: 0)|| 

|^ When the server is resolving the name of a remote host the request may
timeout due to up-stream DNS server latencies.  This parameter allows a number
of retries, at five second intervals, to be enabled.

|item| |*.[ProxyReportLog] |=ENABLED\|DISABLED||||
|/.(default: DISABLED)|| 

|^ Enables or disables the server process log reporting siginificant proxy
processing events, such as cache maintenance activity.

|item| |*.[ProxyReportCacheLog] |=ENABLED\|DISABLED||||
|/.(default: DISABLED)|| 

|^ Enables or disables the server process log reporting of proxy caching
activity.

|item| |*.[ProxyServing] |=ENABLED\|DISABLED||||
|/.(default: DISABLED)|| 

|^ Enables or disables proxy serving on a whole-of-server basis, irrespective
of any proxy services that might be configured.

|item| |*.[ProxyUnknonwRequestFields] |=ENABLED\|DISABLED||||
|/.(default: DISABLED)|| 

|^ When enabled propagates all request fields provided by the client
through to the proxied server.  When disabled only propagates fileds that WASD
recognises.

|item| |*.[ProxyVerifyRecordMax] |/integer||||
|/.(default: 0)|| 

|^ Obscure functionality; see WASD Proxy Service feature.

|item| |*.[ProxyXForwardedFor]
|=ADDRESS\|DISABLED\|ENABLED\|UNKNOWN||||
|/.(default: DISABLED)|| 

|^ Enables the addition of a proxy request header line providing the host name
on behalf of which the request is being proxied.  The added header line would
look like "X-Forwarded-For: host.name.domain".  THE ADDRESS variant
provides the IP address, and the UNKNOWN variant substitutes
"unknown" for the host.  This field is degined to be compatible with
the |/Squid|| de facto standard field of the same name.  Any request
with an existing "X-Forwarded-For:" field has the local information
appended to the existing as a comm-separated list.  The first host in the field
should be the original requesting client.

|item| |*.[PutBinaryRFM]
|/FIX512\|STM\|STMCR\|STMLF\|UDF||||
|/.(default: UDF)||

|^ Record format for a non-text HTTP POST or PUT upload into the file-system. 
Has a per-path equivalent. The precedence for determining the created file
record format is [AddType] RFM:, then any per-path PUT=RFM= mapping rule, then
[PutBinaryRFM], then the default of UDF.

|item| |*.[PutMaxKBytes]
|/integer||||
|/.(default: 250)|| 

|^ Maximum size of an HTTP POST or PUT method request in Kilobytes.  Has a
per-path equivalent.

|item| |*.[PutVersionLimit] |/integer||||
|/.(default: 3)|| 

|^ File created using the POST or PUT methods have the specified version limit
applied.

|item| |*.[RegEx] |=ENABLED\|DISABLED|||| 
|/.(default: DISABLED)|| 

|^ Enable regular expression matching.  With the possibility of the reserved
character "^" being used in existing mapping rules regular expression string
matching (|link|String Matching||) is only available after enabling this
directive.

|^ The default syntax is POSIX EGREP but can be specified by substituting for
|=ENABLED|| one of the following keywords; AWK, ED, EGREP,
GREP, POSIX_AWK, POSIX_BASIC, POSIX_EGREP, POSIX_EXTENDED, POSIX_MINIMAL_BASIC,
POSIX_MINIMAL_EXTENDED, SED.  When changed from the default |/enabled||
(WASD) case-insensitivity is lost. 

|item| |*.[Reject] |/host/domain name||||
|/.(default: none)||

|^ One or more (comma-separated if on the same line) internet host/domain
names, with "*" wildcarding for host/subdomain matching, to be
explicitly denied access. If DNS lookup is not enabled hosts must be expressed
using literal addresses (see [DNSLookup] directive). Also see the [Accept]
directive. Reject directives have precedence of Accept directives. The Reject
directive may be used multiple times.

|^ Example: 

|code|
[Reject]
*.www.example.com
131.185.250.*
|!code|

|item| |*.[ReportBasicOnly] |=ENABLED\|DISABLED|||| 
|/.(default: DISABLED)|| 

|^ Only ever supply basic information in a report (|link|Error Reporting||).

|item| |*.[ReportMetaInfo] |=ENABLED\|DISABLED|||| 
|/.(default: DISABLED)|| 

|^ Includes in detailed reports, as <META> information, the
software ID of the server and any relevant VMS file information.

|item| |*.[RequestHistory] |/integer||||
|/.(default: 0)||

|^ The server can keep a list of the most recent requests accessible from the
Server Administration page.  This value determines the number kept.  Zero
disables the facility.  Each retained request consumes 256 bytes and adds a
small amount of extra processing overhead.

|item| |*.[Scripting] |=ENABLED\|DISABLED||||
|/.(default: ENABLED)|| 

|^ Enables and disables |*all|| scripting mechanisms.  This
includes CGI and CGIplus, DECnet-based OSU and CGI, and SSI
directives that DCL processes to provide <--#dcl -->,
<--#exec -->, etc. 

|item| |*.[SearchScript] |/path||||
|/.(no default)|| 

|^ Specifies the |*URL-format path|| to the default query-string 
keyword search script.  This path can subsequently be remapped during request
processing.

|^ Example: 

|code|
[SearchScript] /wasd_root/script/query
|!code|

|item| |*.[SearchScriptExclude] |/list||||
|/.(no default)|| 

|^ Provides a list of file types that are excluded from an implied keyword
search. This is useful for client-side (browser-side) active processing that
may require a query string to pass information.  This query string would
normally be detected by the server and if not in a format to be meaningful to
itself is then considered as an implied (HTML <ISINDEX>) keyword
search, with the approriate script being activiated.

|^ Example: 

|code|
[SearchScriptExclude] .HTA,.HTL
|!code|

|item| |*.[SecureSocket] |=ENABLED\|DISABLED||||
|/.(default: DISABLED)|| 

|^ Enable the Secure Sockets Layer (SSL) Transport Layer Security (TLS) if the
server has been built with that option.  See
|link%|../features/##Transport Layer Security| of
|link%|../features/##|WASD Features and Facilities||).

|item| |*.[ServerAdmin] |/string||||
|/.(no default)|| 

|^ Specifies the contact email address for server administration issues. 
Included as a "mailto:" link in the server signature if
[ServerSignature] is set to |/email||.

|item| |*.[ServerAdminBodyTag]  |/string||||
|/.(default: <BODY>)||

|^ Specifies the HTML <BODY> tag for server administration and
administration report pages.  This allows some measure of control over the
"look-and-feel" of page and link colour, etc.. for the administrator.

|item| |*.[ServerReportBodyTag]  |/string||||
|/.(default: <BODY>)||

|^ Specifies the HTML <BODY> tag for server error and other report
pages.  This allows some measure of site "look-and-feel" in page colour,
background, etc. to be maintained.

|item| |*.[ServerSignature]
|=ENABLED\|EMAIL\|DISABLED||||
|/.(default: DISABLED)|| 

|^ The server signature is a short identifying string added to server
generated error and other report pages.  It includes the server software name
and version, along with the host name and port of the service.  Setting this to
|/email|| makes the host name a |/mailto:|| link containing the
address specified by the [ServerAdmin] directive.

|item| |*.[Service] |/string||||
|/.(no default)|| |*|/.(deprecated)|||| 

|^ This parameter allows SSL, multi-homed hosts and multiple port serving to
be specified.

|item| |*.[ServiceNotFoundURL] |/string||||
|/.(no default)|| 

|^ Provides a default path for reporting a virtual host does not exist, see
|link|Unknown Virtual Server||.

|item| |*.[SocketSizeRcvBuf] |/integer||||
|/.(no default)|| 

|^ Number of bytes allocated at the device-driver level for a network
connection receive buffer. See
|link%|../install/##VMS Server Account++in++WASD Install||.

|item| |*.[SocketSizeSendBuf] |/integer||||
|/.(no default)|| 

|^ Number of bytes allocated at the device-driver level for a network
connection send buffer.  Later versions of TCP/IP Services seem to have
large default values for this.  MultiNet and TCPware are reported to improve
transfers of large responses by increasing low default values.
See |link%|../install/##VMS Server Account++in++WASD Install||.

|item| |*.[SSI] |=ENABLED\|DISABLED||||
|/.(default: DISABLED)|| 

|^ Enables or disables Server Side Includes (HTML pre-processing).

|item| |*.[SSIaccesses] |=ENABLED\|DISABLED||||
|/.(default: DISABLED)|| 

|^ Enables or disables Server Side Includes (HTML pre-processing) file access
counter.

|item| |*.[SSIexec] |=ENABLED\|DISABLED||||
|/.(default: DISABLED)|| 

|^ Enables or disables Server Side Includes (HTML pre-processing) DCL
execution functionality.

|item| |*.[SSIsizeMax] |/integer||||
|/.(default: 0 (128kB))|| 

|^ SSI source files a completely read into memory before processing.  This
allows the maximum size to be expanded beyond the default.

|item| |*.[SSLcert] |/string||||
|/.(no default)|| 

|note><|
|0TLS/SSL Configuration|
See
|link%|../features/##Transport Layer Security| of
|link%|../features/##|WASD Features and Facilities||).
|^-Server command line /SSL= parameter equivalents override the [SSL..]
directives.
|!note|

|^ TLS/SSL server certificate file path.

|item| |*.[SSLcipherList] |/string||||
|/.(no default)|| 

|^ A colon-separated list (OpenSSL syntax) of TLS/SSL ciphers allowed to be
used by clients to connect to SSL services. The use of this parameter might
allow the selection of stronger ciphers to be forced to be used or the
connection not allowed to procede. 

|item| |*.[SSLinstanceCacheMax] |/integer||||
|/.(no default)|| 

|^ TLS/SSL multiple WASD instance, shared session cache.  Maximum number of
shared records.

|item| |*.[SSLinstanceCacheSize] |/integer||||
|/.(no default)|| 

|^ TLS/SSL multiple WASD instance, shared session cache.  Size in bytes of each
individual record.

|item| |*.[SSLkey] |/string||||
|/.(no default)|| 

|^ TLS/SSL server certificate private key file path.  The private key is
commonly enbedded into the certificate file.

|item| |*.[SSLoptions] |/string||||
|/.(no default)|| 

|^ Alphanumeric flags supported by WASD or hexadecimal value applied to the
SSL option of OpenSSL.

|item| |*.[SSLsessionCacheMax] |/integer||||
|/.(no default)|| 

|^ Single WASD instance, shared session cache.  Maximum number of records. 
Records are dynamically sized.

|item| |*.[SSLsessionLifetime] |/hh:mm:ss||||
|/.(no default)|| 

|^ The default maximum period for session reuse is five minutes. This may be
set  globally using the this directive or on a per-service basis using the
per-service equivalent [ServiceSSLsessionLifetime].

|item| |*.[SSLstrictTransSec] |/hh:mm:ss||||
|/.(no default)|| 

|^ When non-zero represents the number of seconds, or maximum age, of a
HSTS "Strict-Transport-Security:" response header field.  See
|link%|../features/##Transport Layer Security| of
|link%|../features/##|WASD Features and Facilities||.
There is an equivalent per-service directive.

|item| |*.[SSLverifyPeer] |=ENABLED\|DISABLED||||
|/.(default: DISABLED)||

|^ To access this service a client must provide a verified CA client
certificate.

|item| |*.[SSLverifyPeerCAfile] |/string||||
|/.(default: none)|| 

|^ Specifies the location of the collection of Certificate Authority (CA)
certificates used to verify a peer certificate (VMS file specification).

|item| |*.[SSLverifyPeerDataMax] |/integer||||
|/.(default: 1024)||

|^ When a client certificate is requested for authentication via TLS/SSL
renegotiation this is the maximum kilobytes POST/PROPFIND/PUT data buffered
during the renegotiation.  There is an equivalent per-service directive.

|item| |*.[SSLverifyPeerDepth] |/integer||||
|/.(default: 0)||

|^ Level through a certificate chain a client is verified to.

|item| |*.[SSLversion] |/string||||
|/.(default: TLS family of protocols)|| 

|^ The abbreviation for the TLS/SSL protocol version allowed to be used to
connect to an SSL service.  Using the directive a service may select prefered
protocols.

|item| |*.[StreamLF] |/integer||||
|/.(default: 0 (disabled))|| 

|^ Enables or disables automatic conversion of VARIABLE record format
documents (files) to STREAM-LF, which are much more efficient with this server.
The integer is the maximum size of a file in kilobytes that the server will
attempt to convert.  Zero disables any conversions.

|item| |*.[StreamLFpaths] |/string||||
|/.(no default)|| 

|^ |/.(Retired in v5.3, mapping SET rule provides this now, see
|link|SET Rule||)||.

|item| |*.[TimeoutHttp2idle] |/hh:mm:ss||||
|/.(default: 01:00:00)|| 

|^ The maximum period of time before an idle HTTP/2 connection is issued with
a GOAWAY frame.  An idle HTTP/2 connection is one where it has not processed a
request.

|item| |*.[TimeoutInput] |/hh:mm:ss||||
|/.(default: 00:01:00)|| 

|^ Period allowing a connection request to be in progress without 
submitting a complete request header before terminating it. 

|item| |*.[TimeoutPersistent] |/hh:mm:ss||||
|/.(default: 0)|| 

|^ The period a persistent connection with the client is maintained after the
conclusion of a request.  Connection persistence improves the overall 
performance of the server by reducing the number of discrete TCP/IP connections
that need to be established.

|item| |*.[TimeoutNoProgress] |/hh:mm:ss||||
|/.(default: 00:02:00)|| 

|^ Period allowing request output to continue without any increase
in the number of bytes transfered.  This directive is targeted at identifying
and eliminating requests that have stalled.

|item| |*.[TimeoutOutput] |/hh:mm:ss||||
|/.(default: 00:10:00)|| 

|^ Period allowing a request to be output before terminating it. 
This directive sets an absolute maximum time a request can continue to receive
output.

|item| |*.[WebDAV] |=ENABLED\|DISABLED||||
|/.(default: DISABLED)|| 

|^ Enable WEBdav on a server-wide basis (see
|link%|../features/##WebDAV| of
|link%|../features/##|WASD Features and Facilities||).

|item| |*.[WebDAVlocking] |=ENABLED\|DISABLED||||
|/.(default: DISABLED)|| 

|^ Enable WebDAV locking.

|item| |*.[WebDAVlockCollectionDepth] |/integer||||
|/.(default: 0)|| 

|^ Ancestor directory locking depth.

|item| |*.[WebDAVlockTimeoutDefault] |/ddd-hh:mm:ss||||
|/.(default: 01:00:00)|| 

|^ Set default locking period.

|item| |*.[WebDAVlockTimeoutMax] |/ddd-hh:mm:ss||||
|/.(default: 7-00:00:00)|| 

|^ Maximum locking period.

|item| |*.[WebDAVmetaDir] |/string||||
|/.(default: same as data file)|| 

|^ Location of metadata files.

|item| |*.[WebDAVquota] |=ENABLED\|DISABLED||||
|/.(default: DISABLED)|| 

|^ Enable disk quota reporting.

|item| |*.[Welcome] |/file.suffix||||
|/.(no default)|| 

|^ Specifies the names and order in which a directory is checked for home page 
files.  If no home page is found a directory listing is generated.

|code|
[Welcome]
index.html
index.htm
home.html
home.htm
|!code|

|^ Dynamic home pages (script or interpreter engine driven, e.g. Perl, PHP)
may be deployed using a combination of the [Welcome] and [DclScriptRunTime]
directives.

|code|
[Welcome]
index.html
index.htm
index.php
index.pl

[DclScriptRunTime]
.PHP $CGI-BIN:[000000]PHPWASD.EXE
.PL $CGI-BIN:[000000]PERLRTE
|!code|

|item| |*.[WWWimplied] |=ENABLED\|DISABLED||||
|/.(default: DISABLED)|| 

|^ When enabled considers |/www.host.name|| and |/host.name||
to be the same virtual service.  If a request being processed has a virtual
host of |/www.host.name|| and the service matching, rule matching or
authentication matching process encounters a |/host.name|| virtual
service it is considered match.  A request with a virtual host of
|/host.name|| does not match a service of |/www.host.name||.

|!number|