1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 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 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927
|
TODO:
* core/modules.c, core/init.*: to do partial reloading of config.
* tree/tree.c: to join small nodes in Delete_Key() (?).
* core/lib.c: to implement %{subfmt} macro and SetSubformat().
* core/journal.c: to implement transactions journal (for botnet, etc.).
* modules/irc*: to do something with ident masks?
* core/wtmp.c: to handle errors somehow?
* core/direct.c: to add support for charset and comments in motd file.
* core/socket.c: to make socket limit extendible.
* core/lib.c: to fail if unable to set desired locale.
* modules/ircd: to test if both locales are valid and fail.
* modules/ircd: to review against IRCd 2.11.2 for compliance.
* *: to check Add_Request/New_Request coming to user to be translatable.
* modules/ircd: to support command LANG for numerics translation.
--- release 0.12.1 ---
Mon Mar 20 2020 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/ircd.c: don't report invalid token if RFC1459 'SERVER'
message was received.
* modules/ziplink/ziplink.c: fixed invalid input stream processing in
case if inflate() left something in buffer unprocessed.
* modules/ircd/servers.c: added channel name to diagnostics message.
* modules/ircd/channels.c: don't send mode cancellations on behalf of
server which made the mode change.
Sun Mar 19 2020 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/ircd.h: fixed build with -fno-common (default in gcc-10).
* modules/ircd/queries.c: fixed invalid processing of whowas list.
* core/connchain.c: fixed 'x' chain receive when buffer is wrapped.
Sat Mar 18 2020 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/lua/lua.c: fixed build with Lua 5.3.
Sat Nov 25 2017 Andriy Gritsenko <andrej@rep.kiev.ua>
* configure: added largefile support macros.
--- [0.11.0 end] (released 0.12.0)
Wed Nov 22 2017 Andriy Gritsenko <andrej@rep.kiev.ua>
* configure: added summary block after running.
* core/direct.c: fixed support for non-channel service in console cmd.
* core/socket.c: simplified processing in ReadSocket() function, it may
not check for POLLIN event, read() will handle everything correctly.
* modules/ircd: added IRCD_TRUST_SERVER_NAME define to skip validation
of server name coming from another server against RFC1035.
Fri Jul 21 2017 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/ircd.c: treat too long ident as OTHER type ident.
Wed Jul 19 2017 Andriy Gritsenko <andrej@rep.kiev.ua>
* configure: added support for Lua 5.2 and 5.3.
Fri Jun 30 2017 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/wtmp.c: fixed crash on negative uids in RotateWtmp(), those uids
should be not rotated into wtmp.gone but dropped.
Sat Jun 17 2017 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/ircd.c: skip ERR_UNKNOWNCOMMAND at registering state, as
most of ircd implementations do.
* modules/ircd/ircd.c: use server name instead of host in the arguments
of "ircd-server-handshake" bindings.
* modules/ircd/ircd.c: report unsupported PASS options as warnings, not
errors.
* modules/ircd-capab/ircd-capab.c: rewritten CAPAB message processing,
it should go before PASS message so it'll be taken into consideration
in the burst. Added "ircd-capab-blacklist" variable to exclude servers
from sending them CAPAB message.
Fri Jun 16 2017 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/ircd.c: make PASS/SERVER message in a single place.
* modules/ircd/ircd.c: added new bindtable "ircd-drop-unknown".
* modules/ircd/ircd.c: added new bindtable "ircd-server-handshake".
* core/connchain.c: made "x" filter capable of keep more than a single
message in buffers.
Thu Jun 15 2017 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc/irc.c: fixed never occuring restart of connect list (as
it should be after "irc-next-try" timeout).
Sun Jun 4 2017 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/foxeye.h, core/dispatcher.c: new F_RAW message flag to don't do
any message conversions.
* modules/ircd/clients.c: added missing send NICK to client on charset
change if new nick appearance is different from old one.
* core/list.c: fixed crash in Get_Clientlist() on a ban record.
* modules/ircd-rusnet/rusnet.c: fixed KLINE, etc. - it should create
records of U_DEOP to work properly, said U_DEOP anyway will not affect
direct connect being unnamed.
* modules/ircd-rusnet/rusnet.c: restricted mask on KLINE, etc. to expect
to have '@'.
* modules/ircd-rusnet/rusnet.c: allowed optional *! or ! prefix to the
mask for UNKLINE, etc.
* modules/ircd-rusnet/rusnet.c: fixed STATS K, etc.
Sat Jun 3 2017 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ssl/openssl.c: return error on sending data if previous read
from socket failed, that will drop connection immediately instead of
waiting for a timeout in case of EOF.
* modules/ircd/ircd.c: report actual socket error on client disconnect
instead of default "Connection timeout".
* modules/ircd/ircd.c: don't eat CPU in send cycle in the prehandler
callback, that will be done in regular request handler later.
* modules/ssl/openssl.c: optimized ssl handshake processing.
Fri Jun 2 2017 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/dispatcher.c: added check for deadlock in dprint().
* core/connchain.c, modules/ziplink/ziplink.c, modules/ssl/openssl.c:
disassociate connchain on its termination from the socket.
Wed May 31 2017 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/lib.c: fixed infinite loop on substitution text containing just
garbage.
Thu Mar 23 2017 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ssl/openssl.c, modules/ssl/accvs.m4: added support for libssl
version 1.1.
Sun Feb 26 2017 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/ircd.c: fixed crash on TRACE reply on unknown connection.
Sat Feb 25 2017 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/help.c, core/protos.h, doc/modules.api, core/direct.c, core/init.c:
added possibility for Get_Help_L to include prefix to each message
sent, not just first one.
* core/init.c: use U_NEGATE in Check_Bindtable() parameter as a
"never match" flag.
* modules/ircd/clients.c, modules/ircd/ircd.help, modules/ircd/numerics.h:
implemented a client command "HELP".
* modules/ircd/clients.c: send IP in USERHOST reply to client themself.
Some clients may rely on that to retrieve own IP for DCC commands.
Thu Feb 23 2017 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/ircd.c: fixed nickchange testing, it should be tested
early and never tried to send to neighbours again.
Wed Feb 22 2017 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc/irc.c, modules/irc/msgs.c: fixed privmsgout processing.
* modules/tcl/modtcl.c, configure: fixed detect of Tcl 8.x version and
processing result with no 8.x version detected.
Tue Feb 21 2017 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/foxeye.h, core/sheduler.c, doc/modules.api, modules/irc-channel/irc-channel.c, modules/ircd/channels.c, modules/ircd/ircd.c:
added new signal S_WAKEUP for purpose of waking up interface by timer.
* doc/modules.api: documented changes in connchain behavior (due to
changes in socket events processing), and new APIs.
* modules/logs/logs.c, modules/autolog/autolog.c: fixed build failure
on non-GNU systems.
* core/foxeye.h, configure: define _GNU_SOURCE only on Linux, it is
required for struct ucred, and undef on other platforms.
Fri Feb 17 2017 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/dispatcher.c: never lock mutex in signal handler, use pipe to
deliver signal number to the dispatcher.
* core/init.c: enforced saving "locale" in the generated config: when
started by cron it may have another value in environment.
* modules/ircd-rusnet/rusnet.c: fixed unitialized value on service call.
* modules/ircd/channels.c: fixed invalid formatting on RPL_ISUPPORT.
* core/dispatcher.c, core/socket.*, core/foxeye.h, core/protos.h, core/connchain.c, core/direct.c, core/main.c, core/sheduler.c, modules/autolog/autolog.c, modules/irc-channel/irc-channel.c, modules/irc/irc.c, modules/ircd/ircd.*:
reworked interfaces requests. Instead of querying each interface in
each cycle and do cycles each 200 ms at most, dispatcher now will be
put into sleep if there is no job for any interface. Polling will be
also done in a separate thread and will also sleep until some event
happens, then it will call a callback bound to the appropriate socket
(using AssociateSocket() API) which will wake up the thread waiting
for the event. If interface wants to be waked up, it may ask the
dispatcher using Mark_Iface() API, that will work either from the
request or signal handler, or even from any thread which is sure that
the interface is alive while the call is processed. If request handler
returns REQ_REJECTED, next try may be done due in half of second, or
faster, depending if some other interface is ready to accept requests.
That possible delay is added in regard of modules such as "irc" which
may forcibly suspend delivery of messages, so will not accept request
right away anyway. So far, there will be at least 5 threads sleeping
now: dispatcher, scheduler, UNIX signals receiver, poll, and the poll
controller, more threads may be added by modules (such as listener
threads, including those that are usually added by "port" command in
config).
Thu Feb 16 2017 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/list.c: corrected support saved hostmasks with passwords by
Find_Clientrecord().
* modules/ircd/ircd.c: added check for maximum clients on login (it
cannot exceed 10000 due to other limitations), and incoming server
should not stay classless until we verify it's really a server.
* modules/logs/logs.c: added check on "logrotate-time" variable value,
it might crash on too short length.
Wed Feb 15 2017 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/sheduler.c: process timers in the separate thread with sleeping
to reduce CPU consumed.
* core/sheduler.*, core/dispatcher.c, doc/modules.api, core/modules.c, modules/irc-channel/chmanagement.c, modules/irc-channel/irc-channel.c, modules/irc-ctcp/dcc.c:
new APIs: Add_Schedule(), Stop_Schedule(), Add_Timer().
Tue Feb 14 2017 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/channels.c, modules/ircd/ircd.*, doc/modules.api: added
new bindtable "ircd-eob" to inform modules about channel burst done.
Mon Feb 13 2017 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/dispatcher.c: do restart properly: shutdown everything and then
re-exec the process, instead of just restarting the modules.
* core/help.c, core/protos.h, doc/modules.api: added new function
Get_Help_L() for any custom language help, not default one.
* core/direct.c, core/init.c: localized help in direct chat messages.
* core/lib.c: fixed printl() wrapping with multibyte encodings.
Sun Feb 12 2017 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/ircd.c: reworked multiconnect diagnostics on SQUIT.
* modules/ircd-rusnet/rusnet.*: use "ircd.rmotd" default value for
rusnet-rmotd-file variable.
Sat Feb 11 2017 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/direct.*: added support for language on per-session basis.
* modules/ircd/management.c: added command "-hub" to negate "+hub".
* core/direct.c: correctly show usage on ss-* bindings on wrong use.
* modules/ircd/management.c: added command "class" to change class
parameters.
Fri Feb 10 2017 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/list.c: fixed host pattern check, +host failed on IPv6 address.
* modules/ircd-rusnet/rusnet.c: stats k/e shouldn't show server records.
* modules/ircd/ircd.c, modules/ircd/clients.c, modules/ircd/servers.c:
fixed invalid ISERVER and SQUIT processing when processed server was
a phantom.
* modules/ircd/ircd.c: implemented following class name change.
* core/protos.h, core/init.c, doc/modules.api: added new bindtable
"update-public" and new function Update_Public() as a shortcut to a
network-specific function to change mode or topic of a community.
* modules/ircd/management.c, modules/ircd/ircd.c: moved "+hub" command
from "dcc" into "ss-ircd" bindtable.
Thu Feb 9 2017 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/ircd.c: never create ACK for NULL client.
* modules/ircd/ircd.c: fixed missing host->phantom relation cleanup.
Tue Feb 7 2017 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd-rusnet/rusnet.c: added support for TOPIC and KICK by a
channel half-op. KICK is limited to one client at a time for half-op.
* modules/ircd/channels.c, modules/ircd/clients.c, modules/ircd/ircd.*, modules/ircd/queries.c, modules/ircd/servers.c:
fixed support on multiple mode chars on a channel member.
* modules/ircd/ircd.c: token for introduced server should be sent to
multiconnected server back as well to be able to introduce clients
from another direction later.
* modules/ircd/ircd.c, modules/ircd/queries.c: reworked multiconnect
checks on CONNECT and SQUIT, it's simpler and more reliable now.
Mon Feb 6 2017 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/queries.c: don't notify users on WHOIS on themselves.
* modules/ircd/queries.c: reordered WHOIS replies: channels should be
second, idle should be last, that's how it used to be.
* modules/ircd/ircd.c: fixed token processing in SERVER and ISERVER:
even if link is already known, token should be added to the peer.
* modules/ircd/servers.c, modules/ircd/channels.c, modules/ircd/clients.c, modules/ircd/ircd.*, modules/ircd/messages.c:
denied sending messages such as MODE, TOPIC, PRIVMSG, NOTICE, SQUERY
and numerics via multiconnect capable links to avoid cycles. Those
messages will be converted to messages with IDs and sent reliably.
Sun Feb 5 2017 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd-rusnet/rusnet.c: collision changed nick should be
different for local client and for remote client.
* modules/ircd/queries.c: fixed invalid call of "ircd-whois" bindings.
* modules/ircd/ircd.c: reworked collisions handling: simplified a call
to the bindings; eliminated try to "fix" wrong nickchange from a
server - if server made such error then it hardly is good enough to
accept a fix, so only way is to send a KILL; fixed wrong processing
on incoming nick change by a binding.
Sat Feb 4 2017 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/ircd.c: reworked phantoms handling on QUIT or on SQUIT,
local client should be converted into phantom right away, and name
should stay accessible until client structure is destroyed (i.e. the
last message was sent, hold expired, and ACKs received).
Fri Feb 3 2017 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/ircd.c: fixed crash in multilink mode due to invalid
freeing of client by ack while it was still kept to send last message.
* modules/ircd/ircd.c, modules/ircd/sendto.h: never send duplicate SQUIT
to RFC servers.
* modules/ircd/ircd.c: fixed _ircd_do_server_numeric() sender test, it
might send INUM back to sender.
* modules/ircd/ircd.c: again fixed sending SQUIT back to the origin.
Thu Feb 2 2017 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/ircd.c: shifted strictness on server connection flags,
some servers may sent not negotiated flags but all supported ones.
* modules/ircd/queries.c: fixed counting clients on /lusers reply.
* modules/ircd/queries.c: fixed hangup on /whois with extra modules.
Wed Feb 1 2017 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/channels.c, modules/ircd/ircd.*: added check for channel
rules when user changes nick using "ircd-check-modechange" bindtable,
e.g. if channel has a policy to not accept certain nicks then such
change will be refused. Sending a numeric on rejected join in now a
mandatory call for these bindings.
* modules/ircd-rusnet/rusnet.c: added a ERR_7BIT numeric for +z mode.
* modules/ircd/channels.c: fixed ISUPPORT collection from modules.
Tue Jan 31 2017 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd-rusnet/rusnet.c: fixed message by /nickserv, etc.
* modules/ircd/ircd.c: fixed forgotten PING after server reconnect.
Sun Jan 29 2017 Andriy Gritsenko <andrej@rep.kiev.ua>
* doc/module.template.c: updated the module template.
* doc/modules.api, modules/ircd/ircd.c: added two bindtables related
to local connections: "ircd-got-server" and "ircd-lost-server".
* modules/ircd-capab/*: new module, support for IRCD command CAPAB.
Sat Jan 28 2017 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/channels.c: fixed channel reop time processing.
* modules/ircd/servers.c: fixed ACKs processing.
* modules/ircd/clients.c, modules/ircd/ircd.c, modules/ircd/queries.c, modules/ircd/sendto.h, modules/ircd/servers.c:
fixed sending numerics, they should be never sent back to the sender.
* modules/ircd/messages.c: also send IPRIVMSG/INOTICE by alternate way
for exact target to ensure delivery.
* modules/ircd/messages.c: implemented support for NOTICE from servers.
* modules/ircd-rusnet/*: new module, implementation RusNet IRC network
extensions.
Thu Jan 26 2017 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/lib.c: enforced setting LC_CTYPE for mbrtowc() call sake.
* modules/ircd/channels.c: added NICKTEST into RPL_ISUPPORT with charset
being used to validate names.
* modules/ircd/queries.c: added sending NOTICE to WHOISed operator (if
defined at compile time config).
* modules/ircd/ircd.c: added support for class passwords.
Wed Jan 25 2017 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/servers.c: fixed invalid channel validation on NJOIN.
* modules/ircd/queries.c: fixed wrong services count on LUSERS.
--- [0.10.2] end (released 0.11.0)
Tue Jan 24 2017 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/ircd.c: fixed dropping CLIENT where it should not.
* modules/ircd/servers.c: fixed ACKs processing.
* modules/ircd/ircd.c: fixed missing ACK QUIT on backup message.
* modules/ircd/servers.c: don't send errors for duplicate JOIN and PART
from a multiconnected server.
* core/main.c, modules/ircd/queries.c, doc/foxeye.1: updated copyright
years in messages.
Mon Jan 23 2017 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/ircd.c: revised phantoms relations, some problems found.
Sat Jan 21 2017 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/ircd.c: fixed wrong sending SQUIT and NICK back to the
origin.
* modules/ircd/ircd.c: fixed invalid token setting on local connect of
server which was already introduced as remote.
* modules/ircd/ircd.c: fixed wrong refused server name processing.
* modules/ircd/channels.c, modules/ircd/ircd.*: fixed invalid usage of
CLIENT_IS_REMOTE() macro.
* modules/ircd/ircd.c: fixed crash on module termination.
* modules/ircd/ircd.c: corrected point of removing name from the list.
* modules/ircd/ircd.c: fixed tokens handling in multiconnect mode.
* modules/ircd/ircd.c: fixed SQUIT message processing in multiconnect
mode.
Wed Jan 18 2017 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/ircd.c: don't send error replies to a killed client.
* modules/ircd/ircd.c: fixed not initialized memory on remote ISERVER.
* modules/ircd/ircd.c: fixed connection data after local connect of
already known server (as remote).
* modules/ircd/ircd.c: fixed autoconnect retry on connection timeout
on uplink attempt.
* modules/ssl/openssl.c, modules/ziplink/ziplink.c: fixed crash on
module termination with some incomplete connection present.
* modules/ircd/ircd.c: fixed uplink interface name (was empty).
* modules/ircd/ircd.c: added a test to not send ISERVER back to itself.
Sun Jan 15 2017 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/ircd.*: fixed issues with multiconnected SQUIT at the
same time via few servers (local and remote).
Mon Jan 2 2017 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/queries.c, modules/ircd/ircd.h: fixed issue with version
flags pointer.
* modules/ircd/clients.c: fixed deadlock after failed OPER request.
Sun Dec 25 2016 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/main.c, doc/foxeye.1, modules/ircd/queries.c: updated copyright
year to 2016.
* configure: fixed build if openssl isn't available.
Wed Dec 14 2016 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/ircd.c: fixed crash on terminating unfinished connection.
Fri Oct 7 2016 Andriy Gritsenko <andrej@rep.kiev.ua>
* intl/VERSION: bump gettext included to 0.17 version.
Sun May 29 2016 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/ircd.*: sending version flags in server handshake.
* modules/ircd/channels.c: fixed wrong MODE query reply.
Thu May 19 2016 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/ircd.c, modules/ircd/queries.c: show 'z' in trace reply
on Zlib links.
* modules/ircd/queries.c: fixed wrong counters in LUSERS replies.
Mon May 16 2016 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/ircd.c: fixed few issues with multiconnected servers.
Wed May 11 2016 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/socket.c: handled case if socket has more data than buffer can
receive (mark flags appropriately).
* modules/ircd/servers.c: fixed received ACK check, args count should
match expecting count.
* modules/ircd/ircd.c: corrected version string, it should match 2.10
instead of 2.11, we don't support 2.11 features.
* modules/ircd/ircd.c: fixed problems in _ircd_recalculate_hops().
Tue May 10 2016 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/ircd.*, modules/ircd/messages.c: implemented handling
message targets such as user[%host]@servername, user%host, and
nickname!user@host.
Mon May 9 2016 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/ircd.c: clarified behavior when "ircd-client-filter"
returns 0 - the IRCD should not send ERR_UNKNOWNCOMMAND to client
but binding should handle it itself.
* modules/ircd/ircd.c: added missing check for user sendq to early
diagnose user link problems.
* modules/ircd/channels.c: check channel key size for KEYLEN, the check
was missing.
* modules/ircd/channels.c: set noop_since on channel if last operator
on ! channel was deopped.
* modules/ircd/queries.c: fixed WHOWAS query database filling, it was
only last user that saved.
Sun May 8 2016 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/ircd.*, modules/ircd/messages.c, modules/ircd/numerics.h, modules/ircd/queries.c:
added max clients statistics (RPL_LOCALUSERS, RPL_GLOBALUSERS) into
LUSERS query replies.
Sat May 7 2016 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/ircd.c: pass ERR_YOUREBANNEDCREEP message to the killed
client too, not just ERROR or KILL ones.
* modules/ircd/ircd.c: fixed problem on SERVICE collision, nick on hold
should be dropped, and existing should be killed, so only possible
collision is for real services.
* modules/ssl, debian/copyright, README: renamed 'openssl' module into
'ssl' to comply with OpenSSL license, updated license information.
* modules/ircd/ircd.c, modules/ircd/channels.c: added a way to override
hardcoded NICKLEN in some limited cases.
* modules/ircd/clients.c: added override for _ircd_do_command() into
TOPIC and KICK handlers.
Fri May 6 2016 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/socket.c: recheck listening socket after success on accept(), it
could get few incoming connections at once and no additional revents
received. Noticed by denk.
* core/sheduler.c: fixed scheduler timer parsing, it might fail on bad
strings. Noticed by denk.
* modules/ircd/queries.c: implemented STATS c reply, for opers only.
* modules/ircd/queries.c: implemented STATS H reply, for opers only.
* modules/ircd/messages.c: got rid of #define MAXTARGETS, it should be
based on penalty values as in original ircd.
* modules/ircd/channels.c: moved #define MAXCHANNELS into a variable
"ircd-max-channels".
* modules/ircd/ircd.c: cut all input messages by RFC size (512 chars
including CR+LF), not leave them as they are.
Thu May 5 2016 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/channels.c: introduced "ircd-max-bans" variable to limit
bans/exempts/invites list size for each channel.
* modules/logs/logs.c: fixed infinite cycle on empty log message.
* modules/ircd/queries.c: fixed invalid handling on "ircd-max-matches".
* modules/ircd/channels.c, modules/ircd/ircd.*: added RPL_ISUPPORT to
be sent to client on registration.
* modules/ircd/ircd.c: use kill comment in the ERR_YOUREBANNEDCREEP.
* modules/ircd/ircd.c: changed server flag from U_ACCESS to U_UNSHARED,
U_ACCESS is used for exemption.
Wed May 4 2016 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/ircd.c: added check on bans of mask nick!user@host after
registration, so we can check nicks as well.
* modules/ircd/queries.c: added missing RPL_LISTSTART.
* modules/ircd/channels.c: reworked binding args on "ircd-modechange",
"ircd-check-modechange" and "ircd-umodechange".
* core/direct.*, modules/irc/irc.c, modules/irc-ctcp/dcc.c, modules/ircd/ircd.c, doc/modules.api:
implemented PeerData_* functions family to allow modules attach fast
accessible data to peer_t structure.
Tue May 3 2016 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/init.*, doc/modules.api: added new function GetVariable() which
grants access to variables of one module to another at init stage.
* core/foxeye.h (ircd): changed TOPICLEN to 255 as it is in IRCd 2.11.
* modules/ircd/servers.c, modules/ircd/ircd.h, modules/ircd/clients.c, modules/ircd/channels.c:
changed RPL_TOPICWHOTIME format (it should contain full mask and not
show real user for A_ANONYMOUS channel).
* modules/ircd/ircd.c: added user mode to "ircd-local-client" bindings.
* modules/ircd/ircd.c: changed "ircd-client-filter" return value, it
should return 0 to refuse, and >1 for increased penalty.
Mon May 2 2016 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/*: added effective user mode as "ircd-client-command"
binding parameter, setting user mode by server would need it.
* modules/ircd/channels.c: added function "ircd-set-channel-topic" to
let other modules change topic.
* modules/ircd/*: implemented RPL_TOPICWHOTIME feature.
* modules/ircd/ircd.c: added few more parameters for "ircd-collision"
bindings.
* modules/ircd/channels.c: fixed arguments of "ircd-check-modechange"
binding calls, added interface pointer to it.
* modules/ircd/*: converted some of #define into variables.
Sun May 1 2016 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/channels.c: fixed MODE change via another server: only
users can change own modes, not other users.
* modules/ircd/ircd.c: added missing I_CLIENT collector to the IRCD.
* core/foxeye.h: increased NAMEMAX to MB_LEN_MAX*LNAMELEN.
* modules/ircd/ircd.c: enabled user simulation mode (when message to
IRCD main interface received originated from local user), it supposed
to be acceptable as well, not just server simulation.
* modules/ircd/channels.c: added server name to the "ircd-umodechange"
callback function, some modes may depend on it.
* modules/ircd/queries.c: added sender mode to the "ircd-whois" binding
parameters.
Sat Apr 30 2016 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/list.c: fixed Get_Clientlist() call against nonamed U_DEOP and
U_QUIET, they were missed on scan.
* modules/ircd/channels.c: fixed "ircd-check-modechange" test for the
users with +r usermode, they were denied to join any channel.
* modules/ircd/*: removed 'char *cmd' parameter from "ircd-server-cmd"
bindings, it's never used and never should.
* modules/ircd/channels.c, modules/ircd/clients.c, modules/ircd/ircd.c, modules/ircd/queries.c:
fixed missing command in ERR_NEEDMOREPARAMS numeric.
* core/list.c: added hostmask test into _add_usermask() to contain at
least a single non-wildcard char.
* core/list.c: Find_Clientrecord() should not do match() against masks
but just compare, match() is appropriate for client search, not mask.
* core/list.c: denied to add duplicate hostmask by Find_Clientrecord().
Fri Apr 29 2016 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/ircd.c: implemented "ircd-check-send" bindtable for sake
of modules which would send message to target *.*@<network> so they
can filter recipients using bindings on this bindtable.
* modules/ircd/ircd.c: added check with "ircd-client-filter" bindtable
before "ircd-register-cmd" processing as well.
* modules/ircd/ircd.c: added support for Lname_IsOn() for ircd network.
* modules/ircd/*: added support for visible host (A_MASKED user mode).
No actual user mode implemented, only data space preserved, support
should be implemented by network-specific module.
Thu Apr 28 2016 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/connchain.c: removed "sticky" filters from connchain processing,
it will never work that way because chain anyway should be made from
scratch.
* core/connchain.*: added new API Connchain_Shrink to use by recv()
callback from filter to perform suicide.
* modules/ircd/queries.c: added new bindtable "ircd-whois" to expand
WHOIS query reply.
* modules/ircd/ircd.c: added one more parameter to the "ircd-auth"
binding to make it possible to change modeflag (may be needed e.g. in
case of restricted connection or whatever).
* modules/ircd/queries.c, modules/ircd/channels.c, modules/ircd/ircd.c, modules/ircd/numerics.h:
added special support for SSL connections: numeric on WHOIS and user
mode flag 'z'.
* modules/openssl/openssl.c: implemented "bypass mode" for OpenSSL
server connection - it will remove filter if incoming connection does
not use SSL/TLS so not encrypted connections are possible on that
port as well.
Tue Apr 26 2016 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/openssl: new module to handle connects using OpenSSL.
* modules/irc/irc.c: fixed IRC connection startup in case if connection
chain needs handshake (in case of SSL for example).
* modules/irc/irc.c: fixed infinite cycle on IRC connection termination
in case if connection chain contains some filters.
* modules/irc-channel/irc-channel.c: fixed empty "JOIN" message to IRC
server if there are no channels to autojoin.
* modules/syslog: new module to logging messages using syslog.
Thu Mar 3 2016 Andriy Gritsenko <andrej@rep.kiev.ua>
* configure: use -fPIC instead of -fpic on 64 bit Linux systems,
otherwise it fails on some archs.
--- [0.10.1] end (released 0.10.2)
Tue Jun 30 2015 Andriy Gritsenko <andrej@rep.kiev.ua>
* configure, core/Makefile, modules/Makefile.mods, core/protos.h, core/socket.c:
make it buildable on Mac OS X.
Mon Jun 29 2015 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/Makefile, modules/Makefile.mods: added explisit '-lc' for shared
objects linking when needed.
* configure: fixed build using '-Wl,-z,defs' on Solaris.
Sun Jun 28 2015 Andriy Gritsenko <andrej@rep.kiev.ua>
* configure, core/Makefile, modules/Makefile.mods: removed the option
-nostartfiles from linker call on Linux, it was wrong one.
* configure, modules/Makefile.mods: added compatibility with automake
that is newer than 1.13.
Tue Jun 9 2015 Andriy Gritsenko <andrej@rep.kiev.ua>
* configure: added support for GNU/Hurd.
Thu Jun 4 2015 Andriy Gritsenko <andrej@rep.kiev.ua>
* configure: added support for GNU/kFreeBSD.
* core/main.c, modules/ircd/queries.c: updated year in copyright info
messages.
Sun Oct 19 2014 Andriy Gritsenko <andrej@rep.kiev.ua>
* Makefile: changed to use XZ compression for distro tarball.
Mon Oct 13 2014 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/servers.c: fixed ircd_test_id() bits updating.
Sun Oct 12 2014 Andriy Gritsenko <andrej@rep.kiev.ua>
* *: updated old FSF address in all files.
Sat Oct 11 2014 jcsl <trcs@gmx.com>
* po/es.po, po/LINGUAS: added new translation (Spanish).
Sun Oct 5 2014 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/Makefile: fixed installation of symlink over existing one.
Sat Oct 4 2014 Andriy Gritsenko <andrej@rep.kiev.ua>
* configure, core/Makefile: fixed build on Solaris: its ld fails with
-Wl,-z,defs on shared library, it requires main().
* modules/ircd/ircd.c: added "+hub" dcc command for command line setup.
--- [0.10.0] end (released 0.10.1)
Fri Oct 3 2014 Andriy Gritsenko <andrej@rep.kiev.ua>
* configure, core/Makefile, core/main.c, core/foxeye.h, core/dispatcher.c:
moved core functions into libfoxeye.so.0.0.0, in case if confugured
for non-static compilation.
* modules/ircd/ircd.c: fixed static compilation of module 'ircd'.
* Makefile: removed useless target 'kit'.
* modules/Makefile.mods: simplified form of OBJS a little.
* modules/Makefile: recreate Makefile when Makefile.in changed.
* modules/Makefile.mods: added using libfoxeye.so.0.0.0 on linking.
* configure, core/Makefile, modules/Makefile.mods: fixed linking bugs,
added -Wl,-O1 -Wl,-z,defs to dynamic linking options.
* configure: moved flags not needed for linker from CFLAGS to CPPFLAGS.
* configure, modules/tcl/accvs.m4: fixed static compilation.
* modules/Makefile*: fixed make distcheck.
* core/Makefile: fixed build shared lib when libtree.a not ready.
* core/Makefile, modules/Makefile.mods: moved library out of the way.
* foxeye.pc: added file for pkgconfig.
* modules/irc-channel/irc-channel.c: fixed spelling error (splitted).
* modules/ircd/ircd.c: fixed spelling error (succesfully).
* configure.in: renamed into configure.ac (configure.in is deprecated).
* core/foxeye.h, core/list.c, core/wtmp.c, modules/autolog/autolog.c, modules/irc-ctcp/dcc.c, modules/logs/logs.c:
fixed calls to strerror_r() - return code should be checked.
* core/socket.c: corrected casts from short to pointer.
Mon Sep 29 2014 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/Makefile: replaced obsolete INCLUDES with AM_CPPFLAGS.
Tue Apr 29 2014 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/lua/lua.c: fixed compatibility with Lua 5.2.
* configure, modules/Makefile.mods: simplified usage of MAKE_IS_GNU.
Wed Oct 17 2012 Andriy Gritsenko <andrej@rep.kiev.ua>
* Makefile: removed debian/* stuff from distro (see Debian Rules).
Wed May 9 2012 Andriy Gritsenko <andrej@rep.kiev.ua>
* configure: fixed --enable-debug=info mode.
* debian/*: updated debian packaging.
Tue Apr 17 2012 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/lib.c: fixed case with charset in lowercase on setting locale.
Thu Apr 5 2012 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/logs/logs.c: fixed wrong rotation time calculation on start.
Wed Apr 4 2012 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/main.c: fixed making of run path (bug#110).
* core/socket.c: fixed uninitialized variable in PollSockets().
* core/dispatcher.c, core/lua/lua.c, modules/ircd/queries.c: eliminated
unused variables.
* modules/ircd/ircd.c: fixed SIGSEGV on incomplete ircd setup (bug#109).
* modules/ircd/queries.c: added debug message into motd file check.
Sun Apr 1 2012 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc-channel/chmanagement.c: fixed SIGSEGV yet again on server
modechange reversing.
Mon Dec 5 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc-channel/chmanagement.c: fixed SIGSEGV on server
modechange reversing.
Tue Nov 22 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/socket.c: added unlink of UNIX listener on terminating.
Fri Nov 18 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/ircd.c: implemented dropping link if message source
seems to be server but unknown to us (see RFC2813).
Mon Nov 14 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/tcl/modtcl.c: fixed setting of Tcl encoding for UTF-8.
Tue Nov 8 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/socket.c, doc/modules.api: implemented resolving of UID and PID
of connected process in case of UNIX socket connection.
Fri Nov 4 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/ircd.c, modules/ircd/queries.c: changed bindtable
"ircd-lost-client" into more common "ircd-client" one, WHOWAS should
be aware of nickchanges too from now on.
* modules/ircd/queries.c: forced sending prefix to local clients on
PONG as some clients are broken and think PONG always is prefixed.
Thu Nov 3 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc/irc.c: corrected "time-shift" binding.
* modules/logs/logs.c: added "time-shift" binding.
* core/socket.c, core/foxeye.h: implemented "strict backresolv" feature
to ignore resolved hostname of incoming connect if it does not resolve
into the same IP.
* configure, core/Makefile, core/socket.c: added libidn support.
Wed Nov 2 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/direct.c: added test for non-alnum first char of ident.
Tue Nov 1 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/ircd.c: added time corrections handler to ircd.
* modules/ircd/clients.c: disabled changing of topic outside of channel
(bug#106).
* modules/ircd/ircd.c: added check if autoconnect already in progress.
* modules/ircd/ircd.c: added stupidity check into ircd_prepare_quit().
* core/connchain.c: implemented "sticky" connchain links.
* modules/ircd/channels.c: fixed +-o on !chan again.
Mon Oct 31 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/clients.c, modules/ircd/servers.c: fixed KICK reason
and target on A_ANONYMOUS channels.
* modules/ircd/servers.c: fixed foreign SQUIT query (bug#105).
Sun Oct 30 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/channels.c: fixed wrong putting channel on hold.
* modules/ircd/channels.c: implemented MODE !x O query (bug#102).
* modules/ircd/ircd.c: fixed unreleased uplink thread on fail (bug#104).
Sat Oct 29 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/ircd.c: added support for NICK after KILL.
* modules/ircd/ircd.c: added nick checking in case USER came after NICK
(bug#100).
* modules/ircd/channels.c: fixed SIGSEGV on topic for holded channel.
* modules/ircd/servers.c: fixed handling acks for KILL and JOIN 0.
* modules/ircd/channels.c: fixed counter for joined channels (bug#103).
* modules/ircd/channels.c: fixed mode query (bug#99).
Fri Oct 28 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/direct.c, modules/ircd/ircd.c: fixed unreleased pthread (bug#98).
* modules/ircd/ircd.c: fixed relations after client quit.
* modules/ircd/servers.c: added diagnostics for ACK parameters.
Mon Oct 24 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/channels.c: fixed local MODE broadcast on A_ANONYMOUS
channels (bug#95).
* modules/ircd/clients.c, modules/ircd/servers.c: fixed local TOPIC
broadcast on A_ANONYMOUS channels (bug#95).
* modules/ircd/channels.c: fixed duplicates on chanmode -l.
* modules/ircd/clients.c: disabled invite to remote &channel (bug#97).
* modules/ircd/clients.c, modules/ircd/servers.c: fixed local KICK
broadcast on A_ANONYMOUS channels (bug#95).
Sun Oct 23 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/ircd.c: rewritten message origin detection again.
Sat Oct 22 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* configure: added optional parameter 'info' for --enable-debug to
not disable optimization in that case.
* modules/ircd/ircd.c: fixed phantom finding.
* modules/ircd/ircd.c: set phantom again to be created on nick change
but ignored on attempt to regain that free nick (bug#94).
* modules/ircd/ircd.c: added ignorance of dummy nick change.
* modules/ircd/channels.c, modules/ircd/servers.c: fixed non-ignorance
of dummy "JOIN 0".
* modules/ircd/channels.c: implemented supression of duplicate channel
modes (bug#96).
* modules/ircd/channels.c: fixed apply of +b/e/I when user joining
channel by short name (bug#92).
Fri Oct 21 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/socket.c: fixed wrong setting of Pollfd structure after poll.
* core/socket.c: fixed SocketError() on errors from strerror_r().
* core/dispatcher.c: fixed shutting down of modules on restart (bug#57).
* modules/ircd/channels.c: fixed +-o on A_ADMIN (bug#93).
* modules/ircd/channels.c: fixed modechange shown to users on the
anonymous channels (bug#95).
* configure: removed --enable-profile as gprof doesn't handle dlopen().
Tue Oct 17 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/queries.c: added validation of second arg of PING.
* modules/ircd/channels.c, modules/ircd/servers.c: fixed modeflags for
channel creator.
* modules/ircd/queries.c: fixed PING replying.
* modules/ircd/channels.c: fixed wrong deleting a channel while acks
are still on.
* core/direct.c: tuned identd request in accordance with RFC1413.
Sun Oct 16 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/queries.c: fixed matching on reply to WHOIS (bug#91).
* modules/ircd/ircd.c: fixed critical bug on phantom collision.
* modules/ircd/ircd.c: fixed case of ident and host from local/remote.
* modules/ircd/channels.c: fixed invalid local JOIN onto transformed
channel name.
Fri Oct 14 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/ircd.c, modules/ircd/queries.c: renamed bindtable
"ircd-got-client" into "ircd-local-client".
* modules/ircd/channels.c: disabled "&CHANNEL" as it's unused.
* modules/ircd/queries.c: denied queries from servers.
* modules/ircd/channels.c: implemented simple MODE mask validation.
* modules/ircd/channels.c, modules/ircd/clients.c, modules/ircd/ircd.c, modules/ircd/sendto.h, modules/ircd/servers.c:
implemented &WALLOPS system channel.
Thu Oct 13 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/ircd.c: fixed handling collision with nick on hold.
* core/list.c: fixed deleting of host for servers.
* modules/ircd/ircd.c: fixed matching of server host with no ident mask.
Wed Oct 12 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/ircd.c: added alternative path to send on servers burst.
* modules/ircd/ircd.c: fixed case with backup nick introduction.
* core/direct.c: fixed incorrect int cast.
* modules/ircd/ircd.c: fixed bad initialization of phantom structure.
* modules/ircd/channels.c, modules/ircd/ircd.c: fixed wrong channel
destruction on termination.
* modules/irc-channel/irc-channel.c: made own joins be send in one piece
to avoid flooding server.
Tue Oct 11 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/ircd.c: fixed SIGSEGV on message from gone client.
* core/socket.c: added a little cleanup on revents.
* core/dispatcher.c: disabled expired code.
* core/socket.c: fixed broken IPv6 socket setup.
* modules/irc-channel/irc-channel.c: fixed recently changed rejoin.
* modules/irc/irc.c: fixed wrong handling of "irc-raw" bindtable.
* modules/ircd/clients.c: changed shown hops in WHO reply.
* modules/ircd/ircd.c: fixed clients burst.
* core/socket.c: disabled polling incomplete sockets.
Mon Oct 10 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/channels.c: added numeric on bad mode (bug#80).
* modules/ircd/ircd.c: fixed wrong nick casechange.
* modules/ircd/queries.c: fixed telling channels to client itself.
* modules/irc-channel/irc-channel.c: added rejoin onto temporarily
unavailable channels (bug#90).
* modules/ircd/channels.c: fixed name of created !chan (bug#89).
* modules/ircd/clients.c: fixed WHO for channels containing chars '?'.
Sun Oct 9 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/ircd.c: removed try of autoconnect to already connected.
* modules/ircd/channels.c: added sending cancelled modes (after some
override) to relevant peers (bug#79).
Fri Oct 7 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ziplink/ziplink.c: fixed transit of socket error by ziplink.
Thu Oct 6 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/lib.c: added multibyte support into match() and simple_match().
* modules/ircd/channels.c: fixed channel name validation on local JOIN
(bug#84).
* modules/ziplink/ziplink.c: fixed ShutdownR setting on termination.
* modules/ircd/ircd.c: fixed delivering of KILL message to client
(bug#85).
* modules/ircd/clients.c, modules/ircd/queries.c: fixed replies on
WHO, NAMES and LIST for A_PRIVATE and A_SECRET channels (bug#87).
Wed Oct 5 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/list.c: fixed SIGSEGV on nonamed bans.
* modules/ircd/ircd.c: fixed collision source server in check in
_ircd_check_nick_collision().
* modules/ircd/clients.c: fixed SIGSEGV on INVITE for server (bug#83).
* modules/ircd/channels.c: fixed wrong diagnostics on MODE target
(bug#76).
* modules/ircd/ircd.c, modules/ircd/numerics.h: fixed numerics
ERR_ERRONEUSNICKNAME and ERR_NICKNAMEINUSE (bug#82).
* modules/ircd/servers.c: fixed error on NJOIN to '+' channel (bug#81).
* modules/ircd/ircd.c, modules/ircd/queries.c: fixed RPL_LUSERUNKNOWN.
Tue Oct 4 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ziplink/ziplink.c: fixed false error message on Zlib output
termination.
* core/lib.c: rewritten overcomplicated match() and simple_match()
(bug#78).
* modules/ircd/numerics.h, modules/ircd/channels.c, modules/ircd/clients.c, modules/ircd/servers.c:
fixed numerics 441...444 (bug#75,77).
Mon Oct 3 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/ircd.c: fixed numerics via IRCD interface.
* core/direct.c: added ignorance of fake identd answers.
* modules/ircd/channels.c, modules/ircd/ircd.h, modules/ircd/messages.c, modules/ircd/queries.c:
eliminated constant USERLEN in favor to IDENTLEN.
* modules/ircd/messages.c: implemented new "ircd-set-message-targets"
bindtable for extending PRIVMSG and NOTICE target masks.
* modules/ircd/clients.c: fixed WHO request for operators.
Sun Oct 2 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/socket.c: fixed a slowness in reading socket.
* core/connchain.c: fixed a slowness in sending through 'x' filter.
* core/sheduler.c, help/main: fixed logic with flood counter.
* modules/ircd/ircd.c: implemented client messages penalty.
* core/socket.*, doc/modules.api: implemented new function SocketMyIP().
* core/socket.*, doc/modules.api: added one more parameter into
SetupSocket() to be possible to set own address.
* core/direct.c: adapted ident asking to multi-IP hosts.
* modules/ircd/ircd.c: disabled USER message with empty realname.
Sat Oct 1 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/ircd.c, modules/ircd/channels.c, modules/ircd/clients.c, modules/ircd/messages.c, modules/ircd/servers.c:
removed making a prefix from ircd client request handler.
* core/lib.c: fixed deadcycle with too long parameter for printl().
* modules/ircd/ircd.c: added replacement for local user empty realname.
* modules/ircd/channels.c: fixed incorrect making of safe channel name.
* modules/ircd/queries.c, modules/ircd/numerics.h: fixed WHOWAS replies.
* modules/ircd/ircd.c: fixed stack overflow on message receiving.
* core/socket.c: fixed losing last data from ended connection.
Fri Sep 30 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/channels.c: fixed channel mode -k.
* modules/ircd/channels.c: fixed empty mode broadcast.
* modules/ircd/channels.c: removed invalid broadcast 'MODE +chan +t'.
* modules/ircd/channels.c: changed last parameter of function which
is set by "ircd-modechange" bindings.
* core/connchain.c: fixed deadcycle on binary stream in 'x' filter and
added some diagnostics to it (bug#74).
* modules/ircd/servers.c: removed error generation on NJOIN member
which we already killed.
* modules/ircd/channels.c: fixed onjoin messages to not send modes.
* modules/ircd/ircd.c: added restriction for "ident" in USER message
to have printable ASCII chars only.
* modules/ircd/messages.c: simplified message broadcast functions.
Thu Sep 29 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ziplink: added new module for compressed links.
* modules/ircd/clients.c, modules/ircd/servers.c: fixed INVITE message.
* modules/ircd/ircd.c: removed autoconnect password from logs.
* modules/ircd/channels.c: fixed handling negative channel limit.
* modules/ircd/channels.c: implemented implicit adding '+' to first
MODE message argument from users.
* modules/ircd/channels.c: added adding "!*" to mask in MODE if user
gives only nickname in argument.
* modules/ircd/servers.c: fixed PART message from remote to local users.
* modules/ircd/servers.c: fixed broadcasting local channel mode.
* modules/ircd/channels.c: fixed broadcasting of A_ADMIN channel mode.
* modules/ircd/channels.c: fixed unsetting key/limit/etc. on channel.
* modules/ircd/channels.c: fixed diagnostics about A_REOP mode.
* modules/ircd/channels.c: removed unneeded sending client mode to
client on joining channel as client will get them with RPL_NAMES.
* modules/ircd/channels.c: fixed missing A_ADMIN mode in ircd_char2mode.
* modules/ircd/servers.c, modules/ircd/sendto.h, modules/ircd/clients.c:
added support for server WALLOPS messages.
Wed Sep 28 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/ircd.c: fixed bug in ircd_find_client().
* modules/ircd/ircd.c: fixed handling nickname casechange.
* modules/ircd/ircd.c: fixed mess with collisions with phantoms.
* modules/ircd/ircd.c: changed autoconnects to be on timer.
* core/connchain.c, core/direct.c, doc/modules.api: changed connchain
link receiver function to accept -1 as socket identifier to make a
raw pull of chain buffers.
Tue Sep 27 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/channels.c: fixed wrong channel mode parameters parsing.
* core/direct.c: fixed ident requesting.
* modules/ircd/messages.c: fixed missing messages.
* modules/ircd/servers.c: fixed SIGSEGV on INVITE outside of channel.
* modules/ircd/channels.c: fixed RPL_BANLIST reply.
* modules/ircd/channels.c: removed broadcasting duplicate modes.
* modules/ircd/ircd.c: fixed not ignoring incomplete connections.
* core/dispatcher.c: added try to empty queue at once; that may speed
up dispatcher but it may be risky as well.
Mon Sep 26 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/ircd.c: fixed infinite cycle in _ircd_is_server_name().
* modules/ircd/ircd.c: fixed sending duplicates to RFC2813 servers.
* modules/ircd/ircd.c: fixed SIGSENV in tokens reallocation.
* modules/ircd/queries.c: fixed wrong LINKS reply.
* modules/ircd/ircd.c: fixed NICK message to servers.
* modules/ircd/ircd.c: changed tokens to be sent counting from 1.
* modules/ircd/ircd.c: fixed RPL_TRACESERVER to count all behind link.
* modules/ircd/ircd.c: fixed SERVER log message.
* modules/ircd/messages.c: fixed duplicating messages to RFC2813
servers through A_MULTI servers.
* modules/ircd/ircd.c, modules/ircd/queries.c: added connection flags
into RPL_TRACELINKS and RPL_TRACESERVER.
* modules/ircd/ircd.c, modules/ircd/clients.c, modules/ircd/servers.c:
modified QUIT messages to be sent always with user@host.
* modules/ircd/servers.c: fixed broken NJOIN message in transit.
* modules/ircd/ircd.c: fixed return code for died socket.
Sun Sep 25 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/dispatcher.c: fixed duplicated messages in console (bug#72).
* *.c: done revision of debug messages.
* configure: fixed -fno-strict-aliasing addition.
* modules/ircd/ircd.c, modules/ircd/clients.c, modules/ircd/servers.c:
added KILLS logging.
* modules/ircd/ircd.c: increased number of digits in ircd version.
* modules/ircd/ircd.c: changed log level on RFC1459-style SERVER
message from error to notice.
* modules/ircd/ircd.c: fixed deadcycle after incomplete uplink connect.
* modules/ircd/ircd.c: fixed QUIT message on network split.
* modules/ircd/channels.c, modules/ircd/servers.c: fixed marking and
recognizing channels on hold.
* modules/ircd/ircd.c: fixed attempt to clear class for uplink.
* modules/ircd/channels.c: fixed who sets mode in JOIN message on NJOIN.
* modules/ircd/servers.c: fixed remote quit message.
Sat Sep 24 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/main.c: fixed 100% CPU eating by console.
* core/direct.c, modules/irc-ctcp/dcc.c: fixed crash on FreeBSD 8.x
as implicit pthread_cleanup_pop does not work after return operator.
Fri Sep 23 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/ircd.*: fixed a mess out of A_AWAY with A_UPLINK.
* core/socket.c: fixed bad initialization of poll array.
* modules/ircd/channels.c: fixed SIGSEGV on duplicate JOIN.
* modules/ircd/channels.c: disabled sending PART for A_QUIET channels.
* modules/ircd/channels.c: fixed NJOIN message.
* modules/ircd/ircd.c: fixed wrong calls order in ircd_prepare_quit().
* modules/ircd/channels.c: fixed remote user mode change.
* modules/ircd/ircd.c: fixed user class recognizing.
* modules/ircd/channels.c: fixed deleting non-empty channel after hold.
* modules/ircd/channels.c: fixed backfired (I)MODE message.
* modules/ircd/servers.c: fixed backfired KILL message.
* modules/ircd/queries.c, modules/ircd/clients.c: corrected away reply
on WHOIS query.
Thu Sep 22 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/protos.h: fixed 'max' statistic in macro ALLOCATABLE_TYPE.
* core/socket.h: replaced non-POSIX SIGIO with POSIX SIGPOLL.
* core/foxeye.h: fixed issue when string.h and strings.h both present.
* modules/tcl/modtcl.c: fixed arguments of Tcl_GetStringFromObj().
* modules/ircd/channels.c, modules/ircd/clients.c: fixed handling of
AWAY message.
* modules/ircd/ircd.c: fixed SIGSEGV on initial timeout.
Wed Sep 21 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/ircd.c, modules/ircd/clients.c, modules/ircd/servers.c:
fixed usage of ircd_prepare_quit().
* modules/ircd/ircd.c: fixed deallocation of structures on (s)quit.
* core/socket.c: fixed wrong reallocation on sockets polling.
* modules/ircd/ircd.c: fixed fields left unitialized in struct CLIENT.
* modules/ircd/ircd.c: fixed fields left unitialized in peer_priv.
* modules/ircd/channels.c: fixed sending JOIN message to servers.
Tue Sep 20 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/ircd.c: fixed invalid squit processing.
Mon Sep 19 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/ircd.c: fixed infinite cycle after wrong phantomization.
* modules/ircd/queries.c, modules/ircd/ircd.ref: updated version reply.
* modules/ircd/ircd.c: fixed memory leak by failed server registration.
* modules/ircd/ircd.c: fixed uplink handling.
* modules/ircd/ircd.c: fixed inspect-client binding for ircd.
* modules/ircd/ircd.ref: updated ircd documentation.
* modules/ircd/ircd.c: fixed SIGSEGV on requests handler of uplink.
Sun Sep 18 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/ircd.c: fixed matching of hostmasks.
* modules/ircd/ircd.*, modules/ircd/queries.c: added missing infos
into LUSERS reply.
* modules/ircd/ircd.c, modules/ircd/clients.c, modules/ircd/servers.c:
fixed QUIT messages to local clients.
* modules/ircd/ircd.c: revised and fixed CLIENT structures handling.
Sat Sep 17 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/channels.c: fixed source of messages on system channels.
* core/conversion.*, doc/modules.api, core/direct.c, core/dispatcher.c, modules/irc/irc.c, modules/ircd/ircd.c, modules/tcl/modtcl.c:
changed last argument of Do_Conversion() and Undo_Conversion() to
be updated on return.
* core/help.c: added support for '##$charset <name>' at helpfile start.
* core/direct.c: added support for 'OTHER' type ident.
* core/list.c: added error reporting on Listfile backup rename errors.
* core/list.c: added check on permissions to change other Lname.
* modules/ircd/ircd.c: added check for invalid server token.
* modules/ircd/ircd.c: implemented nickchange collision resolving.
* modules/ircd/ircd.c: fixed uplink diagnostic messages.
* modules/ircd/queries.c: fixed SIGSEGV in NAMES.
* modules/ircd/clients.c: fixed PART message prefix.
* modules/ircd/queries.c: fixed RPL_LUSERME servers count.
* modules/ircd/ircd.c: fixed INUM handling.
* modules/ircd/queries.c: fixed RPL_LINKS text.
* modules/ircd/ircd.c: added missing help file initialization.
* core/dispatcher.c: changed cancelling disabling point.
Fri Sep 16 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/ircd.c: reworked (and simplified) phantoms handling.
* modules/ircd/channels.c: added topics for system channels.
* configure, core/foxeye.h, modules/ircd/ircd.*, modules/ircd/servers.c:
rewritten IDs check via bitmasks.
* modules/irc-channel/chmanagement.c, modules/ircd/ircd.c, core/dispatcher.c:
cleared compiler warnings.
* modules/ircd/queries.c: fixed TRACE 'Link' output.
* modules/ircd/ircd.c: fixed server registration.
* modules/ircd/queries.c: fixed PING and PONG from servers.
* modules/ircd/ircd.c: fixed INUM handling.
* modules/ircd/ircd.c: fixed diagnostics on SQUIT.
* modules/ircd/ircd.h: fixed TRACE 'Class' output.
Thu Sep 15 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/list.*, doc/modules.api, modules/irc/*.c, modules/irc-channel/irc-channel.c, modules/irc-ctcp/dcc.c, modules/modes/modes.c:
changed parameters of Find_Clientrecord() to be const.
* modules/ircd/ircd.c: fixed testing for phantoms if are expired.
* modules/ircd/ircd.c: simplified main search function - it does not
check for previous nicks anymore.
* modules/ircd/ircd.c: fixed checking for users limit.
* modules/ircd/ircd.c: added checking for timeout in auth thread.
Wed Sep 14 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/*c, modules/ircd/sendto.h: replaced some CLIENT_IS_LOCAL
with CLIENT_IS_REMOTE as latter is more fast.
* core/direct.c: added new bindtable "got-listener".
* modules/ircd/servers.c: fixed ACK handling.
* modules/ircd/messages.c: fixed duplicating privmsg between servers.
* modules/ircd/ircd.c: revised nick collision handling.
* modules/ircd/channels.c: fixed server MODE handling.
* modules/ircd/ircd.c: fixed source check in server message parser.
Tue Sep 13 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/socket.c: replaced kill() with pthread_kill() calls.
* configure: removed _REENTRANT and added check for optimization flags.
* Makefile: added 'LANG = C' statement to avoid compilation errors.
* configure: added lot of optimization flags for Solaris compiler.
* core/connchain.c: fixed connchain testing.
* modules/ircd/channels.c: fixed server JOIN message.
* modules/ircd/clients.c, modules/ircd/ircd.*, modules/ircd/messages.c, modules/ircd/queries.c, modules/ircd/servers.c:
fixed SERVER_IS_* macros.
* modules/ircd/ircd.c: fixed SIGSEGV in collision with phantom.
Mon Sep 12 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/init.c, core/modules.c, modules/ircd/channels.c, modules/ircd/ircd.c, modules/lua/lua.c, modules/tcl/modtcl.c:
got rid of Sun CC warnings about function assignments.
* core/direct.c, modules/irc/*.c: fixed type for bit-field data.
* core/socket.c: rewritten polling scheme to minimize CPU usage.
* configure: removed -KPIC as it makes random crashes very soon.
* core/connchain.c, core/direct.c, core/socket.*, doc/modules.api, modules/irc-ctcp/dcc.c, modules/irc/irc.c:
removed mode parameter from ReadSocket() and WriteSocket().
Sun Sep 11 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/protos.h, core/direct.c, modules/irc-ctcp/dcc.c, modules/ircd/ircd.c:
moved macro LOG_CONN to common header.
* core/list.c, doc/modules.api: made hosts of server records literals.
* core/foxeye.h, modules/ircd/channels.c: removed MAXJOINS ircd limit.
* modules/ircd/ircd.h, modules/ircd/channels.c: fixed macro
CLIENT_IS_LOCAL.
* modules/ircd/channels.c: added check if MODE target is server.
* modules/ircd/channels.c: fixed sending NJOIN for '&' channels.
* modules/ircd/channels.c: fixed infinite loop on channel burst.
* modules/ircd/ircd.c: removed leftovers of local chain from CLASS.
* modules/ircd/ircd.c: implemented finding reason for QUIT from socket
errors.
* modules/ircd/ircd.c: removed prefix enforce from servers traffic.
* modules/ircd/ircd.c: fixed uplink start.
* modules/ircd/ircd.c: fixed broken password sending to partner.
* modules/ircd/ircd.c: added RPL_HELLO support at registering.
* modules/ircd/ircd.c: fixed NICK handler from servers.
* modules/ircd/queries.c: fixed PING and PONG from servers.
Sat Sep 10 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/ircd.*: added missing variables registration.
* configure: added profile enabling on Solaris.
* core/dispatcher.c: allowed profiler to write out daemon data.
* modules/ircd/channels.c: fixed mode setting on a fresh channel.
* modules/ircd/clients.c: fixed SIGSEGV with #undef IRCD_PUBLIC_TOPIC.
* modules/ircd/ircd.c: fixed SIGSEGV with too early connections.
* core/direct.c: moved ident request into own thread.
* modules/ircd/clients.c: fixed +m mode.
* modules/ircd/channels.c: fixed inappropriate modechar ' '.
* modules/ircd/numerics.h: fixed RPL_ENDOF* messages.
* modules/ircd/ircd.c: added MODE message on client registering.
* modules/ircd/channels.c: added NO_SPARE_INVITES define.
* modules/ircd/channels.c: fixed not applying umode change.
* modules/ircd/channels.c: fixed wrong multiparameter channel mode.
* configure: added -KPIC for Solaris modules.
* modules/ircd/channels.c: fixed errors on join to -k channel.
* modules/ircd/ircd.c: fixed setting of charset from listener.
* modules/ircd/queries.c: fixed SIGSEGV on whois on nonexistent user.
* modules/ircd/ircd.c: fixed SIGSEGV on phantom finding.
* modules/ircd/clients.c: fixed wrong IRCOp umodes.
* core/list.c: fixed search bug in Get_Clientlist().
* modules/ircd/queries.c: fixed stats o.
* modules/ircd/ircd.c: fixed wrong nick if change unavailable.
Fri Sep 9 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/dispatcher.c: fixed exit code on shutdown.
* modules/ircd/ircd.c: fixed SIGSEGV in JOIN and WHO.
* core/dispatcher.c: foxed bug with I_PENDING queuing.
* core/list.c, core/main.c, modules/ircd/ircd.c, modules/logs/logs.c:
fixed handling of S_SHUTDOWN signal.
* core/init.c: implemented scan for B_UNIQ and B_KEYWORD by NULL key.
* modules/ircd/*: fixed most of bugs in client protocol.
Thu Sep 8 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/connchain.c, core/direct.*, modules/ircd/ircd.c: revised all
peer states, P_INITIAL should be only when in thread from now on.
* core/connchain.c: added missing mutex for connchain allocations.
* core/connchain.c, core/direct.c: fixed return on 'flush' action of
Connchain_Put().
* core/dispatcher.c: fixed possibility to make coredumps.
* modules/irc/irc.c: fixed SIGSEGV after wrong nick choosing (bug#73).
* core/direct.c: fixed broken channel name change in dc_console.
Wed Sep 7 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/direct.c: applied random generator to port selection.
* core/direct.c, modules/irc-ctcp/dcc.c: fixed compilation errors.
* core/direct.c: fixed port number reporting.
* modules/irc-ctcp/dcc.c: fixed statistics calculation.
* modules/irc-ctcp/dcc.c: changed getting file to send file ptr on
resume (was: chunk ptr).
* modules/irc-ctcp/dcc.c: fixed garbage in logs.
* core/socket.c: fixed wrong ready state of answered socket.
Tue Sep 6 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc-ctcp/dcc.c: added missed debug info.
* scripts/eggcompat.tcl: added minimal multinet support.
* core/dispatcher.c, doc/modules.api: removed dispatcher lock from
handling F_SIGNAL requests.
* modules/irc-ctcp/dcc.c: fixed deadlock after failed connect on
receiving file.
* core/direct.c: added socket killing on failed Connect_Host().
* modules/ircd/ircd.c: fixed SIGSEGV on autoconnect fail.
* modules/irc-ctcp/dcc.c: fixed resuming of file get.
* core/direct.c: fixed SIGSEGV on listener terminating.
* modules/irc-ctcp/dcc.c: fixed wrong passive receiving initiation.
* modules/irc-ctcp/dcc.c: fixed SIGSEGV on module termination.
* modules/irc-ctcp/dcc.c: fixed CPU eating on sending file.
* modules/irc-ctcp/dcc.c: fixed resume on sending file.
* modules/logs/logs.c: fixed infinite loop on empty log message.
Mon Sep 5 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/dispatcher.c, core/init.*: fixed wrong boot ending.
* modules/irc/irc.c, modules/irc/msgs.c: fixed SIGSEGV on termination.
* modules/irc/irc.c: fixed locking on mutex due to absent 'priv'.
* core/direct.c, modules/irc-ctcp/dcc.c: fixed wrong thread cleanup.
Sun Sep 4 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/dispatcher.c: added missed lock.
* core/socket.c: debugged broadcasts from polling sockets.
* core/dispatcher.c: fixed missing messages from threads (bug#71).
Sat Sep 3 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/direct.c, modules/irc-ctcp/dcc.c, modules/ircd/ircd.c: made
more cleanup for behavior on threads cancellation.
* core/connchain.c, core/direct.*, doc/modules.api, modules/irc-ctcp/dcc.c:
changed connchain transfers to be M_PULL while in threads; it's
imperative now to have member 'priv' of struct peer_t be equal to
NULL while in threads.
Thu Sep 1 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/socket.*, core/direct.c, doc/modules.api, modules/irc-ctcp/dcc.c, modules/irc/irc.c, modules/ircd/ircd.c:
removed CloseSocket() function as it cannot be made thread-safe,
use pthread_cancel() to terminate threads now.
* core/direct.*, doc/modules.api, modules/irc-ctcp/dcc.c, modules/ircd/ircd.c:
changed socket index to pointer in call of prehandler to make it
possible to kill accepted socket in case of internal errors and
abort calling handler respectively.
* doc/modules.api, core/conversion.c, core/direct.c, core/dispatcher.c, core/init.c, core/list.c, core/socket.c, core/wtmp.c:
corrected behavior on threads cancellation.
* core/socket.c: implemented broadcast to threads after succesful poll.
Wed Aug 31 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* configure, modules/Makefile: eliminated requirement to run gmake
to compile; modules still require presence of gmake in OS.
* modules/irc-channel/chmanagement.c: fixed implementation of ctcp
commands: password should not be showed up in logs.
* modules/tcl/modtcl.c: fixed some Tcl charset issues.
Tue Aug 30 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc/irc.c: replaced getpwuid as it provoked memory leak.
* modules/modes/modes.c: fixed wrong return code on module termination.
* modules/ircd/channels.c, modules/ircd/ircd.c: fixed SIGSEGV on rehash.
Mon Aug 29 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/direct.c, modules/irc-ctcp/dcc.c: revised thread handling in
DCC requests support; hope it should be terminated correctly now
on module termination.
Fri Aug 26 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/ircd/channels.c, modules/ircd/clients.c, modules/ircd/ircd.c:
fixed printf parameters.
* modules/ircd/messages.c: eliminated unused variables.
* modules/ircd/ircd.c: fixed wrong flag setting on module death.
* core/direct.c, modules/irc-ctcp/dcc.c: changed creating of interface
on listening port to be done before thread started and renaming it
(in case of port is 0 and no name given) later (bug#69).
* doc/modules.api: updated documentation a bit.
* core/init.c: forsed unsharp of parameter 'charset' in config.
Thu Aug 25 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/direct.c: fixed uninitialized socket id in Listen_Port().
* modules/ircd/channels.c: fixed wrong allocation for internal logger.
* core/init.c: fixed wrong deleting binding in uniqued bindtables.
* modules/ircd/channels.c: fixed wrong channel shutdown sequence.
* core/dispatcher.c: fixed wrong allocation of block of requests.
* core/init.c, core/protos.h, modules/ircd/servers.c: replaced "(null)"
with "(nil)" in diagnostic messages.
* modules/ircd/channels.c, modules/ircd/ircd.c: fixed signaling.
* core/connchain.c, core/dispatcher.c, core/direct.c, core/dispatcher.c, core/lib.c, core/main.c, core/socket.h, core/socket.c, modules/irc-channel/chmanagement.c, modules/irc-channel/irc-channel.c, modules/irc-ctcp/dcc.c, modules/irc/irc.c, modules/logs/logs.c:
fixed possible bugs with 64bit architecture.
* core/conversion.c: fixed memory leak on CHARSET_8BIT.
* core/wtmp.c: fixed memory leak in idle RotateWtmp().
* core/main.c: removed unneeded memory allocation.
* core/direct.c, core/dispatcher.c, modules/autolog/autolog.c, modules/irc-ctcp/dcc.c, modules/ircd/ircd.c:
fixed wrong modifications of flags on call of signal handlers.
Wed Aug 24 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/help.c: fixed help on all topics which printed extra topics.
* core/main.c, core/lib.c: added setting environment on locale change.
* modules/ircd/channels.c: fixed undefined state of mbrtowc.
* modules/ircd/*.c: fixed first init bugs.
* core/init.c: fixed incomplete implementation of B_KEYWORD type.
* core/dispatcher.c: renamed queue_t into queue_i (queue item).
* core/dispatcher.c: fixed deadlock on SIGTERM.
* core/dispatcher.c, core/socket.*: lowered CPU consuming by replacing
nanosleep timeout with poll timeout.
* core/direct.c: fixed CPU eating on password waiting.
Tue Aug 23 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* doc/modules.api: updated documentation a bit.
* core/direct.c: fixed broken direct chat (messages were dropped).
* core/init.h: increased size for DateString - it might overflow on
some crazy localized systems.
* modules/tcl/modtcl.c: added charset conversions on Tcl [back]calls.
Mon Aug 22 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc/msgs.c: hotfixed wrong message cut.
* core/direct.c: fixed wrong parsing channel name in .console (bug#66).
Sun Aug 21 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/autolog/autolog.c: implemented creating path for log file.
* modules/irc-ctcp/dcc.c: added token checking on parsing DCC RESUME.
* core/direct.c, modules/irc-ctcp/dcc.c: added report messages.
* modules/ircd: added new module, fresh, untested, and full ot TODOs.
* core/connchain.c: removed extra CloseSocket() calls.
Sat Aug 20 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/direct.*, doc/modules.api, modules/irc-ctcp/dcc.c: changed
functioning of Listen_Port() so it does most of work in background.
* core/init.c: implemented commenting out unchanged defaults in the
generated config.
Fri Aug 19 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/dispatcher.c: rewritten PID file handling, should never write
"./.pid" file anymore (bug#68).
* core/main.c: fixed wrong config header generation.
* core/direct.c, core/help.c, core/init.c, core/list.c: changed some
fopen() to open() and so on.
Thu Aug 18 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/socket.*, core/direct.c, doc/modules.api: added callback to
SetupSocket().
* core/direct.*, doc/modules.api, modules/irc-ctcp/dcc.c: added one
more callback to Listen_Port() but it's still from main thread not
moved to listener so delays are still possible on the own domain
resolving.
* modules/irc/irc.c: fixed another *printf SIGSEGV on Solaris.
* core/socket.c: fixed logic with socket allocation.
* core/socket.*: implemented ResetSocket().
Wed Aug 17 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* NEWS: added a file with short description of recent changes.
* modules/irc-channel/chmanagement.c: implemented CTCP commands: OP,
HOP, VOICE, INVITE.
* modules/irc-ctcp/dcc.c, configure: got rid of gethostbyname().
* configure, core/protos.h: removed obsolete checks.
Tue Aug 16 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/main.c: fixed error getting Nick from non-generated config
(bug#67).
* core/direct.c: fixed possible SIGSEGV in Listen_Port().
* core/socket.c: got IPv6 support working.
Mon Aug 15 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* configure: fixed issue with xgettext on Solaris.
* tree/tree.c, modules/lua/lua.c, modules/tcl/modtcl.c: fixed few
warnings.
* configure: fixed spelling on few messages.
Sun Aug 14 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/socket.*, doc/modules.api: added new function SocketIP().
* core/direct.*, core/list.*, core/socket.*, doc/modules.api, modules/irc/irc.c:
changed few parameters from char* to const char* to be more strict.
* configure: implemented extended --with-libiconv-prefix option.
Sat Aug 13 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* configure: added option --enable-ipv6, borrowed from rusnet-ircd.
Thu Aug 11 2011 Denis Kozadaev <denis@irc.tambov.ru>
* core/socket.c: made draft implementation of IPv6 support.
Wed Aug 10 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc/irc.c: fixed another printf coredump on Solaris.
* modules/irc-channel/chmanagement.c: made draft for CTCP OP handler.
Tue Aug 9 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/direct.c, core/protos.h, modules/irc/irc.c, modules/irc-ctcp/dcc.c:
fixed variable arg macros to compliance with standards.
* configure: changed compiler for Solaris to be c99.
* core/foxeye.h: updated features to SUSv3/POSIX.1-2001.
* modules/irc-channel/irc-channel.c: fixed few compiler warnings.
* modules/irc-channel/irc-channel.c, modules/logs/logs.c: fixed
SIGSEGV on Solaris.
Mon Aug 8 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/list.c: fixed two possible deadlocks, added debug diagnostics.
* modules/irc-channel/chmanagement.c: changed control message to be
send with channel name we got from server instead of predefined
name of channel due to non-POSIX vsprintf() on OpenSolaris.
* modules/irc-channel/irc-channel.*, modules/irc-channel/chmanagement.c:
fixed a deadlock in ircch_parse_configmodeline().
* modules/irc/irc.c: fixed repeated message sending on timeout.
Sat Aug 6 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* configure: fixed check for GNU make, it should be based on $MAKE.
* core/protos.h: fixed conflict of ALLOCATABLE_TYPE macro with
Solaris' headers.
* core/socket.c: undefined name sun as it's used as macro on Solaris.
* core/protos.h, core/dispatcher.c, core/init.c, core/list.c, modules/irc/msgs.c, modules/irc-channel/irc-channel.c, modules/irc-channel/chmanagement.c:
added checking for NULL pointers in *printf parameters as not every
libc handle them.
* *: moved from CVS tree to Git repository; need to implement prep
source from it yet.
Wed Jul 13 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc-channel/irc-channel.c: got SIGSEGV in _ircch_its_rejoin
function, inserted check but it need to be fixed as it should be
impossible.
Sat Jun 4 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/init.c, core/protos.h, doc/modules.api, modules/autolog/autolog.c, modules/irc/msgs.c, modules/lua/lua.c, modules/lua/lua.ref, modules/tcl/modtcl.c:
splitted first parameter of Lname_IsOn() and Inspect_Client() to two.
* core/init.c, core/foxeye.h: implemented hits value for bindings.
* core/direct.h: added 'const char *network_type' field into peer_t
for connchain identification.
* core/foxeye.h, core/direct.*, core/conversion.c, core/init.c, core/list.c, modules/irc-channel/irc-channel.c:
rearranged structures for alignment sake.
--- [0.9b] end
Sun Apr 24 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/socket.c: fixed detection when remote end closed connection.
Thu Feb 24 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/lua/lua.c: fixed SIGSEGV on variable access.
Wed Feb 23 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/lib.c: fixed wrong chars counting, state reset was missed.
* modules/irc-channel/chmanagement.c: fixed setting mode +t and +l
(bug#64).
* modules/irc-channel/irc-channel.c: fixed order of MODE and WHO.
Tue Feb 22 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc-channel/irc-channel.*, modules/irc-channel/chmanagement.c:
added appliance of channel mode lock when we got opped, it was missed
before (bug#63).
* core/help.c: corrected log message.
* core/list.c: fixed checking ident in lower case at Match_Client().
Fri Jan 21 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc/irc.help: fixed invalid description 'module irc'.
* modules/irc-channel/irc-channel.c: fixed 'cycle' feature which did
not work when everyone left channel (bug#62).
* modules/irc-channel/chmanagement.c: fixed case of name on .adduser.
* modules/irc-channel/chmanagement.c: removed wrong checking U_DEOP.
Sat Jan 15 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/logs/logs.c: fixed URL handling in html logger (bug#60,61).
* help/main, modules/lua/lua.help, modules/tcl/tcl.help: updated help
about script files loading.
* doc/modules.api, core/modules.c, modules/logs/logs.c: updated some
script functions to allow duplicate calls with success result.
* core/direct.*, core/connchain.c, core/init.c, core/list.c, core/main.c, doc/modules.api, modules/irc/irc.c, modules/irc-channel/chmanagement.c, modules/irc-ctcp/dcc.c, modules/lua/lua.c, modules/modes/modes.c, modules/tcl/modtcl.c:
abandoned typedef struct peer_t.
* core/protos.h: abandoned typedef struct in macro ALLOCATABLE_TYPE.
* core/direct.*: abandoned typedef struct peer_priv.
* core/direct.*, core/connchain.c, doc/modules.api: abandoned typedef
struct connchain_i and typedef struct connchain_buffer.
* core/conversion.*, core/direct.c, core/dispatcher.c, core/foxeye.h, doc/modules.api:
abandoned typedef struct conversion_t.
* core/foxeye.h, core/connchain.c, core/direct.c, core/init.c, core/list.c, core/modules.c, core/sheduler.c, doc/modules.api, modules/irc/irc.c, modules/irc/msgs.c, modules/irc-channel/chmanagement.c, modules/irc-channel/irc-channel.c, modules/irc-ctcp/dcc.c, modules/tcl/modtcl.c:
abandoned typedef struct binding_t.
* core/foxeye.h, core/connchain.c, core/direct.*, core/help.c, core/init.c, core/list.c, core/modules.c, core/protos.h, core/sheduler.c, doc/modules.api, modules/irc/irc.c, modules/irc/msgs.c, modules/irc-channel/irc-channel.*, modules/irc-channel/chmanagement.c, modules/irc-ctcp/dcc.c, modules/tcl/modtcl.c:
abandoned typedef struct bindtable_t.
* core/direct.c, core/init.c, core/list.*, core/wtmp.c, doc/modules.api, modules/irc/irc.c, modules/irc/msgs.c, modules/irc-channel/chmanagement.c, modules/irc-channel/irc-channel.c, modules/irc-ctcp/dcc.c, modules/lua/lua.c, modules/modes/modes.c:
abandoned typedef struct clrec_t.
* core/wtmp.*, doc/modules.api, modules/irc-channel/irc-channel.c, modules/lua/lua.c:
abandoned typedef struct wtmp_t.
Thu Jan 13 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/lib.c: fixed wrong counting for multibyte chars in printl()
macros with width (bug#55).
* modules/tcl/modtcl.c: fixed SIGSEGV in _tcl_call_function (bug#56).
* core/modules.c: fixed not working 'module -l' (bug#58).
* modules/irc-ctcp/dcc.c: added module report stub.
* modules/lua/lua.c: implemented examining BindResult on call from Lua.
* core/init.c, help/main: implemented '.chelp' command.
Wed Jan 12 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/direct.c, core/lib.c, doc/modules.api, modules/irc/irc.c, modules/irc-ctcp/dcc.c:
changed parameter %I for %P on S_REPORT.
* core/dispatcher.c: corrected _got_signal from int to sig_atomic_t.
* core/socket.c: rewritten to never call poll() within SIGIO handler.
* core/lib.c: fixed endless loop with zero %P in printl().
Tue Jan 11 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/foxeye.h, core/protos.h, core/dispatcher.c, core/modules.c, core/socket.c, core/wtmp.c, doc/module.template.c, modules/Makefile, modules/autolog/autolog.c, modules/irc/irc.c, modules/irc-channel/irc-channel.c, modules/irc-ctcp/dcc.c, modules/logs/logs.c, modules/lua/lua.c, modules/modes/modes.c, modules/tcl/modtcl.c:
fixed few more incompatibilities with 64bit arch.
* core/dispatcher.c: fixed wrong usage of va_list.
* core/main.c: fixed heap overwrite by bad allocation by console.
Mon Jan 10 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* tree/tree.c: added optimized strcmp.
* core/init.c: fixed wrong place for setting locale.
* core/init.c: fixed dc_fset() which was unable to change format.
* modules/irc-channel/chmanagement.c: removed unneeded updating key
in Listfile if new key is the same (bug#53).
* core/init.c: corrected locale for LC_TIME until is set from 'charset'.
Sun Jan 9 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/logs/logs.c: fixed flag 'p' which was not saved to config
(bug#52).
* config.sub: updated to one from automake 1.11.
* core/connchain.c, core/conversion.c, core/direct.c, core/dispatcher.c, core/lib.c, core/list.c, core/socket.c, modules/autolog/autolog.c, modules/irc/irc.c, modules/irc-channel/chmanagement.c, modules/logs/logs.c:
fixed arguments incompatible with 64bit arch in printf-like templates.
* configure: added try for -fpic into compilation flags.
Tue Jan 4 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/modules.c: fixed module init arguments which might be rewritten.
* core/main.c: fixed wrong arguments in call of Dcc_Parse().
* modules/irc/irc.c: fixed wrong parsing of field 'nick'.
* modules/irc-channel/irc-channel.c: fixed wrong rejoining to channels
with mode +k.
* modules/irc-ctcp/dcc.d: fixed permissions checking.
* core/list.c: fixed case insensitivity for Match_Client().
Sat Jan 1 2011 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/logs/logs.c: fixed SIGBUS on miscalculated string length.
Thu Dec 30 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/wtmp.c: fixed incorrect translation of sizeof(x) into off_t.
* core/direct.c, core/list.c, core/sheduler.c, core/wtmp.c, modules/logs/logs.c, modules/irc-channel/chmanagement.c:
added explicit definition of size of constants in shift operations.
* core/direct.c, core/dispatcher.c, core/lib.c, core/main.c, core/socket.c, core/connchain.c, modules/irc-ctcp/dcc.c, modules/logs/logs.c, modules/irc/irc.c, /modules/irc-channel/chmanagement.c, /modules/irc-channel/irc-channel.c, modules/autolog/autolog.c:
fixed assigments from constants which might be different in size.
* core/wtmp.*: changed time field to be 'uint32_t' for compatibility
between 32bit and 64bit systems.
Mon Dec 27 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/main.c, core/dispatcher.c, core/init.*, doc/foxeye.1: added new
run option '-q' to start just config executable from crontab.
* core/dispatcher.c: fixed bug when foxeye left running if there was
no module/listener/console in config.
* core/dispatcher.c: fixed case when there were errors on writing PID
file - foxeye should be terminated instead of running uncontrolled.
Sat Dec 25 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc/irc.c: fixed parsing of field 'nick' in Listfile.
* core/wtmp.c, modules/logs/logs.c: replaced all fopen() with open()
and so on.
* core/connchain.c: fixed testing for duplicate connchain filter.
* doc/modules.api: fixed description of connchain filter setup.
Tue Dec 21 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* tree/tree.*, core/dispatcher.c, core/help.c, core/init.c: fixed
third arg of Next_Leaf() to be const char **.
Fri Dec 17 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/init.c: rewritten KEYWORD to be near stackable version of UNIQ.
* tree/tree.*, core/dispatcher.c, modules/irc-channel/irc-channel.c:
added one more parameter to Find_Leaf() to allow not-exact seeking.
* tree/tree.*: implemented function Leaf_Key().
Wed Dec 15 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/init.c: corrected calling of "inspect-client" bindings.
Sun Dec 12 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/lib.c, doc/modules.api: added escaping character ('\') into
list of patterns for simple_match().
Fri Dec 10 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc-channel/irc-channel.c: fixed a warning formatting.
Wed Dec 8 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc-channel/irc-channel.c: fixed unending cycle on
RPL_USERHOST.
* modules/irc-ctcp/dcc.c, core/direct.c: added missing KillSocket().
* core/direct.c: fixed error in 'y' connchain filter.
* core/modules.c: removed usage of poll() on sending data.
* core/lib.c, core/protos.h, doc/modules.api: changed template on
printl() to be const char * instead of char *.
Sat Dec 4 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/direct.c: changed key for DES encryption indicator.
* configure: added constant macro COMPILETIME for config.h.
Wed Dec 1 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/protos.h: fixed usage of malloc() instead of safe_malloc() in
macro ALLOCATABLE_TYPE.
Sat Nov 27 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/Makefile: modified including libtree to more right one.
* configure: fixed testing for Tcl in case of --without-tcl.
* modules/irc-ctcp/dcc.c, modules/lua/lua.c: added debug diagnostics.
Fri Nov 19 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/lib.c: fixed wrong printing on %I macro.
Sun Nov 14 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/init.c: made Check_Bindtable() to work with UTF-8 too.
* core/lib.c: fixed handling of bad characters in unistrlower().
* core/lib/c: added resetting of charset if trying of locale failed.
* debian/*: debianized.
* config.guess: updated.
--- [0.9a] end
Sat Nov 13 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/socket.c: replaced gethostbyname() and gethostbyaddr() with
getaddrinfo() and getnameinfo() as first are not reentrant so we
were just lucky enough to not see problems yet.
* modules/lua/lua.c: implemented names cleanup on unbinding.
* core/lib.c: fixed utf-8 breaking in unistrcut();
* core/direct.c, modules/irc/irc.c, modules/irc-channel/chmanagement.c:
removed obsolete commented out lines.
* modules/irc-ctcp/dcc.c: improved diagnostic messages.
Fri Nov 12 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc-channel/irc-channel.c: added few bindings for report on
errors.
Sun Nov 7 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/socket.c: fixed error with listening UNIX socket.
Thu Nov 4 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/rwlock_init.c: rewritten bad locking algorhytm (writers would
get starved before so got favored over readers).
Wed Oct 27 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/dispatcher.c: added SIGABRT handling.
Tue Oct 26 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/lib.c, doc/help.format: added %V macro to printl().
* core/init.c: fixed return on duplicate UNIQ bindtable check.
Fri Oct 22 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/lua/lua.c, modules/lua/lua.ref: implemented few functions.
Thu Oct 7 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc-channel/irc-channel.c: fixed bug with host parsing on
RPL_USERHOST.
* core/main.c: fixed lost console output.
* core/init.c, core/modules.c: fixed incorrect unlocking after
Find_Iface().
Wed Sep 15 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc-ctcp/dcc.c: fixed wrong killing on module termination.
* modules/tcl/modtcl.c: fixed timer freeing.
* modules/lua/lua.c, modules/lua/lua.ref: implemented few functions.
Tue Sep 14 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc/msgs.c, modules/irc-ctcp/dcc.c: fixed invocations for
MATCHCASE bindtables.
Fri Sep 10 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/socket.c, modules/irc-ctcp/dcc.c: simplified using inet_ntop().
* configure, core/protos.h, core/lib.c: implemented towlower() usage.
Thu Sep 9 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/connchain.c: fixed connchain filter 'x' to return data if
it's still left in buffer (it can be required by some filters such
as 'Z').
* core/connchain.c: added checking for duplicated filters.
* core/connchain.c, core/direct.c, doc/modules.api: implemeneted
function Connchain_Check().
Fri Sep 3 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/dispatcher.c: fixed a hole in iface_run().
Thu Sep 2 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/direct.c, doc/modules.api, modules/irc-ctcp/dcc.c: changed
arguments for function Listen_Port() a lot due to problems with
emergency shutdown.
Wed Sep 1 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/lib.c: fixed parsing end of conditional substring in printl().
* core/wtmp.c: fixed wrong diagnostics on Wtmp rotation.
* modules/irc/msgs.c: added check for broadcast outgoing messages.
* core/init.c: implemented showing list by mask in '.set' and '.fset'
commands.
* modules/irc-channel/irc-channel.c: fixed wrong host composition on
checking lnames.
Tue Aug 31 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc/irc.c: added retry for failed server list (in case of
KILL, DNS error, etc.) after some long enough timeout (bug#51).
* core/lib.c, core/protos.h, core/main.c, doc/modules.api: changed
return of printl() from void to size_t.
* modules/logs/logs.c: added possibility to change some colors of
HTML output via variables.
Mon Aug 30 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/direct.*, core/main.c: removed requirement that direct chat
message should come from I_DCCALIAS interface.
* modules/log/logs.c: replaced deprecated tag FONT with CSS styles.
Sat Aug 28 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/list.c: fixed errors and memory leaks on loading Listfile in
case of LID conflicts.
* core/lib.c, doc/modules.api, modules/irc-channel/irc-channel.c:
changed return value of unistrlower().
* core/lib.c, core/protos.h, doc/modules.api: changed return value of
strfcpy().
* core/direct.c, core/main.c, modules/irc/irc.c, modules/irc/msgs.c, modules/irc-channel/irc-channel.c, modules/logs/logs.c:
done some optimizations due to above.
* core/connchain.c: fixed wrong return on idle Connchain_Grow() call.
* core/direct.c: fixed wrong client name in case of error on answer.
Fri Aug 27 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/logs/logs.c: fixed bugs in HTML output.
* modules/logs/logs.c: implemented '-stripcolor' modifier to 'logfile'.
* core/init.c: corrected localization for Confirm().
* core/socket.*, core/direct.c, doc/modules.api: implemented support
for listening to Unix sockets.
* modules/irc/irc.c, modules/irc-channel/irc-channel.c: added notify
for "ui" module.
Thu Aug 26 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/dispatcher.c: fixed wrong clone detection on deleting interface.
* core/init.c: fixed error parameter in '.status'.
* modules/irc/irc.c: removed modifying of internal data on parsing
isupport info.
* modules/irc-channel/chmanagement.c: fixed wrong mode formatting.
Wed Aug 25 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/direct.c, core/lib.c: corrected translation of mIRC colors.
* modules/logs/logs.c: implemented '-html' modifier to 'logfile'.
Tue Aug 24 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc-channel/irc-channel.c: implemented 'revenge' feature.
* modules/irc-channel/irc-channel.c: implemented 'cycle' feature.
* modules/irc-channel/irc-channel.c: added logging of topic on join.
* modules/irc-channel/irc-channel.c: added notify of UI at end of join
process.
* modules/irc-channel/irc-channel.c: implemented module report.
* modules/irc-channel/irc-channel.c: added notifying of requestor about
result of 'IDENTIFY' request.
* modules/irc-channel/chmanagement.c: fixed masks sent to server on
raising exempts or invites.
* modules/irc-channel/chmanagement.c: implemented searching for ban
mask in Listfile (bug#42).
Mon Aug 23 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/autolog/autolog.c: implemented module report.
* modules/irc-channel/chmanagement.c: implemented raising exempts and
invites after appropriate channel mode is set on.
* modules/irc-channel/*.c, modules/irc-channel/irc-channel.h:
implemented checking for changes in Lnames before adding or deleting
hostmasks on them.
* modules/irc-channel/chmanagement.c: implemented ss-irc commands
'reset' and 'invite'.
* modules/irc/irc.c, modules/irc-channel/irc-channel.c: added saving
of umodes list from version message from server.
* modules/irc-channel/irc-channel.c: implemented message as in irssi
"Join to #XXX was synced in XXX".
* modules/irc-channel/irc-channel.c: added reactions on adding to or
deleting active channels from Listfile.
* modules/irc-channel/irc-channel.c: fixed diagnostics on modes after
negative netjoin detection.
Sun Aug 22 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/autolog/autolog.c: implemented "autolog by Lname" feature.
* modules/irc/*.c: added checking out long lines sent to clients and
splitting them so IRC server will never get them exceeding maximim.
Sat Aug 21 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/direct.*, modules/irc-ctcp/dcc.c: changed how 'login' bindtable
should work (so it can work with custom connchain from no on) and
moved private fields of direct session into another struct.
* core/dispatcher.c, doc/modules.api, core/direct.c: added concept of
interface clones and implemented it.
* core/direct.c: added parameter to function 'port' for connchain.
* core/dispatcher.c, modules/autolog/autolog.c: corrected call to
IFSignal function.
* core/connchain.c: fixed filter 'x' test result.
* core/list.c: implemented removing expired subrecords from nonamed
records on listfile loading.
* core/sheduler.c, core/wtmp.c: fixed attempt of Wtmp rotation.
--- [0.8a] end
Fri Aug 20 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/direct.c: fixed incorrect ident socket checking.
* modules/irc-channel/irc-channel.c: removed wrong topic reporting on
report request for channel.
* modules/irc-ctcp/dcc.c: implemented passive DCC SEND mode for both
directions, very draft, need checking much.
Thu Aug 19 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/logs/logs.c: replaced strerror with strerror_r as cleanup.
* modules/irc-ctcp/dcc.c: implemented ss-irc command 'send'.
Wed Aug 18 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc-ctcp/dcc.c: fixed few things on DCC GET and added report.
* core/direct.c, doc/modules.api, modules/irc-ctcp/dcc.c: implemented
adding mandatory filters for "login" bindtable.
* core/protos.h, modules/irc-channel/irc-channel.c, modules/irc-ctcp/dcc.c, modules/irc/msgs.c, modules/tcl/modtcl.c:
added macro _forget_() to prevent memory leaking on module unload.
Tue Aug 17 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc-ctcp/dcc.c: implemented 'ahead' feature on DCC GET.
* modules/irc-channel/irc-channel.c: fixed wrong parsing of net parms.
Mon Aug 16 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* configure: added -fno-strict-aliasing for wrong guessing compilers.
* modules/tcl/modtcl.c: added few casts to (char *) for old libtcl.
* core/conversion.h, core/direct.h, core/list.h, core/protos.h, core/wtmp.h, core/inlines.h:
added attribute 'warn_unused_result' to some declarations.
* core/foxeye.h, core/direct.c, core/list.c, modules/irc-channel.c, modules/irc-channel/chmanagement.c, modules/irc/irc.c, modules/irc/msgs.c, modules/modes/modes.c, modules/tcl/modtcl.c:
revised name width constants usage.
* doc/modules.api: documented requests encoding conversion.
Sun Aug 15 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/direct.c: fixed possible hang in connchain link 'y'.
* core/direct.c: added diagnostics on connchain creation errors.
* core/init.h, doc/modules.api, core/direct.*, core/lib.c, core/sheduler.c, modules/irc/irc.c, modules/irc-channel/irc-channel.c, modules/logs/logs.c:
adapted DateString to be multibyte chars capable; added TimeString.
* core/protos.h, core/direct.c, core/dispatcher.c, core/init.c, core/modules.c, core/sheduler.c, modules/irc-ctcp/dcc.c, modules/lua/lua.c, modules/tcl/modtcl.c:
implemented Send_Signal() macro for signals.
* modules/autolog/autolog.c, modules/logs/logs.c, modules/irc/msgs.c:
disabled few GCC warnings about literal formats.
* core/direct.c: fixed dc_motd() a bit.
* core/dispatcher.c: fixed pid file parsing in case of error.
* core/list.c: adjusted errors handling on checking Listfile.
Sat Aug 14 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/inlines.h, core/protos.h, doc/modules.api, core/direct.c, core/init.c, core/list.c, core/modules.c, modules/irc/irc.c, modules/irc-channel/irc-channel.c, modules/logs/logs.c, modules/lua/lua.c, modules/tcl/modtcl.c:
revised few 'const' qualifiers.
* core/connchain.c, core/init.*: implemented report for connchains.
Fri Aug 13 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/tcl/modtcl.c: added report from module.
* modules/lua/lua.c: implemented sending messages to direct service.
* modules/logs/logs.c: implemented making directory on log rotation.
* core/list.c: added removing expired/invalid subrecords on save.
* modules/irc/irc.c: fixed wrong parsing of field 'nick'.
* modules/irc/msgs.c: done lowercasing target name for logging.
Thu Aug 12 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/connchain.c, core/direct.c, core/init.c, core/sheduler.c, modules/irc-channel/irc-channel.c, modules/irc-ctcp/dcc.c, modules/logs/logs.c, modules/modes/modes.c:
corrected format parameters.
Wed Aug 11 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* configure: added -Wextra when --enable-debug.
* tree/tree.c, core/dispatcher.c, core/help.c, core/lib.c, core/main.c, core/sheduler.c, core/list.c, core/connchain.c, modules/autolog/autolog.c, modules/irc-cgannel/*.c, modules/irc-ctcp/dcc.c, modules/irc/*.c, modules/logs/logs.c:
fixed signedness in few places.
* core/lib.c: fixed matching in simple_match().
* core/main.c: fixed incorrect usage formatting.
* core/conversion.c, core/wtmp.c, core/list.c, core/lib.c, core/dispatcher.c, core/help.c, modules/tcl/modtcl.c, modules/irc/irc.c:
fixed format parameters.
* core/foxeye.h, core/protos.h, core/init.c: added using of GNU C
attribute 'noreturn' and corrected for non-GNU compilers.
Fri Jul 30 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/lib.c, core/main.c, core/init.c, core/protos.h, doc/modules.api:
implemented new functions unistrcut() and foxeye_setlocale().
* modules/irc-channel/irc-channel.c: undone asking USERHOST on own JOIN.
* core/foxeye.h, help/main: changed U_DENY to be global flag (bug#50).
* core/init.c: fixed wrong parsing for mask bindtable types.
* modules/modes/modes.c, modules/modes/modes.help: renamed command
'banreason' to 'comment'.
* modules/irc/irc.c: added handler of case when network record was
deleted from Listfile.
* modules/irc-channel/irc-channel.c, modules/tcl/modtcl.c: tuned some
debug messages.
* modules/tcl/modtcl.c: added handling of TCL_TRACE_READS.
Wed Jul 28 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/tcl/accvs.m4: refined for newer tcl, made better diagnostics.
* modules/irc/msgs.c: fixed wrong number of parameters for scripts on
CTCP/CTCR.
* modules/irc/msgs.c: forced deleting trash from lines to send.
* modules/irc-channel/irc-channel.c: fixed wrong Lname on reports.
* core/list.c: fixed returned flags string on U_NONE.
* core/modules.c, core/Makefile, configure: fixed static compiling.
* core/list.c, doc/modules.api: increased max field size made by
Grow_Field() to 1024.
* core/direct.c, core/init.c, core/list.c, core/protos.h, core/modules.c, core/sheduler.c, doc/modules.api, modules/irc-ctcp/dcc.c, modules/irc/*.c, modules/irc-channel/*.c:
added one more parameter for RunBinding().
* core/init.c, doc/modules.api, modules/irc-ctcp/dcc.c: changed mode
B_MATCHCASE to be case-sensitive first word to mask matching.
--- [0.7a] end
Tue Jul 27 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/init.c: modified RunBinding(): last parameter can be empty
string not NULL.
* core/init.*: fixed propagation of read-only core variables.
* core/list.c: fixed Get_Fieldlist() so it makes difference between
special names and custom fields.
* core/list.c: fixed coredump on loading unnamed records.
* modules/irc/msgs.c: fixed ignorance of public commands.
* modules/irc-channel/irc-channel.c: fixed coredump on netsplit on
not fully syncronized channel.
* modules/modes/modes.c: fixed incorrect ban target parsing.
* modules/tcl/modtcl.c: fixed feeding of array to TCL interpreter.
* modules/tcl/modtcl.c: fixed return value from Tcl bindings.
Mon Jul 26 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/direct.c: corrected wrong length from 'b' filted receiver.
* core/direct.*, doc/modules.api: removed Chat_Join() and Chat_Part();
forced I_DCCALIAS be only direct session chat type.
* modules/modes/modes.c: fixed '+ban' target parsing.
* modules/tcl/modtcl.c: fixed arguments for calling Tcl_VarEval().
* modules/tcl/modtcl.c: added deleting previous value of variable on
re-registering since it was just memory leak.
Sun Jul 25 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/direct.c: corrected interface name for "chat off" clients.
* modules/Makefile.mods, modules/lua/lua.c, modules/tcl/modtcl.c: added
SCRIPTSDIR definition (default scripts path) for compiler.
Sat Jul 24 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/direct.c, help/main: added direct session command 'chcharset'.
Fri Jul 23 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/init.c, core/foxeye.h, core/connchain.c, core/direct.c, core/list.c, core/modules.c, core/sheduler.c, modules/irc/irc.c, modules/irc/msgs.c, modules/irc-channel/irc-channel.c, modules/irc-ctcp/dcc.c:
added new channel flag U_EQUAL and due to this macros U_ALL, U_ANYCH.
* modules/tcl/*: added module, very raw though.
* core/lib.c, core/list.*, core/protos.h, doc/modules.api, modules/irc-channel/irc-channel.c:
implemented functions make_hash() and Get_Hosthash().
* acinclude.m4, core/conversion.c: added test for variable order of
parameters of iconv.
Thu Jul 22 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/list.c: fixed incorect calls of match().
* modules/modes/modes.c: corrected check for '--XXX' parameter.
* core/list.c: added check for forbidden chars on field adding.
Wed Jul 21 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/direct.c: fixed 'away' parsing and possible segfault.
Tue Jul 20 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/list.c, doc/modules.api: adjusted Get_Clientlist() so it can
return "nonamed" bans too and check against service's flags.
* core/connchain.c, core/Makefile, core/direct.*, doc/modules.api, core/main.c, modules/irc/irc.c:
added connection chain API and filters 'x', 'y', 'b'.
* core/dispatcher.c: added reason message on restart.
* core/modules.c: added reason message on module unload.
* core/socket.*, doc/modules.api: added const for arg of WriteSocket().
* core/direct.c, core/socket.h, doc/modules.api: got rid of M_TEXT.
* core/help.c: fixed invalid reporting of all topics in table when
asked for unknown topic in table.
* core/main.c, core/direct.c, core/foxeye.h: got rid of I_TELNET.
--- [0.6a] end
Fri Jul 16 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc/irc.help, modules/irc-channel/irc-channel.help, modules/irc-ctcp/irc-ctcp.help:
fixed wrong names of formats.
* modules/irc-channel/chmanagement.c: corrected where enforcer was
not started when server ban was set.
* core/inlines.h, core/protos.h: implemented optimized gettoken().
* modules/modes/*, help/main, README: added new module.
Thu Jul 15 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc-channel/irc-channel.c: fixed setting static to value
to be freed later.
* core/dispatcher.c: added call of dlclose() on module delete (bug#38).
* modules/irc-channel/chmanagement.c: disabled giving voices to ops
(bug#44).
* core/foxeye.h, help/main: removed U_SPEAK from list of global flags.
* modules/irc-channel/irc-channel.c: fixed crash on report for not
fully syncronized channels (bug#49).
* core/direct.c: fixed wrong type for "ss-*" bindtables (bug#48).
* configure: added checking for Sun's libmtmalloc.
* configure, modules/Makefile, modules/Makefile.mods: added tests and
directives for compatibility with FreeBSD make.
* core/lib.c: implemented optimized strfcpy().
* core/sheduler.c: added timers' cleanup on restart.
* modules/lua/lua.ref: added missed functions into documentation.
Wed Jul 14 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/logs/logs.c: fixed bad report if no data to save.
* core/list.c: fixed wrong counter of fields memory (bug#32).
* configure, core/lib.c, core/protos.h, core/inlines.h: moved few
simple functions into static inline ones.
* core/main.c: fixed console side cancellation, no errors anymore.
* core/init.c: improved debug diagnostics for add/delete bindings.
* core/dispatcher.c: forced clearing of iface->pq on Relay_Request()
as it should be zeroed on next request (bug#45,bug#47).
Tue Jul 13 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/list.c, doc/modules.api, modules/irc/msgs.c, core/direct.c, modules/irc/*.c, modules/irc-channel/*.c:
changed returned flags of Get_Flags() and Get_Clientflags() to be
somewhat more different; expecting some weird behavior sometime.
* modules/irc-ctcp/dcc.c: fixed incomplete output for help message.
* modules/logs/logs.c: fixed missed '-rpath' parameter reporting.
Mon Jul 12 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/list.*, doc/modules.api: implemented function Get_Fieldlist().
* acinclude.m4: adapted iconv test to strange localized OS.
* core/help.c: fixed wrong behavior, Get_Help() is case-sensitive!
* core/wtmp.c: implemented function FindEvents().
* core/dispatcher.c: added few more debug to request_t management.
* core/main.c: added fclose() call to supress 'Terminated by signal 15'
message.
Sun Jul 11 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/protos.h, README: changed macro CheckVersion to 4 chars matching.
* modules/irc-ctcp/irc-ctcp.c: implemented CTCP HELP command.
* core/main.c, core/init.c: corrected version text output strings.
* core/list.c: added deleting subrecords that were emptied by .chattr
command.
* core/list.*, core/direct.c, doc/modules.api, modules/irc-channel/chmanagement.c, modules/irc/irc.c:
added one more parameter to Set_Field() to update expiration time.
* doc/modules.api, modules/irc/*.c: fixed case-sensitivity of
Find_Clientrecord() - it's case-insensitive since September 2006.
* core/list.c, doc/modules.api: implemented function Set_Flags().
* core/list.c: added diagnostic message to '.-name' command if name
does not exist.
Sat Jul 10 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/list.c: allowed to have nonamed channel bans, invites, etc.
* modules/irc-channel/chmanagement.c: reverted meaning of channel flag
'i' to be for sticky instead of dynamic modes.
* modules/irc/irc.c: fixed bad own nick checking on quit (bug#43).
* core/list.*, doc/modules.api, core/direct.c, core/wtmp.c, modules/irc-channel/irc-channel.c, modules/lua/lua.c:
renamed GetLID() into FindLID() and added new simple Get_LID().
* core/list.*, modules/irc-channel/chmanagement.c, doc/modules.api:
added new function Lock_byLID() - only possible one for bans access.
* modules/irc-channel/irc-channel.c: corrected updating of LID for any
nick on channel.
* core/list.*, doc/modules.api, modules/irc/irc.c: changed second
argument of Get_Hostlist() to lid_t so we can find bans with it too.
--- [0.5a] end
Fri Jul 9 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/init.c: fixed difference between help and config maker (bug#34).
* modules/irc-channel/irc-channel.c: found crazy leftover in netsplit
handling code.
* modules/irc-channel/irc-channel.c: added error message instead of
loop attempt on adding lname; also added a bit more debug.
* help/main: updated description for chattr on services.
Thu Jul 8 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc-channel/irc-channel.c: fixed SIGSEGV when got kick by
alien or part/topic/mode by me (bug#39,bug#40).
* core/direct.c: fixed wrong report for away status (no reason).
* modules/irc-channel/chmanagement.c: fixed modechange/kickbanning.
Wed Jul 7 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/init.c: rewritten stages in init() so it should not write any
duplicates or miss anything in generated config (bug#20,bug#33).
* core/main.c: fixed coredump when no LANG environment present.
* core/lib.c, core/help.c, core/list.c, core/protos.h, doc/modules.api, modules/irc/irc.*, modules/irc/msgs.c, modules/irc-channel/irc-channel.*:
replaced safe_strlower() with unistrlower() which is multibyte chars
capable.
Tue Jul 6 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/list.c: fixed SIGSEGV when adding names without a host.
* core/main.c: added test and change directory to config's on start.
* modules/irc/irc.c: fixed case when own nick had uppercase chars
and messages for me were not detected as private ones.
* core/help.c: fixed wrong handling NULL table from init (bug#19).
* core/dispatcher.c: disabled re-asking variables and functions on
interpreter module request for re-registering (bug#20), modules
itself still appear in generated config duped.
Fri Jul 2 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/direct.c, help/main: removed 'back' command, empty 'away' will
remove away status from now on.
Tue Jun 15 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/list.c: added full cleanup on restart, it was messed before
(bug#13,bug#15).
* core/socket.c: added SO_REUSEADDR option on socket setup.
* core/init.c: rewritten _add_fn() to not print false warnings (bug#31).
* core/list.c, core/dispatcher.c: fixed wrong files flushing on SIGHUP.
Mon Jun 14 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc-channel/irc-channel.c: optimized _irrch_netsplit_report().
* core/dispatcher.c: put died interfaces "on hold" while there are
some requests from them so recipients can find who sent those. It
may have side effect though: if recipients are slow (network delays
for example) died interface still exists but is inaccessible so we
cannot auto-resume previous (if it's nested) until all requests are
sent (bug#27).
* core/socket.c: added check for POLLHUP and POLLOUT in AnswerSocket()
to avoid trying of accept() on shutted down listening socket (bug#24).
* core/lib.c: fixed color forgetting after %n (bug#30).
* core/dispatcher.c: fixed inappropriate boot logging.
* core/help.c: fixed missing helpfile registration.
* core/direct.c: improved debugging of failed listening.
* modules/irc-ctcp/dcc.c, modules/lua/lua.c: fixed missing I_DIED flag
on interface termination.
Sun Jun 13 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/init.*, core/conversion.c: added missing Status_Encodings().
* core/direct.c: fixed removal of CR/LF by "out-filter" binding (bug#29).
* modules/irc/irc.c, modules/irc-channel/chmanagement.c, modules/irc-channel/irc-channel.c, modules/irc-ctcp/dcc.c:
fixed some warning messages to be more common.
* core/foxeye.h, help/main: fixed description of some logging flags.
* README: documented development switch '-D' of foxeye executable.
Sat Jun 12 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/accvs.blist, modules/lua/lua.c: fixed erroneous call for
unregister variable that caused errors on module deleting (bug#28).
Thu Jun 10 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/direct.c, core/init.c, core/list.c, core/foxeye.h, modules/irc-channel/irc-channel.c, modules/irc-ctcp/dcc.c, modules/lua/lua.c:
added value U_NONE since -1 would mean other thing for Add_Binding().
* core/direct.c: fixed imposibility to reset channel in '.console'
(bug#25).
* core/dispatcher.c: fixed transcoding cycle which would mess up all
requests in queues (bug#26).
* core/list.c: changed saving of listfile to be since last change
not since first because it might be sequence of changes (bug#23).
* core/direct.c: removed lowering of I_DIRECT in _died_iface().
Tue Jun 8 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/init.c: fixed infinite loop in dc_binds().
* core/dispatcher.c: fixed inappropriate locking when we work on
S_FINWAIT.
* core/direct.*, doc/modules.api: changed one of arguments of handler
in Listen_Port().
* modules/irc-ctcp/*: new module added.
Wed Apr 28 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc-channel/chmanagement.c: corrected netjoin modes detection.
* modules/irc-channel/irc-channel.c: fixed SIGSEGV in _ircch_get_nick().
* modules/irc-channel/irc-channel.c: added missing Lname update on own
join in irc_rpl_userhost() and irc_rpl_whoreply().
* modules/lua/lua.ref: written the reference manual for Lua.
* modules/Makefile.mods: added [un]install-docs sections.
* doc/HOWTO.module: added documentation for module writers.
Tue Apr 27 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc-channel/irc-channel.c: fixed forgotten reset all fields
after alloc_SplitMember().
* core/sheduler.c, core/accvs.blist, modules/irc/irc.c: added new
bindtable "time-shift".
* modules/irc-channel/irc-channel.c: corrected logic when message
"%s on %s without a JOIN" should appear.
* core/sheduler.c: made duplicates rejected by NewTimer().
Mon Apr 26 2010 Andriy Gritsenko <andrej@rep.kiev.ua>
* blist2h, Makefifle.cvs, core/foxeye.h, core/accvs.blist, doc/modules.api:
made bindings prototypes available via macros.
Mon Nov 16 2009 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc-channel/irc-channel.*: massively rewritten netjoin
detection code.
* configure: added -fno-strict-aliasing if target compiler accepts it.
Tue Nov 4 2008 Andriy Gritsenko <andrej@rep.kiev.ua>
* configure.in, acinclude.m4, Makefile.cvs: adapted to autoconf 2.62.
* modules/lua/accvs.m4: added support for pkg-config script.
Sun Oct 12 2008 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/direct.c: corrected order of parameters in NewEvent() call.
* doc/foxeye.sgml, doc/foxeye.1, configure.in: removed docbook-to-man
call, manual page will be generated manually from now.
* core/dispatcher.c, core/init.c, doc/modules.api: forced and stated
Find_Iface() to do matching ALL flags of input mask instead of ANY.
* modules/autolog/autolog.c: fixed opening autolog when there are any
opened logs already.
* core/dispatcher.c, core/protos.h, core/sheduler.*, doc/modules.api:
changed some qualifiers to const.
Fri Oct 10 2008 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc-channel/irc-channel.c: fixed incorrect join parsing in
_ircch_recheck_link().
* modules/autolog/autolog.c: fixed couple of bugs where got SIGSEGV.
Thu Oct 9 2008 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc-channel/irc-channel.c, modules/irc-channel/irc-channel.help, modules/irc/msgs.c:
implemented the command /ctcp identify.
* core/list.c: fixed invalid parsing of subfields.
Tue Oct 7 2008 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/direct.c: fixed place where we could not '.connect #channel@net'
for known net but unknown channel.
* modules/irc-channel/irc-channel.*: corrected NJOIN detection when
we got them for more than one channel but we will get LINKS reply
after first NJOIN already so all rest channels will get message that
all nicks were lost in netsplit.
Sun Oct 5 2008 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/list.c: added some additional checks in Add_Clientrecord().
* core/dispatcher.c, core/direct.c: cleaned up restart of listeners.
Fri Oct 3 2008 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc-channel/irc-channel.c: fixed wrong greeting detection.
* core/connchain.h: new API started (for SSL, etc.).
* modules/irc-channel/irc-channel.c: added checking for Lname on report
since it might be changed since last event (by .+host for example).
* modules/irc-channel/chmanagement.c: fixed bug in making literal mask.
* modules/irc-channel/irc-channel.c: fixed garbage in time fields.
Thu Oct 2 2008 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/list.c: fixed error in Get_Flags(), networks took wrong flags.
* core/list.c: fixed some permissions bugs in dc_chattr().
Wed Oct 1 2008 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/list.c: cleansing for special names.
* core/list.c, core/init.c, core/direct.c, core/foxeye.h, modules/irc-channel/chmanagement.c:
removed U_BOT flag as too specific and replaced with U_SPECIAL.
* core/direct.c: fixed wrong parsing in dc_connect() (bug#12).
* core/dispatcher.c: fixed unending loop on SIGHUP.
* modules/irc-channel/irc-channel.c: corrected rejoins reporting in
case if server doesn't give us RPL_LINKS after netjoin (bug#16).
* modules/irc-channel/irc-channel.c: fixed wrong behavior in case of
duplicate split.
--- [0.4a] end
Mon Sep 29 2008 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/init.c: changed dc_restart() to work via SIGINT.
Tue Sep 16 2008 Andriy Gritsenko <andrej@rep.kiev.ua>
* configure: added test for "-Wl,-E" on Solaris.
* configure, core/socket.c: changed fcntl() call for compatibility with
Solaris and other non-BSD-like systems to ioctl().
* configure, core/init.h: included <thread.h> for rwlock_*.
* configure, modules/Makefile*: corrections to be working on Solaris.
Wed Mar 7 2007 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc-channel/irc-channel.c: fixed SIGSEGV in lnames tree.
* modules/Makefile.mods: fixed error message for modules with minus.
Thu Dec 7 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc/irc.c: fixed SIGSEGV in _irc_try_nick().
Mon Dec 4 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc-channel/irc-channel.c: fixed wrong modes after netjoin.
Sun Dec 3 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/lib.c, doc/modules.api: rewritten match(), it does shell style
pattern (brace and filename) expansion now, see man bash or man tcsh.
Wed Nov 29 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* configure, modules/Makefile.mods: fixed support of external libraries
for modules.
* core/dispatcher.c, core/lib.c, core/protos.h, doc/modules.api:
introduced new function simple_match() and changed matching in the
dispatcher.
* core/modules.c: fixed bugs (with SIGSEGV) on module unloading.
* modules/irc/msgs.c: changed script first argument in some bindtables
from nick to nick@net.
* modules/lua/lua.c: got module to work.
Sat Nov 25 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/direct.c, core/list.c, doc/modules.api, modules/irc/irc.c, modules/irc/msgs.c, modules/irc-channel/chmanagement.c, modules/irc-channel/irc-channel.c:
removed prepending '@' from networks names to avoid conflicts with
bot Someone and net Someone and to avoid misunderstanding that names
must be prepended in one place but must be not in another.
* modules/irc-channel/irc-channel.c: improved netjoin logging (moved
server MODEs +ohv into it).
Thu Nov 23 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc/irc.c, modules/irc-channel/irc-channel.c: implemented
autojoins if module "irc-channel" loaded when there are connected
networks already.
* core/lib.c, core/protos.h, modules/irc/irc.c: get rid of some relict
unused library functions.
Wed Nov 22 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/init.c, core/list.c: implemented U_NEGATE and U_AND flags for
extended matching.
Sun Nov 19 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/direct.*, doc/modules.api, modules/irc/irc.c: changed syntax of
Connect_Host() a bit.
Wed Nov 15 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc/irc.*, modules/irc/msgs.c: reverted some previous
changes due to incorrect nick cases.
* modules/irc-channel/irc-channel.c: changed _ircch_destroy_link()
a bit, seemed to have wrong algorithm.
* core/list.c, core/protos.h, doc/modules.api: added new API function
strtouserflag() (from static one).
Sun Nov 12 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/direct.c, core/init.c, core/list.c, core/protos.h, modules/irc/irc.c, modules/irc/msgs.c, modules/irc-channel/irc-channel.c, modules/irc-channel/chmanagement.c:
added extra parameter to Add_Binding() and Delete_Binding() for
scripts support.
Sun Nov 5 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/autolog/*: implemented the module, not tested yet.
* core/direct.c: implemented port retrier if called from init().
* modules/irc-channel/irc-channel.*, modules/irc-channel/chmanagement.c:
added some more ss-irc commands.
* core/socket.c: fixed bug in KillSocket().
Sat Nov 4 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/direct.c, core/dispatcher.c: done some old code cleanup.
* modules/irc/irc.*, modules/irc/msgs.c: aborted lowering case of nicks
except for Lname's find purpose.
Thu Nov 2 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/dispatcher.c, modules/irc-channel/irc-channel.c: removed false
warning cases and added check for error in _ircch_del_lname().
* core/list.c, core/foxeye.h, modules/irc-channel/chmanagement.c: added
U_IGNORED flag and fixed allocation of LIDs for special names.
Sun Oct 29 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* intl/, Makefile.cvs, po/Makevars: done some cleanup about gettext.
* foxeye/modules/logs/logs.c: implemented forming of filename with a
time of last adding instead of time of rotating.
* core/direct.c, doc/modules.api: implemented notice of caller of
Listen_Port() if listening socket was died (terminated?).
Sat Oct 28 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/wtmp.*, modules/irc-channel/irc-channel.c: added one more
parameter to FindEvent() to limit searching by time.
Fri Oct 27 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/init.c, core/protos.h, doc/modules.api, modules/irc-channel/irc-channel.c:
added counter value to Inspect_Client() function.
* modules/irc/irc.c: rewritten _irc_getnext_server() because it polled
connection too much.
Wed Oct 25 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc/irc.c: fixed indefinite cycle on case-changed nickname.
Tue Oct 24 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/list.c: implemented ahead-cache on listfile loading to avoid
loss of data if referenced records does not loaded yet, also fixed
a bug with duplicates in UList.
Fri Oct 20 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc-channel/chmanagement.c: implemented "kick" IRC command.
* core/socket.*, core/direct.c, doc/modules.api, modules/irc/irc.c:
implemented new function SocketError().
* core/foxeye.h, core/direct.c, core/dispatcher.c: removed I_IGNORED
flag and added I_FINWAIT flag - first one is unusable (we cannot
ignore an interface but have to ignore client that have A_IGNORED
set) but we really need second one.
* core/direct.*, doc/modules.api: changed handler call of Listen_Port()
to get a pointer to socket ID since it may lead to undefined state.
--- [0.3g] end
Thu Oct 19 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/direct.c: fixed unconst 4th parameters of Add_Request().
* core/list.c: fixed some LID's user_chr's allocations.
* modules/irc-channel/chmanagement.c: fixed _make_literal_mask().
* modules/irc-channel/irc-channel.c: fixed absent greeting.
Wed Oct 18 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc-channel/irc-channel.c: fixed SIGSEGV on nickchange from
Nick to NICK.
* core/conversion.*, core/direct.c, doc/modules.api, help/main:
implemented direct chat command "charset" and Conversion_Charset(),
fixed bugs with charset allocation.
Sun Oct 15 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* *: uploaded onto sourceforge.net, available as foxeye.sf.net.
* core/direct.c: returned back mirc->ansi colors conversion, need to
be tested.
* help/main, modules/irc-channel/*.c, modules/irc-channel/irc-channel.help, modules/logs/logs.help:
done some cleaning and updating.
Tue Oct 10 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/dispatcher.c, core/foxeye.h, core/list.c: added F_AHEAD flag.
* modules/irc-channel/irc-channel.c: fixed tree error on netjoin.
Mon Oct 9 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/dispatcher.c: fixed queue leak on recursion.
* core/list.c: fixed deadlock after adding existed hostmasks and fixed
broken allocating of LID.
* modules/irc-channel/chmanagement.c: mask of numeric host consisted
of only last char, fixed.
Thu Oct 5 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc-channel/irc-channel.c: incorrect updating of join time
moved to right place.
* core/help.c, core/direct.c: improved help to support extentions (such
as "ss-*" etc., it didn't work yet).
Wed Oct 4 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/direct.c: fixed "console" command.
* core/list.c: fixed "chattr" command.
* modules/irc/irc.c: fixed SIGSEGV on reconnect.
* modules/irc-channel/chmanagement.c: target of commands "notice" and
"ctcp" must be I_CLIENT, fixed.
* modules/irc-channel/irc-channel.c: nick_t didn't get new nick on
nickchange, fixed.
Fri Sep 29 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc-channel/irc-channel.*: merged _ircch_netsplit_islost()
into _ircch_quited() so fixed lost statistics and nicks.
* modules/irc/irc.c: irc_rpl_isupport() didn't save data, fixed.
* modules/irc-channel/irc-channel.c: created _ircch_recheck_features()
from code _ircch_get_network() so it may be called on join too, if
change of features was got from server on connect.
* modules/irc-channel/irc-channel.*: member 'ping' of netsplit_t was
replaced with 'stage', changed sequence a bit to be more clear, added
error diagnostics, member 'mode' in link_t is 0 between netsplit and
netjoin log messages not between actual quits/joins for logging sake.
Mon Sep 25 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc-channel/chmanagement.c: fixed bugs again - on MODE now.
Tue Sep 19 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc-channel/irc-channel.c: fixed bugs on netjoin and on
nick change.
Sun Sep 17 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/logs/logs.c: changed to don't rotate empty logs and fixed
order of lines in generated config file.
Sat Sep 16 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/protos.h, core/dispatcher.c, modules/irc-channel/irc-channel.c, modules/irc/msgs.c:
implemented macro ALLOCATABLE_TYPE for easy allocation of structures.
Thu Sep 14 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc/irc.c, modules/irc-channel/irc-channel.c: fixed bugs of
netsplit/netjoin detection.
Tue Sep 12 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/dispatcher.c: fixed deadlock on normal exit.
* modules/logs/logs.c: fixed deadlock in do_rotate().
Sun Sep 10 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/lib.c: changed char to unsigned in argument of tolower().
* core/dispatcher.c, core/init.c: changed handling of SIGHUP, etc.
* core/dispatcher.c, core/protos.h, modules/irc/msgs.c, modules/irc-channel/irc-channel.c:
new Relay_Request() function for exact relaying of requests.
Sat Sep 9 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/direct.c: implemented base RFC854 support, removed hack.
Tue Sep 5 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* configure.in: added switch '-static' for compiler on static build.
* core/dispatcher.c: avoided static Current in most cases.
* doc/module.template.c: macro CheckVersion depends on init.h, fixed.
* modules/irc/irc.c: fixed logging on user quit and when message is for
me.
* modules/irc-channel/irc-channel.c: changed link_t allocation scheme,
fixed some coredumps, fixed userhost mask allocations, added check
if TOPIC or KICK came from alien (last is impossible though).
* modules/lua: added first script interpreter module.
Fri Sep 1 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc/irc.c: fixed SIGSEGV on .cstat.
* modules/irc-channel/irc-channel.c: avoided coredumps if lname is NULL.
Wed Aug 31 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/dispatcher.c, core/sheduler.c: changed where Time is updated.
* core/dispatcher.c, doc/modules.api: changed behavior for Set_Iface()
with NULL argument.
* core/init.c: changed message for command "die" a bit.
* core/list.c: fixed coredump in Get_Flags() and loading of specials.
* modules/irc/irc.c, modules/irc/msgs.c, modules/irc-channel/irc-channel.c, modules/irc-channel/chmanagement.c:
fixed incorrect parsing of some messages.
Sun Aug 27 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/direct.c: fixed bug with non-empty buffer in dcc_request().
* core/direct.c: fixed disabled echo on reentering telnet session.
* core/direct.c: corrected help list in sessions.
* core/dispatcher.c: fixed deadlock on SIGTERM.
* core/dispatcher.c: fixed queue and interface stack allocations.
* core/init.c, core/modules.c: fixed config file generation, it didn't
work after last interface stack changes.
* core/list.c: added check for corrupted listfile so don't delete
backup in that case.
* core/socket.c: fixed case of empty input line in ReadSocket().
Sun Mar 19 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/rwlock_init.h, core/protos.h, core/foxeye.h, configure, core/Makefile, core/*.c:
removed file core/rwlock_init.h, added support for pthread_rwlock_*
functions, #include <pthread.h> everywhere moved to core/foxeye.h.
Sat Mar 18 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/rwlock_init.c: fixed a bit.
Tue Mar 14 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/dispatcher.c: optimized queuing and added report of memory usage.
Mon Mar 13 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/dispatcher.c: fixed locking mechanics for interfaces.
Sat Mar 11 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/init.c: implemented long waited bindtable conversion from UNDEF.
* modules/logs/logs.c: fixed unlimited growth of queue if logfile is
locked by someone else.
* core/init.c, core/protos.h, core/direct.c: introduced new function
Bindtable_Name() and implemented help for "ss-*" bindtables too.
* core/init.h, core/protos.h, doc/module.template.c, modules/logs/logs.c, modules/irc/irc.c, modules/irc-channel/irc-channel.c:
implemented CheckVersion macro for simple core version control (some
header files may be changed between major versions), checking made
by three first chars of version string.
Fri Mar 10 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* doc/userflag.txt: cleared '+clearbans' since it's obsoleted.
* modules/irc-channel/chmanagement.c, modules/irc-channel/irc-channel.c:
implemented some ss-irc commands and bans/exempts/invites expiring.
* modules/irc-channel/chmanagement.c: implemented on-join greeting.
* core/list.c: fixed botnet control messages for +name and -name.
* modules/irc-channel/irc-channel.c, modules/irc-channel/chmanagement.c:
implemented delay between attempts to change channel mode for the
same nick, it may be abusive if we op/deop someone too fast.
Thu Mar 9 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc-channel/irc-channel.c: fixed absence of reason for
on-join kickban.
* modules/irc/irc.c, modules/irc-channel/irc-channel.c: moved variable
irc-ignore-ident-prefix from irc module to irc-channel module.
* core/list.c, doc/modules.api: hostmask with wildcards must be matched
as without them in Find_Clientrecord(), double logic removed.
Wed Mar 8 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/list.*, doc/modules.api: changed return value of Delete_Mask()
to int.
* core/list.c, core/dispatcher.c, core/init.c, core/modules.c, core/sheduler.c, core/direct.c, core/protos.h, doc/modules.api, modules/irc-channel/irc-channel.c, modules/irc/irc.c, modules/irc/msgs.c, modules/logs/logs.c:
swapped first two parameters of Add_Iface(). Sorry, it was pending...
Wed Feb 22 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/direct.*, core/main.c, modules/irc/irc.c: changed structure
peer_t a bit, dcc_state renamed into peer_state and D_* into P_*.
Mon Feb 20 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* Makefile.cvs, doc/modules.api, po/POTFILES.in: implemented POTFILES
add-ons for CVS as <modulename>/accvs.POTFILES.
* core/direct.*, core/main.c, doc/modules.api: added "ss-*" bindtable
with support in parser; function Dcc_Parse() has been made public.
* core/direct.c: implemented "chat off" by chat channel < 0.
Sun Feb 19 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/direct.*, core/main.c: added field 'parse' to structure peer_t.
Sat Feb 18 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc-channel/irc-channel.*: added L_HASREGMODE and debugs.
Mon Feb 13 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/dispatcher.c, core/main.c, help/set: fixed locale setting a bit.
* core/list.c, doc/modules.api, help/main: updated concept of Listfile
records and documentation about Listfile.
Sun Feb 12 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/direct.c: defined macro LOG_CONN because it's better readable.
* core/protos.h, core/dispatcher.c, core/socket.c: defined macros:
ERROR, WARNING, and DBG.
* configure: implemented '--enable-profile' switch.
* core/direct.c, core/dispatcher.c, core/help.c, core/init.c, core/list.c, core/modules.c, core/sheduler.c, core/wtmp.c, doc/tech.txt, modules/irc/irc.c, modules/irc/msgs.c, modules/logs/logs.c:
changed debug log levels a bit.
* modules/irc/irc.c: changed behavior of bindtable "irc-raw": returned
value -1 means incorrect parameters so is error.
* core/foxeye.h, modules/logs/logs.c, modules/logs/logs.help, modules/irc-channel/irc-channel.c:
implemented F_PREFIXED flags mask.
Sat Feb 11 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/main.c: added static prefixes that were missed.
* modules/irc-channel/chmanagement.c: fixed bug with number of
parameters in ircch_parse_modeline().
* modules/irc-channel/irc-channel.*: completely rewritten netjoin
detection.
Thu Feb 9 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/dispatcher.c: enabled switch '-D' independent of '-d'.
* modules/irc/msgs.c: fixed coredump in irc_privmsgin().
Tue Feb 7 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/conversion.c: fixed coredump with empty conversion.
* core/direct.c: fixed dc_connect(), added reason support to
dc_disconect().
* core/dispatcher.c, core/main.c, core/init.h: implemented switch '-D'.
* core/dispatcher.c: rewritten conversions and I_PENDING support.
* core/lib.c: fixed error in NextWord_Unquoted().
* core/list.c: fixed coredump in Get_Clientlist() for unknown lname.
* core/socket.c: changed SetupSocket() to be blocking until connect,
_socket_find_line() got again to work.
* modules/irc/irc.c: fixed quitting and isupport parsing.
* modules/irc-channel: got working.
Sun Feb 5 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/foxeye.h, modules/irc/irc.c: added F_END request flag.
* modules/autolog: started new module.
* core/init.c, modules/irc/irc.c, modules/irc-channel/irc-channel.c:
few coredump fixes.
* modules/irc/*: added irc_lcs() helper to correct casemapping.
--- [0.2.1] end
Sat Feb 4 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/list.c, core/Makefile: done some cleanup.
Fri Feb 3 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc-channel/*: implemented the module.
* modules/irc/*: implemented different casemappings from server.
* core/direct.c, doc/modules.api: extended command "connect" to allow
connecting (and disconnecting) of channels.
* core/init.c, doc/modules.api: changed matching for Lname_IsOn() and
Inspect_Client() - they have to work with network type instead of
network name.
--- [0.2.0] end
Sun Jan 29 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/list.c: reverted to case-sensitive Find_Clientrecord().
* core/foxeye.h: fixed size of HOSTMASKLEN and minor constants.
Mon Jan 23 2006 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc/irc.c: get rid of fmt[].
Wed Mar 23 2005 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/list.*, core/direct.c, core/wtmp.c, modules/irc/irc.c, doc/modules.api:
added an extra parameter for Get_Field(): creating/expiration time.
* core/list.c: optimised _get_index() a bit.
Tue Mar 22 2005 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/list.c, core/rwlock_init.*: changed locking scheme on Listfile.
* doc/modules.api: documented recent changes in Listfile functions.
Sun Mar 20 2005 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/list.*, core/direct.c, modules/irc/irc.c, modules/irc/msgs.c:
Get_Flags() renamed to Get_Clientflags(), Get_Flags() works now
for locked clientrecord.
Sat Mar 19 2005 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/foxeye.h: A_CREATOR changed to A_ADMIN (see UltimateIRCd).
* modules/irc/irc.c: rewritten parsing of RPL_ISUPPORT.
Sat Mar 12 2005 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/init.c: added cleanup to Confirm() since it may be cancelled.
* core/dispather.c, core/foxeye.h: added I_PENDING interface flag.
Sat Mar 5 2005 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/list.c, doc/userflag.txt: revised checks in dc_chattr().
Thu Mar 3 2005 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/list.c, doc/modules.api: changed return of Get_Flags() for nets.
Tue Mar 1 2005 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/dispatcher.c, core/foxeye.h, modules/irc/msgs.c: hidden queue
structure inside dispather.c.
Wed Feb 23 2005 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/foxeye.h, core/protos.h, core/init.c: new typedef modeflag for
Inspect_Client() return value.
* doc/modules.api: documented a bit more.
Mon Feb 21 2005 Andriy Gritsenko <andrej@rep.kiev.ua>
* acinclude.m4, configure.in, core/Makefile, modules/Makefile.mods:
fixed libs statements.
* core/lib.c, core/help.c: replaced strlower() with safe_strlower().
* core/list.c: replaced rfc2812_strlower() with safe_strlower().
* core/init.c, core/protos.h: implemented Lname_IsOn() and
Inspect_Client() with appropriate bindtables.
Sun Feb 20 2005 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/dispatcher.c: optimized requests allocation.
Sat Feb 19 2005 Andriy Gritsenko <andrej@rep.kiev.ua>
* doc/modules.api: fixed description of Read_Socket().
Fri Feb 18 2005 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/dispatcher.c: implemented output conversion in Add_Request().
* core/direct.c, modules/irc/irc.c: implemented input conversion.
Thu Feb 17 2005 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/conversion.*, core/foxeye.h, core/init.* core/Makefile, acinclude.m4, configure.in, help/set:
introduced base charset conversions support.
Tue Feb 15 2005 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/direct.c core/dispatcher.c core/foxeye.h core/init.c core/main.c core/modules.c core/protos.h core/sheduler.c doc/modules.api modules/irc/irc.c modules/irc/irc.h modules/irc/msgs.c modules/irc-channel/irc-channel.c modules/logs/logs.c:
removed F_RELAYED and F_REJECTED flags, IFRequest now returns REQ_*.
* core/foxeye.h, modules/irc/msgs.c: introduced F_MINE flag.
* core/wtmp.c: fixed bug in _scan_wtmp().
Mon Feb 14 2005 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/foxeye.h, core/direct.c, modules/irc/irc.c, modules/irc/msgs.c:
renamed I_LINK to I_SERVICE as more associative.
* core/dispatcher.c, doc/modules.api: send S_TERMINATE instead of
S_SHUTDOWN to I_CONNECTs on normal shutdown.
Sun Feb 13 2005 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/help.c, core/init.c, core/lib.c, core/direct.c, core/main.c, core/protos.h, doc/help.format, doc/modules.api, modules/irc/irc.c, modules/irc/msgs.c:
added "idle time" conversion to printl().
* core/dispatcher.c, core/init.c, core/main.c, core/modules.c, core/sheduler.c, core/direct.c, core/foxeye.h, core/protos.h, doc/modules.api, modules/logs/logs.c, modules/irc/irc.*, modules/irc/msgs.c:
changed return type of IFRequest to flag_t.
Sat Feb 12 2005 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/lib.c, core/help.c: fixed incorrect formatting and empty lines.
Sun Feb 6 2005 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc/ircparams.h: removed to foxeye.h since it's common. :)
Sat Feb 5 2005 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/direct.c: found and fixed my bug with pthread_cleanup_push().
* modules/irc/irc.c: fixed confilct with non-ready-yet socket in
_irc_request().
* modules/irc/ircparams.h, modules/irc/irc.c: introduced some server
parameters table.
* core/sheduler.c: added debug for timers too.
* core/list.c: fixed bug with new field.
* core/dispatcher.c: fixed bug with requests for signals when new
interface inserting at that time.
Fri Feb 4 2005 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/list.c: found and fixed possibility of deadlock on shutdown.
* modules/irc/irc.*, modules/irc/msgs.c: own messages logging was
missed, fixed.
* doc/tech.txt, ui/ui.h: created common header file for UIs.
* core/list.c: improved syntax dc__puser(). now it is:
+user [-<network>] lname [hostmask [attrs]]
* modules/irc-channel: started new module.
Thu Feb 3 2005 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc: got working.
* core/dispatcher.c: fixed bug with dprint() in vsadd_request().
* core/list.c: special records were ignored, fixed.
* help/main, help/set, modules/logs/logs.help: updated help files.
* missing: updated version.
* modules/irc/irc.c: delayed autoconnection: listfile not loaded on
start.
* core/init.c: fixed serious bug in Delete_Binding().
Wed Feb 2 2005 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc/*: implemented release of garbage of I_CLIENTs.
Sat Jan 29 2005 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/dispatcher.c: replased strchr() with strrchr() since client name
at some services may have '@' in it.
* core/init.c: changed B_MATCHCASE from keyword to match type.
* core/lib.c: speedup: do strcmp() in match() if no wildcards in mask.
* modules/irc: finished somehow.
Wed Jan 26 2005 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/foxeye.h, core/main.c, core/list.c, core/direct.c: reserved
some bits for message type.
* core/dispatcher.c: removed msg2nick() and notice2nick() as nonsence.
Mon Jan 24 2005 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc/*: draft of irc base support done, no msgs yet.
* core/foxeye.h, core/dispatcher.c: hidden queue_t struct.
* core/sheduler.c: don't check flood if flood max counter is set to 0.
Sun Jan 23 2005 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/list.c: hostmasks now will be saved in lower case.
* core/list.c: speedup _del_userrecord() by _del_usermask -> _delhost.
* doc/modules.api: added some words about pthread_cancel().
Sat Jan 22 2005 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/socket.*, core/direct.c: we must split AddSocket() to two
GetSocket() and SetupSocket() for cancellation availability.
* core/direct.c, doc/modules.api: changed cancellation mechanics for
Connect_Host().
Thu Jan 20 2005 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/foxeye.h: added I_AUTHPASS and U_NOAUTH.
* core/direct.c, doc/modules.api: changed "login" bindtable.
Tue Jan 18 2005 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/main.c, core/direct.c: was missed pthread_*() for cleanup
everywhere so fixed.
* core/direct.*, doc/modules.api: changed and documented Listen_Port()
and Connect_Host().
* core/socket.c: ReadSocket() now does not memmove() now.
* core/socket.*, doc/modules.api: don't perform any memory rewriting
with WriteSocket() but advance pointers instead. Also this function
sends only binary data now so caller have to format it itself.
Sun Jan 16 2005 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/list.*, doc/modules.api: implemented Get_Clientlist() and
Get_Hostlist().
* core/list.c, core/direct.c: done unaliasing where it's possible.
Get_Field() now returns "host" Lname if asked for NULL field.
Sat Jan 15 2005 Andriy Gritsenko <andrej@rep.kiev.ua>
* README.ru, core/foxeye.h: revised network ierarchy.
* core/direct.c: added new bindtable "connect" then implemented
dc_connect() and dc_disconnect().
* configure.in: need autoconf >= 2.50.
* modules/irc: renamed from irc-common.
--- [0.1.2] end
Wed May 22 2004 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/lib.c, core/protos.h, modules/irc-common/irc.c: moved
parce_ircparam() into module.
Mon Mar 22 2004 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/irc-common: new module.
* core/direct.*: added Connect_Host().
* core/direct.*, core/init.c, core/list.c, core/main.c: changed
session_t to peer_t as more associative.
--- [0.1.1] end
Tue Nov 11 2003 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/direct.c: we should not get default hostname for listen, fixed.
* core/dispatcher.c: fixed tree names error.
* core/lib.c: fixed conditional substitution errors.
* core/sheduler.c: we should not drop tables on rehash, fixed.
* modules/logs/logs.c: fixed neverending cycle in logfile_printlevel().
Mon Nov 10 2003 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/direct.c, core/socket.*, doc/modules.api: added M_POLL transfer
mode and redone parsing for non-raw transfers.
* core/direct.c, core/dispatcher.c, core/init.c, core/lib.c, core/list.c, core/main.c, core/sheduler.c, modules/logs/logs.c:
fixed a couple of bugs (get rid of some SIGSEGVs).
Wed Nov 5 2003 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/dispatcher.c: fixed disallowed recursion for get request.
* core/init.c: a little fix in init().
* core/wtmp.c: fixed calls of expand_path().
* modules/logs/logs.c: was missed LF at EOL, fixed.
Mon Nov 3 2003 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/dispatcher.c, core/init.c, core/direct.c, doc/modules.api:
changed shutdown process.
Sun Nov 2 2003 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/sheduler.c: implemented KillTimer(), fixed a bit sheduler.
* core/init.*, core/modules.c, core/main.c, core/direct.*, core/formats.default, doc/modules.api:
change all reports scheme
* core/direct.c, core/help.c, core/init.c: fixed some buggy calls of
New_Request() and Add_Request().
* modules/logs/logs.c, modules/logs/logs.help: added parameter -rpath
for command "logfile".
Sat Nov 1 2003 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/lib.c: fixed two bugs in printl().
* doc/help.format: it had no field width mentions, fixed.
Fri Oct 31 2003 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/logs/logs.c, modules/logs/logs.help: implemented the module.
Tue Oct 28 2003 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/help.c: corrected case-insensitive search.
* core/lib.c, doc/modules.api: added parse_ircparams() function.
* core/init.c: implemented help for Start_FunctionFromConsole().
* core/list.c, core/foxeye.h: redone U_* list, changed dc_chattr().
Sun Oct 26 2003 Andriy Gritsenko <andrej@rep.kiev.ua>
* doc/modules.api, help/set, help/main: misc documentation updates.
Thu Oct 16 2003 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/socket.*: added CloseSocket() function.
* core/direct.*: added Session_Put() and Session_Get() functions.
* core/direct.*, core/main.c, core/foxeye.h: changed implementation
of session_t, deleted '.console' support for I_CONSOLE type.
* core/direct.*: added Listen_Port() function.
* doc/modules.api: updated documentation.
Sun Oct 12 2003 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/lib.c, core/list.c, core/direct.c: changed syntax of function
rfc2812_strlower().
* tree/tree.*: added Find_Leaf() function.
* core/dispatcher.c: implemented fast interface search.
* core/list.c: revised listfile loading/saving.
* Makefile.cvs: added support for accvs.cfg.h and accvs.api.
* doc/modules.api: updated documentation.
Sat Oct 11 2003 Andriy Gritsenko <andrej@rep.kiev.ua>
* tree/tree.c: reset data ptr for deleted leaf when it was last.
* core/foxeye.h, core/init.c: implemented tree-hash for B_UNIQ type.
* core/list.c: added Grow_Field() function.
* core/wtmp.*, core/list.c: changed to using W_CHG and W_DEL.
* core/list.*: changed locking scheme.
Sat Oct 4 2003 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/users.*: renamed to list.* ones.
* core/dcc.*: renamed to direct.* ones.
* core/init.c, core/foxeye.h, core/list.c: added B_UNDEF.
* core/foxeye.h, core/direct.c, core/main.c, core/list.c: changed
interface types list a bit.
Fri Oct 3 2003 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/socket.c: rewritten in unlocking style in hope that words will
be ever read at once (no byte collisions).
Wed Oct 1 2003 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/dcc.c, core/dcc.h: removed IRC-specific code to module irc.
Sat Oct 26 2002 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/dcc.c, core/foxeye.h: introduced I_CONNECT interface type.
Sat Oct 19 2002 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/socket.c: fixed raw socket mode.
* core/dcc.*: cleaned up chat/telnet handlers.
Tue Oct 15 2002 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/dcc.*, core/foxeye.h, core/users.c: revised file service
mentions in core and access levels.
Fri Aug 16 2002 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/dcc.c, core/dispatcher.c, core/help.c, core/init.c, core/modules.c, core/users.c, core/wtmp.c:
checked logging.
* doc/help.format, core/dcc.c, core/init.h: removed "botnetnick"
variable (for multiserver capability).
--- [0.1.0] end
Sat May 25 2002 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/dcc.c, core/init.*, core/dispatcher.c, core/wtmp.c, core/lib.c:
improved functionality and fixed some holes.
* core/users.c, core/Makefile*: hashes replaced by tree-hashes.
* core/modules.c: made modules control.
Fri Apr 5 2002 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/sheduler.*: made sheduler interface.
Wed Apr 3 2002 Andriy Gritsenko <andrej@rep.kiev.ua>
* modules/tcl, core/init.h: corrected charsets support.
Mon Mar 11 2002 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/lib.c, core/formats.default, core/init.*, core/protos.h, core/help.c, core/dcc.c:
implemented formats support.
* core/init.*, core/foxeye.h: added last resort for B_UNIQ.
Sat Mar 2 2002 Andriy Gritsenko <andrej@rep.kiev.ua>
* tree/tree.c, tree/tree.h: simple Tree-Hash library has finished.
* modules/*: revised modules list.
Sat Sep 15 2001 Andriy Gritsenko <andrej@rep.kiev.ua>
* tree, core/Makefile: moved Tree-Hash library into separated
directory.
Sat Apr 28 2001 Andriy Gritsenko <andrej@rep.kiev.ua>
* configure*, Makefile.cvs, ...: updated CVS.
Tue Apr 24 2001 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/users.c: added user aliases support.
Mon Apr 16 2001 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/dcc.c, core/init.h, core/users.*, core/wtmp.*: redesigned
dinamic configuration file.
Fri Apr 6 2001 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/dcc.c, core/init.*, mods/tcl/*: completely removed Tcl support
code from core to separated module.
Sun Jan 14 2001 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/lib.c, core/protos.h, core/users.h, core/foxeye.h: changes
made from rfc1459 to rfc2812.
Fri Aug 25 2000 Andriy Gritsenko <andrej@rep.kiev.ua>
* core/*: Debugging of core started. :)
Wed Feb 2 2000 Andriy Gritsenko <andrej@rep.kiev.ua>
* doc/*: Documentation started.
Tue Apr 19 1999 Andriy Gritsenko <andrej@rep.kiev.ua>
* all: Project started by LoSt.
|