mirror of
https://github.com/unrealircd/unrealircd.git
synced 2026-06-27 11:46:40 +02:00
Compare commits
1308 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 75421c9b66 | |||
| d9b80d889f | |||
| d360ae7845 | |||
| 517298007d | |||
| 3eb0bc24ea | |||
| f8a732747b | |||
| 6358a2e5ff | |||
| 5acef88ceb | |||
| cb604d6df0 | |||
| 6f92233919 | |||
| 3076ed5a98 | |||
| 79ded54df1 | |||
| 36b9faa7cd | |||
| 3e1f092afc | |||
| 191990b881 | |||
| d9c0397e25 | |||
| da519ae04a | |||
| e1e718f982 | |||
| 78ca5ecc3e | |||
| 0bd813733f | |||
| 845a582d76 | |||
| 4db7866676 | |||
| d3ee89ffa5 | |||
| a85a38e69d | |||
| 264ed614fc | |||
| 872aa93635 | |||
| cd9ac916de | |||
| 3ded34b405 | |||
| 2375c35f2b | |||
| 842e06d7d3 | |||
| 92b9fa07a1 | |||
| 88d7829e5b | |||
| 137cc7f20b | |||
| 9c0710a9a4 | |||
| 7ccbb6ebf1 | |||
| b6626b2b60 | |||
| 3ad6878865 | |||
| 7a22ec8b6b | |||
| d6b64de162 | |||
| 8431cd43b2 | |||
| c0b86c757c | |||
| c6873292b9 | |||
| 937cc94940 | |||
| abeb222eed | |||
| 188dc7792d | |||
| 3543bff286 | |||
| cda145b62a | |||
| ad84a5227a | |||
| 7f0cae0473 | |||
| 9a7f2b0ea2 | |||
| c916d1d9ef | |||
| 013184533d | |||
| be81152da7 | |||
| 8c71cd1a65 | |||
| c79cc6f430 | |||
| 74083d7440 | |||
| 4fa468bd4f | |||
| d7bf35e0d9 | |||
| 61e0ed3d03 | |||
| 263593634e | |||
| cb3c0b48ca | |||
| ae873ab25a | |||
| f79fec62f1 | |||
| e58b22c45d | |||
| 011cc9e1d5 | |||
| 5e4d9cdc61 | |||
| 5c8752dfc6 | |||
| 14a99d755e | |||
| 13f9afeaf4 | |||
| 05dd788dab | |||
| 1752afee44 | |||
| 55b0422dd0 | |||
| 3bf0c9e653 | |||
| 95cfafcd51 | |||
| 73ae7ccbef | |||
| ff84f17f72 | |||
| 7fa0e07487 | |||
| 8783280a68 | |||
| df3bb510a1 | |||
| 623745d274 | |||
| bd11d06a39 | |||
| 214a98addb | |||
| deffc908e3 | |||
| cc348701a2 | |||
| a349fa2ae4 | |||
| 4f8ac3c6cf | |||
| 282162b4aa | |||
| 576f8b1aae | |||
| 2a29c2f3b3 | |||
| 2340f14973 | |||
| 1606f28555 | |||
| 6860046b20 | |||
| eb4d7fb3f0 | |||
| 30d64f2ebe | |||
| 40ace27e7d | |||
| dde3e0ccb2 | |||
| dd33b38264 | |||
| d6b0981433 | |||
| 85d20e8bd5 | |||
| e497feef24 | |||
| 5daf7e7ebe | |||
| e596b730af | |||
| 4dc999d2b6 | |||
| 5cddc8d212 | |||
| f04697ba7c | |||
| 775c00c096 | |||
| 0ea86fce83 | |||
| d9fbb51a33 | |||
| 4725b5547b | |||
| e31755bc7c | |||
| ed50c8fb8c | |||
| 1d0ac57bfa | |||
| 00711f905c | |||
| 80fbef8b5c | |||
| 022ed9ae71 | |||
| a880532ca7 | |||
| 6761cdd66d | |||
| 2765eaac26 | |||
| 57a6dd3600 | |||
| 01bfe5f7a7 | |||
| d42147d56c | |||
| c352dcb8aa | |||
| f4b14330a8 | |||
| 82af21639c | |||
| 1f47cc7824 | |||
| 28bf68f39b | |||
| 8a16a7392f | |||
| 7b655a5e17 | |||
| 29e8c2c770 | |||
| 44f8bea3c4 | |||
| 636b068062 | |||
| 4bd0969583 | |||
| 1854bfffd0 | |||
| 17bdd6de1e | |||
| 94fea88319 | |||
| dc40d27cd8 | |||
| 94b8f6575e | |||
| 9e82f13c54 | |||
| f1e3b7dcdf | |||
| 06d90a9d46 | |||
| 25f8b8e4c7 | |||
| eb76ae7c67 | |||
| b22e1c1a43 | |||
| c71214cefe | |||
| d4e0ee9431 | |||
| d84c820d5a | |||
| 9d85b112dc | |||
| 1baf5f9f7d | |||
| 82da314cf4 | |||
| e90d661e8d | |||
| a6da4a5823 | |||
| b65584226c | |||
| 9204939a7f | |||
| 3a922d6ed5 | |||
| cd967a6ea6 | |||
| 5034c2306b | |||
| 0fd9c2ee6f | |||
| 0e125abc36 | |||
| 011ebf3ce7 | |||
| ebed68f636 | |||
| f03f5bd974 | |||
| 380e039d95 | |||
| d558ea7ef0 | |||
| 315f2ba4a9 | |||
| 9377b66754 | |||
| 646bdbb872 | |||
| fa15ec1bec | |||
| b383197ae6 | |||
| 99defea611 | |||
| 5e068a2f28 | |||
| 2f7b73fe10 | |||
| 53d23038e5 | |||
| f45a3a912f | |||
| 04a45e8b83 | |||
| fc159fd131 | |||
| fff989c46e | |||
| b2ceb9c825 | |||
| 9d88bb6fe9 | |||
| fd41806079 | |||
| 4b53b02299 | |||
| 8c04036fd8 | |||
| adc2a9774f | |||
| ece2dc9c12 | |||
| d573f77b10 | |||
| 7002139fad | |||
| 7a3876e7b2 | |||
| f494707a47 | |||
| 10e01aee0a | |||
| ca84a5cfc4 | |||
| 180653dce5 | |||
| e15ea8f34d | |||
| 836a3000bd | |||
| f808e56ffb | |||
| bde91bcc5c | |||
| 6dcecd7866 | |||
| fcb1767500 | |||
| 8372224c01 | |||
| f8343c2e2a | |||
| 8d7e25e50e | |||
| 20b2975a2c | |||
| ecabef1654 | |||
| e48cf87d52 | |||
| 8720c846a1 | |||
| 8f7e40a6dc | |||
| c369551721 | |||
| 0ae05dcd60 | |||
| 132b44219d | |||
| da6ccb639d | |||
| 45fd0625e5 | |||
| 831737f13e | |||
| ebe0a43828 | |||
| 75efe02040 | |||
| b3510c5da8 | |||
| 6778b3e26d | |||
| 8619d1e763 | |||
| 00fa88daee | |||
| 9c85cd5bc6 | |||
| 893dd84aaf | |||
| f2d49eed04 | |||
| 5286edc0ef | |||
| 2d90245626 | |||
| 35ee1eb28a | |||
| f424a0560a | |||
| e62bad9924 | |||
| b4b7908612 | |||
| b01cbff3e1 | |||
| 42da15bb6e | |||
| 61e8c8d851 | |||
| 9002c92062 | |||
| 57d0efbc58 | |||
| 5320d54e8e | |||
| 3701ce9a43 | |||
| 02f0d059c5 | |||
| a02f94f867 | |||
| 578f8f248c | |||
| fea2522067 | |||
| 8bed1cb42e | |||
| 10ecbffcaa | |||
| f5132176b7 | |||
| db79823578 | |||
| 13fff82a56 | |||
| 145ffb6d37 | |||
| 422244a2e5 | |||
| f9e8df1972 | |||
| dd57e08b18 | |||
| 1a349d041d | |||
| 24e90c8955 | |||
| c81b4b9d9e | |||
| 5c566053d4 | |||
| 3894aeba97 | |||
| 812d5bcc73 | |||
| 70496acfbe | |||
| ca6630a2fb | |||
| faeb644b82 | |||
| b23e64cb2e | |||
| 7901d61e92 | |||
| dcb89f933e | |||
| 53bc8fdf5b | |||
| 0e3cfc68bb | |||
| d1d0237f2d | |||
| 3be50cb8d4 | |||
| d2efe01d9b | |||
| 7b211efeb7 | |||
| 8213eca7d6 | |||
| 9c42c20b3c | |||
| df5fd4e537 | |||
| f56ac9384b | |||
| 640caf09a1 | |||
| 3acf71458d | |||
| 15a5905d1b | |||
| e50b599b2e | |||
| bf104160d6 | |||
| dff71b9901 | |||
| efe4fab8a3 | |||
| 740b74df0c | |||
| 60f143acfb | |||
| a8e3b2fe59 | |||
| 30acfcc8c5 | |||
| 3bb044dc1c | |||
| af51f6e2b2 | |||
| c98eb7c54e | |||
| 5712f0f5d6 | |||
| e7725a3bf2 | |||
| 528783a2fd | |||
| 0aa5fb6e7c | |||
| d533483a43 | |||
| 81c7e6ca05 | |||
| 941b745be2 | |||
| ec39d3c15b | |||
| 7a4832d337 | |||
| 893cc2db99 | |||
| 8d2e05f5ef | |||
| 4832559642 | |||
| 606a35bed0 | |||
| 6a3a2530b1 | |||
| ae9f06ebae | |||
| 666d5631fe | |||
| a80364f55a | |||
| 45624ff2ab | |||
| 8c2df61725 | |||
| 98930785e5 | |||
| cf2eecb0d1 | |||
| bf0d00c2b9 | |||
| 90485453b7 | |||
| 31d3af22e2 | |||
| a259227424 | |||
| 2a093bb150 | |||
| b8d4cf7763 | |||
| 4e3817b4d5 | |||
| 57f524cbed | |||
| 331134649f | |||
| 166a772951 | |||
| aba3c8e53f | |||
| 9c10bca2a2 | |||
| 2c703eba6e | |||
| f5b3328103 | |||
| 616820e5d8 | |||
| a4345d6091 | |||
| 0c3b8e5d28 | |||
| ef5df81917 | |||
| 097903a246 | |||
| 275dffcd6b | |||
| 12ad8003bb | |||
| edb0f16942 | |||
| ca2ba56d82 | |||
| 0902ed7a99 | |||
| 07d2a92acd | |||
| 7b7e1a6158 | |||
| 0c080b3982 | |||
| 29b691f9b6 | |||
| bc70882bd3 | |||
| 4d85e162aa | |||
| a8a8196147 | |||
| 6b2d0c4b4b | |||
| 775fa47197 | |||
| 5dda640864 | |||
| f419a61f94 | |||
| 498f65aaad | |||
| 54a2fad8e3 | |||
| 6d74e64b22 | |||
| e6f34ef22b | |||
| 49d595f60c | |||
| 26c58dce47 | |||
| a3784479a1 | |||
| bc6079c540 | |||
| 1b7c03df94 | |||
| 0b350be64c | |||
| cd059839c5 | |||
| 68642a4e68 | |||
| 9fab197021 | |||
| 682f9598d4 | |||
| abd0d3c04c | |||
| 349ee964cc | |||
| a6e6e44103 | |||
| f437593b8d | |||
| 177d017b06 | |||
| d25f6f6759 | |||
| 5dc1502119 | |||
| 55ecfee0a4 | |||
| c5ba66fbf6 | |||
| a992b30a6a | |||
| 9887ef6955 | |||
| cf53797121 | |||
| 016dd20e16 | |||
| 051fd4aebd | |||
| 891435e811 | |||
| afb10be770 | |||
| 32170b81e3 | |||
| 6224efdaf3 | |||
| 401fcf14aa | |||
| 30ed989113 | |||
| a807cf026c | |||
| f585e895a2 | |||
| 8c0a2a1f96 | |||
| b7e2cbea0f | |||
| 19e672ac22 | |||
| a283a1cf51 | |||
| 88b13fed26 | |||
| 3febf6bc90 | |||
| febc4a45f3 | |||
| de44549996 | |||
| e0d70f577b | |||
| 50f916fcd8 | |||
| 9211e105eb | |||
| 65a5943e97 | |||
| a05c187a56 | |||
| ed6a2cf3e3 | |||
| 63b61d456b | |||
| a56e3bee8f | |||
| 43a9e74662 | |||
| 1ea8443551 | |||
| 7a38f485ad | |||
| a8c191b291 | |||
| b5a205f4f3 | |||
| 63cf5e3d52 | |||
| 0302ef9733 | |||
| ead0ad0aa6 | |||
| 1dc08afa71 | |||
| eede8d3ff6 | |||
| d482760c6f | |||
| 1b07f706bc | |||
| c9feaa0b15 | |||
| 6fa7dd8b88 | |||
| 21278d2549 | |||
| 65afb71111 | |||
| b5c9ee8ec5 | |||
| 8a6968c933 | |||
| fde678aacc | |||
| d30f7e006d | |||
| f3019f89a1 | |||
| 9aa7b7e52f | |||
| 83db4e07db | |||
| ce94746898 | |||
| c65f7101f9 | |||
| 5b8eba750f | |||
| 70973ec18b | |||
| 870057d4f3 | |||
| ffd0acf5d5 | |||
| ca22b6282e | |||
| 48faed6938 | |||
| abeb5f50d0 | |||
| e9d8341efd | |||
| 094c444250 | |||
| 3456a5f90e | |||
| ef9506b95f | |||
| 639c96cc84 | |||
| 75eb509344 | |||
| bfed0893a9 | |||
| 596cf8e7de | |||
| 92c5f06e7e | |||
| d4826bd5c0 | |||
| edb4bd8cf2 | |||
| 11ff177558 | |||
| 07753d112e | |||
| cdea885b32 | |||
| 2fa0edf599 | |||
| d29a55a8db | |||
| bb82138466 | |||
| 672153cc4d | |||
| a2d0194d94 | |||
| 739caa5b88 | |||
| ecaec0f062 | |||
| 27ae0fa340 | |||
| eca761fcb9 | |||
| d7d673faf2 | |||
| 7278c9c8f4 | |||
| b4fb4568fc | |||
| f8c6996edd | |||
| a6b5f17656 | |||
| 410148ea91 | |||
| 77e859459a | |||
| 114ef14a31 | |||
| ca576944e6 | |||
| 2c23d4299c | |||
| fccb3b2f5b | |||
| e4d9e001d8 | |||
| c789ac6abe | |||
| c2e3c8c8b1 | |||
| c215a3621a | |||
| 910f2ad383 | |||
| aa7b199a8a | |||
| 63b77796ed | |||
| 4a547a766e | |||
| c9cf74a735 | |||
| e3b806ec60 | |||
| 595e448239 | |||
| 3a55dd8422 | |||
| a1ae90cd16 | |||
| bf379526e1 | |||
| fac16fe1c0 | |||
| 35d6e9a067 | |||
| f1b30be34e | |||
| d8af0c170b | |||
| 4c255ccbd5 | |||
| eac9cdc319 | |||
| 25bc2b7923 | |||
| a46a2e050d | |||
| f118f95ffa | |||
| 9fc508483f | |||
| 9a96c32706 | |||
| f3e538170e | |||
| 3a4d2d907a | |||
| a078a5d659 | |||
| bc358e7b35 | |||
| b9729a4f29 | |||
| 32ca956e77 | |||
| cad664e749 | |||
| 4bfdd84712 | |||
| 55cad6fe05 | |||
| c1b6bebbf4 | |||
| 9e652b95c7 | |||
| 7764358eb7 | |||
| d7301f1b11 | |||
| 0bbb935a32 | |||
| a0b0526556 | |||
| d9166bd62d | |||
| bf61973a6d | |||
| 12af48a433 | |||
| 28539d41e0 | |||
| 35dd6c66b1 | |||
| e5f9061636 | |||
| 0f7f872a97 | |||
| 7869c31ea5 | |||
| 1576f8df23 | |||
| 540e7552f9 | |||
| 1a1b9ddada | |||
| 7fe3407508 | |||
| 05f0968ccd | |||
| 1e3d726df7 | |||
| f6515131aa | |||
| 0b8d435232 | |||
| ae30978680 | |||
| 332ca4898c | |||
| a8534a6063 | |||
| 5d4c474472 | |||
| 1c3eff4232 | |||
| a0a8b6b4eb | |||
| 72e0f1a8fb | |||
| 48802cd9f3 | |||
| 58bb93174c | |||
| 43edef1ad0 | |||
| e16064a2a5 | |||
| ab42e12002 | |||
| 54513307ec | |||
| 2daa187114 | |||
| 27bc208853 | |||
| 1930179079 | |||
| 22394e8cb3 | |||
| bf3ee74659 | |||
| 99d3d8e450 | |||
| 1b710bc101 | |||
| b88c8ec804 | |||
| 1a28750fb6 | |||
| 7fadb0667b | |||
| 39530ab840 | |||
| 74bbc92cf0 | |||
| 84f59226ba | |||
| abbc55741a | |||
| 0899a734c0 | |||
| 840995d994 | |||
| 564cf26d56 | |||
| dd38165cb0 | |||
| 4c4fe038c0 | |||
| b487b92ac5 | |||
| 8c95a8f119 | |||
| ee1e01bec8 | |||
| 77e308783f | |||
| 6710e5c047 | |||
| 56bc6f3939 | |||
| 864b15c0d6 | |||
| a34bb40da4 | |||
| e1163c8734 | |||
| 788cdd2956 | |||
| 52dbfc38b7 | |||
| 39fc55dca3 | |||
| 8fb125f588 | |||
| 31edd45223 | |||
| 1a6343bff3 | |||
| 449f69485f | |||
| 078c6696af | |||
| 6bb83dc5bc | |||
| 42d4d4a680 | |||
| 7bf51f36a6 | |||
| 6402dfd2fe | |||
| dfa83aa6e5 | |||
| 801d359ad1 | |||
| c105e6958c | |||
| bcfa6389c2 | |||
| 86ce42103a | |||
| 8bb5bda47a | |||
| e1e815bb2f | |||
| 72d71e30ce | |||
| 03cdf5043f | |||
| be68a72b42 | |||
| 5d7bd995fa | |||
| 298e9f2ea6 | |||
| fb8055c6ef | |||
| 52c8ef3815 | |||
| 9b15c758cd | |||
| 21ef90e503 | |||
| da5aefaad7 | |||
| ab7a4af46a | |||
| 9aff820d1a | |||
| 64342a0d16 | |||
| 24c60fd85e | |||
| 9c79ca6655 | |||
| 9050011300 | |||
| 86d15804a8 | |||
| e9ab8fd45e | |||
| c45181d07f | |||
| 845f9ca8ed | |||
| c0f2e6be6a | |||
| 47affa7f31 | |||
| 51b0a7a373 | |||
| 09854abade | |||
| 88f45020d8 | |||
| ec1b2c60f2 | |||
| 75fa6a25b8 | |||
| 84918ac68f | |||
| 2fca0f9cc3 | |||
| 6ffcf62272 | |||
| cb4d2f9cf0 | |||
| 00aee86b66 | |||
| 599f83cbd4 | |||
| 13b5ccda4f | |||
| db85de54ca | |||
| e6c7fcda7d | |||
| 910477c94a | |||
| fb0842216f | |||
| 8e3ba03752 | |||
| e0533c5f80 | |||
| 5960c76102 | |||
| 04171f7f20 | |||
| a72482bbb2 | |||
| 5cd7134cc2 | |||
| 9171d58ad0 | |||
| b9d432820b | |||
| 6dffe38bd3 | |||
| e2158e3608 | |||
| 3a3c5b9c55 | |||
| ff067cd826 | |||
| 49c2f7c2c3 | |||
| bed8a0ca2b | |||
| d0b9b02d05 | |||
| 63298af6b2 | |||
| 87406d752b | |||
| 446f9a89c3 | |||
| 43593d12cb | |||
| e1b0b0bc8e | |||
| f9ec129bbd | |||
| 1a1ce5716e | |||
| cc36b34f93 | |||
| c60bd2e441 | |||
| d724bdc492 | |||
| f40c9f3c88 | |||
| 44f9423e13 | |||
| 1dde1721ad | |||
| b9a0f938c0 | |||
| a970e5ed9b | |||
| 2c337dc58b | |||
| 746ea5b558 | |||
| 154aab6ec4 | |||
| bcfd2ab529 | |||
| 560b73b6f7 | |||
| a9890448d8 | |||
| 545c2560e6 | |||
| 930ede1c86 | |||
| 0670bfffb9 | |||
| fb4d994f40 | |||
| 8d5f896790 | |||
| c9b88343e2 | |||
| bbf2cd3a3e | |||
| 8383b714ce | |||
| 742e27802e | |||
| f5137678ff | |||
| d55eb642e5 | |||
| 139e5faae6 | |||
| 03645750f1 | |||
| 3c4d14ca58 | |||
| 96509f6802 | |||
| 9f2530fdb7 | |||
| ff5f2d97a0 | |||
| 62352c2b70 | |||
| a5e6fb4a12 | |||
| 65f6b97ea7 | |||
| 98f1974c8f | |||
| 77bee69951 | |||
| 394168c288 | |||
| ccaec871bb | |||
| aec54db360 | |||
| 33c176e59e | |||
| 1d0fa3278f | |||
| 3d81c7101c | |||
| f7a35bd77e | |||
| be571f81c6 | |||
| 80353cd7d3 | |||
| e1fdba7931 | |||
| 62110778dd | |||
| 04334f022e | |||
| 22dec96f9a | |||
| fbbd915403 | |||
| 798b223ee3 | |||
| d2a93c3a03 | |||
| ba7ff01e0f | |||
| 24f73d8c4f | |||
| c399aab016 | |||
| f992a0c1c0 | |||
| b3947c7a14 | |||
| 9a8fd43873 | |||
| b2705089ce | |||
| 2eecf4f2da | |||
| 4a59e66af2 | |||
| df71812707 | |||
| 798f502875 | |||
| c2d7da6e35 | |||
| 858debdd01 | |||
| 3a64077f51 | |||
| 40cd6aa639 | |||
| 9d98e6b411 | |||
| e8c17e3aed | |||
| 999fde8fee | |||
| 3d5e49e701 | |||
| 3f18cf5ea1 | |||
| 9e4dbf8c89 | |||
| cbe20e1d5a | |||
| 92df36a87f | |||
| 3126a3fae4 | |||
| ea6651fb26 | |||
| 0092263fee | |||
| ab3feff7c2 | |||
| 1c746afdf1 | |||
| 4ac8015f84 | |||
| 396ae3f218 | |||
| 9d7cf312cf | |||
| d7ef752888 | |||
| 9669e32447 | |||
| 0b5a4bf51d | |||
| 3f5ea851cb | |||
| 4ae374477f | |||
| d9e8206b80 | |||
| 5a57eec4c7 | |||
| cd713369b1 | |||
| 6687591bb0 | |||
| 5b8f393a8f | |||
| 4d277ccef8 | |||
| b17deb7517 | |||
| 117a87dd8e | |||
| 784ba625ec | |||
| 97cf32c941 | |||
| e846596b37 | |||
| c3f250750b | |||
| 953cb774ad | |||
| 4ecd7cca4c | |||
| b4636f183c | |||
| 330cf9ed24 | |||
| 83492a613d | |||
| dd536b4a92 | |||
| f88f30c815 | |||
| 4426cdacc9 | |||
| b24fe0f336 | |||
| 95f9c56a16 | |||
| 2c9be4eb97 | |||
| 41f2b5f884 | |||
| 66345246ef | |||
| b2cfc6de69 | |||
| 70a8985d43 | |||
| 54cb647925 | |||
| f3ec97ee23 | |||
| c7c3fbdfa8 | |||
| bea2564e5d | |||
| 677afe9ca4 | |||
| f81f221b13 | |||
| 1a24a634e5 | |||
| edb199841a | |||
| 085c0f0c4e | |||
| ffe5abe30b | |||
| b2f32c1746 | |||
| 654919f2c4 | |||
| 6cc94b4b11 | |||
| 2b2fb8906e | |||
| 7c9a188cb7 | |||
| f2e3712d62 | |||
| a75d10d3e4 | |||
| 950fc5001e | |||
| 9fc1e758ab | |||
| de87b439b7 | |||
| 7c6358024c | |||
| f1f0acdd25 | |||
| 9b14970c2a | |||
| 3592d8db3a | |||
| baf02e8980 | |||
| bb1bb35f50 | |||
| 9114c0ed85 | |||
| b40981f0ab | |||
| 5c209bf6ca | |||
| 43b03e75a6 | |||
| 4a85e4cd8b | |||
| ab7cdbf2a7 | |||
| 70410b3f33 | |||
| 8d2dad4796 | |||
| c3f7bbd9c0 | |||
| cafe3cfd6d | |||
| 88cbc38ff2 | |||
| 3948c3a74b | |||
| 358a31eaee | |||
| daa2441c1c | |||
| c833ac2082 | |||
| 482c85de44 | |||
| 5659a2b177 | |||
| 9b113c27e4 | |||
| c72d848b61 | |||
| bf2c5110db | |||
| fcf0ff4e3c | |||
| 2df5326615 | |||
| e372e9118d | |||
| d80e601760 | |||
| c69bdbe175 | |||
| 792709bf4f | |||
| 68b7368305 | |||
| cb236eea88 | |||
| 6a019d6188 | |||
| 628aab3a76 | |||
| 1e6a3bdd55 | |||
| 786054e6b7 | |||
| 04607f5b1a | |||
| 05e776fb71 | |||
| e8d53ffe8e | |||
| 2a5ea10453 | |||
| f55682cbaa | |||
| 23116d344a | |||
| fbd7ff1f5a | |||
| a0db737408 | |||
| 5b361e69bb | |||
| ec2fdb82e0 | |||
| 80bc15c6d3 | |||
| 1cdbbe043f | |||
| e5f73fdbcd | |||
| 078cfa88ea | |||
| 36cb2226cc | |||
| c86d03dcca | |||
| 5f9e919b18 | |||
| 5e4c481d93 | |||
| ca2239827e | |||
| 7d4b7c2fed | |||
| 9636f83a2b | |||
| 05af50d1fc | |||
| 1183e88077 | |||
| 8d453ffc40 | |||
| 3f690ec1df | |||
| d434cf948b | |||
| e34888802a | |||
| 2276185939 | |||
| a0aec38df2 | |||
| 5141e3cdfe | |||
| a9e0655650 | |||
| 90d39d4665 | |||
| c423f9c8f7 | |||
| 7be894bcda | |||
| 0c4502bf79 | |||
| ebd9c738f2 | |||
| 9fe82e4a9f | |||
| e9847a2279 | |||
| 62c7f67f7a | |||
| 08a4c489f6 | |||
| ec5a66ba80 | |||
| 7eb9ed90cb | |||
| ab0608a98c | |||
| c6cfc2f5c8 | |||
| b9e2f1c5fb | |||
| 62dc1181ba | |||
| d3db771a1b | |||
| 7c9325d8d1 | |||
| 62c0edde12 | |||
| 579c4bd884 | |||
| dc5fd50a54 | |||
| a3e911a174 | |||
| cf873d826a | |||
| 4a6f56e967 | |||
| 758dc74315 | |||
| 9b1fa66434 | |||
| 46486310dc | |||
| 73d320f553 | |||
| 868895c70a | |||
| 750479aa2c | |||
| 72664fc3df | |||
| 0724c0ce13 | |||
| 7ff78b4cf6 | |||
| a006a9aea9 | |||
| 58618bf2b6 | |||
| 76b1655f9b | |||
| cdcac52d81 | |||
| 3fcd25b542 | |||
| 2483376796 | |||
| 8a6c84876e | |||
| 0116c4f0d6 | |||
| e6c321c7dc | |||
| c1babb7411 | |||
| 19a0d205e6 | |||
| d477e4930e | |||
| 308ac85bba | |||
| 083953ca00 | |||
| 17c6b5976d | |||
| fc69c5300e | |||
| fa29e22ea2 | |||
| 10faaf91ba | |||
| 526e5e09a4 | |||
| a72e4f39f2 | |||
| 890e4c9acd | |||
| d331f22dbc | |||
| 8d2ac9c50e | |||
| e0b941739c | |||
| 4e1768d9ed | |||
| 0e529f75f8 | |||
| ebaac5a6b8 | |||
| 38b55fb3c5 | |||
| 6ead10f42d | |||
| 8484511296 | |||
| 6f884a6f60 | |||
| c7a057cab1 | |||
| 33dc939a6d | |||
| dea31523e3 | |||
| d357ef8957 | |||
| 153e38be10 | |||
| d19b4e70ad | |||
| d06715d9ee | |||
| 9e02ca2b3c | |||
| a3b5f29626 | |||
| 85b3b91b19 | |||
| 1f99b282b0 | |||
| 444c4f4381 | |||
| a6eac922ea | |||
| ccf80d16f2 | |||
| e889a07849 | |||
| 9a562dea24 | |||
| d6faa00ae8 | |||
| 02a4bbc348 | |||
| e65f96a9e0 | |||
| 8c70769bef | |||
| 8007a83020 | |||
| a1920d7733 | |||
| 1c52557c92 | |||
| 02d3364373 | |||
| d8f080de67 | |||
| f5168b6323 | |||
| b8c6e2e88b | |||
| 87b8d27648 | |||
| bcceea9065 | |||
| b87b4dd61a | |||
| 5e0ed6d626 | |||
| 71935d6d48 | |||
| 142289c2de | |||
| 86f7d8c5cc | |||
| 5a8d231c6d | |||
| dd5d93ae77 | |||
| 7cda4eab53 | |||
| cbea57fefe | |||
| 6f87314bbf | |||
| e72845bddf | |||
| fc0c06621b | |||
| d8e121fbc5 | |||
| fac5036d5f | |||
| c27e7fa0dd | |||
| b312a88b0a | |||
| fdabc7e5ad | |||
| 33fcc5b550 | |||
| 4ccb290dac | |||
| bdcee3fcfa | |||
| 1a305b0b45 | |||
| d9694a4644 | |||
| 448ee87ed4 | |||
| 5bc91a02f9 | |||
| 52aed93707 | |||
| e1822997b8 | |||
| 15254470a7 | |||
| 9fbd7f33fc | |||
| c941c529c3 | |||
| 143d747e66 | |||
| 6c02c896d9 | |||
| 8ae9e85a9a | |||
| 5f99586982 | |||
| f10ec9aebc | |||
| 0d2d4d5bca | |||
| e1fcc3a667 | |||
| c01c9248f5 | |||
| e428c77c47 | |||
| 870f10b8a5 | |||
| 29a3994d24 | |||
| 0f7a172c30 | |||
| ccb534c3e9 | |||
| dfcd465103 | |||
| fffd459bf9 | |||
| fd37f050b8 | |||
| 4e0f1f5ffa | |||
| 41051cf3c7 | |||
| a408b61f32 | |||
| 08b4844050 | |||
| 3a454e3eb3 | |||
| 887cf24fd7 | |||
| d8f839ed44 | |||
| 7193600a08 | |||
| e22000ed48 | |||
| d91f21a687 | |||
| 9e1556a6f7 | |||
| 6dc7aac372 | |||
| 16f3b797e4 | |||
| ced8b0935d | |||
| f58fff47d4 | |||
| 2127a36f61 | |||
| a32e285d63 | |||
| e5b40f13df | |||
| 4d74ca9d9a | |||
| 4f4a867b58 | |||
| 4c8fe6e8d9 | |||
| 912eea52d7 | |||
| 5279212b30 | |||
| 39bb0299f1 | |||
| 135b4808d0 | |||
| c4b276d2d8 | |||
| 7fa2b8be05 | |||
| 8ff6ad17ee | |||
| b6c786d2c0 | |||
| ef739331b0 | |||
| 2b0afacdf0 | |||
| 09cf485d6c | |||
| 86844c3c2b | |||
| 684baf9e59 | |||
| 2976c488b0 | |||
| e44f572725 | |||
| 7f903b422c | |||
| fc5569408d | |||
| 5701fbed20 | |||
| 4488819e69 | |||
| 61cf5f16d3 | |||
| 63cfdb4b68 | |||
| 3d7117ea77 | |||
| c68b0e9ab4 | |||
| 645989e602 | |||
| 1498f1e716 | |||
| 3a29677c79 | |||
| 6c398c58fc | |||
| a53316d256 | |||
| 03e095cd92 | |||
| 0cd6b9bea1 | |||
| 25687c2bed | |||
| ae8c0af51c | |||
| f6df735291 | |||
| 3c47e22b75 | |||
| 5af31c4a30 | |||
| c50f65c5bf | |||
| 1cbfc85352 | |||
| 4d105afcf2 | |||
| a185e341e6 | |||
| bcf21c9d7e | |||
| 2c8f909759 | |||
| af2ef7d186 | |||
| 3a1ae06345 | |||
| 8c11ebd0e7 | |||
| c9908a55c9 | |||
| e30de7b7a6 | |||
| 1079cded02 | |||
| 19aad17d4e | |||
| 655027f5db | |||
| e5cfc5d798 | |||
| 53146f252c | |||
| 2894c16638 | |||
| 1c5c501dc1 | |||
| d22a2a20f0 | |||
| d9bd18c483 | |||
| c2445fa9c6 | |||
| 3b67e83275 | |||
| 806256e9c2 | |||
| ccfeac6eae | |||
| 65b5e21464 | |||
| 0cda60301d | |||
| 006b7e5a7c | |||
| ca094f0a75 | |||
| 876758b73e | |||
| a601f565e1 | |||
| 57f6718086 | |||
| 4feba3edd5 | |||
| dbbcc6918a | |||
| 60ebc1375e | |||
| 769955eab5 | |||
| 3cff80ad8d | |||
| dc2c2c3f89 | |||
| d09b9d53a4 | |||
| 657985bf53 | |||
| efe73de70d | |||
| 79bd78c0f3 | |||
| 73bbf10170 | |||
| fa39bafe99 | |||
| 6a44b002da | |||
| 0235c6f233 | |||
| 3b3f63b990 | |||
| 7ac11973d0 | |||
| 74325280dd | |||
| 74cf811759 | |||
| fea09b6659 | |||
| d3d9b499a7 | |||
| e90f6e0446 | |||
| 696c06b6a6 | |||
| f0f69bfe48 | |||
| 60a89b8c3f | |||
| 94faf02c70 | |||
| 375b03c132 | |||
| bbbdba1083 | |||
| b605b7fd86 | |||
| 96ad3e8f71 | |||
| 5d6f0a79ad | |||
| fbf4946777 | |||
| e03fa760ef | |||
| 780d9e95a2 | |||
| 7c4bd691fe | |||
| cf3d01da06 | |||
| 5182c664d1 | |||
| 0920967cc4 | |||
| c720417487 | |||
| 7fe1848340 | |||
| 8686bf978e | |||
| 1757abf31a | |||
| 1f5acd852b | |||
| 2a7fc8042d | |||
| 38e9c100d4 | |||
| a2510a5dca | |||
| 70cca778cd | |||
| c673e5bbc6 | |||
| 8e44d4d5ab | |||
| ded4a65a60 | |||
| e8f336622a | |||
| 709c84fff9 | |||
| f1b0b6b76e | |||
| d5395848b7 | |||
| c75a1ebb25 | |||
| d2f4f53a4a | |||
| 000fa08aee | |||
| 12511940d6 | |||
| a843567b70 | |||
| 0d7f9e219e | |||
| eafd929e24 | |||
| 703be7eb29 | |||
| f6eac29592 | |||
| d5b643ceee | |||
| df7bcc1326 | |||
| 2894681c4f | |||
| e17ba624c7 | |||
| 849d57be40 | |||
| 4213ca9ab1 | |||
| 6fab82124a | |||
| c507db9005 | |||
| 7875fc9d7d | |||
| 7161f33311 | |||
| e8ff5d77c7 | |||
| 74586e7ecd | |||
| f9b589d0c6 | |||
| b8d033f11e | |||
| f0f0a93cc5 | |||
| e03c8135a9 | |||
| cf29aa8feb | |||
| 19af2c6b5c | |||
| 05202dd2a4 | |||
| bf4d96e991 | |||
| f08557f2fd | |||
| 7fd794c563 | |||
| be49ef0bb8 | |||
| 383f54a6c9 | |||
| 086d370704 | |||
| 1cfebcf05e | |||
| b8cdb21754 | |||
| c2ba6b40b8 | |||
| 7b42c252ea | |||
| 1d046b6f61 | |||
| d106609d89 | |||
| 36808a60ac | |||
| d0d454f696 | |||
| bd785a9309 | |||
| 18ae7b8925 | |||
| b102e79f8e | |||
| 24726d533d | |||
| 8c2ce9a7d5 | |||
| 8e6302d003 | |||
| 97fc19591c | |||
| a40cd9fae4 | |||
| 630ab8f869 | |||
| 060502aedd | |||
| 4f4cda7f7d | |||
| 876fda63ec | |||
| 7542cdeaca | |||
| 41ba282ed6 | |||
| ca9b04a0fa | |||
| e3013ae067 | |||
| ed4bc8e8c5 | |||
| bfebfa1f00 | |||
| 3b7e959dd7 | |||
| 148dfc53a4 | |||
| bb4bd4dffc | |||
| 66be5a2ca6 | |||
| fce0253b5a | |||
| e5e260eaa1 | |||
| ac19f91eb8 | |||
| 573a601127 | |||
| 12dbbca15e | |||
| 3749f8d674 | |||
| d796247ddf | |||
| a2ee5d67f3 | |||
| 1f2bb0d89b | |||
| 61b4a6ea29 | |||
| 0e68265e12 | |||
| 5ad0278f9e | |||
| de89de9558 | |||
| 13f3356963 | |||
| adf56ad8fd | |||
| d292d2ee9c | |||
| 8846506292 | |||
| e423f69082 | |||
| 673779eab9 | |||
| ec5811dc3b | |||
| eaa1b213b9 | |||
| 1f6bb6d3cc | |||
| 498f728cbb | |||
| 21f24cc596 | |||
| 5f8dd67051 | |||
| e9da2eb3cb | |||
| 6b1af917fc | |||
| 628f367849 | |||
| 52b39acf78 | |||
| bb91ac1c56 | |||
| 9f64711113 | |||
| 597186d9c3 | |||
| 253df2c8db | |||
| 55757a5605 | |||
| 73cea64c9f | |||
| bc8e4a5c47 | |||
| 321cf75fb7 | |||
| 13f96b0a57 | |||
| e78e303314 | |||
| 2556ae9d70 | |||
| b8e65a2f7f | |||
| 7c32e4d63f | |||
| 4dbe8a8238 | |||
| c697e2ea99 | |||
| bf6f885b98 | |||
| c43a1b15af | |||
| c6389270f9 | |||
| c3add3b41c | |||
| 7d7d736df3 | |||
| 858b63e1d5 | |||
| 9af24a56f9 | |||
| 57e06a7070 | |||
| f0a773ee59 | |||
| a2a7acc4bd | |||
| e8e113a8c0 | |||
| 120ec5cea3 | |||
| d02b4de5d3 | |||
| 2682d7bc6d | |||
| 9530006e70 | |||
| 03fbc35fb7 | |||
| 3f723323d0 | |||
| ecac3f9d4a | |||
| 1b0a7cb9b8 | |||
| 195cd17d02 | |||
| 4004152a7a | |||
| 0f97c03487 | |||
| d8ff67d088 | |||
| 35600fdfa0 | |||
| 6cf386ee87 | |||
| 9e87f92c64 | |||
| f046482761 | |||
| 55a183bde4 | |||
| 57fd5f4f2b | |||
| dde1cf3194 | |||
| 622cb43a48 | |||
| 61b15d9f4d | |||
| be4ef2e7e3 | |||
| 9f54a19801 | |||
| 39cd11f504 | |||
| b63a67dea0 | |||
| 39af766ced | |||
| a74bae0447 | |||
| f320e32b7e | |||
| e0c2ccd99b | |||
| 05e3ed63a0 | |||
| 5513b21936 | |||
| 1108b58951 | |||
| 185b4e05c0 | |||
| 4b45555edd | |||
| 6e219cd834 | |||
| a2f37722ae | |||
| 8b1cd80700 | |||
| 427885681d | |||
| daab5abc92 | |||
| 6e5df1a4c0 | |||
| c307d6c61b | |||
| c528b22cdd | |||
| 418b42e5bf | |||
| 4a11309344 | |||
| f8bee4941a | |||
| 39029555cb | |||
| 7e4bfbc7c3 | |||
| 1a4cbb7023 | |||
| c27bb26abc | |||
| 5fb9b12d5e | |||
| a320bec089 | |||
| 6d1d3de620 | |||
| f08e662878 | |||
| c3a929646c | |||
| da31011b30 | |||
| 13c59febbf | |||
| 4e17f85fe6 | |||
| 10dcacdb0a | |||
| 35fa6cedac | |||
| 1adb02b56b | |||
| fad8c35847 | |||
| 7204f156c2 | |||
| 330e4018c3 | |||
| 83991ae2a7 | |||
| 6e5aa1fd93 | |||
| 4ace26ec3f | |||
| d9380ce3bc | |||
| 605c2addcf | |||
| e6d474adae | |||
| a81ebd6632 | |||
| 7aa6c6e167 | |||
| cf57b3d09c | |||
| f2a5a143b7 | |||
| bac365ef12 | |||
| aff3c16c08 | |||
| 5ebd096f16 | |||
| a87d54355a |
+4
-3
@@ -6,9 +6,7 @@ conftest.*
|
||||
config.settings
|
||||
extras/pcre2*
|
||||
extras/c-ares*
|
||||
extras/regexp*
|
||||
config.status
|
||||
extras/tre*
|
||||
extras/ircdcron/ircd.cron
|
||||
extras/ircdcron/ircdchk
|
||||
src/modules/snomasks/Makefile
|
||||
@@ -33,7 +31,7 @@ tags
|
||||
server.cert.pem
|
||||
server.key.pem
|
||||
server.req.pem
|
||||
ssl.rnd
|
||||
tls.rnd
|
||||
|
||||
# Ignores for platform stuff
|
||||
.DS_Store
|
||||
@@ -72,3 +70,6 @@ xcuserdata
|
||||
src/macosx/build/
|
||||
DerivedData
|
||||
src/macosx/pods/
|
||||
|
||||
# Doxygen generated files
|
||||
doc/doxygen/
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
[submodule "extras/tests/ircfly"]
|
||||
path = extras/tests/ircfly
|
||||
url = https://github.com/unrealircd/ircfly.git
|
||||
[submodule "extras/tests/functional-tests"]
|
||||
path = extras/tests/functional-tests
|
||||
url = https://github.com/unrealircd/unrealircd-tests-old.git
|
||||
-28
@@ -1,28 +0,0 @@
|
||||
language: c
|
||||
os: linux
|
||||
dist: xenial
|
||||
compiler:
|
||||
- clang
|
||||
- gcc
|
||||
script: extras/build-tests/nix/build $BUILDCONFIG
|
||||
env:
|
||||
- BUILDCONFIG=""
|
||||
- BUILDCONFIG="system-cares"
|
||||
- BUILDCONFIG="system-cares system-curl"
|
||||
- BUILDCONFIG="local-curl"
|
||||
matrix:
|
||||
include:
|
||||
- os: osx
|
||||
env: BUILDCONFIG=""
|
||||
- os: osx
|
||||
env: BUILDCONFIG="system-cares"
|
||||
- os: osx
|
||||
env: BUILDCONFIG="system-cares system-curl"
|
||||
- os: osx
|
||||
env: BUILDCONFIG="local-curl"
|
||||
- env: BUILDCONFIG="libressl-27"
|
||||
- env: BUILDCONFIG="libressl-28"
|
||||
- env: BUILDCONFIG="libressl-29"
|
||||
- env: BUILDCONFIG="openssl-102"
|
||||
- env: BUILDCONFIG="openssl-110"
|
||||
- env: BUILDCONFIG="openssl-111"
|
||||
+80
-89
@@ -34,11 +34,11 @@ FROMDOS=/home/cmunk/bin/4dos
|
||||
#
|
||||
|
||||
#XCFLAGS=-O -g -export-dynamic
|
||||
IRCDLIBS=@IRCDLIBS@ @TRE_LIBS@ @PCRE2_LIBS@ @ARGON2_LIBS@ @CARES_LIBS@ @PTHREAD_LIBS@
|
||||
IRCDLIBS=@IRCDLIBS@ @PCRE2_LIBS@ @ARGON2_LIBS@ @CARES_LIBS@ @SODIUM_LIBS@ @PTHREAD_LIBS@
|
||||
CRYPTOLIB=@CRYPTOLIB@
|
||||
OPENSSLINCLUDES=
|
||||
|
||||
XCFLAGS=@PTHREAD_CFLAGS@ @TRE_CFLAGS@ @PCRE2_CFLAGS@ @ARGON2_CFLAGS@ @CARES_CFLAGS@ @CFLAGS@ @HARDEN_CFLAGS@ @CPPFLAGS@
|
||||
XCFLAGS=@PTHREAD_CFLAGS@ @PCRE2_CFLAGS@ @ARGON2_CFLAGS@ @CARES_CFLAGS@ @SODIUM_CFLAGS@ @CFLAGS@ @HARDEN_CFLAGS@ @CPPFLAGS@
|
||||
#
|
||||
# use the following on MIPS:
|
||||
#CFLAGS= -systype bsd43 -DSYSTYPE_BSD43 -I$(INCLUDEDIR)
|
||||
@@ -91,25 +91,12 @@ IRCDMODE = 711
|
||||
|
||||
URL=@URL@
|
||||
|
||||
# [CHANGEME]
|
||||
# If you get a link-time error dealing with strtoul, comment out
|
||||
# this line.
|
||||
# STRTOUL= strtoul.o
|
||||
STRTOUL=@STRTOUL@
|
||||
|
||||
# [CHANGEME]
|
||||
# If you get crashes around a specific number of clients, and that
|
||||
# client load comes close or a little over the system-defined value of
|
||||
# FD_SETSIZE, override it here and see what happens. You may override
|
||||
# the system FD_SETSIZE by setting the FD_SETSIZE Makefile variable to
|
||||
# -DFD_SETSIZE=<some number>.
|
||||
FD_SETSIZE=@FD_SETSIZE@
|
||||
|
||||
# Where is your openssl binary
|
||||
OPENSSLPATH=@OPENSSLPATH@
|
||||
|
||||
CFLAGS=-I$(INCLUDEDIR) $(XCFLAGS) $(FD_SETSIZE)
|
||||
LDFLAGS=@LDFLAGS_PRIVATELIBS@ @HARDEN_LDFLAGS@
|
||||
CFLAGS=-I$(INCLUDEDIR) $(XCFLAGS)
|
||||
XLDFLAGS=@LDFLAGS_PRIVATELIBS@ @HARDEN_LDFLAGS@ @LDFLAGS@
|
||||
LDFLAGS=$(XLDFLAGS)
|
||||
|
||||
SHELL=/bin/sh
|
||||
SUBDIRS=src
|
||||
@@ -126,7 +113,7 @@ MAKEARGS = 'CFLAGS=${CFLAGS}' 'CC=${CC}' 'IRCDLIBS=${IRCDLIBS}' \
|
||||
'RES=${RES}' 'BINDIR=${BINDIR}' 'INSTALL=${INSTALL}' \
|
||||
'INCLUDEDIR=${INCLUDEDIR}' \
|
||||
'RM=${RM}' 'CP=${CP}' 'TOUCH=${TOUCH}' \
|
||||
'SHELL=${SHELL}' 'STRTOUL=${STRTOUL}' \
|
||||
'SHELL=${SHELL}' \
|
||||
'CRYPTOLIB=${CRYPTOLIB}' \
|
||||
'CRYPTOINCLUDES=${CRYPTOINCLUDES}' \
|
||||
'URL=${URL}'
|
||||
@@ -165,7 +152,7 @@ cleandir: clean
|
||||
rm -rf include/setup.h Makefile Settings
|
||||
|
||||
distclean: cleandir
|
||||
rm -rf extras/*.bak extras/regexp extras/*.tar extras/c-ares
|
||||
rm -rf extras/*.bak extras/*.tar extras/c-ares
|
||||
rm -rf extras/c-ares-* extras/tre-*
|
||||
rm -rf config.log config.settings *.pem ircd.* unrealircd
|
||||
rm -rf Makefile config.status
|
||||
@@ -177,58 +164,75 @@ depend:
|
||||
done
|
||||
|
||||
install: all
|
||||
$(INSTALL) -m 0700 -d @BINDIR@
|
||||
$(INSTALL) -m 0700 src/ircd @BINDIR@/unrealircd
|
||||
$(INSTALL) -m 0700 -d @DOCDIR@
|
||||
$(INSTALL) -m 0600 doc/Authors doc/coding-guidelines doc/tao.of.irc @DOCDIR@
|
||||
$(INSTALL) -m 0700 -d @CONFDIR@
|
||||
$(INSTALL) -m 0600 doc/conf/*.default.conf @CONFDIR@
|
||||
$(INSTALL) -m 0600 doc/conf/*.optional.conf @CONFDIR@
|
||||
-@if [ ! -f "@CONFDIR@/spamfilter.conf" ] ; then \
|
||||
$(INSTALL) -m 0600 doc/conf/spamfilter.conf @CONFDIR@ ; \
|
||||
$(INSTALL) -m 0700 -d $(DESTDIR)@BINDIR@
|
||||
$(INSTALL) -m 0700 src/ircd $(DESTDIR)@BINDIR@/unrealircd
|
||||
$(INSTALL) -m 0700 extras/unrealircd-upgrade-script $(DESTDIR)@BINDIR@/unrealircd-upgrade-script
|
||||
$(INSTALL) -m 0700 -d $(DESTDIR)@DOCDIR@
|
||||
$(INSTALL) -m 0600 doc/Authors doc/coding-guidelines doc/tao.of.irc doc/KEYS doc/RELEASE-NOTES.md $(DESTDIR)@DOCDIR@
|
||||
$(INSTALL) -m 0700 -d $(DESTDIR)@CONFDIR@
|
||||
$(INSTALL) -m 0600 doc/conf/*.default.conf $(DESTDIR)@CONFDIR@
|
||||
$(INSTALL) -m 0600 doc/conf/*.optional.conf $(DESTDIR)@CONFDIR@
|
||||
-@if [ ! -f "$(DESTDIR)@CONFDIR@/modules.sources.list" ] ; then \
|
||||
$(INSTALL) -m 0600 doc/conf/modules.sources.list $(DESTDIR)@CONFDIR@ ; \
|
||||
fi
|
||||
-@extras/patches/patch_spamfilter_conf "@CONFDIR@"
|
||||
-@if [ ! -f "@CONFDIR@/badwords.conf" ] ; then \
|
||||
$(INSTALL) -m 0600 doc/conf/badwords.conf @CONFDIR@ ; \
|
||||
-@if [ ! -f "$(DESTDIR)@CONFDIR@/spamfilter.conf" ] ; then \
|
||||
$(INSTALL) -m 0600 doc/conf/spamfilter.conf $(DESTDIR)@CONFDIR@ ; \
|
||||
fi
|
||||
-@if [ ! -f "@CONFDIR@/dccallow.conf" ] ; then \
|
||||
$(INSTALL) -m 0600 doc/conf/dccallow.conf @CONFDIR@ ; \
|
||||
-@extras/patches/patch_spamfilter_conf "$(DESTDIR)@CONFDIR@"
|
||||
-@if [ ! -f "$(DESTDIR)@CONFDIR@/badwords.conf" ] ; then \
|
||||
$(INSTALL) -m 0600 doc/conf/badwords.conf $(DESTDIR)@CONFDIR@ ; \
|
||||
fi
|
||||
$(INSTALL) -m 0700 -d @CONFDIR@/aliases
|
||||
$(INSTALL) -m 0600 doc/conf/aliases/*.conf @CONFDIR@/aliases
|
||||
$(INSTALL) -m 0700 -d @CONFDIR@/help
|
||||
$(INSTALL) -m 0600 doc/conf/help/*.conf @CONFDIR@/help
|
||||
$(INSTALL) -m 0700 -d @CONFDIR@/examples
|
||||
$(INSTALL) -m 0600 doc/conf/examples/*.conf @CONFDIR@/examples
|
||||
$(INSTALL) -m 0700 -d @CONFDIR@/ssl
|
||||
$(INSTALL) -m 0600 doc/conf/ssl/curl-ca-bundle.crt @CONFDIR@/ssl
|
||||
$(INSTALL) -m 0700 unrealircd @SCRIPTDIR@
|
||||
$(INSTALL) -m 0700 -d @MODULESDIR@
|
||||
$(INSTALL) -m 0700 src/modules/*.so @MODULESDIR@
|
||||
$(INSTALL) -m 0700 -d @MODULESDIR@/usermodes
|
||||
$(INSTALL) -m 0700 src/modules/usermodes/*.so @MODULESDIR@/usermodes
|
||||
$(INSTALL) -m 0700 -d @MODULESDIR@/chanmodes
|
||||
$(INSTALL) -m 0700 src/modules/chanmodes/*.so @MODULESDIR@/chanmodes
|
||||
$(INSTALL) -m 0700 -d @MODULESDIR@/snomasks
|
||||
$(INSTALL) -m 0700 src/modules/snomasks/*.so @MODULESDIR@/snomasks
|
||||
$(INSTALL) -m 0700 -d @MODULESDIR@/extbans
|
||||
$(INSTALL) -m 0700 src/modules/extbans/*.so @MODULESDIR@/extbans
|
||||
$(INSTALL) -m 0700 -d @MODULESDIR@/cap
|
||||
$(INSTALL) -m 0700 src/modules/cap/*.so @MODULESDIR@/cap
|
||||
$(INSTALL) -m 0700 -d @MODULESDIR@/third
|
||||
@#Ugly stuff to detect 0 files in this directory:
|
||||
@+for f in src/modules/third/*.so; do \
|
||||
[ -e $f ] && $(INSTALL) -m 0700 src/modules/third/*.so @MODULESDIR@/third || echo; \
|
||||
done
|
||||
$(INSTALL) -m 0700 -d @TMPDIR@
|
||||
$(INSTALL) -m 0700 -d @CACHEDIR@
|
||||
$(INSTALL) -m 0700 -d @PERMDATADIR@
|
||||
$(INSTALL) -m 0700 -d @LOGDIR@
|
||||
-@if [ ! -f "@CONFDIR@/ssl/server.cert.pem" ] ; then \
|
||||
$(INSTALL) -m 0600 server.req.pem @CONFDIR@/ssl ; \
|
||||
$(INSTALL) -m 0600 server.key.pem @CONFDIR@/ssl ; \
|
||||
$(INSTALL) -m 0600 server.cert.pem @CONFDIR@/ssl ; \
|
||||
-@if [ ! -f "$(DESTDIR)@CONFDIR@/dccallow.conf" ] ; then \
|
||||
$(INSTALL) -m 0600 doc/conf/dccallow.conf $(DESTDIR)@CONFDIR@ ; \
|
||||
fi
|
||||
$(INSTALL) -m 0700 -d $(DESTDIR)@CONFDIR@/aliases
|
||||
$(INSTALL) -m 0600 doc/conf/aliases/*.conf $(DESTDIR)@CONFDIR@/aliases
|
||||
$(INSTALL) -m 0700 -d $(DESTDIR)@CONFDIR@/help
|
||||
$(INSTALL) -m 0600 doc/conf/help/*.conf $(DESTDIR)@CONFDIR@/help
|
||||
$(INSTALL) -m 0700 -d $(DESTDIR)@CONFDIR@/examples
|
||||
$(INSTALL) -m 0600 doc/conf/examples/*.conf $(DESTDIR)@CONFDIR@/examples
|
||||
$(INSTALL) -m 0700 unrealircd $(DESTDIR)@SCRIPTDIR@
|
||||
$(INSTALL) -m 0700 -d $(DESTDIR)@MODULESDIR@
|
||||
@rm -f $(DESTDIR)@MODULESDIR@/*.so 1>/dev/null 2>&1
|
||||
$(INSTALL) -m 0700 src/modules/*.so $(DESTDIR)@MODULESDIR@
|
||||
$(INSTALL) -m 0700 -d $(DESTDIR)@MODULESDIR@/usermodes
|
||||
@rm -f $(DESTDIR)@MODULESDIR@/usermodes/*.so 1>/dev/null 2>&1
|
||||
$(INSTALL) -m 0700 src/modules/usermodes/*.so $(DESTDIR)@MODULESDIR@/usermodes
|
||||
$(INSTALL) -m 0700 -d $(DESTDIR)@MODULESDIR@/chanmodes
|
||||
@rm -f $(DESTDIR)@MODULESDIR@/chanmodes/*.so 1>/dev/null 2>&1
|
||||
$(INSTALL) -m 0700 src/modules/chanmodes/*.so $(DESTDIR)@MODULESDIR@/chanmodes
|
||||
$(INSTALL) -m 0700 -d $(DESTDIR)@MODULESDIR@/snomasks
|
||||
@rm -f $(DESTDIR)@MODULESDIR@/snomasks/*.so 1>/dev/null 2>&1
|
||||
$(INSTALL) -m 0700 src/modules/snomasks/*.so $(DESTDIR)@MODULESDIR@/snomasks
|
||||
$(INSTALL) -m 0700 -d $(DESTDIR)@MODULESDIR@/extbans
|
||||
@rm -f $(DESTDIR)@MODULESDIR@/extbans/*.so 1>/dev/null 2>&1
|
||||
$(INSTALL) -m 0700 src/modules/extbans/*.so $(DESTDIR)@MODULESDIR@/extbans
|
||||
@#If the conf/ssl directory exists then rename it here to conf/tls
|
||||
@#and add a symlink for backwards compatibility (so that f.e. certbot
|
||||
@#doesn't randomly fail after an upgrade to U5).
|
||||
-@if [ -d "$(DESTDIR)@CONFDIR@/ssl" ] ; then \
|
||||
mv "$(DESTDIR)@CONFDIR@/ssl" "$(DESTDIR)@CONFDIR@/tls" ; \
|
||||
ln -s "$(DESTDIR)@CONFDIR@/tls" "$(DESTDIR)@CONFDIR@/ssl" ; \
|
||||
fi
|
||||
$(INSTALL) -m 0700 -d $(DESTDIR)@CONFDIR@/tls
|
||||
$(INSTALL) -m 0600 doc/conf/tls/curl-ca-bundle.crt $(DESTDIR)@CONFDIR@/tls
|
||||
@# delete modules/cap directory, to avoid confusing with U4 to U5 upgrades:
|
||||
rm -rf $(DESTDIR)@MODULESDIR@/cap
|
||||
$(INSTALL) -m 0700 -d $(DESTDIR)@MODULESDIR@/third
|
||||
@rm -f $(DESTDIR)@MODULESDIR@/third/*.so 1>/dev/null 2>&1
|
||||
@#This step can fail with zero files, so we ignore exit status:
|
||||
-$(INSTALL) -m 0700 src/modules/third/*.so $(DESTDIR)@MODULESDIR@/third
|
||||
$(INSTALL) -m 0700 -d $(DESTDIR)@TMPDIR@
|
||||
$(INSTALL) -m 0700 -d $(DESTDIR)@CACHEDIR@
|
||||
$(INSTALL) -m 0700 -d $(DESTDIR)@PERMDATADIR@
|
||||
$(INSTALL) -m 0700 -d $(DESTDIR)@LOGDIR@
|
||||
-@if [ ! -f "$(DESTDIR)@CONFDIR@/tls/server.cert.pem" ] ; then \
|
||||
$(INSTALL) -m 0600 server.req.pem $(DESTDIR)@CONFDIR@/tls ; \
|
||||
$(INSTALL) -m 0600 server.key.pem $(DESTDIR)@CONFDIR@/tls ; \
|
||||
$(INSTALL) -m 0600 server.cert.pem $(DESTDIR)@CONFDIR@/tls ; \
|
||||
fi
|
||||
@rm -f $(DESTDIR)@SCRIPTDIR@/source
|
||||
ln -s @BUILDDIR@ $(DESTDIR)@SCRIPTDIR@/source
|
||||
@echo ''
|
||||
@echo '* UnrealIRCd is now installed.'
|
||||
|
||||
@@ -254,32 +258,19 @@ install: all
|
||||
echo 'Again, be sure to change to the @SCRIPTDIR@ directory!' ; \
|
||||
fi
|
||||
|
||||
### TODO: all the stuff below ;) ###
|
||||
pem: src/ssl.cnf
|
||||
@echo "Generating certificate request .. "
|
||||
pem: extras/tls.cnf
|
||||
@echo "Generating server key..."
|
||||
$(OPENSSLPATH) ecparam -out server.key.pem -name secp384r1 -genkey
|
||||
@echo "Generating certificate request..."
|
||||
$(OPENSSLPATH) req -new \
|
||||
-config src/ssl.cnf -sha256 -out server.req.pem \
|
||||
-keyout server.key.pem -nodes
|
||||
@echo "Generating self-signed certificate .. "
|
||||
-config extras/tls.cnf -sha256 -out server.req.pem \
|
||||
-key server.key.pem -nodes
|
||||
@echo "Generating self-signed certificate..."
|
||||
$(OPENSSLPATH) req -x509 -days 3650 -sha256 -in server.req.pem \
|
||||
-key server.key.pem -out server.cert.pem
|
||||
@echo "Generating fingerprint .."
|
||||
$(OPENSSLPATH) x509 -subject -dates -sha256 -fingerprint -noout \
|
||||
-in server.cert.pem
|
||||
@echo "Setting o-rwx & g-rwx for files... "
|
||||
@echo "Setting permissions on server.*.pem files..."
|
||||
chmod o-rwx server.req.pem server.key.pem server.cert.pem
|
||||
chmod g-rwx server.req.pem server.key.pem server.cert.pem
|
||||
@echo "Done!. If you want to encrypt the private key, run"
|
||||
@echo "make encpem"
|
||||
|
||||
encpem: server.key.pem
|
||||
@echo "Encrypting server key .."
|
||||
$(OPENSSLPATH) rsa -in server.key.pem -out server.key.c.pem -des3
|
||||
-@if [ -f server.key.c.pem ] ; then \
|
||||
echo "Replacing unencrypted with encrypted .." ; \
|
||||
cp server.key.c.pem server.key.pem ; \
|
||||
rm -f server.key.c.pem ; \
|
||||
fi
|
||||
|
||||
Makefile: config.status Makefile.in
|
||||
./config.status
|
||||
|
||||
+1130
File diff suppressed because it is too large
Load Diff
@@ -1,13 +1,11 @@
|
||||
[](https://travis-ci.org/unrealircd/unrealircd)
|
||||
[](https://ci.appveyor.com/project/syzop/unrealircd/branch/unreal42)
|
||||
[](https://twitter.com/Unreal_IRCd)
|
||||
|
||||
## About UnrealIRCd
|
||||
UnrealIRCd is an Open Source IRC Server, serving thousands of networks since 1999.
|
||||
It runs on Linux, OS X and Windows and is currently the most widely deployed IRCd
|
||||
with a market share of over 50%. UnrealIRCd is a highly advanced IRCd with a strong
|
||||
with a market share of 42%. UnrealIRCd is a highly advanced IRCd with a strong
|
||||
focus on modularity, an advanced and highly configurable configuration file.
|
||||
Key features include SSL, cloaking, its advanced anti-flood and anti-spam systems,
|
||||
Key features include SSL/TLS, cloaking, its advanced anti-flood and anti-spam systems,
|
||||
swear filtering and module support. We are also particularly proud on our extensive
|
||||
online documentation.
|
||||
|
||||
@@ -22,7 +20,10 @@ Simply download the UnrealIRCd Windows version from www.unrealircd.org
|
||||
Alternatively you can compile UnrealIRCd for Windows yourself. However this is not straightforward and thus not recommended.
|
||||
|
||||
#### *BSD/Linux/macOS
|
||||
First you must compile the IRCd:
|
||||
Do the following steps under a separate account for running UnrealIRCd,
|
||||
[do NOT compile or run as root](https://www.unrealircd.org/docs/Do_not_run_as_root).
|
||||
|
||||
### Step 1: Compile the IRCd
|
||||
|
||||
* Run `./Config`
|
||||
* Run `make`
|
||||
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
# Security Policy
|
||||
|
||||
## Supported Versions
|
||||
* The latest *stable* release of the 5.x branch
|
||||
|
||||
See [UnrealIRCd releases](https://www.unrealircd.org/docs/UnrealIRCd_releases) for information on older versions and End Of Life dates.
|
||||
|
||||
## Reporting a Vulnerability
|
||||
|
||||
Please report issues on the [bug tracker](https://bugs.unrealircd.org) and in the bug submit form **set the 'View Status' to 'private'**.
|
||||
|
||||
Do not report security issues on the forums or in a public IRC channel such as #unreal-support.
|
||||
If you insist on e-mail then you can use syzop@unrealircd.org or security@unrealircd.org. Again, the bug tracker is preferred.
|
||||
|
||||
If you are *unsure* if something is a security issue, then report it at the bug tracker as a 'private' bug anyway. Better safe than sorry.
|
||||
Do not ask around in public channels or forums.
|
||||
|
||||
You should get a response or at least an acknowledgement soon. If you don't hear back within 24 hours, then please try to contact us again.
|
||||
|
||||
## Full policy
|
||||
See https://www.unrealircd.org/docs/Policy:_Handling_of_security_issues for full information.
|
||||
@@ -1,10 +0,0 @@
|
||||
version: 4.2.x-devbuild-{build}
|
||||
environment:
|
||||
matrix:
|
||||
- APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
|
||||
TARGET: "Visual Studio 2017"
|
||||
SHORTNAME: "vs2017"
|
||||
init:
|
||||
- cmd: git config --global core.autocrlf true
|
||||
build_script:
|
||||
- cmd: call extras\\build-tests\\windows\\build.bat
|
||||
+90
-1
@@ -145,7 +145,7 @@ AC_ARG_ENABLE(ssl,
|
||||
[enable_ssl=no])
|
||||
AS_IF([test $enable_ssl != "no"],
|
||||
[
|
||||
AC_MSG_CHECKING([for openssl])
|
||||
AC_MSG_CHECKING([for OpenSSL])
|
||||
for dir in $enable_ssl /usr/local/opt/openssl /usr/local/ssl /usr/lib/ssl /usr/ssl /usr/pkg /usr/sfw /usr/local /usr; do
|
||||
ssldir="$dir"
|
||||
if test -f "$dir/include/openssl/ssl.h"; then
|
||||
@@ -179,7 +179,36 @@ AS_IF([test $enable_ssl != "no"],
|
||||
CRYPTOLIB="-lssl -lcrypto";
|
||||
if test ! "$ssldir" = "/usr" ; then
|
||||
LDFLAGS="$LDFLAGS -L$ssldir/lib";
|
||||
dnl check if binary path exists
|
||||
if test -f "$ssldir/bin/openssl"; then
|
||||
OPENSSLPATH="$ssldir/bin/openssl";
|
||||
fi
|
||||
fi
|
||||
dnl linking require -ldl?
|
||||
AC_MSG_CHECKING([OpenSSL linking with -ldl])
|
||||
SAVE_LIBS="$LIBS"
|
||||
LIBS="$LIBS $CRYPTOLIB -ldl"
|
||||
AC_TRY_LINK([#include <openssl/err.h>], [ERR_clear_error();],
|
||||
[
|
||||
AC_MSG_RESULT(yes)
|
||||
CRYPTOLIB="$CRYPTOLIB -ldl"
|
||||
],
|
||||
[
|
||||
AC_MSG_RESULT(no)
|
||||
|
||||
dnl linking require both -ldl and -lpthread?
|
||||
AC_MSG_CHECKING([OpenSSL linking with -ldl and -lpthread])
|
||||
LIBS="$SAVE_LIBS $CRYPTOLIB -ldl -lpthread"
|
||||
AC_TRY_LINK([#include <openssl/err.h>], [ERR_clear_error();],
|
||||
[
|
||||
AC_MSG_RESULT(yes)
|
||||
CRYPTOLIB="$CRYPTOLIB -ldl -lpthread"
|
||||
],
|
||||
[
|
||||
AC_MSG_RESULT(no)
|
||||
])
|
||||
])
|
||||
LIBS="$SAVE_LIBS"
|
||||
fi
|
||||
])
|
||||
])
|
||||
@@ -223,3 +252,63 @@ else
|
||||
AC_MSG_RESULT([no])
|
||||
fi
|
||||
])
|
||||
|
||||
AC_DEFUN([CHECK_SSL_CTX_SET_SECURITY_LEVEL],
|
||||
[
|
||||
AC_MSG_CHECKING([for SSL_CTX_set_security_level in SSL library])
|
||||
AC_LANG_PUSH(C)
|
||||
SAVE_LIBS="$LIBS"
|
||||
LIBS="$LIBS $CRYPTOLIB"
|
||||
AC_TRY_LINK([#include <openssl/ssl.h>],
|
||||
[SSL_CTX *ctx = NULL; SSL_CTX_set_security_level(ctx, 1);],
|
||||
has_function=1,
|
||||
has_function=0)
|
||||
LIBS="$SAVE_LIBS"
|
||||
AC_LANG_POP(C)
|
||||
if test $has_function = 1; then
|
||||
AC_MSG_RESULT([yes])
|
||||
AC_DEFINE([HAS_SSL_CTX_SET_SECURITY_LEVEL], [], [Define if ssl library has SSL_CTX_set_security_level])
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
fi
|
||||
])
|
||||
|
||||
AC_DEFUN([CHECK_ASN1_TIME_diff],
|
||||
[
|
||||
AC_MSG_CHECKING([for ASN1_TIME_diff in SSL library])
|
||||
AC_LANG_PUSH(C)
|
||||
SAVE_LIBS="$LIBS"
|
||||
LIBS="$LIBS $CRYPTOLIB"
|
||||
AC_TRY_LINK([#include <openssl/ssl.h>],
|
||||
[int one, two; ASN1_TIME_diff(&one, &two, NULL, NULL);],
|
||||
has_function=1,
|
||||
has_function=0)
|
||||
LIBS="$SAVE_LIBS"
|
||||
AC_LANG_POP(C)
|
||||
if test $has_function = 1; then
|
||||
AC_MSG_RESULT([yes])
|
||||
AC_DEFINE([HAS_ASN1_TIME_diff], [], [Define if ssl library has ASN1_TIME_diff])
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
fi
|
||||
])
|
||||
|
||||
AC_DEFUN([CHECK_X509_get0_notAfter],
|
||||
[
|
||||
AC_MSG_CHECKING([for X509_get0_notAfter in SSL library])
|
||||
AC_LANG_PUSH(C)
|
||||
SAVE_LIBS="$LIBS"
|
||||
LIBS="$LIBS $CRYPTOLIB"
|
||||
AC_TRY_LINK([#include <openssl/ssl.h>],
|
||||
[X509_get0_notAfter(NULL);],
|
||||
has_function=1,
|
||||
has_function=0)
|
||||
LIBS="$SAVE_LIBS"
|
||||
AC_LANG_POP(C)
|
||||
if test $has_function = 1; then
|
||||
AC_MSG_RESULT([yes])
|
||||
AC_DEFINE([HAS_X509_get0_notAfter], [], [Define if ssl library has X509_get0_notAfter])
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
fi
|
||||
])
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
#!/bin/bash
|
||||
echo "Regenerating 'configure' and headers..."
|
||||
echo "NOTE: Normally only UnrealIRCd developers run this command!!"
|
||||
|
||||
cd "$(dirname "${0}")"
|
||||
|
||||
|
||||
+153
-355
@@ -2,13 +2,12 @@ dnl Process this file with autoconf to produce a configure script.
|
||||
|
||||
dnl When updating the version, remember to update the following files
|
||||
dnl appropriately:
|
||||
dnl
|
||||
dnl include/win32/setup.h
|
||||
dnl src/win32/unrealinst.iss
|
||||
dnl .CHANGES.NEW
|
||||
dnl include/windows/setup.h
|
||||
dnl src/windows/unrealinst.iss
|
||||
dnl doc/Config.header
|
||||
dnl src/version.c.SH
|
||||
|
||||
AC_INIT([unrealircd], [4.2.4.1], [https://bugs.unrealircd.org/], [], [https://unrealircd.org/])
|
||||
AC_INIT([unrealircd], [5.0.10-git], [https://bugs.unrealircd.org/], [], [https://unrealircd.org/])
|
||||
AC_CONFIG_SRCDIR([src/ircd.c])
|
||||
AC_CONFIG_HEADER([include/setup.h])
|
||||
AC_CONFIG_AUX_DIR([autoconf])
|
||||
@@ -23,26 +22,25 @@ dnl Save CFLAGS, use this when building the libraries like c-ares
|
||||
orig_cflags="$CFLAGS"
|
||||
|
||||
dnl Save build directory early on (used in our m4 macros too)
|
||||
BUILDDIR="`pwd`"
|
||||
AC_SUBST(BUILDDIR)
|
||||
BUILDDIR_NOW="`pwd`"
|
||||
|
||||
dnl Calculate the versions. Perhaps the use of expr is a little too extravagant
|
||||
# Generation version number (e.g.: X in X.Y.Z)
|
||||
UNREAL_VERSION_GENERATION=["4"]
|
||||
UNREAL_VERSION_GENERATION=["5"]
|
||||
AC_DEFINE_UNQUOTED([UNREAL_VERSION_GENERATION], [$UNREAL_VERSION_GENERATION], [Generation version number (e.g.: X for X.Y.Z)])
|
||||
|
||||
# Major version number (e.g.: Y in X.Y.Z)
|
||||
UNREAL_VERSION_MAJOR=["2"]
|
||||
UNREAL_VERSION_MAJOR=["0"]
|
||||
AC_DEFINE_UNQUOTED([UNREAL_VERSION_MAJOR], [$UNREAL_VERSION_MAJOR], [Major version number (e.g.: Y for X.Y.Z)])
|
||||
|
||||
# Minor version number (e.g.: Z in X.Y.Z)
|
||||
UNREAL_VERSION_MINOR=["4"]
|
||||
UNREAL_VERSION_MINOR=["10"]
|
||||
AC_DEFINE_UNQUOTED([UNREAL_VERSION_MINOR], [$UNREAL_VERSION_MINOR], [Minor version number (e.g.: Z for X.Y.Z)])
|
||||
|
||||
# The version suffix such as a beta marker or release candidate
|
||||
# marker. (e.g.: -rcX for unrealircd-3.2.9-rcX). This macro is a
|
||||
# string instead of an integer because it contains arbitrary data.
|
||||
UNREAL_VERSION_SUFFIX=[".1"]
|
||||
UNREAL_VERSION_SUFFIX=["-git"]
|
||||
AC_DEFINE_UNQUOTED([UNREAL_VERSION_SUFFIX], ["$UNREAL_VERSION_SUFFIX"], [Version suffix such as a beta marker or release candidate marker. (e.g.: -rcX for unrealircd-3.2.9-rcX)])
|
||||
|
||||
AC_PATH_PROG(RM,rm)
|
||||
@@ -62,30 +60,40 @@ exit 1
|
||||
])
|
||||
|
||||
AC_PATH_PROG(INSTALL,install)
|
||||
AC_CHECK_PROG(MAKER, gmake, gmake, make)
|
||||
AC_PATH_PROG(GMAKE,gmake)
|
||||
AC_PATH_PROG(GUNZIP, gunzip)
|
||||
AC_PATH_PROG(PKGCONFIG, pkg-config)
|
||||
|
||||
dnl Check for compiler
|
||||
AC_PROG_CC_C99
|
||||
AS_IF([test "$ac_cv_prog_cc_c99" = "no"],
|
||||
[AC_MSG_ERROR([No C99 compiler was found. Please install gcc or clang and other build tools. Eg, on Debian/Ubuntu you probably want to run the following as root: apt-get install build-essential ])])
|
||||
|
||||
dnl Check for make moved down, so the above compiler check takes precedence.
|
||||
AC_CHECK_PROG(MAKER, gmake, gmake, make)
|
||||
AC_PATH_PROG(GMAKE,gmake)
|
||||
AS_IF([$MAKER --version | grep -q "GNU Make"],
|
||||
[GNUMAKE="0"],
|
||||
[AC_MSG_ERROR([It seems your system does not have make/gmake installed. If you are on Linux then install make, otherwise install gmake.])])
|
||||
|
||||
dnl Checks for libraries.
|
||||
AC_CHECK_LIB(descrypt, crypt,
|
||||
[AC_DEFINE([HAVE_CRYPT], [], [Define if you have crypt])
|
||||
IRCDLIBS="$IRCDLIBS-ldescrypt "
|
||||
MKPASSWDLIBS="-ldescrypt"],
|
||||
IRCDLIBS="$IRCDLIBS-ldescrypt "],
|
||||
[AC_CHECK_LIB(crypt, crypt,
|
||||
[AC_DEFINE([HAVE_CRYPT], [], [Define if you have crypt])
|
||||
IRCDLIBS="$IRCDLIBS-lcrypt "
|
||||
MKPASSWDLIBS="-lcrypt"])])
|
||||
AC_CHECK_LIB(socket, socket,
|
||||
[IRCDLIBS="$IRCDLIBS-lsocket "
|
||||
SOCKLIB="-lsocket"])
|
||||
AC_CHECK_LIB(nsl, inet_ntoa,
|
||||
[IRCDLIBS="$IRCDLIBS-lnsl "
|
||||
INETLIB="-lnsl"])
|
||||
AC_CHECK_LIB(crypto, RAND_egd,
|
||||
AC_DEFINE(HAVE_RAND_EGD, 1, [Define if the libcrypto has RAND_egd]))
|
||||
IRCDLIBS="$IRCDLIBS-lcrypt "])])
|
||||
|
||||
AC_SUBST(MKPASSWDLIBS)
|
||||
dnl Check for big-endian system, even though these hardly exist anymore...
|
||||
AS_CASE([$host_cpu],
|
||||
[i?86|amd64|x86_64],
|
||||
[ac_cv_c_bigendian=no]
|
||||
)
|
||||
AC_C_BIGENDIAN(
|
||||
AC_DEFINE(NATIVE_BIG_ENDIAN, 1, [machine is bigendian]),
|
||||
AC_DEFINE(NATIVE_LITTLE_ENDIAN, 1, [machine is littleendian]),
|
||||
AC_MSG_ERROR([unknown endianness]),
|
||||
AC_MSG_ERROR([universal endianness is not supported - compile separately and use lipo(1)])
|
||||
)
|
||||
|
||||
dnl HARDENING START
|
||||
dnl This is taken from https://github.com/kmcallister/autoharden
|
||||
@@ -103,13 +111,9 @@ LD="$flag_wrap $LD"
|
||||
|
||||
# We use the same hardening flags for C and C++. We must check that each flag
|
||||
# is supported by both compilers.
|
||||
AC_DEFUN([check_cc_cxx_flag],
|
||||
AC_DEFUN([check_cc_flag],
|
||||
[AC_LANG_PUSH(C)
|
||||
AX_CHECK_COMPILE_FLAG([$1],
|
||||
[AC_LANG_PUSH(C)
|
||||
AX_CHECK_COMPILE_FLAG([$1], [$2], [$3], [-Werror $4])
|
||||
AC_LANG_POP(C)],
|
||||
[$3], [-Werror $4])
|
||||
AX_CHECK_COMPILE_FLAG([$1], [$2], [$3], [-Werror $4])
|
||||
AC_LANG_POP(C)])
|
||||
|
||||
AC_DEFUN([check_link_flag],
|
||||
@@ -124,23 +128,29 @@ AC_ARG_ENABLE([hardening],
|
||||
HARDEN_CFLAGS=""
|
||||
HARDEN_LDFLAGS=""
|
||||
AS_IF([test x"$hardening" != x"no"], [
|
||||
check_cc_cxx_flag([-fno-strict-overflow], [HARDEN_CFLAGS="$HARDEN_CFLAGS -fno-strict-overflow"])
|
||||
check_cc_flag([-fno-strict-overflow], [HARDEN_CFLAGS="$HARDEN_CFLAGS -fno-strict-overflow"])
|
||||
|
||||
# This one will likely succeed, even on platforms where it does nothing.
|
||||
check_cc_cxx_flag([-D_FORTIFY_SOURCE=2], [HARDEN_CFLAGS="$HARDEN_CFLAGS -D_FORTIFY_SOURCE=2"])
|
||||
check_cc_flag([-D_FORTIFY_SOURCE=2], [HARDEN_CFLAGS="$HARDEN_CFLAGS -D_FORTIFY_SOURCE=2"])
|
||||
|
||||
check_cc_cxx_flag([-fstack-protector-all],
|
||||
check_cc_flag([-fstack-protector-all],
|
||||
[check_link_flag([-fstack-protector-all],
|
||||
[HARDEN_CFLAGS="$HARDEN_CFLAGS -fstack-protector-all"
|
||||
check_cc_cxx_flag([-Wstack-protector], [HARDEN_CFLAGS="$HARDEN_CFLAGS -Wstack-protector"],
|
||||
check_cc_flag([-Wstack-protector], [HARDEN_CFLAGS="$HARDEN_CFLAGS -Wstack-protector"],
|
||||
[], [-fstack-protector-all])
|
||||
check_cc_cxx_flag([--param ssp-buffer-size=1], [HARDEN_CFLAGS="$HARDEN_CFLAGS --param ssp-buffer-size=1"],
|
||||
check_cc_flag([--param ssp-buffer-size=1], [HARDEN_CFLAGS="$HARDEN_CFLAGS --param ssp-buffer-size=1"],
|
||||
[], [-fstack-protector-all])])])
|
||||
|
||||
# Added in UnrealIRCd 5.0.5 (default on Ubuntu 19.10)
|
||||
check_cc_flag([-fstack-clash-protection], [HARDEN_CFLAGS="$HARDEN_CFLAGS -fstack-clash-protection"])
|
||||
|
||||
# Control Flow Enforcement (ROP hardening) - requires CPU hardware support
|
||||
check_cc_flag([-fcf-protection], [HARDEN_CFLAGS="$HARDEN_CFLAGS -fcf-protection"])
|
||||
|
||||
# At the link step, we might want -pie (GCC) or -Wl,-pie (Clang on OS X)
|
||||
#
|
||||
# The linker checks also compile code, so we need to include -fPIE as well.
|
||||
check_cc_cxx_flag([-fPIE],
|
||||
check_cc_flag([-fPIE],
|
||||
[check_link_flag([-fPIE -pie],
|
||||
[HARDEN_BINCFLAGS="-fPIE"
|
||||
HARDEN_BINLDFLAGS="-pie"],
|
||||
@@ -163,7 +173,11 @@ LD="$saved_LD"
|
||||
dnl HARDENING END
|
||||
|
||||
dnl UnrealIRCd might not be strict-aliasing safe at this time
|
||||
check_cc_cxx_flag([-fno-strict-aliasing], [CFLAGS="$CFLAGS -fno-strict-aliasing"])
|
||||
check_cc_flag([-fno-strict-aliasing], [CFLAGS="$CFLAGS -fno-strict-aliasing"])
|
||||
|
||||
dnl UnrealIRCd should be able to compile with -fno-common
|
||||
dnl This also makes ASan (if it is in use) able to instrument these variables.
|
||||
check_cc_flag([-fno-common], [CFLAGS="$CFLAGS -fno-common"])
|
||||
|
||||
dnl Previously -funsigned-char was in a config check. It would always
|
||||
dnl be enabled with gcc and clang. We now unconditionally enable it,
|
||||
@@ -179,16 +193,16 @@ dnl We should be able to turn this on unconditionally:
|
||||
CFLAGS="$CFLAGS -Wall"
|
||||
|
||||
dnl More warnings (if the compiler supports it):
|
||||
check_cc_cxx_flag([-Wextra], [CFLAGS="$CFLAGS -Wextra"])
|
||||
check_cc_cxx_flag([-Waggregate-return], [CFLAGS="$CFLAGS -Waggregate-return"])
|
||||
check_cc_flag([-Wextra], [CFLAGS="$CFLAGS -Wextra"])
|
||||
check_cc_flag([-Waggregate-return], [CFLAGS="$CFLAGS -Waggregate-return"])
|
||||
dnl The following few are more experimental, if they have false positives we'll have
|
||||
dnl to disable them:
|
||||
dnl Can't use this, too bad: check_cc_cxx_flag([-Wlogical-op], [CFLAGS="$CFLAGS -Wlogical-op"])
|
||||
check_cc_cxx_flag([-Wduplicated-cond], [CFLAGS="$CFLAGS -Wduplicated-cond"])
|
||||
check_cc_cxx_flag([-Wduplicated-branches], [CFLAGS="$CFLAGS -Wduplicated-branches"])
|
||||
dnl Can't use this, too bad: check_cc_flag([-Wlogical-op], [CFLAGS="$CFLAGS -Wlogical-op"])
|
||||
check_cc_flag([-Wduplicated-cond], [CFLAGS="$CFLAGS -Wduplicated-cond"])
|
||||
check_cc_flag([-Wduplicated-branches], [CFLAGS="$CFLAGS -Wduplicated-branches"])
|
||||
|
||||
dnl And now to filter out certain warnings:
|
||||
dnl [!] NOTE REGARDING THE check_cc_cxx_flag used by these:
|
||||
dnl [!] NOTE REGARDING THE check_cc_flag used by these:
|
||||
dnl We check for the -Woption even though we are going to use -Wno-option.
|
||||
dnl This is due to the following (odd) gcc behavior:
|
||||
dnl "When an unrecognized warning option is requested (e.g.,
|
||||
@@ -204,37 +218,41 @@ dnl -Woption instead.
|
||||
dnl Pointer signedness warnings are really a pain and 99.9% of the time
|
||||
dnl they are of absolutely no use whatsoever. IMO the person who decided
|
||||
dnl to enable this without -Wall should be shot on sight.
|
||||
check_cc_cxx_flag([-Wpointer-sign], [CFLAGS="$CFLAGS -Wno-pointer-sign"])
|
||||
check_cc_flag([-Wpointer-sign], [CFLAGS="$CFLAGS -Wno-pointer-sign"])
|
||||
|
||||
dnl This is purely for charsys.c... I like it so we can easily read
|
||||
dnl this for non-utf8. We can remove it once we ditch non-utf8 some day
|
||||
dnl of course, or decide to ignore me and encode them.
|
||||
check_cc_cxx_flag([-Winvalid-source-encoding], [CFLAGS="$CFLAGS -Wno-invalid-source-encoding"])
|
||||
check_cc_flag([-Winvalid-source-encoding], [CFLAGS="$CFLAGS -Wno-invalid-source-encoding"])
|
||||
|
||||
check_cc_cxx_flag([-Wformat-zero-length], [CFLAGS="$CFLAGS -Wno-format-zero-length"])
|
||||
check_cc_flag([-Wformat-zero-length], [CFLAGS="$CFLAGS -Wno-format-zero-length"])
|
||||
|
||||
check_cc_cxx_flag([-Wformat-truncation], [CFLAGS="$CFLAGS -Wno-format-truncation"])
|
||||
check_cc_flag([-Wformat-truncation], [CFLAGS="$CFLAGS -Wno-format-truncation"])
|
||||
|
||||
dnl While it can be useful to occasionally to compile with warnings about
|
||||
dnl unused variables and parameters, we often 'think ahead' when coding things
|
||||
dnl so they may be useless now but not later. Similarly, for variables, we
|
||||
dnl don't always care about a variable that may still be present in a build
|
||||
dnl without DEBUGMODE. Unused variables are optimized out anyway.
|
||||
check_cc_cxx_flag([-Wunused], [CFLAGS="$CFLAGS -Wno-unused"])
|
||||
check_cc_cxx_flag([-Wunused-parameter], [CFLAGS="$CFLAGS -Wno-unused-parameter"])
|
||||
check_cc_flag([-Wunused], [CFLAGS="$CFLAGS -Wno-unused"])
|
||||
check_cc_flag([-Wunused-parameter], [CFLAGS="$CFLAGS -Wno-unused-parameter"])
|
||||
check_cc_flag([-Wunused-but-set-parameter], [CFLAGS="$CFLAGS -Wno-unused-but-set-parameter"])
|
||||
|
||||
dnl We use this and this warning is meaningless since 'char' is always unsigned
|
||||
dnl in UnrealIRCd compiles (-funsigned-char).
|
||||
check_cc_cxx_flag([-Wchar-subscripts], [CFLAGS="$CFLAGS -Wno-char-subscripts"])
|
||||
check_cc_flag([-Wchar-subscripts], [CFLAGS="$CFLAGS -Wno-char-subscripts"])
|
||||
|
||||
check_cc_cxx_flag([-Wsign-compare], [CFLAGS="$CFLAGS -Wno-sign-compare"])
|
||||
check_cc_flag([-Wsign-compare], [CFLAGS="$CFLAGS -Wno-sign-compare"])
|
||||
|
||||
dnl Don't warn about empty body, we use this, eg via Debug(()) or in if's.
|
||||
check_cc_cxx_flag([-Wempty-body], [CFLAGS="$CFLAGS -Wno-empty-body"])
|
||||
check_cc_flag([-Wempty-body], [CFLAGS="$CFLAGS -Wno-empty-body"])
|
||||
|
||||
dnl This one fails with ircstrdup(var, staticstring)
|
||||
dnl Shame we have to turn it off completely...
|
||||
check_cc_cxx_flag([-Waddress], [CFLAGS="$CFLAGS -Wno-address"])
|
||||
check_cc_flag([-Waddress], [CFLAGS="$CFLAGS -Wno-address"])
|
||||
|
||||
dnl This one breaks our TO_INTFUNC() that is used in m_tkl for tkl_typetochar
|
||||
check_cc_flag([-Wcast-function-type], [CFLAGS="$CFLAGS -Wno-cast-function-type"])
|
||||
|
||||
dnl End of -W... compiler checks.
|
||||
|
||||
@@ -304,8 +322,6 @@ dnl AC_DEFINE([DYNAMIC_LINKING], [], [Link dynamically as opposed to statically.
|
||||
])
|
||||
|
||||
AC_CACHE_CHECK([if your system has IPv6 support], [ac_cv_ip6], [
|
||||
save_libs="$LIBS"
|
||||
LIBS="$LIBS $SOCKLIB"
|
||||
AC_TRY_RUN([
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
@@ -320,170 +336,23 @@ exit(0); /* We only check if the code compiles, that's enough. We can deal with
|
||||
if test "$ac_cv_ip6" = "no"; then
|
||||
AC_MSG_ERROR([Your system does not support IPv6])
|
||||
fi
|
||||
LIBS="$save_libs"
|
||||
|
||||
AC_CHECK_HEADER(sys/param.h,
|
||||
AC_DEFINE([PARAMH], [], [Define if you have the <sys/param.h> header file.]))
|
||||
AC_CHECK_HEADER(stdlib.h,
|
||||
AC_DEFINE([STDLIBH], [], [Define if you have the <stdlib.h> header file.]))
|
||||
AC_CHECK_HEADER(stddef.h,
|
||||
AC_DEFINE([STDDEFH], [], [Define if you have the <stddef.h> header file.]))
|
||||
AC_CHECK_HEADER(sys/syslog.h,
|
||||
AC_DEFINE([SYSSYSLOGH], [], [Define if you have the <sys/syslog.h> header file.]))
|
||||
AC_CHECK_HEADER(unistd.h,
|
||||
AC_DEFINE([UNISTDH], [], [Define if you have the <unistd.h> header file.]))
|
||||
AC_CHECK_HEADER(string.h,
|
||||
AC_DEFINE([STRINGH], [], [Define if you have the <string.h> header file.]))
|
||||
AC_CHECK_HEADER(strings.h,
|
||||
AC_DEFINE([STRINGSH], [], [Define if you have the <strings.h> header file.]))
|
||||
AC_CHECK_HEADER(malloc.h,
|
||||
AC_DEFINE([MALLOCH], [<malloc.h>], [Define to <malloc.h> you need malloc.h.]))
|
||||
AC_CHECK_HEADER(sys/rusage.h,
|
||||
AC_DEFINE([RUSAGEH], [], [Define if you have the <sys/rusage.h> header file.]))
|
||||
AC_CHECK_HEADER(glob.h,
|
||||
AC_DEFINE([GLOBH], [], [Define if you have the <glob.h> header file.]))
|
||||
AC_CHECK_HEADERS([stdint.h inttypes.h])
|
||||
dnl Checks for typedefs, structures, and compiler characteristics.
|
||||
AC_C_CONST
|
||||
AC_C_INLINE
|
||||
|
||||
AC_TYPE_MODE_T
|
||||
AC_TYPE_SIZE_T
|
||||
AC_TYPE_INTPTR_T
|
||||
|
||||
AC_HEADER_TIME
|
||||
AC_HEADER_SYS_WAIT
|
||||
AC_STRUCT_TM
|
||||
AC_TYPE_UID_T
|
||||
unreal_CHECK_TYPE_SIZES
|
||||
|
||||
dnl in the future, it would be nice to avoid AC_TRY_RUN to allow
|
||||
dnl better support for crosscompiling.
|
||||
AC_CACHE_CHECK([what kind of nonblocking sockets you have], [ac_cv_nonblocking],[
|
||||
save_libs="$LIBS"
|
||||
LIBS="$LIBS $SOCKLIB"
|
||||
AC_TRY_RUN([
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#include <fcntl.h>
|
||||
#include <sys/ioctl.h>
|
||||
#include <sys/file.h>
|
||||
#include <signal.h>
|
||||
alarmed() {
|
||||
exit(1);
|
||||
}
|
||||
int main() {
|
||||
#ifdef O_NONBLOCK
|
||||
char b[12], x[32];
|
||||
int f, l = sizeof(x);
|
||||
f = socket(AF_INET, SOCK_DGRAM, 0);
|
||||
if (f >= 0 && !(fcntl(f, F_SETFL, O_NONBLOCK))) {
|
||||
signal(SIGALRM, alarmed);
|
||||
alarm(3);
|
||||
recvfrom(f, b, 12, 0, (struct sockaddr *)x, &l);
|
||||
alarm(0);
|
||||
exit(0);
|
||||
}
|
||||
#endif
|
||||
exit(1);
|
||||
}
|
||||
],ac_cv_nonblocking=O_NONBLOCK,[
|
||||
AC_TRY_RUN([
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#include <fcntl.h>
|
||||
#include <sys/ioctl.h>
|
||||
#include <sys/file.h>
|
||||
#include <signal.h>
|
||||
alarmed() {
|
||||
exit(0);
|
||||
}
|
||||
int main() {
|
||||
#ifdef O_NDELAY
|
||||
char b[12], x[32];
|
||||
int f, l = sizeof(x);
|
||||
f = socket(AF_INET, SOCK_DGRAM, 0);
|
||||
if (f >= 0 && !(fcntl(f, F_SETFL, O_NDELAY))) {
|
||||
signal(SIGALRM, alarmed);
|
||||
alarm(3);
|
||||
recvfrom(f, b, 12, 0, (struct sockaddr *)x, &l);
|
||||
alarm(0);
|
||||
exit(0);
|
||||
}
|
||||
#endif
|
||||
exit(1);
|
||||
}],ac_cv_nonblocking=O_NDELAY,[
|
||||
AC_TRY_RUN([
|
||||
#include <sys/types.h>
|
||||
#include <sys/socket.h>
|
||||
#include <fcntl.h>
|
||||
#include <sys/ioctl.h>
|
||||
#include <sys/file.h>
|
||||
#include <signal.h>
|
||||
alarmed() {
|
||||
exit(1);
|
||||
}
|
||||
int main() {
|
||||
#ifdef FIONBIO
|
||||
char b[12], x[32];
|
||||
int f, l = sizeof(x);
|
||||
f = socket(AF_INET, SOCK_DGRAM, 0);
|
||||
if (f >= 0 && !(fcntl(f, F_SETFL, FIONBIO))) {
|
||||
signal(SIGALRM, alarmed);
|
||||
alarm(3);
|
||||
recvfrom(f, b, 12, 0, (struct sockaddr *)x, &l);
|
||||
alarm(0);
|
||||
exit(0);
|
||||
}
|
||||
#endif
|
||||
exit(1);
|
||||
], ac_cv_nonblocking=FIONBIO,ac_cv_nonblocking=none)])])])
|
||||
if test "$ac_cv_nonblocking" = "O_NONBLOCK"; then
|
||||
AC_DEFINE([NBLOCK_POSIX], [], [Define if you have O_NONBLOCK])
|
||||
elif test "$ac_cv_nonblocking" = "O_NDELAY"; then
|
||||
AC_DEFINE([NBLOCK_BSD], [], [Define if you have O_NDELAY])
|
||||
elif test "$ac_cv_nonblocking" = "FIONBIO"; then
|
||||
AC_DEFINE([NBLOCK_SYSV], [], [Define if you have FIONBIO])
|
||||
fi
|
||||
LIBS="$save_libs"
|
||||
dnl Checks for library functions.
|
||||
AC_PROG_GCC_TRADITIONAL
|
||||
AC_FUNC_SETPGRP
|
||||
AC_FUNC_SETVBUF_REVERSED
|
||||
AC_CHECK_FUNCS(snprintf,
|
||||
AC_DEFINE([HAVE_SNPRINTF], [], [Define if you have snprintf]))
|
||||
AC_CHECK_FUNCS(vsnprintf,
|
||||
AC_DEFINE([HAVE_VSNPRINTF], [], [Define if you have vsnprintf]))
|
||||
AC_CHECK_FUNCS(strlcpy,
|
||||
AC_DEFINE([HAVE_STRLCPY], [], [Define if you have strlcpy. Otherwise, an internal implementation will be used!]))
|
||||
AC_CHECK_FUNCS(strlcat,
|
||||
AC_DEFINE([HAVE_STRLCAT], [], [Define if you have strlcat]))
|
||||
AC_CHECK_FUNCS(strlncat,
|
||||
AC_DEFINE([HAVE_STRLNCAT], [], [Define if you have strlncat]))
|
||||
AC_CHECK_FUNCS(inet_pton,
|
||||
AC_DEFINE([HAVE_INET_PTON], [], [Define if you have inet_pton]))
|
||||
AC_CHECK_FUNCS(inet_ntop,
|
||||
AC_DEFINE([HAVE_INET_NTOP], [], [Define if you have inet_ntop]))
|
||||
dnl Check if it supports C99 style variable length arrays
|
||||
AC_CACHE_CHECK([if C99 variable length arrays are supported], [ac_cv_varlen_arrays], [
|
||||
AC_TRY_COMPILE(,[
|
||||
int main() {
|
||||
int i = 5;
|
||||
int a[i];
|
||||
a[0] = 1;
|
||||
return 0;
|
||||
}], ac_cv_varlen_arrays=yes, ac_cv_varlen_arrays=no)
|
||||
])
|
||||
if test "$ac_cv_varlen_arrays" = "yes" ; then
|
||||
AC_DEFINE([HAVE_C99_VARLEN_ARRAY], [], [Define if you have a compiler with C99 variable length array support])
|
||||
fi
|
||||
|
||||
AC_CHECK_FUNCS([setrlimit])
|
||||
AC_FUNC_VPRINTF
|
||||
AC_CHECK_FUNCS([gettimeofday],
|
||||
[AC_DEFINE([GETTIMEOFDAY], [], [Define if you have gettimeofday])],
|
||||
[AC_CHECK_FUNCS([lrand48],
|
||||
[AC_DEFINE([LRADN48], [], [Define if you have lrand48])])])
|
||||
AC_CHECK_FUNCS([getrusage],
|
||||
[AC_DEFINE([GETRUSAGE_2], [], [Define if you have getrusage])],
|
||||
[AC_CHECK_FUNCS([times],
|
||||
@@ -503,65 +372,14 @@ AC_CHECK_FUNCS([setproctitle],
|
||||
]
|
||||
)
|
||||
|
||||
|
||||
AC_CACHE_CHECK([what type of signals you have], [ac_cv_sigtype], [
|
||||
AC_TRY_RUN([
|
||||
#include <signal.h>
|
||||
int main() {
|
||||
sigaction(SIGTERM, (struct sigaction *)0L, (struct sigaction *)0L);
|
||||
}
|
||||
], ac_cv_sigtype=POSIX, [
|
||||
AC_TRY_RUN([
|
||||
#include <signal.h>
|
||||
int calls = 0;
|
||||
void handler()
|
||||
{
|
||||
if (calls)
|
||||
return;
|
||||
calls++;
|
||||
kill(getpid(), SIGTERM);
|
||||
sleep(1);
|
||||
}
|
||||
|
||||
int main() {
|
||||
signal(SIGTERM, handler);
|
||||
kill(getpid(), SIGTERM);
|
||||
exit(0);
|
||||
}
|
||||
], ac_cv_sigtype=BSD,ac_cv_sigtype=SYSV)])])
|
||||
|
||||
if test "$ac_cv_sigtype" = "POSIX"; then
|
||||
AC_DEFINE([POSIX_SIGNALS], [], [Define if you have POSIX signals])
|
||||
elif test "$ac_cv_sigtype" = "BSD"; then
|
||||
AC_DEFINE([BSD_RELIABLE_SIGNALS], [], [Define if you have BSD signals])
|
||||
else
|
||||
AC_DEFINE([SYSV_UNRELIABLE_SIGNALS], [], [Define if you have SYSV signals])
|
||||
fi
|
||||
AC_CHECK_FUNCS(strtoken,,AC_DEFINE([NEED_STRTOKEN], [], [Define if you need the strtoken function.]))
|
||||
AC_CHECK_FUNCS(strtok,,AC_DEFINE([NEED_STRTOK], [], [Define if you need the strtok function.]))
|
||||
AC_CHECK_FUNCS(strerror,,AC_DEFINE([NEED_STRERROR], [], [Define if you need the strerror function.]))
|
||||
AC_CHECK_FUNCS(index,,AC_DEFINE([NOINDEX], [], [Define if you do not have the index function.]))
|
||||
AC_CHECK_FUNCS(strtoul,,STRTOUL="strtoul.o")
|
||||
AC_CHECK_FUNCS(bcopy,,AC_DEFINE([NEED_BCOPY], [], [Define if you don't have bcopy]))
|
||||
AC_CHECK_FUNCS(bcmp,,AC_DEFINE([NEED_BCMP], [], [Define if you don't have bcmp]))
|
||||
AC_CHECK_FUNCS(bzero,,AC_DEFINE([NEED_BZERO], [], [Define if you need bzero]))
|
||||
AC_CHECK_FUNCS(strcasecmp,AC_DEFINE([GOT_STRCASECMP], [], [Define if you have strcasecmp]))
|
||||
save_libs="$LIBS"
|
||||
LIBS="$LIBS $SOCKLIB $INETLIB"
|
||||
AC_CHECK_FUNCS(inet_addr,,AC_DEFINE([NEED_INET_ADDR], [], [Define if you need inet_addr]))
|
||||
AC_CHECK_FUNCS(inet_ntoa,,AC_DEFINE([NEED_INET_NTOA], [], [Define if you need inet_ntoa]))
|
||||
LIBS="$save_libs"
|
||||
AC_CHECK_FUNCS(explicit_bzero,AC_DEFINE([HAVE_EXPLICIT_BZERO], [], [Define if you have explicit_bzero]))
|
||||
AC_CHECK_FUNCS(syslog,AC_DEFINE([HAVE_SYSLOG], [], [Define if you have syslog]))
|
||||
AC_SUBST(STRTOUL)
|
||||
AC_SUBST(CRYPTOLIB)
|
||||
AC_SUBST(MODULEFLAGS)
|
||||
AC_SUBST(DYNAMIC_LDFLAGS)
|
||||
AC_ARG_WITH(nick-history, [AS_HELP_STRING([--with-nick-history=length],[Specify the length of the nickname history])],
|
||||
[AC_DEFINE_UNQUOTED([NICKNAMEHISTORYLENGTH], [$withval], [Set to the nickname history length you want])],
|
||||
[AC_DEFINE([NICKNAMEHISTORYLENGTH], [2000], [Set to the nickname history length you want])])
|
||||
AC_ARG_WITH([sendq], [AS_HELP_STRING([--with-sendq=maxsendq],[Specify the max sendq for the server])],
|
||||
[AC_DEFINE_UNQUOTED([MAXSENDQLENGTH], [$withval], [Set to the max sendq you want])],
|
||||
[AC_DEFINE([MAXSENDQLENGTH], [3000000], [Set to the max sendq you want])])
|
||||
AC_ARG_WITH(permissions, [AS_HELP_STRING([--with-permissions=permissions], [Specify the default permissions for
|
||||
configuration files])],
|
||||
dnl We have an apparently out-of-place 0 here because of a MacOSX bug and because
|
||||
@@ -588,6 +406,13 @@ AC_ARG_WITH(confdir, [AS_HELP_STRING([--with-confdir=path],[Specify the director
|
||||
[AC_DEFINE_UNQUOTED([CONFDIR], ["$HOME/unrealircd/conf"], [Define the location of the configuration files])
|
||||
CONFDIR="$HOME/unrealircd/conf"])
|
||||
|
||||
dnl We have to pass the builddir as well, for the module manager
|
||||
AC_ARG_WITH(builddir, [AS_HELP_STRING([--with-builddir=path],[Specify the build directory])],
|
||||
[AC_DEFINE_UNQUOTED([BUILDDIR], ["$withval"], [Define the build directory])
|
||||
BUILDDIR="$withval"],
|
||||
[AC_DEFINE_UNQUOTED([BUILDDIR], ["$BUILDDIR_NOW"], [Specify the build directory])
|
||||
BUILDDIR="$BUILDDIR_NOW"])
|
||||
|
||||
AC_ARG_WITH(modulesdir, [AS_HELP_STRING([--with-modulesdir=path],[Specify the directory for loadable modules])],
|
||||
[AC_DEFINE_UNQUOTED([MODULESDIR], ["$withval"], [Define the location of the modules])
|
||||
MODULESDIR="$withval"],
|
||||
@@ -647,6 +472,7 @@ AS_IF([test "x$PRIVATELIBDIR" = "x"],
|
||||
LDFLAGS="$LDFLAGS $LDFLAGS_PRIVATELIBS"
|
||||
export LDFLAGS])
|
||||
|
||||
AC_SUBST(BUILDDIR)
|
||||
AC_SUBST(BINDIR)
|
||||
AC_SUBST(SCRIPTDIR)
|
||||
AC_SUBST(CONFDIR)
|
||||
@@ -677,29 +503,22 @@ AC_ARG_WITH(showlistmodes,
|
||||
[AS_HELP_STRING([--with-showlistmodes], [Specify whether modes are shown in /list])],
|
||||
[AS_IF([test $withval = "yes"],
|
||||
[AC_DEFINE([LIST_SHOW_MODES], [], [Define if you want modes shown in /list])])])
|
||||
AC_ARG_WITH(shunnotices, [AS_HELP_STRING([--with-shunnotices], [Notify a user when he/she is no longer shunned])],
|
||||
[AS_IF([test $withval = "yes"],
|
||||
[AC_DEFINE([SHUN_NOTICES], [], [Define if you want users to be notified when their shun is removed])])])
|
||||
AC_ARG_WITH(no-operoverride, [AS_HELP_STRING([--with-no-operoverride], [Disable OperOverride])],
|
||||
[AS_IF([test $withval = "yes"],
|
||||
[AC_DEFINE([NO_OPEROVERRIDE], [], [Define if you want OperOverride disabled])])])
|
||||
AC_ARG_WITH(disableusermod, [AS_HELP_STRING([--with-disableusermod], [Disable /set* and /chg*])],
|
||||
[AS_IF([test $withval = "yes"],
|
||||
[AC_DEFINE([DISABLE_USERMOD], [], [Define if you want to disable /set* and /chg*])])])
|
||||
AC_ARG_WITH(operoverride-verify, [AS_HELP_STRING([--with-operoverride-verify], [Require opers to invite themselves to +s/+p channels])],
|
||||
[AS_IF([test $withval = "yes"],
|
||||
[AC_DEFINE([OPEROVERRIDE_VERIFY], [], [Define if you want opers to have to use /invite to join +s/+p channels])])])
|
||||
AC_ARG_WITH(disable-extendedban-stacking, [AS_HELP_STRING([--with-disable-extendedban-stacking], [Disable extended ban stacking])],
|
||||
[AS_IF([test $withval = "yes"],
|
||||
[AC_DEFINE([DISABLE_STACKED_EXTBANS], [], [Define to disable extended ban stacking (~q:~c:\#chan, etc)])])])
|
||||
AC_ARG_WITH(tre, [AS_HELP_STRING([--without-tre], [Do not use the old deprecated TRE regex library])], [with_tre=no], [with_tre=yes])
|
||||
AC_ARG_WITH(system-tre, [AS_HELP_STRING([--with-system-tre], [Use the system tre package instead of bundled, discovered using pkg-config])], [], [with_system_tre=no])
|
||||
AC_ARG_WITH(system-pcre2, [AS_HELP_STRING([--with-system-pcre2], [Use the system pcre2 package instead of bundled, discovered using pkg-config])], [], [with_system_pcre2=no])
|
||||
AC_ARG_WITH(system-pcre2, [AS_HELP_STRING([--without-system-pcre2], [Use the system pcre2 package instead of bundled, discovered using pkg-config])], [], [with_system_pcre2=yes])
|
||||
AC_ARG_WITH(system-argon2, [AS_HELP_STRING([--without-system-argon2], [Use bundled version instead of system argon2 library. Normally autodetected via pkg-config])], [], [with_system_argon2=yes])
|
||||
AC_ARG_WITH(system-sodium, [AS_HELP_STRING([--without-system-sodium], [Use bundled version instead of system sodium library. Normally autodetected via pkg-config])], [], [with_system_sodium=yes])
|
||||
AC_ARG_WITH(system-cares, [AS_HELP_STRING([--without-system-cares], [Use bundled version instead of system c-ares. Normally autodetected via pkg-config.])], [], [with_system_cares=yes])
|
||||
CHECK_SSL
|
||||
CHECK_SSL_CTX_SET1_CURVES_LIST
|
||||
CHECK_SSL_CTX_SET_MIN_PROTO_VERSION
|
||||
CHECK_SSL_CTX_SET_SECURITY_LEVEL
|
||||
CHECK_ASN1_TIME_diff
|
||||
CHECK_X509_get0_notAfter
|
||||
AC_ARG_ENABLE(dynamic-linking, [AS_HELP_STRING([--disable-dynamic-linking], [Make the IRCd statically link with shared objects rather than dynamically (noone knows if disabling dynamic linking actually does anything or not)])],
|
||||
[enable_dynamic_linking=$enableval], [enable_dynamic_linking="yes"])
|
||||
AS_IF([test $enable_dynamic_linking = "yes"],
|
||||
@@ -714,34 +533,10 @@ AC_ARG_ENABLE([werror],
|
||||
|
||||
AC_ARG_ENABLE([asan],
|
||||
[AS_HELP_STRING([--enable-asan],
|
||||
[Enable address sanitizer, not recommended for production servers!])],
|
||||
[Enable address sanitizer and other debugging options, not recommended for production servers!])],
|
||||
[ac_cv_asan="$enableval"],
|
||||
[ac_cv_asan="no"])
|
||||
|
||||
AC_MSG_CHECKING([if FD_SETSIZE is large enough to allow $ac_fd file descriptors])
|
||||
AC_COMPILE_IFELSE([
|
||||
#include <sys/types.h>
|
||||
#include <sys/time.h>
|
||||
int main() {
|
||||
#if FD_SETSIZE < $ac_fd
|
||||
#error FD_SETSIZE is smaller than $ac_fd
|
||||
#endif
|
||||
exit(0);
|
||||
}
|
||||
], AC_MSG_RESULT([yes]), [
|
||||
# must be passed on the commandline to avoid a ``warning, you redefined something''
|
||||
FD_SETSIZE="-DFD_SETSIZE=$ac_fd"
|
||||
AC_MSG_RESULT(no)
|
||||
])
|
||||
AC_SUBST([FD_SETSIZE])
|
||||
|
||||
case `uname -s` in
|
||||
*SunOS*|*solaris*)
|
||||
AC_DEFINE([_SOLARIS], [], [Define if you are compiling unrealircd on Sun's (or Oracle's?) Solaris])
|
||||
IRCDLIBS="$IRCDLIBS -lresolv "
|
||||
;;
|
||||
esac
|
||||
|
||||
AC_CHECK_FUNCS([poll],
|
||||
AC_DEFINE([HAVE_POLL], [], [Define if you have poll]))
|
||||
AC_CHECK_FUNCS([epoll_create epoll_ctl epoll_wait],
|
||||
@@ -754,62 +549,15 @@ dnl fail on certain solaris boxes. We might as
|
||||
dnl well set it here.
|
||||
export PATH_SEPARATOR
|
||||
|
||||
AS_IF([test "x$with_tre" = "xyes"],[
|
||||
AC_DEFINE([USE_TRE], [], [Use the old deprecated TRE regex library])
|
||||
])
|
||||
dnl Use system pcre2 when available, unless --without-system-pcre2.
|
||||
has_system_pcre2="no"
|
||||
AS_IF([test "x$with_system_pcre2" = "xyes"],[
|
||||
PKG_CHECK_MODULES([PCRE2], libpcre2-8 >= 10.00,[has_system_pcre2=yes
|
||||
AS_IF([test "x$PRIVATELIBDIR" != "x"], [rm -f "$PRIVATELIBDIR/"libpcre2*])],[has_system_pcre2=no])])
|
||||
|
||||
AS_IF([test "x$with_system_tre" = "xno"],[
|
||||
AS_IF([test "x$with_tre" = "xyes"],[
|
||||
compile_tre="yes"
|
||||
])
|
||||
])
|
||||
|
||||
AS_IF([test "x$compile_tre" = "xyes"],[
|
||||
dnl REMEMBER TO CHANGE WITH A NEW TRE RELEASE!
|
||||
tre_version="0.8.0-git"
|
||||
AC_MSG_RESULT(extracting TRE regex library)
|
||||
cur_dir=`pwd`
|
||||
cd extras
|
||||
dnl remove old tre directory to force a recompile...
|
||||
dnl and remove its installation prefix just to clean things up.
|
||||
rm -rf tre-$tre_version rege[]xp
|
||||
if test "x$ac_cv_path_GUNZIP" = "x" ; then
|
||||
tar xfz tre.tar.gz
|
||||
else
|
||||
cp tre.tar.gz tre.tar.gz.bak
|
||||
gunzip -f tre.tar.gz
|
||||
cp tre.tar.gz.bak tre.tar.gz
|
||||
tar xf tre.tar
|
||||
fi
|
||||
AC_MSG_RESULT(configuring TRE regex library)
|
||||
cd tre-$tre_version
|
||||
./configure --disable-agrep --enable-shared --disable-system-abi --disable-wchar --disable-multibyte --prefix=$cur_dir/extras/regexp --libdir=$PRIVATELIBDIR || exit 1
|
||||
AC_MSG_RESULT(compiling TRE regex library)
|
||||
$ac_cv_prog_MAKER || exit 1
|
||||
AC_MSG_RESULT(installing TRE regex library)
|
||||
$ac_cv_prog_MAKER install || exit 1
|
||||
TRE_CFLAGS="-I$cur_dir/extras/regexp/include"
|
||||
AC_SUBST(TRE_CFLAGS)
|
||||
|
||||
TRE_LIBS=
|
||||
AS_IF([test -n "$ac_cv_path_PKGCONFIG"],
|
||||
[TRE_LIBS="`$ac_cv_path_PKGCONFIG --libs tre.pc`"])
|
||||
dnl For when pkg-config isn't available -- or for when pkg-config
|
||||
dnl doesn't see the tre.pc file somehow... (#3982)
|
||||
AS_IF([test -z "$TRE_LIBS"],
|
||||
[TRE_LIBS="$PRIVATELIBDIR/libtre.so"])
|
||||
AC_SUBST(TRE_LIBS)
|
||||
cd $cur_dir
|
||||
])
|
||||
|
||||
AS_IF([test "x$with_system_tre" = "xyes"],[
|
||||
dnl use pkgconfig for tre:
|
||||
PKG_CHECK_MODULES([TRE], tre >= 0.7.5)
|
||||
])
|
||||
|
||||
AS_IF([test "x$with_system_pcre2" = "xno"],[
|
||||
AS_IF([test "$has_system_pcre2" = "no"], [
|
||||
dnl REMEMBER TO CHANGE WITH A NEW PCRE2 RELEASE!
|
||||
pcre2_version="10.32"
|
||||
pcre2_version="10.36"
|
||||
AC_MSG_RESULT(extracting PCRE2 regex library)
|
||||
cur_dir=`pwd`
|
||||
cd extras
|
||||
@@ -833,7 +581,6 @@ AC_MSG_RESULT(installing PCRE2 regex library)
|
||||
$ac_cv_prog_MAKER install || exit 1
|
||||
PCRE2_CFLAGS="-I$cur_dir/extras/pcre2/include"
|
||||
AC_SUBST(PCRE2_CFLAGS)
|
||||
|
||||
PCRE2_LIBS=
|
||||
dnl See c-ares's compilation section for more info on this hack.
|
||||
dnl ensure that we're linking against the bundled version of pcre2
|
||||
@@ -846,9 +593,6 @@ AS_IF([test -z "$PCRE2_LIBS"],
|
||||
[PCRE2_LIBS="$PRIVATELIBDIR/libpcre2-8.so"])
|
||||
AC_SUBST(PCRE2_LIBS)
|
||||
cd $cur_dir
|
||||
],[
|
||||
dnl use pkgconfig for pcre2:
|
||||
PKG_CHECK_MODULES([PCRE2], libpcre2-8 >= 10.00)
|
||||
])
|
||||
|
||||
dnl Use system argon2 when available, unless --without-system-argon2
|
||||
@@ -881,6 +625,11 @@ AC_MSG_RESULT(installing Argon2 library)
|
||||
$ac_cv_prog_MAKER install PREFIX=$cur_dir/extras/argon2 || exit 1
|
||||
# We need to manually copy the libs to PRIVATELIBDIR because
|
||||
# there is no way to tell make install in libargon2 to do so.
|
||||
# BUT FIRST, delete the old library so it becomes an unlink+create
|
||||
# operation rather than overwriting the existing file which would
|
||||
# lead to a crash of the currently running IRCd.
|
||||
rm -f "$PRIVATELIBDIR/"libargon2*
|
||||
# Now copy the new library files:
|
||||
cp -av $cur_dir/extras/argon2/lib/* $PRIVATELIBDIR/
|
||||
ARGON2_CFLAGS="-I$cur_dir/extras/argon2/include"
|
||||
AC_SUBST(ARGON2_CFLAGS)
|
||||
@@ -889,6 +638,55 @@ AC_SUBST(ARGON2_LIBS)
|
||||
cd $cur_dir
|
||||
])
|
||||
|
||||
dnl Use system sodium when available, unless --without-system-sodium
|
||||
has_system_sodium="no"
|
||||
AS_IF([test "x$with_system_sodium" = "xyes"],[
|
||||
PKG_CHECK_MODULES([SODIUM], [libsodium >= 1.0.16],[has_system_sodium=yes
|
||||
AS_IF([test "x$PRIVATELIBDIR" != "x"], [rm -f "$PRIVATELIBDIR/"libsodium*])],[has_system_sodium=no])])
|
||||
|
||||
AS_IF([test "$has_system_sodium" = "no"],[
|
||||
dnl REMEMBER TO CHANGE WITH A NEW SODIUM RELEASE!
|
||||
sodium_version="1.0.18"
|
||||
AC_MSG_RESULT(extracting sodium library)
|
||||
cur_dir=`pwd`
|
||||
cd extras
|
||||
dnl remove old sodium directory to force a recompile...
|
||||
dnl and remove its installation prefix just to clean things up.
|
||||
rm -rf sodium-$sodium_version sodium
|
||||
if test "x$ac_cv_path_GUNZIP" = "x" ; then
|
||||
tar xfz libsodium.tar.gz
|
||||
else
|
||||
cp libsodium.tar.gz libsodium.tar.gz.bak
|
||||
gunzip -f libsodium.tar.gz
|
||||
cp libsodium.tar.gz.bak libsodium.tar.gz
|
||||
tar xf libsodium.tar
|
||||
fi
|
||||
AC_MSG_RESULT(compiling sodium library)
|
||||
cd libsodium-$sodium_version
|
||||
save_cflags="$CFLAGS"
|
||||
CFLAGS="$orig_cflags"
|
||||
export CFLAGS
|
||||
./configure --prefix=$cur_dir/extras/sodium --libdir=$PRIVATELIBDIR --enable-shared --disable-static --enable-opt || exit 1
|
||||
CFLAGS="$save_cflags"
|
||||
AC_MSG_RESULT(compiling sodium resolver library)
|
||||
$ac_cv_prog_MAKER || exit 1
|
||||
AC_MSG_RESULT(installing sodium resolver library)
|
||||
$ac_cv_prog_MAKER install || exit 1
|
||||
SODIUM_CFLAGS="-I$cur_dir/extras/sodium/include"
|
||||
AC_SUBST(SODIUM_CFLAGS)
|
||||
SODIUM_LIBS=
|
||||
dnl See c-ares's compilation section for more info on this hack.
|
||||
dnl ensure that we're linking against the bundled version
|
||||
dnl (we only reach this code if linking against the bundled version is desired).
|
||||
AS_IF([test -n "$ac_cv_path_PKGCONFIG"],
|
||||
[SODIUM_LIBS="`$ac_cv_path_PKGCONFIG --libs libsodium.pc`"])
|
||||
dnl For when pkg-config isn't available
|
||||
AS_IF([test -z "$SODIUM_LIBS"],
|
||||
[SODIUM_LIBS="-L$PRIVATELIBDIR -lsodium"])
|
||||
AC_SUBST(SODIUM_LIBS)
|
||||
cd $cur_dir
|
||||
])
|
||||
|
||||
dnl Use system c-ares when available, unless --without-system-cares.
|
||||
has_system_cares="no"
|
||||
AS_IF([test "x$with_system_cares" = "xyes"],[
|
||||
@@ -899,7 +697,7 @@ AS_IF([test "$has_system_cares" = "no"], [
|
||||
dnl REMEMBER TO CHANGE WITH A NEW C-ARES RELEASE!
|
||||
dnl NOTE: when changing this here, ALSO change it in extras/curlinstall
|
||||
dnl and in the comment in this file around line 400!
|
||||
cares_version="1.15.0"
|
||||
cares_version="1.17.1"
|
||||
AC_MSG_RESULT(extracting c-ares resolver library)
|
||||
cur_dir=`pwd`
|
||||
cd extras
|
||||
@@ -918,7 +716,7 @@ cd c-ares-$cares_version
|
||||
save_cflags="$CFLAGS"
|
||||
CFLAGS="$orig_cflags"
|
||||
export CFLAGS
|
||||
./configure --prefix=$cur_dir/extras/c-ares --libdir=$PRIVATELIBDIR --enable-shared || exit 1
|
||||
./configure --prefix=$cur_dir/extras/c-ares --libdir=$PRIVATELIBDIR --enable-shared --disable-tests || exit 1
|
||||
CFLAGS="$save_cflags"
|
||||
AC_MSG_RESULT(compiling c-ares resolver library)
|
||||
$ac_cv_prog_MAKER || exit 1
|
||||
@@ -978,7 +776,7 @@ fi
|
||||
|
||||
dnl Address sanitizer build
|
||||
if test "$ac_cv_asan" = "yes" ; then
|
||||
CFLAGS="$CFLAGS -O0 -fno-inline -fsanitize=address -fno-omit-frame-pointer -DNOCLOSEFD"
|
||||
CFLAGS="$CFLAGS -O1 -fno-inline -fsanitize=address -fno-omit-frame-pointer -DNOCLOSEFD"
|
||||
IRCDLIBS="-fsanitize=address $IRCDLIBS"
|
||||
fi
|
||||
|
||||
@@ -993,8 +791,8 @@ AC_CONFIG_FILES([Makefile
|
||||
src/modules/usermodes/Makefile
|
||||
src/modules/snomasks/Makefile
|
||||
src/modules/extbans/Makefile
|
||||
src/modules/cap/Makefile
|
||||
src/modules/third/Makefile
|
||||
extras/unrealircd-upgrade-script
|
||||
unrealircd])
|
||||
AC_OUTPUT
|
||||
chmod 0700 unrealircd
|
||||
|
||||
@@ -7,14 +7,25 @@
|
||||
\___/|_| |_|_| \___|\__,_|_|\___/\_| \_| \____/\__,_|
|
||||
|
||||
Configuration Program
|
||||
for UnrealIRCd 4.2.4.1
|
||||
for UnrealIRCd 5.0.10-git
|
||||
|
||||
This program will help you to compile your IRC server, and ask you
|
||||
questions regarding the compile-time settings of it during the process.
|
||||
regarding the setup of it, during the process.
|
||||
|
||||
A short installation guide is available online at:
|
||||
https://www.unrealircd.org/docs/Installing_from_source
|
||||
|
||||
Full documentation is available at:
|
||||
https://www.unrealircd.org/docs/UnrealIRCd_4_documentation
|
||||
https://www.unrealircd.org/docs/UnrealIRCd_5_documentation
|
||||
|
||||
--------------------------------------------------------------------------------------
|
||||
|
||||
The full release notes are available in doc/RELEASE-NOTES.md
|
||||
For easier viewing, check out the latest online release notes at:
|
||||
https://github.com/unrealircd/unrealircd/blob/unreal50/doc/RELEASE-NOTES.md
|
||||
|
||||
UnrealIRCd 5 is compatible with the following services:
|
||||
* anope with the "unreal4" protocol module - version 2.0.7 or higher required!
|
||||
* atheme with the "unreal4" protocol module - tested with version 7.2.9
|
||||
|
||||
--------------------------------------------------------------------------------------
|
||||
@@ -0,0 +1,47 @@
|
||||
pub rsa4096 2015-07-02 [SC] [expires: 2025-06-29]
|
||||
1D2D2B03A0B68ED11D68A24BA7A21B0A108FF4A9
|
||||
uid UnrealIRCd releases (for verification of software downloads only!) <releases@unrealircd.org>
|
||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
mQINBFWVOFYBEACsWFWM25VDaGXq22GSTJo1O53bgAMCZsqj9VKDriUmj7uvozlp
|
||||
BGHgYFVM4ZT1FUAsWedeIP2aLLkYGmH4odVaAk7IeUa7HfpE45/F6+End6bCpYGe
|
||||
1UdVQM/Bu3VHoUtVvtIFg788JwbplroapA/D0pi/EAN8WYnN9etgLM2lvzwbjBz9
|
||||
xTOefwvgRsKbCH63VW7NCyquEcdEJxnMHB7JZUEuzrOUvhAiIkwKw8wbcn36zX0i
|
||||
wcAFtVO5uVTA/Tdu6nWsZvqVc6R1E3usJzWSwbmoUtPUM5Mk9I9gL73EsqEbgs5N
|
||||
trT00r75RcfiThNEP8NtDtB8AFum6OCSg/+8bdJmKcWVKpuB+lUvP0d4UAqm5vmH
|
||||
/KQh/nyHXKvAvhWqHizozP1WGevpxLFHMjm/+1T167Iil/3UcUyn9qd0CuYSszJw
|
||||
y5Vp6iJHkVo8qxI89rkzSDRi+ppLCBTwuN01ducftDxvIQMVrphdKZLPGzQrltkh
|
||||
lIN4XNS6cOOsrbbk5+Kc2xih6qt+DyiRHaNFQnoMdRVeIrmf4u4ClMcHlzELV8gF
|
||||
D+s0BbVqhVwAhbKMfKaVmvVlj8bSET0z2s0vhZODwlgANpDBLNsIU6leiYRAzub5
|
||||
WY5Hz1m7P8ZXSMPh4/vGh1kg3E9IRKLZDZ65gEYr8nNCzbAYmDQ3IkplIwARAQAB
|
||||
tFxVbnJlYWxJUkNkIHJlbGVhc2VzIChmb3IgdmVyaWZpY2F0aW9uIG9mIHNvZnR3
|
||||
YXJlIGRvd25sb2FkcyBvbmx5ISkgPHJlbGVhc2VzQHVucmVhbGlyY2Qub3JnPokC
|
||||
PgQTAQIAKAUCVZU4VgIbAwUJEswDAAYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AA
|
||||
CgkQp6IbChCP9KlFzQ/+ObuBgCtXvLcbpq7C2usHxgtEB1rV9khLGugJXevjMaf3
|
||||
+vo4d5cd5go665po8oqDnSUfq+8LPDj/nnroKQcS5Kb4KdHz6rn+53rHWtw6PPGN
|
||||
KswFS05Vy2AkYg4nVXvrGm0oV173qOms2REoStP0mEm7F7ZTJ6k1qgmZ8tcFgfMm
|
||||
fqEl94O5zDWycaJx7K0h3n+xUyhh+lT9Zl3duzVzCc+YI+dD6UOIXBF9TF9fIb8m
|
||||
300MBLwTTHq64nGsZbhfzCHNHAO6hTy5XmE+d1g4R87rKim6lP0V1LTbvhOhYhZg
|
||||
0JrVOr9dhHY4tw1xglz++nMM24t2O9zoRoZjDMHBzzBm3gJq3G160kxVZKKcVaQd
|
||||
nfYvPOBNtyEyaIIJD8vs2Z9jiJLjpoz0LhnE2TmE4M6YqBsSWfFuPrHE+PJQyEQg
|
||||
2zEoTRCSFSLaq+5kl3vKM/cblwkQeKkNe8u6bDNk7bEPUCQstyOqcvoTWE2gs3f2
|
||||
n7wI7BzW3uX5YUp1CcdPig1XxveI4XaKKrhRacvGvvNHdXw1scj1K0SCXvy4EPpf
|
||||
dLthTC6BHwO2P56wlxK0MRL/GD72ttBCcsyLWYdL9OIT6Lx4bZVhvEjKDapWAL04
|
||||
X1mXMHUK1iO4lunbqP3lu6F8qsuI/B2sIiJK7aSjv4bjVRw/jcESrhmCvnN3B3mI
|
||||
RgQQEQIABgUCVZU9NQAKCRBpsoj7n/A5N4E2AJ4i5z98+mA8Ug9utdslGvHFRq+s
|
||||
PgCeILJ7/dJFYZFz1YpaNTbRCHIesaWIXgQQEQgABgUCVZU9ZwAKCRBuZ21Ff+GZ
|
||||
pueXAP9bJ1hPWa3ITIoapW9eTT1eNv+17KqcclwZzxCopbUkFAD+NptTuXpeivM+
|
||||
USWsQJFpFlLdDckcv8QzLQwgzZ8TXtKJAhwEEAEIAAYFAlg796cACgkQ3pO4tH50
|
||||
XrMyWQ/+NJyhO5yibAhN4RgCJ+qFdp9Llm+SQGFjVtw8L7nv3M0Us8xspmVlX7TZ
|
||||
/OK6AhUyaqAmg3ZXruaetrBVIAlP675cXJ1NIPfyT+PvMUbupvqBhyPZKqdnh2WT
|
||||
ZMYdQrvw503h+BlyjGeAWd34tLhtiM1A69tntFu2A7bKhkoxE7KoyCjKmLgUb30M
|
||||
r5guxb6DCUXK8m5ooHl58kLtJrTpW9l3YYXpKe/POYPIK6ULZN7TChtFOTJ+ebx1
|
||||
2LaQGGdRKaCSM1OX7mfvBG8GtljQcGoP+f5TmvRbCGGfiR9r6MdgG6LYTuYf7pR7
|
||||
NBwxveqwJV4iOmd9b+doIra5tRX0TqEKdEqpVHhm4UTZlHVyIpg97Lc/7WiWS1Z5
|
||||
UIhT4YxlztPUvWmCXlleNEqBYK86OsVFqryHDVKtPbH65k/xKfu8w/hHkv7TQ23r
|
||||
eoMs1uBlaUWe3orgUOr0tnFLXz809SAwC9sxQq9TWTm50NqiaQvBVInSUssFYPkG
|
||||
qBljIXtdUzFGBn3sTpFRY6p2yzIo54EQmQAvMQPEJkQ8JQJ47au82DxFUBZYKci5
|
||||
lsJfRueGnn5A36eUZdkhZ6Dm61M3YldYcpRa4Xfi0AWbg5yW/uUipc36Ey+vwWyl
|
||||
x+1IZgjnIIMsyDLuq2tm5p1tiJK2N9L0rxQb/DIK7j8+ZvmlFZQ=
|
||||
=foLZ
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
||||
@@ -1,66 +0,0 @@
|
||||
UnrealIRCd 4.2.4.1 Release Notes
|
||||
=================================
|
||||
|
||||
This version, 4.2.4.1, fixes an issue with Debian 10. On Debian 10 the
|
||||
list of permitted SSL/TLS protocols was ignored (set::ssl::protocols).
|
||||
Other than that, set::ssl::outdated-protocols and set::ssl::outdated-ciphers
|
||||
are now configurable (rarely needed, though).
|
||||
|
||||
Below are the release notes of previous release, 4.2.4.
|
||||
|
||||
==[ 4.2.4 release notes ]==
|
||||
This release fixes a crash issue if UnrealIRCd is configured to use utf8 or
|
||||
chinese character sets in set::allowed-nickchars. This is not the default.
|
||||
We don't expect many users to run their IRCd with this enabled, as the utf8
|
||||
support was tagged as experimental and the chinese/gbk implementation is
|
||||
incomplete.
|
||||
|
||||
In addition to the bug fix from above, this release also contains a number
|
||||
of other fixes and enhancements. In particular there were some Windows
|
||||
fixes and the reputation and connthrottle modules are now working better.
|
||||
|
||||
Enhancements:
|
||||
* Improve server linking error messages
|
||||
* Enhance WHOX to WHO auto-conversion for "WHO +s serv.er.name"
|
||||
|
||||
Major issues fixed:
|
||||
* A crash issue if using utf8 or chinese in set::allowed-nickchars.
|
||||
* The Windows version only accepted very few clients.
|
||||
* The Windows version should warn and not error if using old-style regex.
|
||||
* The Windows version did not save the reputation database.
|
||||
|
||||
Minor issues fixed:
|
||||
* The 'connthrottle' module incorrectly allowed 0 unknown users in when
|
||||
it was throttling, rather than the set rate.
|
||||
* The 'reputation' module did not show scores for remote users in /WHOIS,
|
||||
only after 5 minutes had passed.
|
||||
* Some users may have experienced a "Registration Timeout" error when
|
||||
connecting. This happened because their ident server accepted the TCP/IP
|
||||
connection but after that failed to respond to the ident request. We
|
||||
have now lowered set::ident::read-timeout to 15 seconds to fix this.
|
||||
* If successfully logged in using SASL then avoid an "You are already
|
||||
logged in" error message that could happen due to PASS forwarding.
|
||||
The message was harmless, but annoying in some setups.
|
||||
|
||||
Module coders / Developers:
|
||||
* If you are debugging or developing modules then we encourage you to
|
||||
use AddressSanitizer. This does come at a 10x performance slowdown
|
||||
and can consume a lot more memory, but it is very useful in tracing
|
||||
common C mistakes such as out of bounds read/writes, double frees,
|
||||
and so on. You will see exactly where a mistake was made.
|
||||
To use this, in the last ./Config question you answer: --enable-asan
|
||||
|
||||
IRC protocol:
|
||||
* No changes
|
||||
|
||||
Other changes:
|
||||
* Various HELPOP updates
|
||||
|
||||
Future versions:
|
||||
* We intend to change the default plaintext oper policy from 'warn' to 'deny'
|
||||
in the summer of 2019. This will deny /OPER when used from a non-SSL
|
||||
connection. For security, IRC Operators should really use SSL/TLS!
|
||||
|
||||
==[ CHANGES IN OLDER RELEASES ]==
|
||||
For changes in previous UnrealIRCd releases see doc/RELEASE-NOTES.old or
|
||||
https://raw.githubusercontent.com/unrealircd/unrealircd/unreal42/doc/RELEASE-NOTES.old
|
||||
@@ -0,0 +1,960 @@
|
||||
UnrealIRCd 5.X.Y-git Release Notes
|
||||
===============================
|
||||
|
||||
This is the current development version (git) of UnrealIRCd.
|
||||
|
||||
This UnrealIRCd release focusses on channel history. A way to store channel
|
||||
history encrypted on disk has been added (to preserve between server restarts)
|
||||
and the IRCv3 CHATHISTORY command has been implemented to allow fetching
|
||||
thousands of lines of channel history.
|
||||
|
||||
It also contains a breaking change, meaning (almost) everyone will need
|
||||
to change a few things in their configuration file.
|
||||
|
||||
Breaking change:
|
||||
* The set::anti-flood block has been redone so you can have different limits
|
||||
for ''unknown-users'' and ''known-users''.
|
||||
* As a reminder, by default, "known-users" are users who are identified
|
||||
to services OR are on an IP that has been connected for over 2 hours
|
||||
in the past X days. The exact definition of "known-users" is in the
|
||||
[security-group block](https://www.unrealircd.org/docs/Security-group_block).
|
||||
* See [here](https://www.unrealircd.org/docs/FAQ#new-anti-flood-block)
|
||||
for more information on the layout of the new set::anti-flood block.
|
||||
* All violatons of target-flood, nick-flood, join-flood, away-flood,
|
||||
invite-flood, knock-flood, max-concurrent-conversations are now
|
||||
reported to opers with the snomask ```f``` (flood).
|
||||
|
||||
Enhancements:
|
||||
* Add support for database encryption. The way this works
|
||||
is that you define an encryption password in a
|
||||
[secret { } block](https://www.unrealircd.org/docs/Secret_block).
|
||||
Then from the various modules you can refer to this secret
|
||||
block, from
|
||||
[set::reputation::db-secret](https://www.unrealircd.org/docs/Set_block#set::reputation),
|
||||
[set::tkldb::db-secret](https://www.unrealircd.org/docs/Set_block#set::tkldb)
|
||||
and [set::channeldb::db-secret](https://www.unrealircd.org/docs/Set_block#set::channeldb).
|
||||
This way you can encrypt the reputation, TKL and channel
|
||||
database for increased privacy.
|
||||
* Add optional support for
|
||||
[persistent channel history](https://www.unrealircd.org/docs/Set_block#Persistent_channel_history):
|
||||
* This stores channel history on disk for channels that have
|
||||
both ```+H``` and ```+P``` set.
|
||||
* If you enable this then we ALWAYS require you to set an
|
||||
encryption password, as we do not allow storing of
|
||||
channel history in plain text.
|
||||
* If you enable the option, then the history is stored in
|
||||
```data/history/``` in individual .db files. No channel
|
||||
names are visible in the filenames for optimal privacy.
|
||||
* See [Persistent channel history](https://www.unrealircd.org/docs/Set_block#Persistent_channel_history)
|
||||
on how to enable this. By default it is off.
|
||||
* Add optional support for IRCv3
|
||||
[draft/chathistory](https://ircv3.net/specs/extensions/chathistory).
|
||||
This module can be loaded via ```loadmodule "chathistory";```
|
||||
* The maximums for channel mode ```+H``` have been raised and are now
|
||||
different for ```+r``` (registered) and ```-r``` channels. For unregistered
|
||||
channels the limit is now 200 lines / 31 days. For registered channels
|
||||
the limit is 5000 lines / 31 days. The old limit for both was 200 lines / 7 days.
|
||||
These maximums can be changed in the now slightly different
|
||||
[set::history::channel::max-storage-per-channel](https://www.unrealircd.org/docs/Set_block#set::history)
|
||||
block.
|
||||
* Add c-ares and libsodium version output to boot screen and /VERSION.
|
||||
* WHOX now supports displaying the
|
||||
[reputation score](https://www.unrealircd.org/docs/Reputation_score).
|
||||
If you are an IRCOp then you can use e.g. ```WHO * %cuhsnfmdaRr```.
|
||||
* Add ability to [spamfilter](https://www.unrealircd.org/docs/Spamfilter)
|
||||
message tags via the new 'T' target. Right now it would be unusual
|
||||
to use this, but some day when we have more
|
||||
[message tags](https://www.unrealircd.org/docs/Message_tags) it
|
||||
may come in handy.
|
||||
* Support [+draft/reply](https://ircv3.net/specs/client-tags/reply) IRCv3
|
||||
client tag. Can be used by bots (and others) to indicate to what message
|
||||
people are replying to. This module, reply-tag, is loaded by default.
|
||||
* Send [draft/bot](https://ircv3.net/specs/extensions/bot-mode) IRCv3
|
||||
message tag if the user has mode ```+B``` set.
|
||||
|
||||
Fixes:
|
||||
* Forbid using [extended server bans](https://www.unrealircd.org/docs/Extended_server_bans)
|
||||
in ZLINE/GZLINE since they won't work.
|
||||
* Extended server ban ```~a:accname``` was not working for shun, and only
|
||||
partially working for kline/gline.
|
||||
* More accurate /ELINE error message.
|
||||
|
||||
Changed:
|
||||
* Channel mode ```+H``` always showed time in minutes (```m```) until now.
|
||||
From now on it will show it in minutes (```m```), hours (```h```) or
|
||||
days (```d```) depending on the actual value. Eg ```+H 50:7d```.
|
||||
* If you ran ```./unrealircd stop``` we used to wait only 1 second.
|
||||
From now on we will wait up to 10 seconds max. This gives UnrealIRCd
|
||||
plenty of time to write database files.
|
||||
* If you have zero [log blocks](https://www.unrealircd.org/docs/Log_block)
|
||||
then we already automatically logged errors to ```ircd.log```.
|
||||
From now on we will log everything (not only errors) to that file.
|
||||
|
||||
Removed:
|
||||
* Version check for curl and openssl as nowadays they have ABI guarantees.
|
||||
|
||||
Module coders / Developers:
|
||||
* New UnrealDB API and disk format, see
|
||||
https://www.unrealircd.org/docs/Dev:UnrealDB
|
||||
* We now use libsodium for file encryption routines as well
|
||||
as some helpers to lock/clear passwords in memory.
|
||||
* Updated ```HOOKTYPE_LOCAL_NICKCHANGE``` and
|
||||
```HOOKTYPE_REMOTE_NICKCHANGE``` to include an
|
||||
```MessageTag *mtags``` argument in the middle.
|
||||
You can use ```#if UNREAL_VERSION_TIME>=202115``` to detect this.
|
||||
* Updated channel mode ```conv_param``` function to
|
||||
include a ```Channel *channel``` argument at the end.
|
||||
You can use ```#if UNREAL_VERSION_TIME>=202120``` to detect this.
|
||||
* New: ```ModuleSetOptions(modinfo->handle, MOD_OPT_UNLOAD_PRIORITY, priority);```.
|
||||
This can be used for modules to indicate they wish to be unloaded
|
||||
before or after others. It is used by for example the channel
|
||||
and history modules so they can save their databases before
|
||||
chanmode modules or other modules get unloaded.
|
||||
* New CAP [```draft/chathistory```](https://ircv3.net/specs/extensions/chathistory).
|
||||
If a client REQ's this CAP then UnrealIRCd won't send history on-join as
|
||||
it assumes the client will fetch it when they feel the need for it.
|
||||
* New informative CAP:
|
||||
[unrealircd.org/history-backend](https://www.unrealircd.org/history-backend)
|
||||
|
||||
Reminder: UnrealIRCd 4 is no longer supported
|
||||
----------------------------------------------
|
||||
|
||||
UnrealIRCd 4.x is [no longer supported](https://www.unrealircd.org/docs/UnrealIRCd_4_EOL).
|
||||
Admins must [upgrade to UnrealIRCd 5](https://www.unrealircd.org/docs/Upgrading_from_4.x).
|
||||
|
||||
UnrealIRCd 5.0.9.1
|
||||
-------------------
|
||||
The only change between 5.0.9 and 5.0.9.1 is:
|
||||
* Build improvements on *NIX (faster compiling and lower memory requirements)
|
||||
* Windows version is unchanged and still 5.0.9
|
||||
|
||||
UnrealIRCd 5.0.9
|
||||
-----------------
|
||||
The 5.0.9 release comes with several nice feature enhancements. There are no major bug fixes.
|
||||
|
||||
Enhancements:
|
||||
* Changes to the "Client connecting" notice on IRC (for IRCOps):
|
||||
* The format changed slightly, instead of ```{clients}``` it
|
||||
now shows ```[class: clients]```
|
||||
* SSL/TLS information is still shown via ```[secure]```
|
||||
* New: ```[reputation: NNN]``` to show the current
|
||||
[reputation score](https://www.unrealircd.org/docs/Reputation_score)
|
||||
* New: ```[account: abcdef]``` to show the services account,
|
||||
but only if [SASL](https://www.unrealircd.org/docs/SASL) was used.
|
||||
* In the log file the format also changed slightly:
|
||||
* IP information is now added as ```[127.0.0.1]``` in both the
|
||||
connect and disconnect log messages.
|
||||
* The vhost is logged as ```[vhost: xyz]``` instead of ```[VHOST xyz]```
|
||||
* All the other values are now logged as well on-connect,
|
||||
similar to the "Client connecting" notice, so: secure, reputation,
|
||||
account (if applicable).
|
||||
* New option [allow::global-maxperip](https://www.unrealircd.org/docs/Allow_block):
|
||||
this imposes a global (network-wide) restriction on the number of
|
||||
connections per IP address.
|
||||
If you don't have a global-maxperip setting in the allow block then it
|
||||
will default to maxperip plus one. So, if you currently have an
|
||||
allow::maxperip of 3 then global-maxperip will be 4.
|
||||
* [Handshake delay](https://www.unrealircd.org/docs/Set_block#set::handshake-delay)
|
||||
is automatically disabled for users that are exempt from blacklist checking.
|
||||
* Always exempt 127.* from gline, kline, etc.
|
||||
* You can now have dated logfiles thanks to strftime formatting.
|
||||
For example ```log "ircd.%Y-%m-%d.log" { }``` will create a log
|
||||
file like called ircd.2020-01-31.log, a new one every day.
|
||||
* The Windows build now supports TLSv1.3 too.
|
||||
|
||||
Fixes:
|
||||
* Windows: some warnings and error messages on boot were previously
|
||||
missing.
|
||||
|
||||
Changes:
|
||||
* Add doc/KEYS which contains the public key(s) used to sign UnrealIRCd releases
|
||||
* The options set::anti-flood::unknown-flood-* have been renamed and
|
||||
integrated in a new block called
|
||||
[set::anti-flood::handshake-data-flood](https://www.unrealircd.org/docs/Set_block#set::anti-flood::handshake-data-flood).
|
||||
The ban-action can now also be changed. Note that almost nobody will have to
|
||||
change this setting since it has a good default.
|
||||
* On *NIX bump the default maximum connections from 8192 to 16384.
|
||||
That is, when in "auto" mode, which is like for 99% of the users.
|
||||
Note that the system may still limit the actual number of connections
|
||||
to a lower value, epending on the value of ```ulimit -n -H```.
|
||||
|
||||
UnrealIRCd 5.0.8
|
||||
-----------------
|
||||
|
||||
The main purpose of this release is to enhance the
|
||||
[reputation](https://www.unrealircd.org/docs/Reputation_score)
|
||||
functionality. There have also been some other changes and minor
|
||||
bug fixes. For more information, see below.
|
||||
|
||||
Enhancements:
|
||||
* Support for [security groups](https://www.unrealircd.org/docs/Security-group_block),
|
||||
of which four groups always exist by default: known-users, unknown-users,
|
||||
tls-users and tls-and-known-users.
|
||||
* New extended ban ```~G:securitygroupname```. Typical usage would be
|
||||
```MODE #chan +b ~G:unknown-users``` which will ban all users from the
|
||||
channel that are not identified to services and have a reputation
|
||||
score below 25 (by default). The exact settings can be tweaked in the
|
||||
[security group block](https://www.unrealircd.org/docs/Security-group_block).
|
||||
* The reputation command (IRCOp-only) has been extended to make it
|
||||
easier to look for potential troublemakers:
|
||||
* ```REPUTATION Nick``` shows reputation about the nick name
|
||||
* ```REPUTATION IP``` shows reputation about the IP address
|
||||
* ```REPUTATION #channel``` lists users in channel with their reputation score
|
||||
* ```REPUTATION <NN``` lists users with reputation scores below value NN
|
||||
* Only send the first 1000 matches on ```STATS gline``` or a
|
||||
similar command. This to prevent the IRCOp from being flooded off.
|
||||
This value can be changed via
|
||||
[set::max-stats-matches](https://www.unrealircd.org/docs/Set_block#set::max-stats-matches)
|
||||
* Warn when the SSL/TLS server certificate is expired or expires soon
|
||||
(within 7 days).
|
||||
* New option allow::options::reject-on-auth-failure if you want to
|
||||
stop matching on a passworded allow block, see the
|
||||
[allow password documentation](https://www.unrealircd.org/docs/Allow_block#password)
|
||||
for more information. Note that most people won't use this.
|
||||
|
||||
Fixes:
|
||||
* The ```WHO``` command searched on nick name even if it was told
|
||||
to search on a specific account name via WHOX options.
|
||||
* Some typos in the Config script and a warning
|
||||
* Counting clients twice in some circumstances
|
||||
|
||||
Changes:
|
||||
* Support for $(DESTDIR) in 'make install' if packaging for a distro
|
||||
* Mention the ban reason in Q-line server notices
|
||||
* Add self-test to module manager and improve the error message in case
|
||||
the IRCd source directory does not exist.
|
||||
* Print out a more helpful error if you run the unrealircd binary
|
||||
rather than the unrealircd script with an argument like 'mkpasswd' etc.
|
||||
* On *NIX create a symlink 'source' to the UnrealIRCd source
|
||||
|
||||
Module coders / Developers:
|
||||
* The [Doxygen module API docs](https://www.unrealircd.org/api/5/index.html)
|
||||
have been improved, in particular the
|
||||
[Hook API](https://www.unrealircd.org/api/5/group__HookAPI.html)
|
||||
is now 100% documented.
|
||||
|
||||
UnrealIRCd 5.0.7
|
||||
-----------------
|
||||
|
||||
UnrealIRCd 5.0.7 consists mainly of fixes for the 5.x stable series,
|
||||
with some minor enhancements.
|
||||
|
||||
Enhancements:
|
||||
* Add support for ```estonian-utf8```, ```latvian-utf8``` and
|
||||
```lithuanian-utf8``` in
|
||||
[set::allowed-nickchars](https://www.unrealircd.org/docs/Nick_Character_Sets)
|
||||
* Add [message tags](https://www.unrealircd.org/docs/Message_tags)
|
||||
to ```PONG``` to help fix timestamp issues in KiwiIRC.
|
||||
* Dutch helpop file (conf/help/help.nl.conf)
|
||||
|
||||
Fixes:
|
||||
* When having multiple text bans (```+b ~T:censor```), these caused an empty
|
||||
message.
|
||||
* Text bans are now no longer bypassed by voiced users (```+v```).
|
||||
* [Websockets](https://www.unrealircd.org/docs/WebSocket_support) that used
|
||||
```labeled-response``` sometimes received multiple IRC messages in one
|
||||
websocket packet.
|
||||
* The reputation score of [WEBIRC users](https://www.unrealircd.org/docs/WebIRC_block)
|
||||
was previously the score of the WEBIRC IP rather than the end-user IP.
|
||||
* ```STATS badword``` was not working.
|
||||
* When setting a very high channel limit, it showed a weird MODE ```+l``` value.
|
||||
* The ```LINKS``` command worked, even when disabled via
|
||||
```hideserver::disable-links``` in the optional hideserver module.
|
||||
* In some cases ```WHO``` did not show your own entry, such as when
|
||||
searching on account name, which was confusing.
|
||||
* Memory leak when repeatedly using ```./unrealircd reloadtls``` or
|
||||
```/REHASH -tls```.
|
||||
|
||||
Module coders / Developers:
|
||||
* No changes, only some small additions to the
|
||||
[Doxygen module API docs](https://www.unrealircd.org/api/5/index.html)
|
||||
|
||||
UnrealIRCd 5.0.6
|
||||
-----------------
|
||||
|
||||
UnrealIRCd 5.0.6 is a small maintenance release for the stable 5.x series.
|
||||
For existing 5.x users there is probably little reason to upgrade.
|
||||
|
||||
Enhancements:
|
||||
* Spanish help conf was added (conf/help/help.es.conf)
|
||||
|
||||
Fixes:
|
||||
* History playback on join was not obeying the limits from
|
||||
[set::history::channel::playback-on-join](https://www.unrealircd.org/docs/Set_block#set::history).
|
||||
Note that if you want to see more lines, there is the ```HISTORY```
|
||||
command. For more information on the different ways to retrieve history, see
|
||||
[Channel History](https://www.unrealircd.org/docs/Channel_history)
|
||||
* [Spamfilter](https://www.unrealircd.org/docs/Spamfilter) with the
|
||||
['tempshun' action](https://www.unrealircd.org/docs/Actions) was letting
|
||||
the message through.
|
||||
* In very specific circumstances a ```REHASH -tls``` would cause outgoing
|
||||
linking to fail with the error "called a function you should not call".
|
||||
* Crash if empty [set::cloak-method](https://www.unrealircd.org/docs/Set_block#set::cloak-method)
|
||||
* Issues with labeled-response on websockets (partial fix)
|
||||
|
||||
Module coders / Developers:
|
||||
* In ```RPL_ISUPPORT``` we now announce ```BOT=B``` to indicate the user mode and
|
||||
```WHO``` status flag for bots.
|
||||
* ```HOOKTYPE_ACCOUNT_LOGIN``` is called for remote users too now (also on server syncs)
|
||||
* Send ```RPL_LOGGEDOUT``` when logging out of services account
|
||||
* Fix double batch in message tags when using both labeled-response
|
||||
and the ```HISTORY``` command
|
||||
|
||||
UnrealIRCd 5.0.5.1
|
||||
-------------------
|
||||
|
||||
5.0.5.1 reverts the previously introduced UTF8 Spamfilter support.
|
||||
Unfortunately we had to do this, due to a bug in the PCRE2 regex library
|
||||
that caused a freeze / infinite loop with certain regexes and text.
|
||||
|
||||
UnrealIRCd 5.0.5
|
||||
-----------------
|
||||
|
||||
This 5.0.5 release mainly focuses on new features, while also fixing a few bugs.
|
||||
|
||||
Fixes:
|
||||
* [except ban { }](https://www.unrealircd.org/docs/Except_ban_block)
|
||||
without 'type' was not exempting from gline.
|
||||
* Channel mode ```+L #forward``` and ```+k key```: should forward
|
||||
on wrong key, but was also redirecting on correct key.
|
||||
* Crash on 32-bit machines in tkldb (on start or rehash)
|
||||
* Crash when saving channeldb when a parameter channel mode is combined
|
||||
with ```+P``` and that module was loaded after channeldb. This may
|
||||
happen if you use 3rd party modules that add parameter channel modes.
|
||||
|
||||
Enhancements:
|
||||
* [antimixedutf8](https://www.unrealircd.org/docs/Set_block#set::antimixedutf8)
|
||||
has been improved to detect CJK and other scripts and this will now
|
||||
catch more mixed UTF8 spam. Note that, if you previously manually
|
||||
set the score very tight (much lower than the default of 10) then you
|
||||
may have to increase it a bit, or not, depending on your network.
|
||||
* Support for IRCv3 [+typing clienttag](https://ircv3.net/specs/client-tags/typing.html),
|
||||
which adds "user is typing" support to channels and PM (if the client
|
||||
supports it).
|
||||
* New flood countermeasure,
|
||||
[set::anti-flood::target-flood](https://www.unrealircd.org/docs/Set_block#set%3A%3Aanti-flood%3A%3Atarget-flood),
|
||||
which limits flooding to channels and users. This is only meant as a
|
||||
filter for high rate floods. You are still encouraged to use
|
||||
[channel mode +f](https://www.unrealircd.org/docs/Anti-flood_features#Channel_mode_f)
|
||||
in channels which give you more customized and fine-grained options
|
||||
to deal with low- and medium-rate floods.
|
||||
* If a chanop /INVITEs someone, it will now override ban forwards
|
||||
such as ```+b ~f:#forward:*!*@*```.
|
||||
|
||||
Changes:
|
||||
* We now do parallel builds by default (```make -j4```) within ./Config,
|
||||
unless the ```$MAKE``` or ```$MAKEFLAGS``` environment variable is set.
|
||||
* [set::restrict-commands](https://www.unrealircd.org/docs/Set_block#set%3A%3Arestrict-commands):
|
||||
* The ```disable``` option is now removed as it is implied. In other words: if
|
||||
you want to disable a command, then simply don't use ```connect-delay```.
|
||||
* You can now have a block without ```connect-delay``` but still make
|
||||
users bypass the restriction with ```exempt-identified``` and/or
|
||||
```exempt-reputation-score```. Previously this was not possible.
|
||||
* We now give an error when an IRCOp tries to place an *LINE that already
|
||||
exists. (Previously we sometimes replaced the existing *LINE and other
|
||||
times we did not)
|
||||
* Add Polish HELPOP (help.pl.conf)
|
||||
|
||||
Module coders / Developers:
|
||||
* Breaking API change in ```HOOKTYPE_CAN_SEND_TO_USER``` and
|
||||
```HOOKTYPE_CAN_SEND_TO_CHANNEL```: the final argument has changed
|
||||
from ```int notice``` to ```SendType sendtype```, which is an
|
||||
enum, since we now have 3 message options (PRIVMSG, NOTICE, TAGMSG).
|
||||
|
||||
UnrealIRCd 5.0.4
|
||||
------------------
|
||||
|
||||
This new 5.0.4 version fixes quite a number of bugs. It contains only two small feature improvements.
|
||||
|
||||
Fixes:
|
||||
* When placing a SHUN on an online user it was not always effective.
|
||||
* Channeldb was not properly restoring all channel modes, such as +P.
|
||||
* When upgrading UnrealIRCd it could sometimes crash the currently
|
||||
running IRC server (rare), or trigger a crash report on
|
||||
```./unrealircd restart``` (quite common).
|
||||
* UnrealIRCd was giving up too easily on ident lookups.
|
||||
* Crash when unloading a module with moddata.
|
||||
* Crash if an authenticated server sends wrong information (rare).
|
||||
* Removing a TEMPSHUN did not work if the user was on another server.
|
||||
* SAJOIN to 0 (part all channels) resulted in a desync when used on remote users.
|
||||
* Forced nick change from services was not showing up if the user
|
||||
was not in any channels.
|
||||
|
||||
Enhancements:
|
||||
* New option [set::hide-idle-time::policy](https://www.unrealircd.org/docs/Set_block#set%3A%3Ahide-idle-time)
|
||||
by which you can change usermode +I (hide idle time in WHOIS) from
|
||||
oper-only to settable by users. More options will follow in a future
|
||||
release.
|
||||
* In WHOIS you can now see if a user is currently (temp)shunned.
|
||||
This only works for locally connected users for technical reasons,
|
||||
so use ```/WHOIS Nick Nick``` to see it for remote users.
|
||||
|
||||
Changes:
|
||||
* The oper notices and logging with regards to server linking have changed
|
||||
a little. They are more consistent and log more now.
|
||||
* When an IRCOp tries to oper up from an insecure connection we will now
|
||||
mention the https://www.unrealircd.org/docs/FAQ#oper-requires-tls page.
|
||||
This message is customizable through
|
||||
[set::plaintext-policy::oper-message](https://www.unrealircd.org/docs/Set_block#set::plaintext-policy).
|
||||
* The French HELPOP text was updated.
|
||||
|
||||
UnrealIRCd 5.0.3.1
|
||||
-------------------
|
||||
This fixes a crash issue after REHASH in 5.0.3.
|
||||
|
||||
UnrealIRCd 5.0.3
|
||||
-----------------
|
||||
Fixes:
|
||||
* Fix serious flood issue in labeled-response implementation.
|
||||
* An IRCOp SQUIT'ing a far remote server may cause a broken link topology
|
||||
* In channels that are +D (delayed join), PARTs were not shown correctly to
|
||||
channel operators.
|
||||
|
||||
Enhancements:
|
||||
* A new HISTORY command for history playback (```HISTORY #channel number-of-lines```)
|
||||
which allows you to fetch more lines than the on-join history playback.
|
||||
Of course, taking into account the set limits in the +H channel mode.
|
||||
This command is one of the [two interfaces](https://www.unrealircd.org/docs/Channel_history#Ways_to_retrieve_history)
|
||||
to [Channel history](https://www.unrealircd.org/docs/Channel_history).
|
||||
* Two new [message tags](https://www.unrealircd.org/docs/Message_tags),
|
||||
```unrealircd.org/userip``` and ```unrealircd.org/userhost```
|
||||
which communicate the user@ip and real user@host to IRCOps.
|
||||
|
||||
Changes:
|
||||
* Drop the draft/ prefix now that the IRCv3
|
||||
[labeled-response](https://ircv3.net/specs/extensions/labeled-response.html)
|
||||
specification is out of draft.
|
||||
* The operclass permission ```immune:target-limit``` is now called
|
||||
```immune:max-concurrent-conversations```, since it bypasses
|
||||
[set::anti-flood::max-concurrent-conversations](https://www.unrealircd.org/docs/Set_block#set::anti-flood::max-concurrent-conversations).
|
||||
For 99% of the users this change is not important, but it may be
|
||||
if you use highly customized [operclass blocks](https://www.unrealircd.org/docs/Operclass_block)
|
||||
|
||||
Are you upgrading from UnrealIRCd 4.x to UnrealIRCd 5? If so,
|
||||
then check out the *UnrealIRCd 5* release notes [further down](#unrealircd-5). At the
|
||||
very least, check out [Upgrading from 4.x](https://www.unrealircd.org/docs/Upgrading_from_4.x).
|
||||
|
||||
UnrealIRCd 5.0.2
|
||||
-----------------
|
||||
|
||||
Fixes:
|
||||
* Halfop users are not synced correctly, resulting in missing users across links.
|
||||
* [Channel history](https://www.unrealircd.org/docs/Channel_history) used
|
||||
incorrect time internally, resulting in messages expiring too soon.
|
||||
The syntax is now really ```/MODE #chan +H lines:time-in-minutes```.
|
||||
To make clear that the time is in minutes, an 'm' will be added
|
||||
automatically by the server (eg ```+H 15:1440m```).
|
||||
* Documentation: to exempt someone from gline via /ELINE you have to use type 'G', not 'g'.
|
||||
Similarly, to exempt from spamfilter, use type 'F' and not 'f'.
|
||||
* Exempting IPs from throttling via [except throttle](https://www.unrealircd.org/docs/Except_throttle_block) was not working.
|
||||
* Unable to customize [set::tls::outdated-protocols](https://www.unrealircd.org/docs/Set_block#set::ssl::outdated-protocols)
|
||||
and [set::tls::outdated-ciphers](https://www.unrealircd.org/docs/Set_block#set::ssl::outdated-ciphers).
|
||||
* Specifying multiple channels did not work in [set::auto-join](https://www.unrealircd.org/docs/Set_block#set::auto-join),
|
||||
[set::oper-auto-join](https://www.unrealircd.org/docs/Set_block#set::oper-auto-join) and
|
||||
[tld::channel](https://www.unrealircd.org/docs/Tld_block).
|
||||
|
||||
Enhancements:
|
||||
* [Extended server bans](https://www.unrealircd.org/docs/Extended_server_bans) in *LINE and /ELINE allow
|
||||
you to ban or exempt users on criteria other than host/IP. These use a
|
||||
similar syntax to extended bans. Currently supported are ~a, ~S and ~r. Examples:
|
||||
* ```/ELINE ~a:TrustedAccount kG 0 This user can bypass kline/gline when using SASL```
|
||||
* ```/ELINE ~S:1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef kGF 0 Trusted user with this certificate fingerprint```
|
||||
* ```/GLINE ~r:*some*stupid*real*name*```
|
||||
* These can also be used in the configuration file, eg: ```except ban { mask ~S:11223344etc; type all; };```
|
||||
* New options that may not be used much, but can be useful on specific networks:
|
||||
* The IRCd may add automatic bans, for example due to a blacklist hit,
|
||||
a spamfilter hit, or because of antirandom or antimixedutf8. The new
|
||||
option [set::automatic-ban-target](https://www.unrealircd.org/docs/Set_block#set::automatic-ban-target) specifies on *what* the ban should
|
||||
be placed. The default is *ip*. Other options are: userip, host, userhost, account, certfp.
|
||||
* Similarly, an oper may type ```/GLINE nickname```. The new option
|
||||
[set::manual-ban-target](https://www.unrealircd.org/docs/Set_block#set::manual-ban-target) specifies on what the ban should be placed.
|
||||
By default this is *host* (fallback to *ip*).
|
||||
* New options to exempt webirc users: [set::connthrottle::webirc-bypass](https://www.unrealircd.org/docs/Connthrottle),
|
||||
[set::restrict-commands::name-of-command::exempt-webirc](https://www.unrealircd.org/docs/Set_block#set::restrict-commands).
|
||||
|
||||
UnrealIRCd 5.0.1
|
||||
-----------------
|
||||
|
||||
Fixes:
|
||||
* IRCd may hang in rare circumstances
|
||||
* Windows: fix repeated "ERROR renaming 'data/reputation.db.tmp'" warnings
|
||||
* Antirandom and blacklist did not deal properly with 'warn' actions
|
||||
* [Authprompt](https://www.unrealircd.org/docs/Authentication#How_it_looks_like)
|
||||
did not always work properly
|
||||
* Line numbers were incorrect in config file warnings/errors when using @if or @define
|
||||
|
||||
Enhancements:
|
||||
* New /ELINE exception type 'm' to bypass allow::maxperip.
|
||||
Or in the configuration file: ```except ban { mask 203.0.113.0/24; type maxperip; };```
|
||||
* IRCOps can override MLOCK restrictions when services are down,
|
||||
if they have the channel:override:mlock operclass permission,
|
||||
such as opers which use the operclass 'netadmin-with-override'.
|
||||
|
||||
Other:
|
||||
* Gottem and k4be have [uploaded their 3rd party modules](https://modules.unrealircd.org/)
|
||||
to unrealircd-contrib so *NIX users can now easily install them using the new
|
||||
[Module manager](https://www.unrealircd.org/docs/Module_manager)
|
||||
|
||||
UnrealIRCd 5
|
||||
-------------
|
||||
After more than 6 months of hard work, UnrealIRCd 5 is now our new "stable" branch.
|
||||
In particular I would like to thank Gottem and 'i' for their source code
|
||||
contributions and PeGaSuS and westor for testing releases.
|
||||
|
||||
When we transitioned from 3.2.x to 4.0.0 there were 175,000 lines of source code
|
||||
added/removed during 3 years of development. This time it was 120,000 lines in
|
||||
only 6 months, a major effort!
|
||||
|
||||
**If you are upgrading from 4.x to 5.x, then it would be wise to read
|
||||
[Upgrading from 4.x](https://www.unrealircd.org/docs/Upgrading_from_4.x).
|
||||
In any case, be sure to upgrade your services package first! (if you use any)**
|
||||
|
||||
UnrealIRCd 5 is compatible with the following services:
|
||||
* [anope](https://www.anope.org/) (version 2.0.7 or higher) -
|
||||
with the "unreal4" protocol module
|
||||
* [atheme](https://atheme.github.io/atheme.html) (version 7.2.9 or higher) -
|
||||
with the "unreal4" protocol module
|
||||
|
||||
Summary
|
||||
--------
|
||||
The most visible change to end-users is channel history. A lot of IRCv3 features were added.
|
||||
Various modules from Gottem have been integrated and enhanced.
|
||||
We now have a 3rd party module manager so you can install modules with 1 simple command.
|
||||
Channel settings of ```+P``` channels and *LINES are saved in a database and
|
||||
restored on startup (via 'channeldb' and 'tkldb' respectively).
|
||||
Channel mode ```+L``` has a slight change of meaning, the existing floodprot
|
||||
mode (```+f```) has a new type to prevent repeated messages and a new drop action.
|
||||
A few extended bans have been added as well (```~f``` and ```~p```).
|
||||
IRCOps now have the ability to add ban exceptions via the ```/ELINE``` command.
|
||||
Advanced admins can use more dynamic configuration options where you can
|
||||
define variables and use them later in the configuration file.
|
||||
Finally, there have been speed improvements, we use better defaults and
|
||||
have added more countermeasures and options against spambots.
|
||||
Under the hood *a significant amount* of the source code was changed and cleaned up.
|
||||
|
||||
Read below for the full list of enhancements, changes and removals (and information for developers too).
|
||||
|
||||
Enhancements
|
||||
-------------
|
||||
* Support for IRCv3 server generated [message tags](https://ircv3.net/specs/extensions/message-tags), which allows us to communicate
|
||||
additional information in protocol messages such as in JOIN and PRIVMSG.
|
||||
Currently implemented and permitted message tags are:
|
||||
* [account](https://ircv3.net/specs/extensions/account-tag-3.2): communicate the services account that a user uses
|
||||
* [msgid](https://ircv3.net/specs/extensions/message-ids): assign an unique message id to each message
|
||||
* [time](https://ircv3.net/specs/extensions/server-time-3.2): assign a time label to each message
|
||||
The last two are mainly for history playback.
|
||||
* Support for IRCv3 [echo-message](https://ircv3.net/specs/extensions/echo-message-3.2), which helps clients, among other things,
|
||||
to see if the message you sent was altered in any way, eg: censored,
|
||||
stripped from color, etc.
|
||||
* Support for IRCv3 [draft/labeled-response-0.2](https://ircv3.net/specs/extensions/labeled-response), which helps clients to
|
||||
correlate commands and responses.
|
||||
* Support for IRCv3 [BATCH](https://ircv3.net/specs/extensions/batch-3.2), needed for some other features.
|
||||
* Recording and playback of [channel history](https://www.unrealircd.org/docs/Channel_history) when channel mode +H is set.
|
||||
The syntax is: ```MODE #chan +H max-lines-to-record:max-time-to-record-in-minutes```.
|
||||
|
||||
For example: ```MODE #chan +H 50:1440``` means the last 50 messages will be stored and no
|
||||
message will be stored longer than 1440 minutes (1 day).
|
||||
|
||||
The channel history is then played back when joining such a channel,
|
||||
but with two things to keep in mind:
|
||||
1) The client must support the 'server-time' CAP ('time' message tag),
|
||||
otherwise history is not shown. Any modern IRC client supports this.
|
||||
2) Only a maximum of 15 lines are played back on-join by default
|
||||
|
||||
The reason for the maximum 15 lines on-join playback is that this can
|
||||
be quite annoying if you rejoin repeatedly and as to not flood the users
|
||||
screen too much (unwanted). In the future we will support a mechanism
|
||||
for clients to "fetch" history - rather than sending it on-join - so
|
||||
they can fetch more than the 15 lines, up to the number of lines and
|
||||
time configured in the +H channel mode.
|
||||
|
||||
You can configure the exact number of lines that are played back and
|
||||
all the limits that apply to +H via [set::history::channel](https://www.unrealircd.org/docs/Set_block#set::history).
|
||||
* For saving and retrieving history we currently have the following options:
|
||||
* *history_backend_mem*: channel history is stored in memory.
|
||||
This is very fast but also means history is lost on restart.
|
||||
* *history_backend_null*: don't store channel history at all.
|
||||
This can be useful to load on servers with no users on it, such as a
|
||||
hub server, where storing history is unnecessary.
|
||||
|
||||
As you can see there is currently no 'disk' backend. However, in the
|
||||
future more options may be added. Also note that 3rd party modules
|
||||
can add history backends as well.
|
||||
* Support for ban exceptions via the new ```/ELINE``` command. This allows you
|
||||
to add exceptions for regular bans (KLINE/GLINE/ZLINE/etc), but also
|
||||
for connection throttling and blacklist checking.
|
||||
For more information, just type ```/ELINE ``` in your IRC client as an IRCOp.
|
||||
* [Websocket](https://www.unrealircd.org/docs/WebSocket_support) support now includes type 'text'
|
||||
in addition to 'binary', which should work with [KiwiIRC](https://kiwiirc.com/)'s nextclient.
|
||||
|
||||
Also, websockets are no longer active on all ports by default. You have to explicitly
|
||||
enable the websocket option in the listen block and also specify type *text* or *binary*,
|
||||
eg: ```listen { ip *; port 6667; options { websocket { type text; } } }```
|
||||
|
||||
Also note that websockets require nick names and channels to consist of UTF8
|
||||
characters only, due to
|
||||
[WebSocket being incompatible with non-UTF8](https://www.unrealircd.org/docs/WebSocket_support#Problems_with_websockets_and_non-UTF8)
|
||||
* There's now a [Module manager](https://www.unrealircd.org/docs/Module_manager)
|
||||
which allows you to install and upgrade 3rd party modules in an easy way:
|
||||
* ```./unrealircd module list``` - to list all available 3rd party modules
|
||||
* ```./unrealircd module install third/something``` - to install the specified module.
|
||||
* You can now test for configuration errors without actually starting the
|
||||
IRC server. This is ideal if you are upgrading UnrealIRCd to a newer
|
||||
version: simply run ```./unrealircd configtest``` to make sure it passes
|
||||
the configuration test, and then you can safely restart the server for
|
||||
the upgrade (in this example case).
|
||||
* Channel mode +L now kicks in for any rejected join, so not just for +l but
|
||||
also for +b, +i, +O, +z, +R and +k. If, for example, the channel is
|
||||
+L #insecure and also +z then, when an insecure user ties to join, they
|
||||
will be redirected to #insecure.
|
||||
* New extended ban ~f to forward users to the specified channel if the ban
|
||||
matches. Example: ```MODE #chan +b ~f:#badisp:*!*@*.isp.org```
|
||||
* Channel mode +f now has a 'd' action: drop message. This will send an
|
||||
error message to the user and not show the message in the channel but
|
||||
otherwise do nothing (no kick or ban).
|
||||
For example: ```MODE #chan +f [5t#d]:15``` will limit sending a maximum of
|
||||
5 messages per 15 seconds per-user and drop any messages sent above that limit.
|
||||
* Channel mode +f now has 'r' floodtype to prevent repeated lines. This will
|
||||
compare the current message to the last message and the one before that
|
||||
the user sent to the channel. If it's a repeat then the user can be
|
||||
kicked (the default action), the message can be dropped ('d') or the
|
||||
user can be banned ('b'). Example: ```MODE #chan +f [1r#d]:15```
|
||||
If you want to permit 1 repeated line but not 2 then use: ```+f [2r#d]:15```
|
||||
* New module **tkldb** (loaded by default): all *LINES and spamfilters are now
|
||||
saved across reboots. No need for services for that anymore.
|
||||
* New module **channeldb** (loaded by default): saves and restores all channel
|
||||
settings including topic, modes, bans etc. of +P (persistent) channels.
|
||||
* New module [restrict-commands](https://www.unrealircd.org/docs/Set_block#set::restrict-commands), which allows you to restrict any IRC
|
||||
command based on criteria such as "how long is this user connected",
|
||||
"is this user registered (has a services account)" etc.
|
||||
The example.conf now ships with configuration to disable LIST the
|
||||
first 60 seconds and disable INVITE the first 120 seconds.
|
||||
If you are having spambot problems then tweaking this configuration
|
||||
may be helpful to you.
|
||||
* New option [set::require-module](https://www.unrealircd.org/docs/Set_block#set::require-module), which allows you to require certain
|
||||
modules on other UnrealIRCd 5 servers, otherwise the link is rejected.
|
||||
* New option [set::min-nick-length](https://www.unrealircd.org/docs/Set_block#set::min-nick-length) to set a minimum nick length.
|
||||
* New module rmtkl (loaded by default): this allows you to remove TKL's
|
||||
such as GLINEs easily via the /RMTKL command.
|
||||
* The [reputation and connthrottle](https://www.unrealircd.org/docs/Connthrottle) modules are now loaded by default.
|
||||
Just as a reminder, what these do is classifying your users in "known
|
||||
users (known IP's)" and "unknown IP's" for IP's that have not been
|
||||
seen before (or only for a short amount of time). Then, when there
|
||||
is a connection flood, unknown/new IP addresses are throttled at
|
||||
20 connections per minute, while known users are always allowed in.
|
||||
* Add support for [defines and conditional configuration](https://www.unrealircd.org/docs/Defines_and_conditional_config) via @define and @if.
|
||||
This is mostly for power users, in particular users who share the same
|
||||
configuration file across several servers.
|
||||
* New extban ~p to hide the part/quit message in PART and QUIT.
|
||||
For example: ```MODE #chan +b ~p:*!*@*.nl```
|
||||
* You will now see a warning when a server is not responding even
|
||||
before they time out. How long to wait for a PONG reply upon PING
|
||||
can be changed via [set::ping-warning](https://www.unrealircd.org/docs/Set_block#set::ping-warning) and defaults to 15 seconds.
|
||||
If you see the warning frequently then your connection is flakey.
|
||||
* Add new setting [set::broadcast-channel-messages](https://www.unrealircd.org/docs/Set_block#set::broadcast-channel-messages) which defines when
|
||||
channel messages are sent across server links. The default setting
|
||||
is *auto* which is the correct setting for pretty much everyone.
|
||||
* Add new option [set::part-instead-of-quit-on-comment-change](https://www.unrealircd.org/docs/Set_block#set::part-instead-of-quit-on-comment-change):
|
||||
when a QUIT message is changed due to channel restrictions, such as
|
||||
stripping color or censoring a word, we normally change the QUIT
|
||||
message. This has an effect on ALL channels, not just the one that
|
||||
imposed the restrictions. While we feel that is the best tradeoff,
|
||||
there is now also this new option (off by default) that will change
|
||||
the QUIT into a PART in such a case, so the other channels that
|
||||
do not have the restrictions (eg: are -S and -G) can still see the
|
||||
original QUIT message.
|
||||
* New module [webredir](https://www.unrealircd.org/docs/Set_block#set::webredir::url). Quite some people run their IRCd on port 443 or 80
|
||||
so their users can avoid firewall restrictions in place. In such a case,
|
||||
with this module, you can now send a HTTP redirect in case some user
|
||||
enters your IRC server name in their browser. Eg https://irc.example.org/
|
||||
can be made to redirect to https://www.example.org/
|
||||
* We now protect against misbehaving SASL servers and will time out
|
||||
SASL sessions after
|
||||
[set::sasl-timeout](https://www.unrealircd.org/docs/Set_block#set::sasl-timeout),
|
||||
which is 15 seconds by default.
|
||||
|
||||
Changed
|
||||
--------
|
||||
* Channel mode +L can now be set by chanops (+o and higher) instead of only
|
||||
by +q (channel owner)
|
||||
* Channel names must now be valid UTF8 by default.
|
||||
We actually have 3 possible settings of [set::allowed-channelchars](https://www.unrealircd.org/docs/Set_block#set::allowed-channelchars):
|
||||
* **utf8**: Channel must be valid UTF8, this is the new default
|
||||
* **ascii**: A very strict setting, for example in use at freenode,
|
||||
the channel name may not contain high ascii or UTF8
|
||||
* **any**: A very loose setting, which allows almost all characters
|
||||
in the channel name. This was the OLD default, up to and
|
||||
including UnrealIRCd 4. It is no longer recommended.
|
||||
|
||||
For most networks this new default setting of utf8 will be fine, since
|
||||
by far most IRC clients use UTF8 for many years already.
|
||||
If you have a network that has a significant portion of chatters
|
||||
that are on old non-UTF8 clients that use a specific character set
|
||||
then you may want to use ```set { allowed-nickchars any; }```
|
||||
Some Russian and Ukrainian networks are known to need this.
|
||||
* The "except tkl" block is now called [except ban](https://www.unrealircd.org/docs/Except_ban_block#UnrealIRCd_5). If no type
|
||||
is specified in an except ban { } block then we exempt the entry
|
||||
from kline, gline, zline, gzline and shun.
|
||||
* We no longer use a blacklist for stats (set::oper-only-stats).
|
||||
We use a whitelist now instead: [set::allow-user-starts](https://www.unrealircd.org/docs/Set_block#set::allow-user-stats).
|
||||
Most users can just remove their old set::oper-only-stats line,
|
||||
since the new default set::allow-user-starts setting is fine.
|
||||
* Windows: we now require a 64-bit version, Windows 7 or later.
|
||||
The new program path is: C:\Program Files\UnrealIRCd 5
|
||||
and the binaries have been moved to a new subdirectory: bin\
|
||||
* Modules lost their m_ prefix, so for example m_map is now just map.
|
||||
Also the modules in cap/ are now directly in modules.
|
||||
* More modules that were previously PERM (permanent) can now be unloaded
|
||||
and reloaded on the fly. This allows more "hotfixing" without restart
|
||||
in case of a bug and also more control for admins at runtime.
|
||||
Only <5 modules out of 173 are permanent now.
|
||||
* User mode +T now blocks channel CTCPs as well.
|
||||
* User mode +q (unkickable) could previously be set by any IRCOp.
|
||||
This has been changed to require the self:unkickablemode operclass
|
||||
permission. This is included in the *-with-override operclasses
|
||||
(eg: netadmin-with-operoverride).
|
||||
* [set::modes-on-join](https://www.unrealircd.org/docs/Set_block#set::modes-on-join) is now ```+nt``` by default.
|
||||
* The [authprompt](https://www.unrealircd.org/docs/Authentication#How_it_looks_like) module is now loaded by default. This means that if
|
||||
you do a soft kline on someone (eg: ```KLINE %*@*.badisp```) then the user
|
||||
has a chance to [authenticate](https://www.unrealircd.org/docs/Authentication#How_it_looks_like) to services, even without SASL, and
|
||||
bypass the ban if (s)he is authenticated.
|
||||
* The WHOX module is now used by default. Previously it was optional.
|
||||
WHOX enhances the "WHO" output, providing additional information to
|
||||
IRC clients such as the services account that someone is using.
|
||||
It is also more universal than standard WHO. Unfortunately this also
|
||||
means the WHO syntax changed to something less logical.
|
||||
* At many places the term *SSL* has been changed to *SSL/TLS* or *TLS*.
|
||||
Configuration items (eg: set::ssl to set::tls) have been renamed
|
||||
as well and so have directories (eg: conf/ssl to conf/tls).
|
||||
The old configuration names still work and currently does NOT raise
|
||||
any warning. Also, when upgrading an existing installation on *NIX,
|
||||
the conf/tls directory will be symlinked to conf/ssl as to not break
|
||||
any Let's Encrypt certificate scripts.
|
||||
* It is now mandatory to have at least one open SSL/TLS port, otherwise
|
||||
UnrealIRCd will refuse to boot. Previously this was a warning.
|
||||
* IRCOps now need to use SSL/TLS in order to oper up, as the
|
||||
[set::plaintext-policy::oper](https://www.unrealircd.org/docs/Set_block#set::plaintext-policy) default setting is now 'deny'.
|
||||
Similarly, [set::outdated-tls-policy::oper](https://www.unrealircd.org/docs/Set_block#set::outdated-tls-policy) is now also 'deny'.
|
||||
You can change this, if you want, but it is not recommended.
|
||||
* [set::outdated-tls-policy::server](https://www.unrealircd.org/docs/Set_block#set::outdated-tls-policy) is now 'deny' as well, since all
|
||||
servers should use reasonable SSL/TLS protocols and ciphers.
|
||||
* The default generated certificated has been changed from RSA 4096 bits
|
||||
to Elliptic Curve Cryptography "384r1". This provides the same amount
|
||||
of security but at higher speed. This only affects the default self-
|
||||
signed certificate. You can still use RSA certificates just fine.
|
||||
* If you do use an RSA certificate, we now require it to be at least
|
||||
2048 bits otherwise UnrealIRCd will refuse to boot.
|
||||
* When matching [allow { } blocks](https://www.unrealircd.org/docs/Allow_block), we now always continue with the next
|
||||
block (if any) if the password did not match or no password was
|
||||
specified. In other words, allow::options::nopasscont is now the
|
||||
default and we behave as if there was a ::wrongpasscont too.
|
||||
* All snomasks are now oper-only. Previously some were not, which
|
||||
was confusing and could lead to information leaks.
|
||||
Also removed weird set::snomask-on-connect accordingly.
|
||||
* The IRCd now uses hash tables that are resilient against hash table
|
||||
attacks. Also, the hash tables have increased in size to speed things
|
||||
up when looking up nick names etc.
|
||||
* Server options in VERSION (eg: Fhin6OoEMR3) are no longer shown to
|
||||
normal users. They don't mean much nowadays anyway.
|
||||
* ```./Config``` now asks fewer questions and configure runs faster since
|
||||
many unnecessary checks have been removed (compatibility with very
|
||||
old compilers / systems).
|
||||
* We now default to system libs (eg: ```--with-system-pcre2``` is assumed)
|
||||
* Spamfilter should catch some more spam evasion techniques.
|
||||
* All /DCCDENY and deny dcc { } parsing and checking is now moved to
|
||||
the 'dccdeny' module.
|
||||
* Windows: If you choose to run UnrealIRCd as a service then it now
|
||||
runs under the low-privilege NetworkService account rather than
|
||||
the high-privilege LocalSystem account.
|
||||
|
||||
Minor issues fixed
|
||||
-------------------
|
||||
* Specifying a custom OpenSSL/LibreSSL path should work now
|
||||
|
||||
Removed
|
||||
--------
|
||||
* Support for old server protocols has been removed.
|
||||
This means UnrealIRCd 5.x cannot link to 3.2.x. It also means you need
|
||||
to use reasonably new services. Generally, if your services can link to
|
||||
4.x then they should be able to link to 5.x as well. More information
|
||||
about this change and why it was done
|
||||
[can be found here](https://www.unrealircd.org/docs/FAQ#old-server-protocol).
|
||||
* Connecting with a server password will no longer send that password
|
||||
to NickServ. Use [SASL](https://www.unrealircd.org/docs/SASL) instead!
|
||||
* Extended ban ~R (registered nick): this was the old method to match
|
||||
registered users. Everyone should use ~a (services account) instead.
|
||||
* The old TRE **posix** regex method has been removed because the TRE
|
||||
library is no longer maintained for over a decade and contains many
|
||||
bugs. (It was already deprecated in UnrealIRCd 4.2.3).
|
||||
Use type **regex** instead, which uses the modern PCRE2 regex engine.
|
||||
* Timesync support has been removed. Use your OS time synchronization
|
||||
instead. (Note that Timesync was already disabled by default in 2018)
|
||||
* Changing time offsets via ```TSCTL OFFSET``` and ```TSCTL SVSTIME``` are no longer
|
||||
supported. Use your OS time synchronization (NTP!). Adjustments via
|
||||
TSCTL are simply not accurate enough.
|
||||
* The *nopost* module was removed since it no longer serves any useful
|
||||
purpose. UnrealIRCd already protects against these kind of attacks
|
||||
via ping cookies ([set::ping-cookie](https://www.unrealircd.org/docs/Set_block#set::ping-cookie), enabled by default).
|
||||
|
||||
Deprecated
|
||||
-----------
|
||||
* The set::official-channels block is now deprecated. This provided a
|
||||
mechanism to pre-configure channels that would have 0 members and
|
||||
would appear in /LIST with those settings, but once you joined all
|
||||
those settings would be gone. Rather confusing.
|
||||
|
||||
Since UnrealIRCd 4.x we have permanent channels (+P) and since 5.x
|
||||
we store these permanent channels in a database so all settings are
|
||||
saved every few minutes and across restarts.
|
||||
|
||||
Since permanent channels (+P) are much better, the official-channels
|
||||
support will be removed in a later version. There's no reason to
|
||||
use official-channels anymore.
|
||||
|
||||
Developers
|
||||
-----------
|
||||
* The module header is now as follows:
|
||||
|
||||
ModuleHeader MOD_HEADER
|
||||
= {
|
||||
"nameofmodule",
|
||||
"5.0",
|
||||
"Some description",
|
||||
"Name of Author",
|
||||
"unrealircd-5",
|
||||
};
|
||||
There's a new author field, the version must start with a digit,
|
||||
and also the name of the module must match the loadmodule name.
|
||||
So for example third/funmod must also be named third/funmod.
|
||||
* The ```MOD_TEST```, ```MOD_INIT```, ```MOD_LOAD``` and ```MOD_UNLOAD``` functions no longer
|
||||
take a name argument. So: ```MOD_INIT(mymod)``` is now ```MOD_INIT()```
|
||||
* We now use our own BuildBot infrastructure, so Travis-CI and AppVeyor
|
||||
have been removed.
|
||||
* We now use a new test framework.
|
||||
* ```Auth_Check()``` now returns ```1``` for allow and ```0``` on deny (!!)
|
||||
* New function ```new_message()``` which should be called when a new message
|
||||
is sent, or at least for all channel events. It adds (or inherits)
|
||||
message tags like 'account', 'msgid', 'time', etc.
|
||||
* Many send functions now take an extra MessageTag *mtags parameter,
|
||||
including but not limited to: sendto_one() and sendto_server().
|
||||
* Command functions (CMD_FUNC) have an extra ```MessageTag *mtags```,
|
||||
on the other hand the ```cptr``` parameter has been removed.
|
||||
* Command functions no longer return ```int``` but are ```void```,
|
||||
the same is true for ```exit_client()```. ```FLUSH_BUFFER``` has been removed too.
|
||||
All this is a consequence of removing this (limited) signaling
|
||||
of client exits. From now on, if you call ```exit_client()``` it will free
|
||||
a lot of the client data and exit the user (close socket, send [s]quit),
|
||||
but it will **not free 'sptr' itself**, so you can simply check if some
|
||||
upstream function killed the client by checking ```IsDead(sptr)```.
|
||||
This is highly recommended after running ```do_cmd()``` or calling other
|
||||
functions that could kill a client. In which case you should return
|
||||
rather than continue doing anything with ```sptr```.
|
||||
Ultimately, in the main loop, the client will be freed (normally in less than 1 second).
|
||||
* New single unified ```sendto_channel()``` and ```sendto_local_common_channels()```
|
||||
functions that are used by all the channel commands.
|
||||
* Numerics should now be sent using ```sendnumeric()```. There's also
|
||||
a format string version ```sendnumericfmt()``` in case you need it,
|
||||
in which case you need to pass the numeric format string yourself.
|
||||
In such a case, don't forget the colon character, like ":%s", where needed.
|
||||
* The parameters in several hooks have changed. Many now have an
|
||||
extra ```MessageTag *mtags``` parameter. Sometimes there are other changes
|
||||
as well, for example ```HOOKTYPE_CHANMSG``` now has 4 extra parameters.
|
||||
* You can call do_cmd() with NULL mtags. Usually this is the correct way.
|
||||
* If you used ```HOOKTYPE_PRE_USERMSG``` to block a message then you
|
||||
should now use ```HOOKTYPE_CAN_SEND_TO_USER```. Similarly, the hook
|
||||
```HOOKTYPE_CAN_SEND``` which deals with channels is now called
|
||||
```HOOKTYPE_CAN_SEND_TO_CHANNEL```. Some other remarks:
|
||||
* You CANNOT use HOOKTYPE_PRE_USERMSG anymore.
|
||||
* The hooks require you to set an error message if you return HOOK_DENY.
|
||||
* You should not send an error message yourself from these hooks.
|
||||
In other words: do not use sendnumeric(). This is done by the
|
||||
hook caller, based on the error message you return.
|
||||
* Thanks to this, all rejecting of user messages now use generic
|
||||
numeric 531 and all rejecting of channel messages use numeric 404.
|
||||
See also under *Client protocol* later in this document.
|
||||
* If you use CommandOverrideAddEx() to specify a priority value (rare)
|
||||
then be aware that in 5.0.1 we now use the 4.0.x behavior again to
|
||||
match the same style of priorities in hooks: overrides with the
|
||||
lowest priority are run first.
|
||||
* If you ever send a timestamp in a printf-like function, such as
|
||||
in ```sendto_server()```, then be sure to use ```%lld``` and cast the timestamp
|
||||
to *long long* so that it is compatible with both *NIX and Windows.
|
||||
Example: ```sendnotice(sptr, "Timestamp is %lld", (long long)ts);```
|
||||
* ```EventAdd()``` changed the order of parameters and expects every_msec now
|
||||
which specifies the time in milliseconds rather than seconds. This
|
||||
allows for additional precision, or at least multiple calls per second.
|
||||
The minimum allowed every_msec value is 100 at this time.
|
||||
The prototype is now: ```EventAdd(Module *module, char *name,
|
||||
vFP event, void *data, long every_msec, int count);```
|
||||
* New ```HOOKTYPE_IS_HANDSHAKE_FINISHED```. If a module returns ```0``` there, then
|
||||
the ```register_user()``` function will not be called and the user will
|
||||
not come online (yet). This is used by CAP and some other stuff.
|
||||
Can be useful if your module needs to "hold" a user in the registration
|
||||
phase.
|
||||
* The function ```is_module_loaded()``` now takes a relative path like
|
||||
"usermodes/noctcp" because with just "ctcp" one could not see the
|
||||
difference between usermodes/noctcp and chanmodes/noctcp.
|
||||
* ```CHFL_CHANPROT``` is now ```CHFL_CHANADMIN```, ```is_chanprot()``` is now ```is_chanadmin()```
|
||||
* All hash tables now use [SipHash](https://en.wikipedia.org/wiki/SipHash), which is a hash function that is
|
||||
resilient against hash table attacks. If you, as a module dev, too
|
||||
use any hash tables anywhere (note: this is quite rare), then you
|
||||
are recommended to use our functions, see the functions siphash()
|
||||
and siphash_nocase() in src/hash.c.
|
||||
* The random generator has been updated to use [ChaCha](https://en.wikipedia.org/wiki/Salsa20#ChaCha20_adoption) (more modern).
|
||||
* You can now save pointers and integers etc. across rehashes by using
|
||||
```LoadPersistentPointer()``` and ```SavePersistentPointer()```. For an example,
|
||||
see ```src/modules/chanmodes/floodprot.c``` how this can be used.
|
||||
Note that there can be no struct or type changes between rehashes.
|
||||
* New ModData types: ```MODDATA_LOCALVAR``` and ```MODDA_GLOBALVAR```. These are
|
||||
settings or things that are locally or globally identified by the
|
||||
variable name only and not attached to any user/channel.
|
||||
* Various files have been renamed. As previously mentioned, the m_
|
||||
prefix was dropped in ```src/modules/m_*.c```. Similarly the s_ prefix
|
||||
was dropped in ```src/s_*.c``` since it no longer had meaning. Also some
|
||||
files have been deleted and integrated elsewhere or renamed to
|
||||
have a name that better reflects their true meaning.
|
||||
Related to this change is that all command functions are now called
|
||||
```cmd_name``` rather than ```m_name```.
|
||||
* ```HOOKTYPE_CHECK_INIT``` and ```HOOKTYPE_PRE_LOCAL_CONNECT```
|
||||
have their return value changed. You should now return ```HOOK_*```, such
|
||||
as ```HOOK_DENY``` or ```HOOK_CONTINUE```.
|
||||
|
||||
Server protocol
|
||||
----------------
|
||||
* UnrealIRCd 5 now assumes you support the following PROTOCTL options:
|
||||
```NOQUIT EAUTH SID NICKv2 SJOIN SJ3 NICKIP TKLEXT2```.
|
||||
If you fail to use ```SID``` or ```EAUTH``` then you will receive an
|
||||
error. For the other options, support is *assumed*, no warning or
|
||||
error is shown when you lack support. These are options that most,
|
||||
if not all, services support since UnrealIRCd 4.x so it shouldn't be
|
||||
a problem. More information [here](https://www.unrealircd.org/docs/FAQ#old-server-protocol)
|
||||
* ```PROTOCTL MTAGS``` indicates that the server is capable of handling
|
||||
message tags and that the server can cope with 4K lines. (Note that
|
||||
the ordinary non-message-tag part is still limited to 512 bytes).
|
||||
* Pseudo ID support in SASL was removed. We now use real UID's.
|
||||
This breaks services who rely on the old pseudo ID format.
|
||||
|
||||
Client protocol
|
||||
----------------
|
||||
* Support for message tags and other IRCv3 features. See the IRCv3
|
||||
specifications for more details.
|
||||
* When a message is blocked, for whatever reason, we now use a generic
|
||||
numeric response: ```:server 531 yourname targetname :reason``` for the block
|
||||
This replaces all the various NOTICEs, ```ERR_NOCTCP```, ```ERR_NONONREG```, etc.
|
||||
with just one single numeric.
|
||||
The only other numerics that you may still encounter when PM'ing are
|
||||
```ERR_NOSUCHNICK```, ```ERR_TOOMANYTARGETS``` and ```ERR_TARGETTOOFAST```, which are
|
||||
generic errors to any command involving targets. And ```ERR_SERVICESDOWN```.
|
||||
Note that channel messages already had a generic numeric for signaling
|
||||
blocked messages for a very long time, ```ERR_CANNOTSENDTOCHAN```.
|
||||
* The 271 response to the SILENCE command is now:
|
||||
```:server 271 yournick listentry!*@*```
|
||||
Previously the nick name appeared twice, which was a mistake.
|
||||
* The 470 numeric, which is sent on /JOIN #channel redirect to #redirect
|
||||
now uses the following format:
|
||||
```:server 470 yournick #channel #redirect :[Link] Cannot join channel...etc..```
|
||||
* Clients are recommended to implement and enable the
|
||||
[server-time](https://ircv3.net/specs/extensions/server-time-3.2)
|
||||
extension by default. When enabled, channel history is played back
|
||||
on-join (if any) when the channel has channel mode +H.
|
||||
Otherwise your users will not see channel history.
|
||||
File diff suppressed because it is too large
Load Diff
+123
-143
@@ -1,143 +1,123 @@
|
||||
Rules about patches & modifications to UnrealIRCd
|
||||
|
||||
1. When making a change, always add a small description in the commit log.
|
||||
Don't forget to mention the bug# and credit the reporter (if any).
|
||||
|
||||
2. If new files are made, it must contain proper copyright headers.
|
||||
|
||||
3. If you want to submit patches (f.e. if you don't have write access to
|
||||
the repository), then submit them to https://bugs.unrealircd.org/
|
||||
using "hg export" or "hg diff". Naturally include a clear description
|
||||
of what the change does.
|
||||
|
||||
4. Each bug or feature should have a bug# so people can have a discussion
|
||||
about it. This has a few implications (read!!):
|
||||
* People must report bugs/feature requests to bugs.unrealircd.org and
|
||||
not on IRC, e-mail, etc.
|
||||
* That means other people can see the bug# and comment on it. This means
|
||||
discussion is easy to read back for each issue and not spread between
|
||||
several IRC logs.
|
||||
Furthermore, by using the bugtracker instead of directly committing,
|
||||
people could point out that there might be a better way to do things
|
||||
than you originally thought, or it might be that other devs don't like
|
||||
it at all.
|
||||
* If a head coder has 'acknowledged' or 'confirmed' the bug or stated in
|
||||
a comment that it's OK to implement, then a dev may take the issue.
|
||||
The dev should change the status to 'assigned' and work on it, then
|
||||
commit and change it to 'resolved', set 'fixed in version' to next
|
||||
release, and add a comment pasting the relevant Changelog item and the
|
||||
releaseid (.XYZ).
|
||||
Of course other guidelines, like #7 and #8 still apply.
|
||||
|
||||
5. Do not commit changes that do not have an associated bug# and have not
|
||||
had any discussion.
|
||||
3.2.x: Small/tiny bugfixes that do not change any functionality, are
|
||||
very unlikely to break anything and definitely don't require any prior
|
||||
discussion may be exempted.
|
||||
3.4.x: During the alpha & beta stage it is permitted to commit fixes
|
||||
and code cleanups / restructuring without any discussion.
|
||||
However in general, and in particular for new features, it is appreciated
|
||||
if there has been prior discussion on bugs.unrealircd.org (or by mail).
|
||||
|
||||
6. Regarding reidenting, restructuring or other major code cleanups: please
|
||||
discuss before doing so. The other devs might not agree with you on the
|
||||
particular cleanup you have in mind which would result in another
|
||||
clean-up-the-cleanup commit.
|
||||
You may, however reindent and clean up individual sections when you are
|
||||
working on fixing a particular bug# or implementing a new feature. In fact
|
||||
you're encouraged to do so if the code is confusing without it. However,
|
||||
obey the style of Unreal's code (mostly outlined in this document)
|
||||
and do not introduce yet another (new) style. Also, be careful with doing
|
||||
any cleanup: if you're unsure in any way about the use of something,
|
||||
or something that looks redundant on first sight, then look more
|
||||
carefully... it might indeed be useless and/or redundant, but it might
|
||||
also be a subtle thing that can create great bugs when 'cleaned up'.
|
||||
|
||||
7. Prior to a 3.2.x release: be very careful with any restructuring of a
|
||||
subsystem or doing any major commits that may break things. Stuff like
|
||||
this can be perfectly fine if there are many months to go, but are not
|
||||
good to do a month before release. The head coder may impose additional
|
||||
restrictions during such a period.
|
||||
|
||||
8. During the Release Candidate stage (from RC1 until the final release)
|
||||
only the head coder may commit directly, all others should ask and
|
||||
present their patch before committing. Yes, even if you are changing
|
||||
only 1 line of code or text.
|
||||
|
||||
9. UnrealIRCd should compile on all supported operating systems and
|
||||
platforms, using GCC 3 or higher on *NIX, and Visual Studio 2008 or
|
||||
higher on Windows. This means you cannot blindly use all C99 extensions.
|
||||
|
||||
10. Coders must test their code before committing.
|
||||
|
||||
11. /*
|
||||
* These kind of comments
|
||||
*/
|
||||
|
||||
NOT
|
||||
|
||||
// These kind of comments
|
||||
|
||||
12. if (something == 1)
|
||||
{
|
||||
moo; /* comment */
|
||||
/* This does what what what */
|
||||
cow(go(moo));
|
||||
}
|
||||
|
||||
NOT
|
||||
|
||||
if (something == 1) {
|
||||
}
|
||||
|
||||
13. Do not touch version.c.SH or version.h, unless you are a head coder
|
||||
if you need a credit in, contact us
|
||||
|
||||
14. Protocol changes must be discussed before making patches for it.
|
||||
|
||||
15. We do NOT rip people off. If we use other people's code, it MUST be
|
||||
properly credited.
|
||||
|
||||
16. We generally use tabsize 4 and 8. In any case, use tabs and NOT spaces.
|
||||
Some code is old and horrible and has a mix of tabs and spaces used for
|
||||
spacing, that's something we do not want to have ;)
|
||||
|
||||
17. Be careful about overflows. Do not do any unchecked string copies.
|
||||
Instead of strcpy, strcat and sprintf/ircsprintf, use the following
|
||||
functions: strlcpy, strlcat, snprintf/ircnsprintf.
|
||||
If you are copying/writing character-by-character or word-by-word in a
|
||||
loop, be very sure about your size counting. Sometimes it's possible
|
||||
to avoid such code alltogether by just calling strlcat each time.
|
||||
|
||||
18. Speed. When optimizing or writing code, keep in mind that readability and
|
||||
stability comes FIRST, and after that comes speed. So we'd rather prefer some
|
||||
readable code (even if difficult) over some odd highly optimized routine which
|
||||
nobody understands, is difficult to extend, and might have several bugs.
|
||||
As mentioned earlier: use ircsnprintf, not snprintf (this is because
|
||||
ircsnprintf is optimized for simple strings like the ones we use).
|
||||
ircsnprintf calls snprintf when it finds a (non-simple) format specifier it
|
||||
can't handle. Simple format specifiers do not have prefixes other than
|
||||
h and l.
|
||||
|
||||
19. Initialize your structs and use the proper memory calls.
|
||||
In UnrealIRCd we use MyMalloc, MyMallocEx and MyFree (so not malloc/free).
|
||||
MyMalloc usually maps to malloc, and MyMallocEx is a malloc plus filling
|
||||
the memory area (eg: the struct) with zero's (a la calloc).
|
||||
Use of MyMallocEx is suggested. In general you should not be using MyMalloc.
|
||||
"But MyMalloc is faster!" you might say. This is true, but using MyMallocEx
|
||||
has very little speed impact and enormous benefits: people tend to forget
|
||||
to set certain fields in the struct to NULL, or much more common: when
|
||||
someone later on (eg: 1 year later) adds a field to a struct, there could
|
||||
be several places he/she needs to update to make sure x->something is NULL
|
||||
after allocating a new struct. Bad idea.
|
||||
Little speed impact, huge stability benefits, easy decision ;).
|
||||
|
||||
20. Comment your code! This should speak for itself...
|
||||
Put comments wherever you think they are needed, to aid any further coders
|
||||
with reading your code.. and, in fact, it will aid yourself as well if you
|
||||
would look back at your code 2 years later.
|
||||
If there's some obscure pitfall, DO mention it! Don't just "hope" a next
|
||||
author will see it like you did.
|
||||
|
||||
21. Use enums whenever possible, rather than #define constants. Besides making
|
||||
things more clean, it also aids debugging.
|
||||
Rules about patches & modifications to UnrealIRCd
|
||||
|
||||
1. When making a change, always add a small description in the commit log.
|
||||
Don't forget to mention the bug# and credit the reporter (if any).
|
||||
|
||||
2. If new files are made, they must contain proper copyright headers.
|
||||
|
||||
3. Each bug or feature should have a bug# so people can have a discussion
|
||||
about it. This has a few implications (read!!):
|
||||
* People must report bugs/feature requests to bugs.unrealircd.org and
|
||||
not on IRC, e-mail, etc.
|
||||
* That means other people can see the bug# and comment on it. This means
|
||||
discussion is easy to read back for each issue and not spread between
|
||||
several IRC logs.
|
||||
Furthermore, by using the bugtracker instead of directly committing,
|
||||
people could point out that there might be a better way to do things
|
||||
than you originally thought, or it might be that other devs don't like
|
||||
it at all.
|
||||
* If a head coder has 'acknowledged' or 'confirmed' the issue or stated
|
||||
in a comment that it's OK to implement, then any dev may take the issue.
|
||||
The dev should change the status to 'assigned' and work on it, then
|
||||
commit and change it to 'resolved', set 'fixed in version' to the
|
||||
correct release, and add a comment pasting the relevant commit log.
|
||||
Of course other guidelines, in particular rule #7, still applies.
|
||||
|
||||
4. If you don't have direct write access to the repository then you can
|
||||
submit changes as as PR on github. It is very much preferred to also
|
||||
have a bugs.unrealircd.org entry for it as well (see previous item).
|
||||
|
||||
5. For the stable branch, in general, only commit changes that have an
|
||||
associated bugid# and/or were discussed.
|
||||
For branches currently in development (alpha/beta) there's more freedom
|
||||
and if you think the change will be small and is fine without a
|
||||
discussion then feel free to commit.
|
||||
|
||||
6. Regarding reidenting, restructuring or other major code cleanups: please
|
||||
discuss before doing so. The other devs might not agree with you on the
|
||||
particular cleanup you have in mind which would result in another
|
||||
clean-up-the-cleanup commit.
|
||||
You may, however reindent and clean up individual sections when you are
|
||||
working on fixing a particular bug# or implementing a new feature. In fact
|
||||
you're encouraged to do so if the code is confusing without it. However,
|
||||
obey the style of Unreal's code (mostly outlined in this document)
|
||||
and do not introduce yet another (new) style. Also, be careful with doing
|
||||
any cleanup: if you're unsure in any way about the use of something,
|
||||
or something that looks redundant on first sight, then look more
|
||||
carefully... it might indeed be useless and/or redundant, but it might
|
||||
also be a subtle thing that can create great bugs when 'cleaned up'.
|
||||
|
||||
7. During the Release Candidate stage (from RC1 until the final release)
|
||||
only the head coder may commit directly, all others should ask and
|
||||
present their patch before committing. Yes, even if you are changing
|
||||
only 1 line of code or text.
|
||||
|
||||
9. UnrealIRCd should compile on all supported operating systems and
|
||||
platforms, using GCC 3 or higher on *NIX, and Visual Studio 2008 or
|
||||
higher on Windows. This means you cannot blindly use all C99 extensions.
|
||||
|
||||
10. Coders must test their code before committing.
|
||||
|
||||
11. /*
|
||||
* These kind of comments
|
||||
*/
|
||||
|
||||
NOT
|
||||
|
||||
// These kind of comments
|
||||
|
||||
12. if (something == 1)
|
||||
{
|
||||
moo; /* comment */
|
||||
/* This does what what what */
|
||||
cow(go(moo));
|
||||
}
|
||||
|
||||
NOT
|
||||
|
||||
if (something == 1) {
|
||||
}
|
||||
|
||||
13. Do not touch version.c.SH or version.h, unless you are a head coder.
|
||||
If you need a credit in, contact us
|
||||
|
||||
14. Protocol changes must be discussed before making patches for it.
|
||||
|
||||
15. We do NOT rip people off. If we use other people's code, it MUST be
|
||||
properly credited.
|
||||
|
||||
16. We use tabsize 8 and we use tabs AND NOT SPACES.
|
||||
Some code is old and horrible and has a mix of tabs and spaces used for
|
||||
spacing, that's something we do not want to have ;)
|
||||
|
||||
17. Be careful about overflows. Do not do any unchecked string copies.
|
||||
Instead of strcpy, strcat and sprintf/ircsprintf, use the following
|
||||
functions: strlcpy, strlcat, snprintf/ircnsprintf.
|
||||
If you are copying/writing character-by-character or word-by-word in a
|
||||
loop, eg using *p++ = x; then be very sure about your size counting.
|
||||
Often it's better to avoid such code altogether, by simply using
|
||||
strlcat for everything.
|
||||
|
||||
18. Speed. When optimizing or writing code, keep in mind that readability and
|
||||
stability comes FIRST, and after that comes speed. So we'd rather prefer some
|
||||
readable code (even if difficult) over some odd highly optimized routine which
|
||||
nobody understands, is difficult to extend, and might have several bugs.
|
||||
As mentioned earlier: use ircsnprintf, not snprintf (this is because
|
||||
ircsnprintf is optimized for simple strings like the ones we use).
|
||||
ircsnprintf calls snprintf when it finds a (non-simple) format specifier it
|
||||
can't handle. Simple format specifiers do not have prefixes other than
|
||||
h and l.
|
||||
|
||||
19. Initialize your structs and use the proper memory calls.
|
||||
In UnrealIRCd we use safe_alloc, safe_free, safe_strdup and safe_strldup.
|
||||
Do NOT use malloc, calloc or strdup.
|
||||
|
||||
20. Comment your code! This should speak for itself...
|
||||
Put comments wherever you think they are needed, to aid any further coders
|
||||
with reading your code.. and, in fact, it will aid yourself as well if you
|
||||
would look back at your code 2 years later.
|
||||
If there's some obscure pitfall, DO mention it! Don't just "hope" a next
|
||||
author will see it like you did.
|
||||
|
||||
21. Use enums whenever possible, rather than #define constants. Besides making
|
||||
things more clean, it also aids debugging.
|
||||
|
||||
@@ -5,39 +5,39 @@ alias identify {
|
||||
target chanserv;
|
||||
type services;
|
||||
parameters "IDENTIFY %1-";
|
||||
};
|
||||
}
|
||||
format "^[^#]" {
|
||||
target nickserv;
|
||||
type services;
|
||||
parameters "IDENTIFY %1-";
|
||||
};
|
||||
}
|
||||
type command;
|
||||
};
|
||||
}
|
||||
|
||||
alias services {
|
||||
format "^#" {
|
||||
target chanserv;
|
||||
type services;
|
||||
parameters "%1-";
|
||||
};
|
||||
}
|
||||
format "^[^#]" {
|
||||
target nickserv;
|
||||
type services;
|
||||
parameters "%1-";
|
||||
};
|
||||
}
|
||||
type command;
|
||||
};
|
||||
}
|
||||
|
||||
alias register {
|
||||
format "^#" {
|
||||
target chanserv;
|
||||
type services;
|
||||
parameters "REGISTER %1-";
|
||||
};
|
||||
}
|
||||
format "^[^#]" {
|
||||
target nickserv;
|
||||
type services;
|
||||
parameters "REGISTER %1-";
|
||||
};
|
||||
}
|
||||
type command;
|
||||
};
|
||||
}
|
||||
|
||||
+12
-13
@@ -1,18 +1,17 @@
|
||||
/* Anope Aliases */
|
||||
|
||||
alias nickserv { type services; };
|
||||
alias ns { target nickserv; type services; };
|
||||
alias chanserv { type services; };
|
||||
alias cs { target chanserv; type services; };
|
||||
alias memoserv { type services; spamfilter yes; };
|
||||
alias ms { target memoserv; type services; spamfilter yes; };
|
||||
alias operserv { type services; };
|
||||
alias os { target operserv; type services; };
|
||||
alias helpserv { type services; };
|
||||
alias botserv { type services; };
|
||||
alias bs { target botserv; type services; };
|
||||
alias hostserv { type services; };
|
||||
alias hs { target hostserv; type services; };
|
||||
alias nickserv { type services; }
|
||||
alias ns { target nickserv; type services; }
|
||||
alias chanserv { type services; }
|
||||
alias cs { target chanserv; type services; }
|
||||
alias memoserv { type services; spamfilter yes; }
|
||||
alias ms { target memoserv; type services; spamfilter yes; }
|
||||
alias operserv { type services; }
|
||||
alias os { target operserv; type services; }
|
||||
alias botserv { type services; }
|
||||
alias bs { target botserv; type services; }
|
||||
alias hostserv { type services; }
|
||||
alias hs { target hostserv; type services; }
|
||||
|
||||
include "aliases/aliases.conf";
|
||||
|
||||
|
||||
@@ -1,26 +1,26 @@
|
||||
/* Atheme Aliases */
|
||||
|
||||
alias nickserv { type services; };
|
||||
alias ns { target nickserv; type services; };
|
||||
alias chanserv { type services; };
|
||||
alias cs { target chanserv; type services; };
|
||||
alias memoserv { type services; spamfilter yes; };
|
||||
alias ms { target memoserv; type services; spamfilter yes; };
|
||||
alias operserv { type services; };
|
||||
alias os { target operserv; type services; };
|
||||
alias helpserv { type services; };
|
||||
alias botserv { type services; };
|
||||
alias bs { target botserv; type services; };
|
||||
alias hostserv { type services; };
|
||||
alias hs { target hostserv; type services; };
|
||||
alias saslserv { type services; };
|
||||
alias sss { target saslserv; type services; };
|
||||
alias gameserv { type services; };
|
||||
alias gms { target gameserv; type services; };
|
||||
alias groupserv { type services; };
|
||||
alias grs { target groupserv; type services; };
|
||||
alias alis { type services; };
|
||||
alias ls { target alis; type services; };
|
||||
alias nickserv { type services; }
|
||||
alias ns { target nickserv; type services; }
|
||||
alias chanserv { type services; }
|
||||
alias cs { target chanserv; type services; }
|
||||
alias memoserv { type services; spamfilter yes; }
|
||||
alias ms { target memoserv; type services; spamfilter yes; }
|
||||
alias operserv { type services; }
|
||||
alias os { target operserv; type services; }
|
||||
alias helpserv { type services; }
|
||||
alias botserv { type services; }
|
||||
alias bs { target botserv; type services; }
|
||||
alias hostserv { type services; }
|
||||
alias hs { target hostserv; type services; }
|
||||
alias saslserv { type services; }
|
||||
alias sss { target saslserv; type services; }
|
||||
alias gameserv { type services; }
|
||||
alias gms { target gameserv; type services; }
|
||||
alias groupserv { type services; }
|
||||
alias grs { target groupserv; type services; }
|
||||
alias alis { type services; }
|
||||
alias ls { target alis; type services; }
|
||||
|
||||
include "aliases/aliases.conf";
|
||||
|
||||
|
||||
@@ -1,33 +1,33 @@
|
||||
/* Auspice Aliases */
|
||||
|
||||
/* Uncomment this, if you have enabled "MassServ, W and X" in auspice */
|
||||
# alias massserv { type services; };
|
||||
# alias ma { target massserv; type services; };
|
||||
# alias W { type services; };
|
||||
# alias X { type services; };
|
||||
# alias massserv { type services; }
|
||||
# alias ma { target massserv; type services; }
|
||||
# alias W { type services; }
|
||||
# alias X { type services; }
|
||||
|
||||
/* Uncomment this, if you have enabled "WebServ" in auspice */
|
||||
# alias webserv { type services; };
|
||||
# alias ws { target webserv; type services; };
|
||||
# alias webserv { type services; }
|
||||
# alias ws { target webserv; type services; }
|
||||
|
||||
alias agent { type services; };
|
||||
alias adminserv { type services; };
|
||||
alias as { target adminserv; type services; };
|
||||
alias botserv { type services; };
|
||||
alias bs { target botserv; type services; };
|
||||
alias chanserv { type services; };
|
||||
alias cs { target chanserv; type services; };
|
||||
alias helpserv { type services; };
|
||||
alias hs { target helpserv; type services; };
|
||||
alias hostserv { type services; };
|
||||
alias ho { target hostserv; type services; };
|
||||
alias memoserv { type services; spamfilter yes; };
|
||||
alias ms { target memoserv; type services; spamfilter yes; };
|
||||
alias nickserv { type services; };
|
||||
alias ns { target nickserv; type services; };
|
||||
alias operserv { type services; };
|
||||
alias os { target operserv; type services; };
|
||||
alias rootserv { type services; };
|
||||
alias rs { target rootserv; type services; };
|
||||
alias agent { type services; }
|
||||
alias adminserv { type services; }
|
||||
alias as { target adminserv; type services; }
|
||||
alias botserv { type services; }
|
||||
alias bs { target botserv; type services; }
|
||||
alias chanserv { type services; }
|
||||
alias cs { target chanserv; type services; }
|
||||
alias helpserv { type services; }
|
||||
alias hs { target helpserv; type services; }
|
||||
alias hostserv { type services; }
|
||||
alias ho { target hostserv; type services; }
|
||||
alias memoserv { type services; spamfilter yes; }
|
||||
alias ms { target memoserv; type services; spamfilter yes; }
|
||||
alias nickserv { type services; }
|
||||
alias ns { target nickserv; type services; }
|
||||
alias operserv { type services; }
|
||||
alias os { target operserv; type services; }
|
||||
alias rootserv { type services; }
|
||||
alias rs { target rootserv; type services; }
|
||||
|
||||
include "aliases/aliases.conf";
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
/* Cygnus Aliases */
|
||||
|
||||
alias nickserv { type services; };
|
||||
alias ns { target nickserv; type services; };
|
||||
alias chanserv { type services; };
|
||||
alias cs { target chanserv; type services; };
|
||||
alias memoserv { type services; spamfilter yes; };
|
||||
alias ms { target memoserv; type services; spamfilter yes; };
|
||||
alias rootserv { type services; };
|
||||
alias rs { target rootserv; type services; };
|
||||
alias nickserv { type services; }
|
||||
alias ns { target nickserv; type services; }
|
||||
alias chanserv { type services; }
|
||||
alias cs { target chanserv; type services; }
|
||||
alias memoserv { type services; spamfilter yes; }
|
||||
alias ms { target memoserv; type services; spamfilter yes; }
|
||||
alias rootserv { type services; }
|
||||
alias rs { target rootserv; type services; }
|
||||
|
||||
include "aliases/aliases.conf";
|
||||
|
||||
+12
-12
@@ -1,16 +1,16 @@
|
||||
/* Epona Aliases */
|
||||
|
||||
alias nickserv { type services; };
|
||||
alias ns { target nickserv; type services; };
|
||||
alias chanserv { type services; };
|
||||
alias cs { target chanserv; type services; };
|
||||
alias memoserv { type services; spamfilter yes; };
|
||||
alias ms { target memoserv; type services; spamfilter yes; };
|
||||
alias operserv { type services; };
|
||||
alias os { target operserv; type services; };
|
||||
alias helpserv { type services; };
|
||||
alias hs { target helpserv; type services; };
|
||||
alias botserv { type services; };
|
||||
alias bs { target botserv; type services; };
|
||||
alias nickserv { type services; }
|
||||
alias ns { target nickserv; type services; }
|
||||
alias chanserv { type services; }
|
||||
alias cs { target chanserv; type services; }
|
||||
alias memoserv { type services; spamfilter yes; }
|
||||
alias ms { target memoserv; type services; spamfilter yes; }
|
||||
alias operserv { type services; }
|
||||
alias os { target operserv; type services; }
|
||||
alias helpserv { type services; }
|
||||
alias hs { target helpserv; type services; }
|
||||
alias botserv { type services; }
|
||||
alias bs { target botserv; type services; }
|
||||
|
||||
include "aliases/aliases.conf";
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
/* Generic Aliases */
|
||||
|
||||
alias nickserv { type services; };
|
||||
alias ns { target nickserv; type services; };
|
||||
alias chanserv { type services; };
|
||||
alias cs { target chanserv; type services; };
|
||||
alias memoserv { type services; spamfilter yes; };
|
||||
alias ms { target memoserv; type services; spamfilter yes; };
|
||||
alias operserv { type services; };
|
||||
alias os { target operserv; type services; };
|
||||
alias helpserv { type services; };
|
||||
alias hs { target helpserv; type services; };
|
||||
alias nickserv { type services; }
|
||||
alias ns { target nickserv; type services; }
|
||||
alias chanserv { type services; }
|
||||
alias cs { target chanserv; type services; }
|
||||
alias memoserv { type services; spamfilter yes; }
|
||||
alias ms { target memoserv; type services; spamfilter yes; }
|
||||
alias operserv { type services; }
|
||||
alias os { target operserv; type services; }
|
||||
alias helpserv { type services; }
|
||||
alias hs { target helpserv; type services; }
|
||||
|
||||
include "aliases/aliases.conf";
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* Generic StatServ Aliases */
|
||||
|
||||
alias statserv { type stats; };
|
||||
alias ss { target statserv; type stats; };
|
||||
alias statserv { type stats; }
|
||||
alias ss { target statserv; type stats; }
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
/* IRCServices Aliases */
|
||||
|
||||
alias nickserv { type services; };
|
||||
alias ns { target nickserv; type services; };
|
||||
alias chanserv { type services; };
|
||||
alias cs { target chanserv; type services; };
|
||||
alias memoserv { type services; spamfilter yes; };
|
||||
alias ms { target memoserv; type services; spamfilter yes; };
|
||||
alias operserv { type services; };
|
||||
alias os { target operserv; type services; };
|
||||
alias helpserv { type services; };
|
||||
alias hs { target helpserv; type services; };
|
||||
alias irciihelp { type services; };
|
||||
alias statserv { type services; };
|
||||
alias ss { target statserv; type services; };
|
||||
alias nickserv { type services; }
|
||||
alias ns { target nickserv; type services; }
|
||||
alias chanserv { type services; }
|
||||
alias cs { target chanserv; type services; }
|
||||
alias memoserv { type services; spamfilter yes; }
|
||||
alias ms { target memoserv; type services; spamfilter yes; }
|
||||
alias operserv { type services; }
|
||||
alias os { target operserv; type services; }
|
||||
alias helpserv { type services; }
|
||||
alias hs { target helpserv; type services; }
|
||||
alias irciihelp { type services; }
|
||||
alias statserv { type services; }
|
||||
alias ss { target statserv; type services; }
|
||||
|
||||
include "aliases/aliases.conf";
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* OperStats Aliases */
|
||||
|
||||
alias operserv { type stats; };
|
||||
alias os { target operserv; type stats; };
|
||||
alias statserv { type stats; };
|
||||
alias ss { target statserv; type stats; };
|
||||
alias operserv { type stats; }
|
||||
alias os { target operserv; type stats; }
|
||||
alias statserv { type stats; }
|
||||
alias ss { target statserv; type stats; }
|
||||
|
||||
+19
-19
@@ -30,22 +30,22 @@
|
||||
|
||||
|
||||
*/
|
||||
badword all { word "pussy"; };
|
||||
badword all { word "fuck"; };
|
||||
badword all { word "whore"; };
|
||||
badword all { word "slut"; };
|
||||
badword all { word "shit"; };
|
||||
badword all { word "asshole"; };
|
||||
badword all { word "bitch"; };
|
||||
badword all { word "cunt"; };
|
||||
badword all { word "vagina"; };
|
||||
badword all { word "penis"; };
|
||||
badword all { word "jackass"; };
|
||||
badword all { word "*fucker*"; };
|
||||
badword all { word "faggot"; };
|
||||
badword all { word "fag"; };
|
||||
badword all { word "horny"; };
|
||||
badword all { word "dickhead"; };
|
||||
badword all { word "sonuvabitch"; };
|
||||
badword all { word "*fuck*"; };
|
||||
badword all { word "tits"; };
|
||||
badword all { word "pussy"; }
|
||||
badword all { word "fuck"; }
|
||||
badword all { word "whore"; }
|
||||
badword all { word "slut"; }
|
||||
badword all { word "shit"; }
|
||||
badword all { word "asshole"; }
|
||||
badword all { word "bitch"; }
|
||||
badword all { word "cunt"; }
|
||||
badword all { word "vagina"; }
|
||||
badword all { word "penis"; }
|
||||
badword all { word "jackass"; }
|
||||
badword all { word "*fucker*"; }
|
||||
badword all { word "faggot"; }
|
||||
badword all { word "fag"; }
|
||||
badword all { word "horny"; }
|
||||
badword all { word "dickhead"; }
|
||||
badword all { word "sonuvabitch"; }
|
||||
badword all { word "*fuck*"; }
|
||||
badword all { word "tits"; }
|
||||
|
||||
+20
-20
@@ -17,26 +17,26 @@
|
||||
*/
|
||||
|
||||
/* first.. deny everything, then allow known-good stuff... */
|
||||
deny dcc { filename "*"; reason "Possible executable content"; soft yes; };
|
||||
deny dcc { filename "*"; reason "Possible executable content"; soft yes; }
|
||||
/* common image formats */
|
||||
allow dcc { filename "*.jpg"; soft yes; };
|
||||
allow dcc { filename "*.jpeg"; soft yes; };
|
||||
allow dcc { filename "*.gif"; soft yes; };
|
||||
allow dcc { filename "*.png"; soft yes; };
|
||||
allow dcc { filename "*.bmp"; soft yes; };
|
||||
allow dcc { filename "*.jpg"; soft yes; }
|
||||
allow dcc { filename "*.jpeg"; soft yes; }
|
||||
allow dcc { filename "*.gif"; soft yes; }
|
||||
allow dcc { filename "*.png"; soft yes; }
|
||||
allow dcc { filename "*.bmp"; soft yes; }
|
||||
/* audio / video (but not scripted/playlists!) */
|
||||
allow dcc { filename "*.mp1"; soft yes; };
|
||||
allow dcc { filename "*.mp2"; soft yes; };
|
||||
allow dcc { filename "*.mp3"; soft yes; };
|
||||
allow dcc { filename "*.mpg"; soft yes; };
|
||||
allow dcc { filename "*.mpeg"; soft yes; };
|
||||
allow dcc { filename "*.m1v"; soft yes; };
|
||||
allow dcc { filename "*.m2v"; soft yes; };
|
||||
allow dcc { filename "*.vob"; soft yes; };
|
||||
allow dcc { filename "*.wav"; soft yes; };
|
||||
allow dcc { filename "*.mp1"; soft yes; }
|
||||
allow dcc { filename "*.mp2"; soft yes; }
|
||||
allow dcc { filename "*.mp3"; soft yes; }
|
||||
allow dcc { filename "*.mpg"; soft yes; }
|
||||
allow dcc { filename "*.mpeg"; soft yes; }
|
||||
allow dcc { filename "*.m1v"; soft yes; }
|
||||
allow dcc { filename "*.m2v"; soft yes; }
|
||||
allow dcc { filename "*.vob"; soft yes; }
|
||||
allow dcc { filename "*.wav"; soft yes; }
|
||||
/* text / misc */
|
||||
allow dcc { filename "*.txt"; soft yes; };
|
||||
allow dcc { filename "*.log"; soft yes; };
|
||||
allow dcc { filename "*.pdf"; soft yes; };
|
||||
allow dcc { filename "*.c"; soft yes; };
|
||||
allow dcc { filename "*.cpp"; soft yes; };
|
||||
allow dcc { filename "*.txt"; soft yes; }
|
||||
allow dcc { filename "*.log"; soft yes; }
|
||||
allow dcc { filename "*.pdf"; soft yes; }
|
||||
allow dcc { filename "*.c"; soft yes; }
|
||||
allow dcc { filename "*.cpp"; soft yes; }
|
||||
|
||||
+161
-78
@@ -1,19 +1,19 @@
|
||||
/* Configuration file for UnrealIRCd 4
|
||||
/* Configuration file for UnrealIRCd 5
|
||||
*
|
||||
* Simply copy this file to your conf/ directory, call it
|
||||
* 'unrealircd.conf' and walk through it line by line (edit it!)
|
||||
*
|
||||
* Important: All lines, except the opening { line, end with an ;
|
||||
* including };. This is very important, if you miss a ; somewhere then
|
||||
* the configuration file parser will complain and your file will not
|
||||
* Important: All lines, except { and } end with an ;
|
||||
* This is very important, if you miss a ; somewhere then the
|
||||
* configuration file parser will complain and the file will not
|
||||
* be processed correctly!
|
||||
* If this is your first experience with an UnrealIRCd configuration
|
||||
* file then we really recommend you to read a little about the syntax,
|
||||
* this only takes a few minutes and will help you a lot:
|
||||
* https://www.unrealircd.org/docs/Configuration#Configuration_file_syntax
|
||||
*
|
||||
* UnrealIRCd 4 documentation (very extensive!):
|
||||
* https://www.unrealircd.org/docs/UnrealIRCd_4_documentation
|
||||
* UnrealIRCd 5 documentation (very extensive!):
|
||||
* https://www.unrealircd.org/docs/UnrealIRCd_5_documentation
|
||||
*
|
||||
* Frequently Asked Questions:
|
||||
* https://www.unrealircd.org/docs/FAQ
|
||||
@@ -58,10 +58,10 @@ include "operclass.default.conf";
|
||||
* have it's own sid).
|
||||
*/
|
||||
me {
|
||||
name "irc.foonet.com";
|
||||
info "FooNet Server";
|
||||
name "irc.example.org";
|
||||
info "ExampleNET Server";
|
||||
sid "001";
|
||||
};
|
||||
}
|
||||
|
||||
/* The admin { } block defines what users will see if they type /ADMIN.
|
||||
* It normally contains information on how to contact the administrator.
|
||||
@@ -69,8 +69,8 @@ me {
|
||||
admin {
|
||||
"Bob Smith";
|
||||
"bob";
|
||||
"widely@used.name";
|
||||
};
|
||||
"email@example.org";
|
||||
}
|
||||
|
||||
/* Clients and servers are put in class { } blocks, we define them here.
|
||||
* Class blocks consist of the following items:
|
||||
@@ -87,7 +87,7 @@ class clients
|
||||
maxclients 1000;
|
||||
sendq 200k;
|
||||
recvq 8000;
|
||||
};
|
||||
}
|
||||
|
||||
/* Special class for IRCOps with higher limits */
|
||||
class opers
|
||||
@@ -96,7 +96,7 @@ class opers
|
||||
maxclients 50;
|
||||
sendq 1M;
|
||||
recvq 8000;
|
||||
};
|
||||
}
|
||||
|
||||
/* Server class with good defaults */
|
||||
class servers
|
||||
@@ -105,7 +105,7 @@ class servers
|
||||
connfreq 15; /* try to connect every 15 seconds */
|
||||
maxclients 10; /* max servers */
|
||||
sendq 20M;
|
||||
};
|
||||
}
|
||||
|
||||
/* Allow blocks define which clients may connect to this server.
|
||||
* This allows you to add a server password or restrict the server to
|
||||
@@ -119,7 +119,7 @@ allow {
|
||||
ip *@*;
|
||||
class clients;
|
||||
maxperip 3;
|
||||
};
|
||||
}
|
||||
|
||||
/* Example of a special allow block on a specific IP:
|
||||
* Requires users on that IP to connect with a password. If the password
|
||||
@@ -130,7 +130,7 @@ allow {
|
||||
class clients;
|
||||
password "somesecretpasswd";
|
||||
maxperip 20;
|
||||
};
|
||||
}
|
||||
|
||||
/* Oper blocks define your IRC Operators.
|
||||
* IRC Operators are people who have "extra rights" compared to others,
|
||||
@@ -158,8 +158,8 @@ oper bobsmith {
|
||||
*/
|
||||
operclass netadmin;
|
||||
swhois "is a Network Administrator";
|
||||
vhost netadmin.mynet.org;
|
||||
};
|
||||
vhost netadmin.example.org;
|
||||
}
|
||||
|
||||
/* Listen blocks define the ports where the server should listen on.
|
||||
* In other words: the ports that clients and servers may use to
|
||||
@@ -172,35 +172,35 @@ oper bobsmith {
|
||||
* port <port>;
|
||||
* options {
|
||||
* <options....>;
|
||||
* };
|
||||
* };
|
||||
* }
|
||||
* }
|
||||
*/
|
||||
|
||||
/* Standard IRC port 6667 */
|
||||
listen {
|
||||
ip *;
|
||||
port 6667;
|
||||
};
|
||||
}
|
||||
|
||||
/* Standard IRC SSL/TLS port 6697 */
|
||||
listen {
|
||||
ip *;
|
||||
port 6697;
|
||||
options { ssl; };
|
||||
};
|
||||
options { tls; }
|
||||
}
|
||||
|
||||
/* Special SSL/TLS servers-only port for linking */
|
||||
listen {
|
||||
ip *;
|
||||
port 6900;
|
||||
options { ssl; serversonly; };
|
||||
};
|
||||
options { tls; serversonly; }
|
||||
}
|
||||
|
||||
/* NOTE: If you are on an IRCd shell with multiple IP's and you use
|
||||
* the above listen { } blocks then you will likely get an
|
||||
* 'Address already in use' error and the ircd won't start.
|
||||
* This means you MUST bind to a specific IP instead of '*' like:
|
||||
* listen { ip 1.2.3.4; port 6667; };
|
||||
* listen { ip 1.2.3.4; port 6667; }
|
||||
* Of course, replace the IP with the IP that was assigned to you.
|
||||
*/
|
||||
|
||||
@@ -208,50 +208,49 @@ listen {
|
||||
* Link blocks allow you to link multiple servers together to form a network.
|
||||
* See https://www.unrealircd.org/docs/Tutorial:_Linking_servers
|
||||
*/
|
||||
link hub.mynet.org
|
||||
link hub.example.org
|
||||
{
|
||||
incoming {
|
||||
mask *@something;
|
||||
};
|
||||
}
|
||||
|
||||
outgoing {
|
||||
bind-ip *; /* or explicitly an IP */
|
||||
hostname hub.mynet.org;
|
||||
hostname hub.example.org;
|
||||
port 6900;
|
||||
options { ssl; };
|
||||
};
|
||||
options { tls; }
|
||||
}
|
||||
|
||||
/* We use the SPKI fingerprint of the other server for authentication.
|
||||
* Run './unrealircd spkifp' on the other side to get it.
|
||||
* NOTE: requires UnrealIRCd 4.0.16 or later.
|
||||
*/
|
||||
password "AABBCCDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUV=" { spkifp; };
|
||||
password "AABBCCDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUV=" { spkifp; }
|
||||
|
||||
class servers;
|
||||
};
|
||||
}
|
||||
|
||||
/* The link block for services is usually much simpler.
|
||||
* For more information about what Services are,
|
||||
* see https://www.unrealircd.org/docs/Services
|
||||
*/
|
||||
link services.mynet.org
|
||||
link services.example.org
|
||||
{
|
||||
incoming {
|
||||
mask 127.0.0.1;
|
||||
};
|
||||
}
|
||||
|
||||
password "changemeplease";
|
||||
|
||||
class servers;
|
||||
};
|
||||
}
|
||||
|
||||
/* U-lines give other servers (even) more power/commands.
|
||||
* If you use services you must add them here.
|
||||
* NEVER put the name of an UnrealIRCd server here!!!
|
||||
*/
|
||||
ulines {
|
||||
services.mynet.org;
|
||||
};
|
||||
services.example.org;
|
||||
}
|
||||
|
||||
/* Here you can add a password for the IRCOp-only /DIE and /RESTART commands.
|
||||
* This is mainly meant to provide a little protection against accidental
|
||||
@@ -260,13 +259,13 @@ ulines {
|
||||
drpass {
|
||||
restart "restart";
|
||||
die "die";
|
||||
};
|
||||
}
|
||||
|
||||
/* The log block defines what should be logged and to what file.
|
||||
* See also https://www.unrealircd.org/docs/Log_block
|
||||
*/
|
||||
|
||||
/* This is a good default, it logs almost everything */
|
||||
/* This is a good default, it logs everything */
|
||||
log "ircd.log" {
|
||||
flags {
|
||||
oper;
|
||||
@@ -274,13 +273,14 @@ log "ircd.log" {
|
||||
server-connects;
|
||||
kills;
|
||||
errors;
|
||||
flood;
|
||||
sadmin-commands;
|
||||
chg-commands;
|
||||
oper-override;
|
||||
tkl;
|
||||
spamfilter;
|
||||
};
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
/* With "aliases" you can create an alias like /SOMETHING to send a message to
|
||||
* some user or bot. They are usually used for services.
|
||||
@@ -294,7 +294,7 @@ include "aliases/anope.conf";
|
||||
ban nick {
|
||||
mask "*C*h*a*n*S*e*r*v*";
|
||||
reason "Reserved for Services";
|
||||
};
|
||||
}
|
||||
|
||||
/* Ban ip.
|
||||
* Note that you normally use /KLINE, /GLINE and /ZLINE for this.
|
||||
@@ -302,19 +302,19 @@ ban nick {
|
||||
ban ip {
|
||||
mask 195.86.232.81;
|
||||
reason "Hate you";
|
||||
};
|
||||
}
|
||||
|
||||
/* Ban server - if we see this server linked to someone then we delink */
|
||||
ban server {
|
||||
mask eris.berkeley.edu;
|
||||
reason "Get out of here.";
|
||||
};
|
||||
}
|
||||
|
||||
/* Ban user - just as an example, you normally use /KLINE or /GLINE for this */
|
||||
ban user {
|
||||
mask *tirc@*.saturn.bbn.com;
|
||||
reason "Idiot";
|
||||
};
|
||||
}
|
||||
|
||||
/* Ban realname allows you to ban clients based on their 'real name'
|
||||
* or 'gecos' field.
|
||||
@@ -322,12 +322,12 @@ ban user {
|
||||
ban realname {
|
||||
mask "Swat Team";
|
||||
reason "mIRKFORCE";
|
||||
};
|
||||
}
|
||||
|
||||
ban realname {
|
||||
mask "sub7server";
|
||||
reason "sub7";
|
||||
};
|
||||
}
|
||||
|
||||
/* Ban and TKL exceptions. Allows you to exempt users / machines from
|
||||
* KLINE, GLINE, etc.
|
||||
@@ -340,26 +340,26 @@ ban realname {
|
||||
except ban {
|
||||
mask *@192.0.2.1;
|
||||
// you may add more mask entries here..
|
||||
};
|
||||
}
|
||||
|
||||
/* except tkl with type 'all' protects you from GLINE, GZLINE, QLINE, SHUN */
|
||||
except tkl {
|
||||
/* except ban with type 'all' protects you from GLINE, GZLINE, QLINE, SHUN */
|
||||
except ban {
|
||||
mask *@192.0.2.1;
|
||||
type all;
|
||||
};
|
||||
}
|
||||
|
||||
/* With deny dcc blocks you can ban filenames for DCC */
|
||||
deny dcc {
|
||||
filename "*sub7*";
|
||||
reason "Possible Sub7 Virus";
|
||||
};
|
||||
}
|
||||
|
||||
/* deny channel allows you to ban a channel (mask) entirely */
|
||||
deny channel {
|
||||
channel "*warez*";
|
||||
reason "Warez is illegal";
|
||||
class "clients";
|
||||
};
|
||||
}
|
||||
|
||||
/* VHosts (Virtual Hosts) allow users to acquire a different host.
|
||||
* See https://www.unrealircd.org/docs/Vhost_block
|
||||
@@ -374,7 +374,7 @@ vhost {
|
||||
mask *@unrealircd.com;
|
||||
login "test";
|
||||
password "test";
|
||||
};
|
||||
}
|
||||
|
||||
/* Blacklist blocks will query an external DNS Blacklist service
|
||||
* whenever a user connects, to see if the IP address is known
|
||||
@@ -396,12 +396,12 @@ blacklist dronebl {
|
||||
dns {
|
||||
name dnsbl.dronebl.org;
|
||||
type record;
|
||||
reply { 3; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15; 16; };
|
||||
};
|
||||
reply { 3; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15; 16; }
|
||||
}
|
||||
action gline;
|
||||
ban-time 24h;
|
||||
reason "Proxy/Drone detected. Check https://dronebl.org/lookup?ip=$ip for details.";
|
||||
};
|
||||
}
|
||||
|
||||
/* EFnetRBL, see https://rbl.efnetrbl.org/ for documentation
|
||||
* and the meaning of the reply types.
|
||||
@@ -414,22 +414,22 @@ blacklist efnetrbl {
|
||||
dns {
|
||||
name rbl.efnetrbl.org;
|
||||
type record;
|
||||
reply { 1; 4; 5; };
|
||||
};
|
||||
reply { 1; 4; 5; }
|
||||
}
|
||||
action gline;
|
||||
ban-time 24h;
|
||||
reason "Proxy/Drone/TOR detected. Check http://rbl.efnetrbl.org/?i=$ip for details.";
|
||||
};
|
||||
reason "Proxy/Drone/TOR detected. Check https://rbl.efnetrbl.org/?i=$ip for details.";
|
||||
}
|
||||
|
||||
/* You can include other configuration files */
|
||||
/* include "klines.conf"; */
|
||||
|
||||
/* Network configuration */
|
||||
set {
|
||||
network-name "MYNet";
|
||||
default-server "irc.mynet.org";
|
||||
services-server "services.mynet.org";
|
||||
stats-server "stats.mynet.org";
|
||||
network-name "ExampleNET";
|
||||
default-server "irc.example.org";
|
||||
services-server "services.example.org";
|
||||
stats-server "stats.example.org";
|
||||
help-channel "#Help";
|
||||
hiddenhost-prefix "Clk";
|
||||
prefix-quit "Quit";
|
||||
@@ -445,20 +445,21 @@ set {
|
||||
"aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW";
|
||||
"and another one";
|
||||
"and another one";
|
||||
};
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
/* Server specific configuration */
|
||||
|
||||
set {
|
||||
kline-address "set.this.to.email.address"; /* e-mail or URL shown when a user is banned */
|
||||
modes-on-connect "+ixw"; /* when users connect, they will get these user modes */
|
||||
modes-on-oper "+xwgs"; /* when someone becomes IRCOp they'll get these modes */
|
||||
modes-on-oper "+xws"; /* when someone becomes IRCOp they'll get these modes */
|
||||
modes-on-join "+nt"; /* default channel modes when a new channel is created */
|
||||
oper-auto-join "#opers"; /* IRCOps are auto-joined to this channel */
|
||||
options {
|
||||
hide-ulines; /* hide U-lines in /MAP and /LINKS */
|
||||
show-connect-info; /* show "looking up your hostname" messages on connect */
|
||||
};
|
||||
}
|
||||
|
||||
maxchannelsperuser 10; /* maximum number of channels a user may /JOIN */
|
||||
|
||||
@@ -473,15 +474,12 @@ set {
|
||||
/* static-part does the same for /PART */
|
||||
/* static-part yes; */
|
||||
|
||||
/* Which /STATS to restrict to opers only. We suggest to leave it to * (ALL) */
|
||||
oper-only-stats "*";
|
||||
|
||||
/* Anti flood protection */
|
||||
/* Flood protection */
|
||||
anti-flood {
|
||||
nick-flood 3:60; /* 3 nick changes per 60 seconds (the default) */
|
||||
connect-flood 3:60; /* 3 connection attempts per 60 seconds (the default) */
|
||||
away-flood 4:120; /* 4 times per 2 minutes you may use /AWAY (default) */
|
||||
};
|
||||
}
|
||||
|
||||
/* Settings for spam filter */
|
||||
spamfilter {
|
||||
@@ -489,8 +487,93 @@ set {
|
||||
ban-reason "Spam/Advertising"; /* default reason */
|
||||
virus-help-channel "#help"; /* channel to use for 'viruschan' action */
|
||||
/* except "#help"; channel to exempt from Spamfilter */
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
/* Restrict certain commands.
|
||||
* See https://www.unrealircd.org/docs/Set_block#set::restrict-commands
|
||||
*/
|
||||
restrict-commands {
|
||||
list {
|
||||
connect-delay 60;
|
||||
exempt-identified yes;
|
||||
exempt-reputation-score 24;
|
||||
}
|
||||
invite {
|
||||
connect-delay 120;
|
||||
exempt-identified yes;
|
||||
exempt-reputation-score 24;
|
||||
}
|
||||
/* In addition to the ability to restrict any command,
|
||||
* such as shown above. There are also 4 special types
|
||||
* that you can restrict. These are "private-message",
|
||||
* "private-notice", "channel-message" and "channel-notice".
|
||||
* They are commented out (disabled) in this example:
|
||||
*/
|
||||
//private-message {
|
||||
// connect-delay 10;
|
||||
//}
|
||||
//private-notice {
|
||||
// connect-delay 10;
|
||||
//}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* The following will configure connection throttling of "unknown users".
|
||||
*
|
||||
* When UnrealIRCd detects a high number of users connecting from IP addresses
|
||||
* that have not been seen before, then connections from new IP's are rejected
|
||||
* above the set rate. For example at 10:60 only 10 users per minute can connect
|
||||
* that have not been seen before. Known IP addresses can always get in,
|
||||
* regardless of the set rate. Same for users who login using SASL.
|
||||
*
|
||||
* See also https://www.unrealircd.org/docs/Connthrottle for details.
|
||||
* Or just keep reading the default configuration settings below:
|
||||
*/
|
||||
|
||||
set {
|
||||
connthrottle {
|
||||
/* First we must configure what we call "known users".
|
||||
* By default these are users on IP addresses that have
|
||||
* a score of 24 or higher. A score of 24 means that the
|
||||
* IP was connected to this network for at least 2 hours
|
||||
* in the past month (or minimum 1 hour if registered).
|
||||
* The sasl-bypass option is another setting. It means
|
||||
* that users who authenticate to services via SASL
|
||||
* are considered known users as well.
|
||||
* Users in the "known-users" group (either by reputation
|
||||
* or by SASL) are always allowed in by this module.
|
||||
*/
|
||||
known-users {
|
||||
minimum-reputation-score 24;
|
||||
sasl-bypass yes;
|
||||
}
|
||||
|
||||
/* New users are all users that do not belong in the
|
||||
* known-users group. They are considered "new" and in
|
||||
* case of a high number of such new users connecting
|
||||
* they are subject to connection rate limiting.
|
||||
* By default the rate is 20 new local users per minute
|
||||
* and 30 new global users per minute.
|
||||
*/
|
||||
new-users {
|
||||
local-throttle 20:60;
|
||||
global-throttle 30:60;
|
||||
}
|
||||
|
||||
/* This configures when this module will NOT be active.
|
||||
* The default settings will disable the module when:
|
||||
* - The reputation module has been running for less than
|
||||
* a week. If running less than 1 week then there is
|
||||
* insufficient data to consider who is a "known user".
|
||||
* - The server has just been booted up (first 3 minutes).
|
||||
*/
|
||||
disabled-when {
|
||||
reputation-gathering 1w;
|
||||
start-delay 3m;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Finally, you may wish to have a MOTD (Message of the Day), this can be
|
||||
* done by creating an 'ircd.motd' text file in your conf/ directory.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* Fichier de configuration pour UnrealIRCd 4
|
||||
/* Fichier de configuration pour UnrealIRCd 5
|
||||
*
|
||||
* Copiez ce fichier dans le répertoire conf/, renommez le
|
||||
* 'unrealircd.conf' et parcourez-le ligne par ligne (modifiez le !)
|
||||
@@ -13,8 +13,8 @@
|
||||
* beaucoup :
|
||||
* https://www.unrealircd.org/docs/Configuration#Configuration_file_syntax
|
||||
*
|
||||
* Documentation pour UnrealIRCd 4 (très complète !) :
|
||||
* https://www.unrealircd.org/docs/UnrealIRCd_4_documentation/fr
|
||||
* Documentation pour UnrealIRCd 5 (très complète !) :
|
||||
* https://www.unrealircd.org/docs/UnrealIRCd_5_documentation/fr
|
||||
*
|
||||
* Foire Aux Questions :
|
||||
* https://www.unrealircd.org/docs/FAQ
|
||||
@@ -59,10 +59,10 @@ include "operclass.default.conf";
|
||||
* (chaque serveur doit avoir un sid différent).
|
||||
*/
|
||||
me {
|
||||
name "irc.foonet.com";
|
||||
info "Serveur FooNet";
|
||||
name "irc.example.org";
|
||||
info "Serveur ExampleNET";
|
||||
sid "001";
|
||||
};
|
||||
}
|
||||
|
||||
/* Le bloc admin { } définit ce que les utilisateurs verront en faisant
|
||||
* /ADMIN. C'est généralement des infos de contact de l'administrateur.
|
||||
@@ -70,8 +70,8 @@ me {
|
||||
admin {
|
||||
"Bob Smith";
|
||||
"bob";
|
||||
"adresse.email@foonet.com";
|
||||
};
|
||||
"adresse.email@example.org";
|
||||
}
|
||||
|
||||
/* Les clients et serveurs sont placés dans des classes, que nous
|
||||
* définissons dans ces blocs class { }.
|
||||
@@ -92,7 +92,7 @@ class clients
|
||||
maxclients 1000;
|
||||
sendq 200k;
|
||||
recvq 8000;
|
||||
};
|
||||
}
|
||||
|
||||
/* Classe spéciale pour des IRCOps avec des limites plus hautes */
|
||||
class opers
|
||||
@@ -101,7 +101,7 @@ class opers
|
||||
maxclients 50;
|
||||
sendq 1M;
|
||||
recvq 8000;
|
||||
};
|
||||
}
|
||||
|
||||
/* Classe pour des serveurs */
|
||||
class servers
|
||||
@@ -110,7 +110,7 @@ class servers
|
||||
connfreq 15; /* essayer de se connecter toutes les 15 sec */
|
||||
maxclients 10; /* nombre max de serveurs */
|
||||
sendq 5M;
|
||||
};
|
||||
}
|
||||
|
||||
/* Les blocs allow définissent quels clients peuvent se connecter au
|
||||
* serveur. Ils vous permettent d'ajouter un mot de passe ou de restreindre
|
||||
@@ -124,7 +124,7 @@ allow {
|
||||
ip *@*;
|
||||
class clients;
|
||||
maxperip 5;
|
||||
};
|
||||
}
|
||||
|
||||
/* Exemple de bloc allow spécial pour une IP donnée :
|
||||
* Les utilisateurs sur cette IP doivent se connecter avec un mot de passe.
|
||||
@@ -135,7 +135,7 @@ allow {
|
||||
class clients;
|
||||
password "unmotdepassesecret";
|
||||
maxperip 20;
|
||||
};
|
||||
}
|
||||
|
||||
/* Les blocs oper définissent vos Opérateurs IRC.
|
||||
* Les Opérateurs IRC sont des utilisateurs avec des "droits en plus"
|
||||
@@ -160,8 +160,8 @@ oper bobsmith {
|
||||
*/
|
||||
operclass netadmin;
|
||||
swhois "est un Administrateur du Réseau";
|
||||
vhost netadmin.mynet.org;
|
||||
};
|
||||
vhost netadmin.example.org;
|
||||
}
|
||||
|
||||
/* Les blocs listen définissent les ports sur lesquels le serveur écoute.
|
||||
* C'est-à-dire les ports que les clients et les serveurs utilisent pour
|
||||
@@ -174,29 +174,29 @@ oper bobsmith {
|
||||
* port <numéro de port>;
|
||||
* options {
|
||||
* <options....>;
|
||||
* };
|
||||
* };
|
||||
* }
|
||||
* }
|
||||
*/
|
||||
|
||||
/* Port standard pour IRC 6667 */
|
||||
listen {
|
||||
ip *;
|
||||
port 6667;
|
||||
};
|
||||
}
|
||||
|
||||
/* Port standard pour IRC sur SSL/TLS 6697 */
|
||||
listen {
|
||||
ip *;
|
||||
port 6697;
|
||||
options { ssl; };
|
||||
};
|
||||
options { tls; }
|
||||
}
|
||||
|
||||
/* Port SSL/TLS spécial pour la connexion entre serveurs */
|
||||
listen {
|
||||
ip *;
|
||||
port 6900;
|
||||
options { ssl; serversonly; };
|
||||
};
|
||||
options { tls; serversonly; }
|
||||
}
|
||||
|
||||
/* NOTE : Si vous utilisez un serveur IRC avec plusieurs IP et que vous
|
||||
* utilisez les blocs listen ci-dessus, vous aurez peut-être une
|
||||
@@ -212,23 +212,23 @@ listen {
|
||||
* pour former un réseau IRC.
|
||||
* Voir https://www.unrealircd.org/docs/Tutorial:_Linking_servers
|
||||
*/
|
||||
link hub.mynet.org
|
||||
link hub.example.org
|
||||
{
|
||||
incoming {
|
||||
mask *@something;
|
||||
};
|
||||
}
|
||||
|
||||
outgoing {
|
||||
bind-ip *; /* ou une IP précise */
|
||||
hostname hub.mynet.org;
|
||||
hostname hub.example.org;
|
||||
port 6900;
|
||||
options { ssl; };
|
||||
};
|
||||
options { tls; }
|
||||
}
|
||||
|
||||
password "00:11:22:33:44:55:66:77:88:99:AA:BB:CC:DD:EE:FF"; /* Empreinte SSL de l'autre serveur */
|
||||
|
||||
class servers;
|
||||
};
|
||||
}
|
||||
|
||||
/* Les U-lines donnent encore plus de pouvoir à certains serveurs.
|
||||
* Si vous utilisez des Services, vous devez les indiquer ici.
|
||||
@@ -237,8 +237,8 @@ link hub.mynet.org
|
||||
* https://www.unrealircd.org/docs/Services )
|
||||
*/
|
||||
ulines {
|
||||
services.mynet.org;
|
||||
};
|
||||
services.example.org;
|
||||
}
|
||||
|
||||
/* Ici vous pouvez indiquer un mot de passe pour les commandes /DIE et
|
||||
* /RESTART, qui sont restreintes aux IRCops.
|
||||
@@ -248,7 +248,7 @@ ulines {
|
||||
drpass {
|
||||
restart "restart";
|
||||
die "die";
|
||||
};
|
||||
}
|
||||
|
||||
/* Le bloc log indique ce qui doit être journalisé et dans quel fichier.
|
||||
* Voir aussi https://www.unrealircd.org/docs/Log_block
|
||||
@@ -267,8 +267,8 @@ log "ircd.log" {
|
||||
oper-override;
|
||||
tkl;
|
||||
spamfilter;
|
||||
};
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
/* Avec des "alias", vous pouvez créer un alias comme /UNTRUC pour envoyer
|
||||
* un message à un utilisateur ou à un bot. Ils sont souvent utilisés pour
|
||||
@@ -286,7 +286,7 @@ include "aliases/anope.conf";
|
||||
ban nick {
|
||||
mask "*C*h*a*n*S*e*r*v*";
|
||||
reason "Réservé aux Services";
|
||||
};
|
||||
}
|
||||
|
||||
/* Bannir une IP.
|
||||
* NB : vous pouvez aussi utiliser /KLINE, /GLINE et /ZLINE pour ça.
|
||||
@@ -294,7 +294,7 @@ ban nick {
|
||||
ban ip {
|
||||
mask 195.86.232.81;
|
||||
reason "Je vous hais !";
|
||||
};
|
||||
}
|
||||
|
||||
/* Bannir un serveur - si ce serveur est connecté au réseau, nous nous
|
||||
* déconnecterons
|
||||
@@ -302,7 +302,7 @@ ban ip {
|
||||
ban server {
|
||||
mask eris.berkeley.edu;
|
||||
reason "Va-t-en d'ici.";
|
||||
};
|
||||
}
|
||||
|
||||
/* Bannir un utilisateur - juste pour l'exemple, on utilise normalement
|
||||
* /KLINE or /GLINE pour ça
|
||||
@@ -310,18 +310,18 @@ ban server {
|
||||
ban user {
|
||||
mask *tirc@*.saturn.bbn.com;
|
||||
reason "Idiot";
|
||||
};
|
||||
}
|
||||
|
||||
/* Bannir un realname (ou 'gecos') */
|
||||
ban realname {
|
||||
mask "Swat Team";
|
||||
reason "mIRKFORCE";
|
||||
};
|
||||
}
|
||||
|
||||
ban realname {
|
||||
mask "sub7server";
|
||||
reason "sub7";
|
||||
};
|
||||
}
|
||||
|
||||
/* Exceptions de ban et TKL. Vous permet d'exempter des utilisateurs des
|
||||
* KLINE, GLINE, etc ...
|
||||
@@ -335,13 +335,13 @@ ban realname {
|
||||
except ban {
|
||||
mask *@192.0.2.1;
|
||||
// vous pouvez ajouter d'autres lignes mask à la suite
|
||||
};
|
||||
}
|
||||
|
||||
/* except tkl avec le type 'all' vous protège des GLINE, GZLINE, QLINE, SHUN */
|
||||
except tkl {
|
||||
/* except ban avec le type 'all' vous protège des GLINE, GZLINE, QLINE, SHUN */
|
||||
except ban {
|
||||
mask *@192.0.2.1;
|
||||
type all;
|
||||
};
|
||||
}
|
||||
|
||||
/* Avec un bloc deny dcc vous pouvez interdire des noms de fichiers dans
|
||||
* les échanges DCC
|
||||
@@ -349,14 +349,14 @@ except tkl {
|
||||
deny dcc {
|
||||
filename "*sub7*";
|
||||
reason "Possible virus Sub7";
|
||||
};
|
||||
}
|
||||
|
||||
/* deny channel vous permet d'interdire des masques de noms de salons */
|
||||
deny channel {
|
||||
channel "*warez*";
|
||||
reason "Le warez est illegal";
|
||||
class "clients";
|
||||
};
|
||||
}
|
||||
|
||||
/* Les VHosts (Virtual Hosts - Hôtes Virtuels) permettent aux utilisateurs
|
||||
* d'avoir un nom d'hôte différent.
|
||||
@@ -372,17 +372,17 @@ vhost {
|
||||
mask *@unrealircd.com;
|
||||
login "test";
|
||||
password "test";
|
||||
};
|
||||
}
|
||||
|
||||
/* Vous pouvez inclure d'autres fichiers de configuration */
|
||||
/* include "klines.conf"; */
|
||||
|
||||
/* Configuration du réseau */
|
||||
set {
|
||||
network-name "MYNet";
|
||||
default-server "irc.mynet.org";
|
||||
services-server "services.mynet.org";
|
||||
stats-server "stats.mynet.org";
|
||||
network-name "ExampleNET";
|
||||
default-server "irc.example.org";
|
||||
services-server "services.example.org";
|
||||
stats-server "stats.example.org";
|
||||
help-channel "#Help";
|
||||
hiddenhost-prefix "Clk";
|
||||
prefix-quit "Quit";
|
||||
@@ -400,20 +400,20 @@ set {
|
||||
"aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW";
|
||||
"et une autre";
|
||||
"et une troisième";
|
||||
};
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
/* Configuration spécifique au serveur */
|
||||
|
||||
set {
|
||||
kline-address "indiquez.une.adresse.email"; /* e-mail ou URL indiquée lorsqu'un utilisateur est banni */
|
||||
modes-on-connect "+ixw"; /* modes utilisateur ajoutés lorsqu'un utilisateur se connecte */
|
||||
modes-on-oper "+xwgs"; /* modes utilisateur ajoutés lorsqu'un utilisateur devient IRCOp */
|
||||
modes-on-oper "+xws"; /* modes utilisateur ajoutés lorsqu'un utilisateur devient IRCOp */
|
||||
oper-auto-join "#opers"; /* salon que les IRCOps joignent automatiquement */
|
||||
options {
|
||||
hide-ulines; /* cacher les U-lines de /MAP et /LINKS */
|
||||
show-connect-info; /* afficher les messages "looking up your hostname" à la connexion */
|
||||
};
|
||||
}
|
||||
|
||||
maxchannelsperuser 10; /* nombre max de salons par utilisateur */
|
||||
|
||||
@@ -430,17 +430,12 @@ set {
|
||||
/* static-part fait la même chose pour /PART */
|
||||
/* static-part yes; */
|
||||
|
||||
/* Quelles /STATS sont restreintes aux Opérateurs. Nous vous
|
||||
* conseillons de laisser '*' (toutes)
|
||||
*/
|
||||
oper-only-stats "*";
|
||||
|
||||
/* Protections anti-flood */
|
||||
anti-flood {
|
||||
nick-flood 3:60; /* 3 changements de nick par 60 secondes */
|
||||
connect-flood 3:60; /* 3 tentatives de connexions par 60 seconds */
|
||||
away-flood 4:120; /* 4 utilisation de /AWAY par 2 minutes */
|
||||
};
|
||||
}
|
||||
|
||||
/* Paramètres de Spamfilter */
|
||||
spamfilter {
|
||||
@@ -448,8 +443,8 @@ set {
|
||||
ban-reason "Spam/Publicité"; /* raison par defaut */
|
||||
virus-help-channel "#help"; /* salon par défaut pour l'action 'viruschan' */
|
||||
/* except "#help"; salon à exempter de Spamfilter */
|
||||
};
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Un problème ou besoin d'aide supplémentaire ?
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* UnrealIRCd 4 için yapılandırma dosyası
|
||||
/* UnrealIRCd 5 için yapılandırma dosyası
|
||||
* Türkçe Çeviri: Diablo - (Serkan Sepetçi)
|
||||
* İletişim: irc.trirc.com:6667 - diablo@unrealircd.org
|
||||
*
|
||||
@@ -14,8 +14,8 @@
|
||||
* bu size bilgi edinmeniz açısından yardımcı olacaktır:
|
||||
* https://www.unrealircd.org/docs/Configuration#Configuration_file_syntax
|
||||
*
|
||||
* UnrealIRCd 4 belgeleme (çok geniş!):
|
||||
* https://www.unrealircd.org/docs/UnrealIRCd_4_documentation
|
||||
* UnrealIRCd 5 belgeleme (çok geniş!):
|
||||
* https://www.unrealircd.org/docs/UnrealIRCd_5_documentation
|
||||
*
|
||||
* Sıkça Sorulan Sorular:
|
||||
* https://www.unrealircd.org/docs/FAQ
|
||||
@@ -59,10 +59,10 @@ include "operclass.default.conf";
|
||||
* kendi sid olmalıdır).
|
||||
*/
|
||||
me {
|
||||
name "irc.foonet.com";
|
||||
info "FooNet Server";
|
||||
name "irc.example.org";
|
||||
info "ExampleNET Server";
|
||||
sid "001";
|
||||
};
|
||||
}
|
||||
|
||||
/* admin { } bloğu /ADMIN sorgusunda kullanıcılara görüntülenecek metni belirler.
|
||||
* Normalde yöneticiye ulaşma konusunda bilgi içerir.
|
||||
@@ -70,8 +70,8 @@ me {
|
||||
admin {
|
||||
"Bob Smith";
|
||||
"bob";
|
||||
"widely@used.name";
|
||||
};
|
||||
"email@example.org";
|
||||
}
|
||||
|
||||
/* Kullanıcılar ve sunucular için class { } bloğu belirtilir.
|
||||
* Class blokları aşağıdaki işlemlerden oluşur:
|
||||
@@ -88,7 +88,7 @@ class clients
|
||||
maxclients 1000;
|
||||
sendq 200k;
|
||||
recvq 8000;
|
||||
};
|
||||
}
|
||||
|
||||
/* IRCOp'lar için varsaylan yüksek limitli özel class ayarları */
|
||||
class opers
|
||||
@@ -97,7 +97,7 @@ class opers
|
||||
maxclients 50;
|
||||
sendq 1M;
|
||||
recvq 8000;
|
||||
};
|
||||
}
|
||||
|
||||
/* Sunucular için varsayılan class ayarları */
|
||||
class servers
|
||||
@@ -106,7 +106,7 @@ class servers
|
||||
connfreq 15; /* Her 15 saniyede bir bağlanmayı dener */
|
||||
maxclients 10; /* maksimum kullanıcı */
|
||||
sendq 5M;
|
||||
};
|
||||
}
|
||||
|
||||
/* Allow blockları sunucunuza kimlerin bağlanabileceğini belirtir.
|
||||
* Bir sunucu şifresi eklenebilir veya belirlitilen bir IP adresi için
|
||||
@@ -120,7 +120,7 @@ allow {
|
||||
ip *@*;
|
||||
class clients;
|
||||
maxperip 3;
|
||||
};
|
||||
}
|
||||
|
||||
/* Örnek olarak özel bir IP bloğu izini:
|
||||
* Bu IP bir şifre ile bağlantı yapması olduğunu gerektirir.
|
||||
@@ -131,7 +131,7 @@ allow {
|
||||
class clients;
|
||||
password "somesecretpasswd";
|
||||
maxperip 20;
|
||||
};
|
||||
}
|
||||
|
||||
/* Oper bloğu, IRC Operatorleri tanımlar.
|
||||
* IRC Operatörler, diğer kullanıcılara göre "ekstra haklara" sahip kullanıcılardır.
|
||||
@@ -159,8 +159,8 @@ oper bobsmith {
|
||||
*/
|
||||
operclass netadmin;
|
||||
swhois "is a Network Administrator";
|
||||
vhost netadmin.mynet.org;
|
||||
};
|
||||
vhost netadmin.example.org;
|
||||
}
|
||||
|
||||
/* Listen blokları sunucu portu için gereken bağlantı noktalarını tanımlar.
|
||||
* Diğer bir deyişle: Bu portlar kullanıcılar ve serverlar için
|
||||
@@ -173,29 +173,29 @@ oper bobsmith {
|
||||
* port <port numarası>;
|
||||
* options {
|
||||
* <seçenekler....>;
|
||||
* };
|
||||
* };
|
||||
* }
|
||||
* }
|
||||
*/
|
||||
|
||||
/* Standard IRC port 6667 */
|
||||
listen {
|
||||
ip *;
|
||||
port 6667;
|
||||
};
|
||||
}
|
||||
|
||||
/* Standard IRC SSL/TLS port 6697 */
|
||||
listen {
|
||||
ip *;
|
||||
port 6697;
|
||||
options { ssl; };
|
||||
};
|
||||
options { tls; }
|
||||
}
|
||||
|
||||
/* Özel SSL/TLS sadece sunucuları bağlamak için port */
|
||||
listen {
|
||||
ip *;
|
||||
port 6900;
|
||||
options { ssl; serversonly; };
|
||||
};
|
||||
options { tls; serversonly; }
|
||||
}
|
||||
|
||||
/* DiKKAT: Eğer bir çok IP barındıran bir IRCd Shell kullanıyorsanız
|
||||
* logunuzda olası 'Address already in use' hatasını alacaksınız
|
||||
@@ -209,50 +209,49 @@ listen {
|
||||
* Link blockları bir ağ oluşturmak için birden fazla sunucu bağlamaya izin verir.
|
||||
* Görmek için: https://www.unrealircd.org/docs/Tutorial:_Linking_servers
|
||||
*/
|
||||
link hub.mynet.org
|
||||
link hub.example.org
|
||||
{
|
||||
incoming {
|
||||
mask *@something;
|
||||
};
|
||||
}
|
||||
|
||||
outgoing {
|
||||
bind-ip *; /* veya açıkça bir IP */
|
||||
hostname hub.mynet.org;
|
||||
hostname hub.example.org;
|
||||
port 6900;
|
||||
options { ssl; };
|
||||
};
|
||||
options { tls; }
|
||||
}
|
||||
|
||||
/* Kimlik doğrulaması için diğer sunucunun SPKI parmak izini kullanıyoruz.
|
||||
* Kullanmamız için diğer tarafda './unrealircd spkifp' uygulayıp çalıştırıyoruz.
|
||||
* NOT: UnrealIRCd 4.0.16 veya üzeri versiyonları gerektirir.
|
||||
*/
|
||||
password "AABBCCDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUV=" { spkifp; };
|
||||
password "AABBCCDDEEFFGGHHIIJJKKLLMMNNOOPPQQRRSSTTUUV=" { spkifp; }
|
||||
|
||||
class servers;
|
||||
};
|
||||
}
|
||||
|
||||
/* Servis'ler için bağlantı bloğu genellikle çok daha basittir.
|
||||
* Servis'lerin ne olduğu hakkında daha fazla bilgi için,
|
||||
* https://www.unrealircd.org/docs/Services
|
||||
*/
|
||||
link services.mynet.org
|
||||
link services.example.org
|
||||
{
|
||||
incoming {
|
||||
mask 127.0.0.1;
|
||||
};
|
||||
}
|
||||
|
||||
password "changemeplease";
|
||||
|
||||
class servers;
|
||||
};
|
||||
}
|
||||
|
||||
/* U-lines satırları sunuculara daha güç/komut kazandırır.
|
||||
* Eğer hizmetlerini kullanmak istiyorsanız onları buraya eklemeniz gerekir.
|
||||
* ASLA buraya (normal) UnrealIRCd sunucunun adını yazmayınız!!!
|
||||
*/
|
||||
ulines {
|
||||
services.mynet.org;
|
||||
};
|
||||
services.example.org;
|
||||
}
|
||||
|
||||
/* Bu blok /DIE ve /RESTART için şifre tanımlamanızı sağlar. Sadece IRCOp'lar içindir.
|
||||
* Bu genelde kazara sunucuyu yeniden başlatma ve kapanmasına karşı biraz
|
||||
@@ -261,7 +260,7 @@ ulines {
|
||||
drpass {
|
||||
restart "restart";
|
||||
die "die";
|
||||
};
|
||||
}
|
||||
|
||||
/* Bu log bloğu hangi dosyaya ve nelerin olması gerektiğini tanımlar.
|
||||
* Görmeniz için: https://www.unrealircd.org/docs/Log_block
|
||||
@@ -280,8 +279,8 @@ log "ircd.log" {
|
||||
oper-override;
|
||||
tkl;
|
||||
spamfilter;
|
||||
};
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
/* Bazı kullanıcılara veya botlara bir mesaj göndermek için "aliases"
|
||||
* takma ad oluşturmanızı sağlar. Genellikle servisler için kullanılır.
|
||||
@@ -295,7 +294,7 @@ include "aliases/anope.conf";
|
||||
ban nick {
|
||||
mask "*C*h*a*n*S*e*r*v*";
|
||||
reason "Servisler için ayrılmış";
|
||||
};
|
||||
}
|
||||
|
||||
/* Ban ip.
|
||||
* Normalde bunun için /KLINE, /GLINE ve /ZLINE kullanıldığını unutmayınız.
|
||||
@@ -303,19 +302,19 @@ ban nick {
|
||||
ban ip {
|
||||
mask 195.86.232.81;
|
||||
reason "Senden nefret ediyorum";
|
||||
};
|
||||
}
|
||||
|
||||
/* Ban server - bir sunucunun bağlanmasını devredışı kılar */
|
||||
ban server {
|
||||
mask eris.berkeley.edu;
|
||||
reason "Defol git buradan.";
|
||||
};
|
||||
}
|
||||
|
||||
/* Ban user - normalde /KLINE veya /GLINE kullanıldığını unutmayınız */
|
||||
ban user {
|
||||
mask *tirc@*.saturn.bbn.com;
|
||||
reason "Salak";
|
||||
};
|
||||
}
|
||||
|
||||
/* Ban realname bloğu bir kullanıcıyı, GECOS kısmı esas alınarak
|
||||
* banlamanıza olanak sağlar.
|
||||
@@ -323,12 +322,12 @@ ban user {
|
||||
ban realname {
|
||||
mask "Swat Team";
|
||||
reason "mIRKFORCE";
|
||||
};
|
||||
}
|
||||
|
||||
ban realname {
|
||||
mask "sub7server";
|
||||
reason "sub7";
|
||||
};
|
||||
}
|
||||
|
||||
/* Ban ve TKL istisnaları. Kullanıcıları / makineleri gözetmeksizin
|
||||
* KLINE, GLINE, gibi banlardan muaf tutmanıza olanak sağlar.
|
||||
@@ -341,26 +340,26 @@ ban realname {
|
||||
except ban {
|
||||
mask *@192.0.2.1;
|
||||
// burada daha fazla mask girdileri ekleyebilirsiniz..
|
||||
};
|
||||
}
|
||||
|
||||
/* except tkl bloğu, sizi 'tüm' GLINE, GZLINE, QLINE, SHUN gibi banlardan koruyacaktır */
|
||||
except tkl {
|
||||
/* except ban bloğu, sizi 'tüm' GLINE, GZLINE, QLINE, SHUN gibi banlardan koruyacaktır */
|
||||
except ban {
|
||||
mask *@192.0.2.1;
|
||||
type all;
|
||||
};
|
||||
}
|
||||
|
||||
/* Deny dcc bloğu, sunucu üzerinden DCC yoluyla dosya gönderilmesine izin vermeyecektir */
|
||||
deny dcc {
|
||||
filename "*sub7*";
|
||||
reason "Olası Sub7 Virüsü";
|
||||
};
|
||||
}
|
||||
|
||||
/* Deny channel bloğu, kullanıcıların belirtilen kanallara girmesini engeller */
|
||||
deny channel {
|
||||
channel "*warez*";
|
||||
reason "Warez is illegal";
|
||||
class "clients";
|
||||
};
|
||||
}
|
||||
|
||||
/* VHosts (Virtual Hosts) bloğu, kullanıcının yeni bir host alabilmesine olanak sağlar.
|
||||
* Görmeniz için; https://www.unrealircd.org/docs/Vhost_block
|
||||
@@ -375,7 +374,7 @@ vhost {
|
||||
mask *@unrealircd.com;
|
||||
login "test";
|
||||
password "test";
|
||||
};
|
||||
}
|
||||
|
||||
/* Blacklist blokları, bir kullanıcı bağlandığında IP adresinin drone saldırılarına
|
||||
* neden olduğunu, bilinen bir saldırıya uğramış bir makine olup olmadığını görmek
|
||||
@@ -397,12 +396,12 @@ blacklist dronebl {
|
||||
dns {
|
||||
name dnsbl.dronebl.org;
|
||||
type record;
|
||||
reply { 3; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15; 16; };
|
||||
};
|
||||
reply { 3; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15; 16; }
|
||||
}
|
||||
action gline;
|
||||
ban-time 24h;
|
||||
reason "Proxy/Drone belirlendi. Ayrıntılar için https://dronebl.org/lookup?ip=$ip adresine bakınız.";
|
||||
};
|
||||
}
|
||||
|
||||
/* EFnetRBL, belgeler ve cevap (reply) tiplerini görmek için https://rbl.efnetrbl.org/
|
||||
* adresine bakınız.
|
||||
@@ -415,22 +414,22 @@ blacklist efnetrbl {
|
||||
dns {
|
||||
name rbl.efnetrbl.org;
|
||||
type record;
|
||||
reply { 1; 4; 5; };
|
||||
};
|
||||
reply { 1; 4; 5; }
|
||||
}
|
||||
action gline;
|
||||
ban-time 24h;
|
||||
reason "Proxy/Drone/TOR belirlendi. Ayrıntılar için http://rbl.efnetrbl.org/?i=$ip adresine bakınız.";
|
||||
};
|
||||
reason "Proxy/Drone/TOR belirlendi. Ayrıntılar için https://rbl.efnetrbl.org/?i=$ip adresine bakınız.";
|
||||
}
|
||||
|
||||
/* Diğer yapılandırma dosyalarını dahil edebilirsiniz */
|
||||
/* include "klines.conf"; */
|
||||
|
||||
/* Ağ yapılandırması */
|
||||
set {
|
||||
network-name "MYNet";
|
||||
default-server "irc.mynet.org";
|
||||
services-server "services.mynet.org";
|
||||
stats-server "stats.mynet.org";
|
||||
network-name "ExampleNET";
|
||||
default-server "irc.example.org";
|
||||
services-server "services.example.org";
|
||||
stats-server "stats.example.org";
|
||||
help-channel "#Help";
|
||||
hiddenhost-prefix "Clk";
|
||||
prefix-quit "Quit";
|
||||
@@ -446,20 +445,20 @@ set {
|
||||
"aoAr1HnR6gl3sJ7hVz4Zb7x4YwpW";
|
||||
"ve diğeri";
|
||||
"ve diğeri";
|
||||
};
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
/* Sunucunun kendine özgü yapılandırması */
|
||||
|
||||
set {
|
||||
kline-address "set.this.to.email.address"; /* bir kullanıcı banlandığında e-mail yada URL satırı gösterir */
|
||||
modes-on-connect "+ixw"; /* kullanıcılar bağlandığında, bu modları alacaktır */
|
||||
modes-on-oper "+xwgs"; /* Birisi IRC Operatör olduğunda bu modları alacaktır */
|
||||
modes-on-oper "+xws"; /* Birisi IRC Operatör olduğunda bu modları alacaktır */
|
||||
oper-auto-join "#opers"; /* IRCoplar bu kanala otomatik olarak giriş yapacaktır */
|
||||
options {
|
||||
hide-ulines; /* U-lines satırları /MAP ve /LINKS komutunda gözükmez */
|
||||
show-connect-info; /* sunucuya bağlanırken "looking up your hostname" mesajı görüntülenecektir */
|
||||
};
|
||||
}
|
||||
|
||||
maxchannelsperuser 10; /* bir kullanıcının maksimum girebileceği kanal sayısı */
|
||||
|
||||
@@ -474,15 +473,12 @@ set {
|
||||
/* static-part /PART komutu ile aynı işi görür */
|
||||
/* static-part yes; */
|
||||
|
||||
/* /STATS komutunu operler için kısıtlar. Önerilen * (TÜMÜ) */
|
||||
oper-only-stats "*";
|
||||
|
||||
/* Anti flood Koruması */
|
||||
anti-flood {
|
||||
nick-flood 3:60; /* Her 60 saniyede 3 nick değişikliği (varsayılan) */
|
||||
connect-flood 3:60; /* Her 60 saniyede 3 bağlantı girişi izni (varsayılan) */
|
||||
away-flood 4:120; /* Her 2 dakikada 4 kez /AWAY kullanımı izni (varsayılan) */
|
||||
};
|
||||
}
|
||||
|
||||
/* Spam filter Ayarları */
|
||||
spamfilter {
|
||||
@@ -490,8 +486,8 @@ set {
|
||||
ban-reason "Spam/Advertising"; /* varsayılan sebep */
|
||||
virus-help-channel "#help"; /* 'viruschan' eylemi için kullanılacak kanal */
|
||||
/* except "#help"; Spamfilter'den muaf tutulacak kanal */
|
||||
};
|
||||
};
|
||||
}
|
||||
}
|
||||
/* Son olarak, bir MOTD (Günün Mesajı) oluşturabilirsiniz, bu
|
||||
* conf/ dizininde 'ircd.motd' metin dosyası oluşturarak yapabilirsiniz.
|
||||
* Bu dosyanın içeriği bağlantı kuran kullanıcılara gösterilecektir.
|
||||
|
||||
+276
-183
File diff suppressed because it is too large
Load Diff
+126
-129
@@ -1,4 +1,4 @@
|
||||
/* UnrealIRCd 4 Help Configuration
|
||||
/* UnrealIRCd 5 Help Configuration
|
||||
* Based on the original help text written by hAtbLaDe
|
||||
* Revised by CC (07/2002) and many others
|
||||
*
|
||||
@@ -28,7 +28,7 @@ help {
|
||||
" /HELPOP OFLAGS - liefert eine Liste aller O:Line Flags";
|
||||
" -";
|
||||
" ==-------------------------oOo--------------------------==";
|
||||
};
|
||||
}
|
||||
|
||||
help Usercmds {
|
||||
" Zur Zeit sind folgende User-Befehle verfügbar.";
|
||||
@@ -48,7 +48,7 @@ help Usercmds {
|
||||
" KICK NICK TIME";
|
||||
" KNOCK NOTICE TOPIC";
|
||||
" ==-------------------------oOo-------------------------==";
|
||||
};
|
||||
}
|
||||
|
||||
help Opercmds {
|
||||
" Dieser Abschnitt führt alle Befehle auf, die nur";
|
||||
@@ -69,7 +69,7 @@ help Opercmds {
|
||||
" DCCDENY MKPASSWD SDESC ZLINE";
|
||||
" DIE MODULE SETHOST";
|
||||
" ==-------------------------oOo-------------------------==";
|
||||
};
|
||||
}
|
||||
|
||||
help Svscmds {
|
||||
" Dieser Abschnitt gibt alle Befehle aus die nur";
|
||||
@@ -85,7 +85,7 @@ help Svscmds {
|
||||
" SVSFLINE SVSMOTD SVSO SWHOIS";
|
||||
" SVSJOIN SVSNICK SVSPART UNSQLINE";
|
||||
" ==-------------------------oOo-------------------------==";
|
||||
};
|
||||
}
|
||||
|
||||
help Umodes {
|
||||
" Hier eine Liste aller User Modi, die benutzt werden können.";
|
||||
@@ -120,7 +120,7 @@ help Umodes {
|
||||
" V = Markiert den Client als einen WebTV-User";
|
||||
" W = User erhält eine NOTICE, wenn und von wem er /WHOISed wird (nur für IRCOPS)";
|
||||
" ==---------------------------oOo---------------------------==";
|
||||
};
|
||||
}
|
||||
|
||||
help Snomasks {
|
||||
" Snomask seht für 'Service NOtice MASK'. Hiermit wird (hauptsächlich)";
|
||||
@@ -150,7 +150,7 @@ help Snomasks {
|
||||
" S = Sieht Spamfilter Treffer";
|
||||
" v = Sieht wenn sich jemand für einen VHOST einloggt.";
|
||||
" ==-------------------------oOo------------------------==";
|
||||
};
|
||||
}
|
||||
|
||||
help Chmodes {
|
||||
" Hier sind alle verfügbaren ChannelModes aufgelistet die man mit /MODE setzen kann.";
|
||||
@@ -197,7 +197,7 @@ help Chmodes {
|
||||
" [h] erfordert mindestens HalfOp Staus, [o] erfordert mindestens Op Staus,";
|
||||
" [q] erfordert Owner Status";
|
||||
" ==------------------------------oOo----------------------------==";
|
||||
};
|
||||
}
|
||||
|
||||
help ExtBans {
|
||||
" Erweiterte Banntypen: ";
|
||||
@@ -228,7 +228,7 @@ help ExtBans {
|
||||
" | | Dieser Bann würde auch auf 'Stupid bot script v1.4'. ";
|
||||
" | | passen. ";
|
||||
" ==------------------------------------------------------------------------------==";
|
||||
};
|
||||
}
|
||||
|
||||
help Chmodef {
|
||||
" Der +f Channel Mode ermöglicht eienn umfangreichen Flood Schutz für einen";
|
||||
@@ -254,7 +254,7 @@ help Chmodef {
|
||||
" -";
|
||||
" Wird eine aktion für einen Modus gewählt, kann eine Zeit (in Minuten)";
|
||||
" angegeben werden, nach der die gewählte aktion aufgehoben wird.";
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
help Oflags {
|
||||
@@ -292,7 +292,7 @@ help Oflags {
|
||||
" X (can_addline) Kann /ADDLINE ausführen";
|
||||
" d (can_dccdeny) Kann /DCCDENY ausführen";
|
||||
" ==----------------------oOo--------------------==";
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
help Nick {
|
||||
@@ -302,7 +302,7 @@ help Nick {
|
||||
" -";
|
||||
" Syntax: NICK <neuer Nickname>";
|
||||
" Beispiel: NICK hAtbLaDe";
|
||||
};
|
||||
}
|
||||
|
||||
help Whois {
|
||||
" Zeigt Informationen über den angegebenen User";
|
||||
@@ -323,7 +323,7 @@ help Whois {
|
||||
" + - User ist Voiced (+v)";
|
||||
" ! - User hat Channels, die für whois verborgen sind (+p) und man selbst ist IRCOp";
|
||||
" ? - Der Channel ist geheim (+s) und man selbst ist IRCOp";
|
||||
};
|
||||
}
|
||||
|
||||
help Who {
|
||||
" Liefert Informationen über User";
|
||||
@@ -367,7 +367,7 @@ help Who {
|
||||
" + - User ist Voiced (+v)";
|
||||
" ! - User ist +H und man selbst ein IRC Operator";
|
||||
" ? - User ist nur sichtbar, weil man selbst IRC Operator ist";
|
||||
};
|
||||
}
|
||||
|
||||
help Whowas {
|
||||
" Liefert Informationen über User, die nicht mehr zum";
|
||||
@@ -376,7 +376,7 @@ help Whowas {
|
||||
" Syntax: WHOWAS <nickname>";
|
||||
" WHOWAS <nickname> <max number of replies>";
|
||||
" Beispiel: WHOWAS hAtbLaDe";
|
||||
};
|
||||
}
|
||||
|
||||
help Cycle {
|
||||
" Der/die angegebene(n) Channel(s)werden verlassen und";
|
||||
@@ -386,7 +386,7 @@ help Cycle {
|
||||
" Syntax: CYCLE <chan1>,<chan2>,<chan3>";
|
||||
" Example: CYCLE #help";
|
||||
" Example: CYCLE #main,#chat";
|
||||
};
|
||||
}
|
||||
|
||||
help Dns {
|
||||
" Liefert Informationen über den DNS Cache des IRC Servers.";
|
||||
@@ -397,14 +397,14 @@ help Dns {
|
||||
" 'DNS i' liefert Details über die Nameserver Konfiguration";
|
||||
" -";
|
||||
"Syntax: DNS [option]";
|
||||
};
|
||||
}
|
||||
|
||||
help Names {
|
||||
" Liefert eine Liste aller User im angegeben Channel.";
|
||||
" -";
|
||||
"Syntax: NAMES <channel>";
|
||||
"Beispiel: NAMES #Support";
|
||||
};
|
||||
}
|
||||
|
||||
help Ison {
|
||||
" Überprüfung, ob bestimmte User mit angegebenem Nicknamen";
|
||||
@@ -412,7 +412,7 @@ help Ison {
|
||||
" -";
|
||||
" Syntax: ISON <user> <user2> <user3> <user4>";
|
||||
" Beispiel: ISON hAtbLaDe Stskeeps OperServ AOLBot";
|
||||
};
|
||||
}
|
||||
|
||||
help Join {
|
||||
" Wird verwendet, um einen oder mehrere Channels auf einem";
|
||||
@@ -427,7 +427,7 @@ help Join {
|
||||
" Beispiel: JOIN #Support";
|
||||
" JOIN #Lobby,#IRCd";
|
||||
" JOIN #IRCd,#Support,#main letmein,somepass,anotherpass";
|
||||
};
|
||||
}
|
||||
|
||||
help Part {
|
||||
" Befehl, um einen Channel zu verlassen, in dem man sich momentan";
|
||||
@@ -438,7 +438,7 @@ help Part {
|
||||
" Syntax: PART <chan>,<chan2>,<chan3>,<chan4> <reason>";
|
||||
" Beispiel: PART #Support";
|
||||
" PART #Lobby,#IRCd See ya later!";
|
||||
};
|
||||
}
|
||||
|
||||
help Motd {
|
||||
" Zeigt die Message Of The Day des IRC Servers an, auf dem man ";
|
||||
@@ -447,21 +447,21 @@ help Motd {
|
||||
" -";
|
||||
" Syntax: MOTD";
|
||||
" MOTD <server>";
|
||||
};
|
||||
}
|
||||
|
||||
help Rules {
|
||||
" Zeigt die Regeln des Netzwerkes an, mit dem man verbunden ist.";
|
||||
" -";
|
||||
" Syntax: RULES";
|
||||
" RULES <server>";
|
||||
};
|
||||
}
|
||||
|
||||
help Lusers {
|
||||
" Liefert Informationen über die Anzahl lokaler und ";
|
||||
" globaler User und die maximal erreichte Userzahl..";
|
||||
" -";
|
||||
" Syntax: LUSERS [server]";
|
||||
};
|
||||
}
|
||||
|
||||
help Map {
|
||||
" Zeigt eine pseude-grafische Netzwerks Karte an, aus der die";
|
||||
@@ -469,7 +469,7 @@ help Map {
|
||||
" zu Routing Zwecken benötigt.";
|
||||
" -";
|
||||
" Syntax: MAP";
|
||||
};
|
||||
}
|
||||
|
||||
help Quit {
|
||||
" Beendet die Verbindung zum IRC Server. Die verbleibenden User in";
|
||||
@@ -478,7 +478,7 @@ help Quit {
|
||||
" -";
|
||||
" Syntax: QUIT <reason>";
|
||||
" Beispiel: QUIT Leaving!";
|
||||
};
|
||||
}
|
||||
|
||||
help Ping {
|
||||
" Der Ping Befehl dient dazu, die Anwesenheit eines Users oder Servers";
|
||||
@@ -490,10 +490,10 @@ help Ping {
|
||||
" Zu beachten ist, dass dies unterschiedlich zum CTCP PING Befehl ist.";
|
||||
" -";
|
||||
" Syntax: PING <server> <server2>";
|
||||
" Beispiel: PING irc.fyremoon.net";
|
||||
" Beispiel: PING irc.example.org";
|
||||
" PING hAtbLaDe";
|
||||
" PING hAtbLaDe irc2.dynam.ac";
|
||||
};
|
||||
}
|
||||
|
||||
help Pong {
|
||||
" Die PONG Nachricht ist die Antwort auf die PING Nachricht. Wird der";
|
||||
@@ -502,16 +502,16 @@ help Pong {
|
||||
" Nachricht geantwortet hat und diese Nachricht erzeugt hat.";
|
||||
" -";
|
||||
" Syntax: PONG <server> <server2>";
|
||||
" Beispiel: PONG irc.fyremoon.net irc2.dynam.ac";
|
||||
" (PONG Nachricht von irc.fyremoon.net to irc2.dynam.ac)";
|
||||
};
|
||||
" Beispiel: PONG irc.example.org irc2.dynam.ac";
|
||||
" (PONG Nachricht von irc.example.org to irc2.dynam.ac)";
|
||||
}
|
||||
|
||||
help Version {
|
||||
" Liefert versions Informationen über den benutzten IRCd.";
|
||||
" -";
|
||||
" Syntax: VERSION";
|
||||
" VERSION <server>";
|
||||
};
|
||||
}
|
||||
|
||||
help Stats {
|
||||
" Liefert verschiedene statistische Informationen über den Server.";
|
||||
@@ -521,21 +521,21 @@ help Stats {
|
||||
" -";
|
||||
" Gibt man nur /stats ohne Parameter ein, erhält man eine Liste der";
|
||||
" möglichen Flags.";
|
||||
};
|
||||
}
|
||||
|
||||
help Links {
|
||||
" Listet sämtliche Server auf, die momentan zum Netzwerk verbunden";
|
||||
" sind. Nur IRCops können gelinkte U-lined Servers /Services) sehen.";
|
||||
" -";
|
||||
" Syntax: LINKS";
|
||||
};
|
||||
}
|
||||
|
||||
help Admin {
|
||||
" Liefert Informationen über die Administration des Servers.";
|
||||
" -";
|
||||
" Syntax: ADMIN";
|
||||
" ADMIN <server>";
|
||||
};
|
||||
}
|
||||
|
||||
help Userhost {
|
||||
" Zeigt den userhost des angegebenen Nicknamen an. Wird ";
|
||||
@@ -543,7 +543,7 @@ help Userhost {
|
||||
" -";
|
||||
" Syntax: USERHOST <nickname>";
|
||||
" Beispiel: USERHOST hAtbLaDe";
|
||||
};
|
||||
}
|
||||
|
||||
help Userip {
|
||||
" Liefert die IP des Users zurück, nach dem gefragt wurde.";
|
||||
@@ -551,7 +551,7 @@ help Userip {
|
||||
" -";
|
||||
" Syntax: USERIP <nickname>";
|
||||
" Beispiel: USERIP codemastr";
|
||||
};
|
||||
}
|
||||
|
||||
help Topic {
|
||||
" Setzt oder ändert das Topic des angegebenen Channels";
|
||||
@@ -561,7 +561,7 @@ help Topic {
|
||||
" TOPIC <channel> <topic> (Ändert Topic)";
|
||||
" Beispiel: TOPIC #Operhelp";
|
||||
" TOPIC #Lobby Welcome to #Lobby!!";
|
||||
};
|
||||
}
|
||||
|
||||
help Invite {
|
||||
" Sendet einem User eine Einladung, einen bestimmten Channel zu betreten.";
|
||||
@@ -572,7 +572,7 @@ help Invite {
|
||||
" Syntax: INVITE <user> <channel>";
|
||||
" Beispiel: INVITE hAtbLaDe #Support";
|
||||
" Beispiel: INVITE";
|
||||
};
|
||||
}
|
||||
|
||||
help Kick {
|
||||
" Entfernt einen User aus einem Channel. Kann nur von Operators oder ";
|
||||
@@ -582,7 +582,7 @@ help Kick {
|
||||
" Syntax: KICK <channel>[,<channel2>..] <user>[,<user2>..] <reason>";
|
||||
" Beispiel: KICK #Lobby foobar Lamer..";
|
||||
" KICK #Lobby,#OperHelp Lamer23,Luser12 Lamers!";
|
||||
};
|
||||
}
|
||||
|
||||
help Away {
|
||||
" Stellt den eigenen Online Status auf \"Away\" ein.";
|
||||
@@ -590,7 +590,7 @@ help Away {
|
||||
" Syntax: AWAY <Grund> (Setzt eigenen Nick auf Away und zeigt angegebenen Grund an)";
|
||||
" AWAY (Hebt den Away Status auf)";
|
||||
" Beispiel: AWAY Essenszeit!";
|
||||
};
|
||||
}
|
||||
|
||||
help Watch {
|
||||
" Watch ist ein Benachrichtigungssystem welches schneller und ressourcenschonender";
|
||||
@@ -604,7 +604,7 @@ help Watch {
|
||||
" Syntax: WATCH +nick1 +nick2 +nick3 (Fügt Nickname hinzu)";
|
||||
" WATCH -nick (Löscht Nickname)";
|
||||
" WATCH (Zeigt die Watch Liste an)";
|
||||
};
|
||||
}
|
||||
|
||||
help List {
|
||||
" Liefert eine vollständige Liste sämtlicher Channels im Netzwerk.";
|
||||
@@ -621,7 +621,7 @@ help List {
|
||||
" !*mask* Zeigt Channels an, die NICHT zur Maske *mask* passen";
|
||||
" -";
|
||||
" Sämtliche Flags können statt einer Standard Maske verwendet werden.";
|
||||
};
|
||||
}
|
||||
|
||||
help Privmsg {
|
||||
" Eröffnet eine private Unterhaltung, ein sogenanntes 'Query'";
|
||||
@@ -638,7 +638,7 @@ help Privmsg {
|
||||
" Beispiel: PRIVMSG hAtbLaDe :Hello";
|
||||
" PRIVMSG hAtbLaDe,Somefella,Lamer :Hallo allerseits!";
|
||||
" PRIVMSG @#hottub Am Samstag haben wir Team Besprechung.";
|
||||
};
|
||||
}
|
||||
|
||||
help Notice {
|
||||
" Sendet Nachrichten an bestimmte Empfänger, die nur von diesen gelesen";
|
||||
@@ -656,7 +656,7 @@ help Notice {
|
||||
" Beispiel: NOTICE hAtbLaDe :Hello";
|
||||
" NOTICE hAtbLaDe,Somefella,Lamer :Hallo Leute!";
|
||||
" NOTICE @#hottub Achtet mal auf diesen Lamer.";
|
||||
};
|
||||
}
|
||||
|
||||
help Knock {
|
||||
" In Channels, die auf invite only eingestellt sind, kann man";
|
||||
@@ -664,14 +664,14 @@ help Knock {
|
||||
" -";
|
||||
" Syntax: KNOCK <channel> <message>";
|
||||
" Beispiel: KNOCK #secret_chan Ich bin Op hier, holt mich mal rein!";
|
||||
};
|
||||
}
|
||||
|
||||
help Setname {
|
||||
" Ermöglicht es, dass User ihren \"Real name\" (GECOS) direkt online";
|
||||
" im IRC, ohne neu zu connecten, ändern können.";
|
||||
" -";
|
||||
" Syntax: SETNAME <New Real Name>";
|
||||
};
|
||||
}
|
||||
|
||||
help Vhost {
|
||||
" Verbirgt den realen Hostnamen durch Überschreiben mit einem virtuellen,";
|
||||
@@ -680,7 +680,7 @@ help Vhost {
|
||||
" -";
|
||||
" Synatx: VHOST <login> <password>";
|
||||
" Beispiel: VHOST openbsd ilovecypto";
|
||||
};
|
||||
}
|
||||
|
||||
help Mode {
|
||||
" Setzt einen Modus für einen Channel oder einen User. Eine Liste der";
|
||||
@@ -689,34 +689,34 @@ help Mode {
|
||||
" Syntax: MODE <channel/user> <mode>";
|
||||
" Beispiel: MODE #Support +tn";
|
||||
" MODE #Support +ootn hAtbLaDe XYZ";
|
||||
};
|
||||
}
|
||||
|
||||
help Credits {
|
||||
" Zeigt eine Liste aller, die an der Entwicklung von UnrealIRCd mitgewirkt haben.";
|
||||
" -";
|
||||
" Syntax: CREDITS";
|
||||
" CREDITS <server>";
|
||||
};
|
||||
}
|
||||
|
||||
help Dalinfo {
|
||||
" Diser Befehl liefert historische Danksagungen (von ircu, etc..)";
|
||||
" -";
|
||||
" Syntax: DALINFO";
|
||||
" Syntax: DALINFO <server>";
|
||||
};
|
||||
}
|
||||
|
||||
help License {
|
||||
" Dieser Befehl zeigt die Lizenzinformationen für UnrealIRCd an.";
|
||||
" Syntax: LICENSE";
|
||||
" LICENSE <server>";
|
||||
};
|
||||
}
|
||||
|
||||
help Time {
|
||||
" Zeigt das aktuelle Datum und die Zeit des Servers an.";
|
||||
" -";
|
||||
" Syntax : TIME";
|
||||
" TIME <server>";
|
||||
};
|
||||
}
|
||||
|
||||
help Silence {
|
||||
" Nachrichten von einem User oder einer Liste von Usern werden ignoriert.";
|
||||
@@ -724,7 +724,7 @@ help Silence {
|
||||
" Syntax: SILENCE +nickname (Schreibt einen Nicknamen in die SILENCE Liste)";
|
||||
" SILENCE -nickname (Löscht einen Nicknamen aus der SILENCE Liste)";
|
||||
" SILENCE (Zeigt die aktuelle SILENCE Liste an)";
|
||||
};
|
||||
}
|
||||
|
||||
help Oper {
|
||||
" Bewirkt, dass ein User den IRC Operator Status erhält.";
|
||||
@@ -734,7 +734,7 @@ help Oper {
|
||||
" Achtung: Sowohl uid als auch Passwort sind case sensitive ";
|
||||
" (Groß- und Kleinschreibung beachten!)";
|
||||
" Beispiel: OPER hAtbLaDe foobar234";
|
||||
};
|
||||
}
|
||||
|
||||
help Wallops {
|
||||
" Sendet eine \"Nachricht\" an alle, die den Usermodus +w haben.";
|
||||
@@ -742,7 +742,7 @@ help Wallops {
|
||||
" können sie lesen.";
|
||||
" -";
|
||||
" Syntax: WALLOPS <nachricht>";
|
||||
};
|
||||
}
|
||||
|
||||
help Globops {
|
||||
" Sendet eine globale \"Nachricht\" an alle IRCops. Die Nachricht";
|
||||
@@ -751,7 +751,7 @@ help Globops {
|
||||
" -";
|
||||
" Syntax: GLOBOPS <message>";
|
||||
" Beispiel: GLOBOPS Lets get em clones ..";
|
||||
};
|
||||
}
|
||||
|
||||
help Locops {
|
||||
" Ähnlich, wie GLOBOPS, allerdings empfangen nur IRCops,";
|
||||
@@ -759,28 +759,28 @@ help Locops {
|
||||
" -";
|
||||
" Syntax: LOCOPS <message>";
|
||||
" Beispiel: LOCOPS Gib dem User mal ne k:line ...";
|
||||
};
|
||||
}
|
||||
|
||||
help Chatops {
|
||||
" Sendet eine Nachricht an alle IrcOps (global).";
|
||||
" -";
|
||||
" Syntax: CHATOPS <message>";
|
||||
" Example: CHATOPS Gonna k:line that user ...";
|
||||
};
|
||||
}
|
||||
|
||||
help Adchat {
|
||||
" Sendet eine Nachricht an alle Admins, die online sind.";
|
||||
" -";
|
||||
" Syntax: ADCHAT <text>";
|
||||
" Beispiel: ADCHAT Hey guys! I'm finally here.";
|
||||
};
|
||||
}
|
||||
|
||||
help Nachat {
|
||||
" Sendet eine Nachricht an alle NetAdmins, die online sind.";
|
||||
" -";
|
||||
" Syntax: NACHAT <text>";
|
||||
" Beispiel: NACHAT Hey guys! How is everything?";
|
||||
};
|
||||
}
|
||||
|
||||
help Kill {
|
||||
" Dieser Befehl entfernt User vom Server (anders als KICK";
|
||||
@@ -790,7 +790,7 @@ help Kill {
|
||||
" -";
|
||||
" Syntax: KILL <user1>, <user2>, <user3>,... <reason>";
|
||||
" Beispiel: KILL Jack16 Werbung für Dialer hier nicht erlaubt";
|
||||
};
|
||||
}
|
||||
|
||||
help Kline {
|
||||
" Dieser Befehl erzeugt zeitabhängige K:Line bezogen auf eine";
|
||||
@@ -806,7 +806,7 @@ help Kline {
|
||||
" Beispiel: KLINE *@*.aol.com Abuse (setzt eine permanente K:line)";
|
||||
" KLINE *@*.someisp.com 2d Abuse (setzt eine K:line für 2 Tage)";
|
||||
" KLINE -*@*.aol.com";
|
||||
};
|
||||
}
|
||||
|
||||
help Zline {
|
||||
" Dieser Befehl erzeugt zeitabhängige Z:Line bezogen auf eine";
|
||||
@@ -824,7 +824,7 @@ help Zline {
|
||||
" ZLINE -*@127.0.0.1";
|
||||
" Anmerkung: Gibt man bei zline statt einer IP einen Host an, so wirkt sie wie eine kline.";
|
||||
" ACHTUNG: Der IrcOp benötigt hierfür das can_gkline oper Flag";
|
||||
};
|
||||
}
|
||||
|
||||
help Gline {
|
||||
" Dieser Befehl erzeugt zeitabhängige G:Line bezogen auf eine";
|
||||
@@ -842,7 +842,7 @@ help Gline {
|
||||
" GLINE *@*.idiot.net 1d5h :Spammers (Setzt eine 29 std G:line)";
|
||||
" GLINE -*@*.idiot.net";
|
||||
" ACHTUNG: Der IrcOp benötigt hierfür das can_gkline oper Flag";
|
||||
};
|
||||
}
|
||||
|
||||
help Shun {
|
||||
" Verhindert, dass der User IRGENDEINEN Befehl ausführen kann, ausser";
|
||||
@@ -860,7 +860,7 @@ help Shun {
|
||||
" (Shunt foobar@aol.com für 10 Minuten wegen Spamming)";
|
||||
" SHUN +foobar@aol.com 1d6h :Spamming (Bewirkt einen 30 stündigen SHUN)";
|
||||
" ACHTUNG: Der IrcOp benötigt hierfür das can_gkline oper Flag";
|
||||
};
|
||||
}
|
||||
|
||||
help Gzline {
|
||||
" Dieser Befehl erzeugt zeitabhängige globale Z:Line. Wer eine IP Adresse";
|
||||
@@ -877,7 +877,7 @@ help Gzline {
|
||||
" GZLINE *@4.16.200.* 1d5h Spammers (Setzt eine 29 std Globale Z:line)";
|
||||
" GZLINE -*@4.16.200.* ";
|
||||
" Anmerkung: Gibt man bei gzline statt einer IP einen Host an, so wirkt sie wie eine gline.";
|
||||
};
|
||||
}
|
||||
|
||||
help Akill {
|
||||
" Setzt einen Autokill für die angegebene Host Maske. Das verhindert, ";
|
||||
@@ -887,14 +887,14 @@ help Akill {
|
||||
" -";
|
||||
" Syntax: AKILL <user@host> :<Grund>";
|
||||
" Beispiel: AKILL foo@aol.com :Spammers!";
|
||||
};
|
||||
}
|
||||
|
||||
help Rakill {
|
||||
" Löscht einen durch Service Administrator gesetzten AKILL.";
|
||||
" DIESER BEFEHL IST NUR SERVERN ERLAUBT";
|
||||
" -";
|
||||
" Syntax: RAKILL <user@host>";
|
||||
};
|
||||
}
|
||||
|
||||
help Rehash {
|
||||
" Veranlasst den Server, seine Konfigurationsdatei neu einzulesen.";
|
||||
@@ -922,7 +922,7 @@ help Rehash {
|
||||
" zur regelmäßigen automatischen Wiederverfügbarmachung von nicht mehr";
|
||||
" benötigtem Speicherplatz, indem nicht mehr erreichbare Objekte im";
|
||||
" Speicher automatisch freigegeben werden.";
|
||||
};
|
||||
}
|
||||
|
||||
help Restart {
|
||||
" Killt den IRC Prozess und startet ihn neu. Dabei werden alle momentan";
|
||||
@@ -932,7 +932,7 @@ help Restart {
|
||||
" Syntax: RESTART";
|
||||
" RESTART <password>";
|
||||
" RESTART <password> <reason>";
|
||||
};
|
||||
}
|
||||
|
||||
help Die {
|
||||
" Beendet den IRC Prozess. Dabei werden alle momentan zum Server";
|
||||
@@ -941,17 +941,17 @@ help Die {
|
||||
" -";
|
||||
" Syntax: DIE";
|
||||
" DIE <password>";
|
||||
};
|
||||
}
|
||||
|
||||
help Lag {
|
||||
" Dieser Befehl ist ähnlich einem Traceroute für IRC Server.";
|
||||
" Man gibt beispielsweise /LAG irc.fyremoon.net ein und es";
|
||||
" Man gibt beispielsweise /LAG irc.example.org ein und es";
|
||||
" erfolgen Antworten von jedem Server über den der Befehl geleitet wird";
|
||||
" mit Zeit u.s.w.";
|
||||
" Hilfreich, um nachzuschauen, wo ein Lag ist.";
|
||||
" -";
|
||||
" Syntax: LAG <server>";
|
||||
};
|
||||
}
|
||||
|
||||
help Sethost {
|
||||
" Mit diesem Befehl kann man den Virtual host (Vhost) in jeden gewünschten";
|
||||
@@ -960,7 +960,7 @@ help Sethost {
|
||||
" -";
|
||||
" Syntax: SETHOST <new hostname>";
|
||||
" Beispiel: SETHOST hier.kommt.der.chef";
|
||||
};
|
||||
}
|
||||
|
||||
help Setident {
|
||||
" Mit diesem Befehl kann man den Ident (Username) ändern.";
|
||||
@@ -968,7 +968,7 @@ help Setident {
|
||||
" -";
|
||||
" Syntax: SETIDENT <new ident>";
|
||||
" Beispiel: SETIDENT l33t";
|
||||
};
|
||||
}
|
||||
|
||||
help Chghost {
|
||||
" Mit diesem Befehl kann man den Host eines Users, der aktuell";
|
||||
@@ -977,7 +977,7 @@ help Chghost {
|
||||
" -";
|
||||
" Syntax: CHGHOST <nick> <host>";
|
||||
" Beispiel: CHGHOST hAtbLaDe root.me.com";
|
||||
};
|
||||
}
|
||||
|
||||
help Chgident {
|
||||
" Ändert den Ident eines Users im IRC Netzwerk.";
|
||||
@@ -985,7 +985,7 @@ help Chgident {
|
||||
" -";
|
||||
" Syntax: CHGIDENT <nick> <ident>";
|
||||
" Beispiel: CHGIDENT hAtbLaDe sheep";
|
||||
};
|
||||
}
|
||||
|
||||
help Chgname {
|
||||
" Ändert den \"IRC Name\" (oder \"Real Name\") eines Users im IRC Netzwerk.";
|
||||
@@ -993,7 +993,7 @@ help Chgname {
|
||||
" -";
|
||||
" Syntax: CHGNAME <nick> <name>";
|
||||
" Beispiel: CHGNAME hAtbLaDe Gotta new name :)";
|
||||
};
|
||||
}
|
||||
|
||||
help Squit {
|
||||
" Trennt einen IRC Server vom Netzwerk.";
|
||||
@@ -1002,7 +1002,7 @@ help Squit {
|
||||
" -";
|
||||
" Syntax: SQUIT <server>";
|
||||
" Beispiel: SQUIT leaf.*";
|
||||
};
|
||||
}
|
||||
|
||||
help Connect {
|
||||
" Linkt einen anderen IRC Server zu dem, auf dem der Befehl gegeben wird.";
|
||||
@@ -1013,7 +1013,7 @@ help Connect {
|
||||
" CONNECT <hub> <port> <leaf>";
|
||||
" Beispiel: CONNECT leaf.*";
|
||||
" CONNECT hub.* 6667 leaf.*";
|
||||
};
|
||||
}
|
||||
|
||||
help Dccdeny {
|
||||
" Legt ein DCC Verbot für diese Dateimaske fest. Das bedeutet, dass alle";
|
||||
@@ -1021,7 +1021,7 @@ help Dccdeny {
|
||||
" Befehl nur für IrcOps.";
|
||||
" -";
|
||||
" Syntax: DCCDENY <filename mask> <reason>";
|
||||
};
|
||||
}
|
||||
|
||||
help Undccdeny {
|
||||
" Wird EXAKT die angegeben Datei gefunden, wird sie gelöscht, andernfalls";
|
||||
@@ -1029,7 +1029,7 @@ help Undccdeny {
|
||||
" Befehl nur für IrcOps.";
|
||||
" -";
|
||||
" Syntax: UNDCCDENY <filename mask>";
|
||||
};
|
||||
}
|
||||
|
||||
help Sajoin {
|
||||
" Zwingt einen User, einen Channel zu joinen.";
|
||||
@@ -1038,7 +1038,7 @@ help Sajoin {
|
||||
" Syntax: SAJOIN <nick> <channel>,[<channel2>..]";
|
||||
" Beispiel: SAJOIN hAtbLaDe #OperHelp";
|
||||
" SAJOIN hAtbLaDe #Support,#IRCHelp";
|
||||
};
|
||||
}
|
||||
|
||||
help Sapart {
|
||||
" Zwingt einen User, einen Channel zu verlassen.";
|
||||
@@ -1047,7 +1047,7 @@ help Sapart {
|
||||
" Syntax: SAPART <nick> <channel>,[<channel2>..]";
|
||||
" Beispiel: SAPART hAtbLaDe #OperHelp";
|
||||
" SAPART hAtbLaDe #Support,#IRCHelp";
|
||||
};
|
||||
}
|
||||
|
||||
help Samode {
|
||||
" Erlaubt es einem Services Administrator die Modi eines Channels zu ändern,";
|
||||
@@ -1056,7 +1056,7 @@ help Samode {
|
||||
" -";
|
||||
" Syntax: SAMODE <channel> <mode>";
|
||||
" Beispiel: SAMODE #Support +m";
|
||||
};
|
||||
}
|
||||
|
||||
help Trace {
|
||||
" Man kann TRACE auf Server und User anwenden.";
|
||||
@@ -1067,15 +1067,15 @@ help Trace {
|
||||
" Befehl nur für IrcOps.";
|
||||
" -";
|
||||
" Syntax: TRACE <servername|nickname>";
|
||||
" Beispiel: TRACE irc.fyremoon.net";
|
||||
};
|
||||
" Beispiel: TRACE irc.example.org";
|
||||
}
|
||||
|
||||
help Opermotd {
|
||||
" Zeigt die Operator MOTD des IRCd an.";
|
||||
" Befehl nur für IrcOps.";
|
||||
" -";
|
||||
" Syntax: OPERMOTD";
|
||||
};
|
||||
}
|
||||
|
||||
help Sdesc {
|
||||
" Mit diesem Befehl kann man die Infozeile des Servers ändern,";
|
||||
@@ -1084,7 +1084,7 @@ help Sdesc {
|
||||
" -";
|
||||
" Syntax: SDESC <New description>";
|
||||
" Beispiel: SDESC Fly High, Fly Free";
|
||||
};
|
||||
}
|
||||
|
||||
help Mkpasswd {
|
||||
" Dieser Befehl verschlüsselt den übergebenen String und liefert einen 'hash' zurück.";
|
||||
@@ -1095,7 +1095,7 @@ help Mkpasswd {
|
||||
" -";
|
||||
" Syntax: MKPASSWD <method> <password>";
|
||||
" Beispiel: MKPASSWD argon2 IamTeh1337";
|
||||
};
|
||||
}
|
||||
|
||||
help Module {
|
||||
" Dieser Befehl liefert eine Liste aller geladenen Module.";
|
||||
@@ -1116,24 +1116,21 @@ help Module {
|
||||
" [OLD?] Fehlende Modul Version, vergessen, ein altes Beta* Modul neu zu kompilieren?";
|
||||
" Zusätzlich sieht man eine Liste, welche 'hooks' und Befehlüberschreitungen";
|
||||
" vorhanden sind (die Nummer der 'hook's' kann in include/modules.h nachgesehen werden.";
|
||||
};
|
||||
}
|
||||
|
||||
help Close {
|
||||
" Dieser Befehl schliesst alle unbekannten Verbindungen zum IRC Server";
|
||||
" IRC server.";
|
||||
" -";
|
||||
" Syntax: CLOSE";
|
||||
};
|
||||
}
|
||||
|
||||
help Tsctl {
|
||||
" Dies ist ein erweiterter Befehl, um die interne IRC Uhrzeit anzupassen.";
|
||||
" Uhrzeit aller Server anzeigen.";
|
||||
" Befehl nur für IrcOps.";
|
||||
" -";
|
||||
" Syntax: TSCTL OFFSET +|- <time> (Stellt interne IRC Uhrzeit)";
|
||||
" TSCTL TIME (Erzeugt einen Zeitstatus Bericht)";
|
||||
" TSCTL ALLTIME (Zeigt den Zeitstatus aller Server)";
|
||||
" TSCTL SVSTIME <timestamp> (Stellt die Uhrzeit auf allen Servern ein)";
|
||||
};
|
||||
" Syntax: TSCTL ALLTIME (Zeigt den Zeitstatus aller Server)";
|
||||
}
|
||||
|
||||
help Svsnick {
|
||||
" Ändert den Nicknamen des Users, der angegeben wird.";
|
||||
@@ -1141,7 +1138,7 @@ help Svsnick {
|
||||
" -";
|
||||
" Syntax: SVSNICK <nickname> <new nickname> <timestamp>";
|
||||
" Beispiel: SVSNICK hAtbLaDe Foobar 963086432";
|
||||
};
|
||||
}
|
||||
|
||||
help Svsmode {
|
||||
" Ändert Modi des Users, der angegeben wird.";
|
||||
@@ -1149,7 +1146,7 @@ help Svsmode {
|
||||
" -";
|
||||
" Syntax: SVSMODE <nickname> <usermode>";
|
||||
" Beispiel: SVSMODE hAtbLaDe +i";
|
||||
};
|
||||
}
|
||||
|
||||
help Svskill {
|
||||
" Disconnected einen User vom Netzwerk.";
|
||||
@@ -1157,7 +1154,7 @@ help Svskill {
|
||||
" -";
|
||||
" Syntax: SVSKILL <user> :<reason>";
|
||||
" Beispiel: SVSKILL Lamer21 :Goodbye";
|
||||
};
|
||||
}
|
||||
|
||||
help Svsnoop {
|
||||
" Dieser Befehl aktiviert oder deaktiviert die Möglichkeit";
|
||||
@@ -1166,7 +1163,7 @@ help Svsnoop {
|
||||
" -";
|
||||
" Syntax: SVSNOOP <server> <+/->";
|
||||
" Beispiel: SVSNOOP leaf.* -";
|
||||
};
|
||||
}
|
||||
|
||||
help Svsjoin {
|
||||
" Zwingt einen User, einen Channel zu joinen.";
|
||||
@@ -1175,7 +1172,7 @@ help Svsjoin {
|
||||
" Syntax: SVSJOIN <nick> <channel>[,<channel2>..]";
|
||||
" Beispiel: SVSJOIN hAtbLaDe #jail";
|
||||
" SVSJOIN hAtbLaDe #jail,#zoo";
|
||||
};
|
||||
}
|
||||
|
||||
help Svspart {
|
||||
" Zwingt einen User einen Channel zu verlassen.";
|
||||
@@ -1185,7 +1182,7 @@ help Svspart {
|
||||
" Beispiel: SVSPART hAtbLaDe #Hanson";
|
||||
" SVSPART hAtbLaDe #Hanson,#AOL";
|
||||
" SVSPART hAtbLaDe #Hanson,#AOL Und weg auch....";
|
||||
};
|
||||
}
|
||||
|
||||
help Svso {
|
||||
" Gibt dem Nick Operflags wie die in den O:lines.";
|
||||
@@ -1195,7 +1192,7 @@ help Svso {
|
||||
" Syntax: SVSO <nick> <+operflags> (Setzt die Operflags)";
|
||||
" SVSO <nick> - (Löscht alle O:Line Flags)";
|
||||
" Beispiel: SVSO SomeNick +bBkK";
|
||||
};
|
||||
}
|
||||
|
||||
help Swhois {
|
||||
" Ändert die WHOIS Meldung des Nicknamen.";
|
||||
@@ -1204,7 +1201,7 @@ help Swhois {
|
||||
" Syntax: SWHOIS <nick> :<message> (Stellt SWHOIS ein)";
|
||||
" SWHOIS <nick> : (Reset des SWHOIS)";
|
||||
" Beispiel: SWHOIS SomeNick :is a lamer";
|
||||
};
|
||||
}
|
||||
|
||||
help Sqline {
|
||||
" Bannt den Nicknamen oder ähnliche Namen vom Server.";
|
||||
@@ -1212,7 +1209,7 @@ help Sqline {
|
||||
" -";
|
||||
" Syntax: SQLINE <nickmask> :<Reason>";
|
||||
" Beispiel: SQLINE *Bot* :No bots";
|
||||
};
|
||||
}
|
||||
|
||||
help Unsqline {
|
||||
" Entfernt Bann auf Nickname oder Nickname Maske.";
|
||||
@@ -1220,7 +1217,7 @@ help Unsqline {
|
||||
" -";
|
||||
" Synax: UNSQLINE <nickmask>";
|
||||
" Beispiel: UNSQLINE *Bot*";
|
||||
};
|
||||
}
|
||||
|
||||
help Svs2mode {
|
||||
" Ändert die Usermodi eines Nicknamens.";
|
||||
@@ -1228,7 +1225,7 @@ help Svs2mode {
|
||||
" -";
|
||||
" Syntax: :services.somenet.com SVS2MODE <nickname> +<mode>";
|
||||
" Beispiel: :services.roxnet.org SVS2MODE hAtbLaDe +h";
|
||||
};
|
||||
}
|
||||
|
||||
help Svsfline {
|
||||
" Setzt gegebene Dateimaske auf DCCDENY";
|
||||
@@ -1237,7 +1234,7 @@ help Svsfline {
|
||||
" Syntax: :server SVSFLINE + file :grund (Fügt Dateinamen hinzu)";
|
||||
" :server SVSFLINE - file (löscht den Dateinamen)";
|
||||
" :server SVSFLINE * (Löscht die DCCDENY Liste)";
|
||||
};
|
||||
}
|
||||
|
||||
help Svsmotd {
|
||||
"Ändert die Service Message Of The Day";
|
||||
@@ -1246,7 +1243,7 @@ help Svsmotd {
|
||||
" SVSMOTD ! (Löscht die MOTD)";
|
||||
" SVSMOTD ! :<text> (Löscht Text und fügt neuen hinzu)";
|
||||
"Beispiel: SVSMOTD # :Services MOTD";
|
||||
};
|
||||
}
|
||||
|
||||
help Svsnline {
|
||||
" Setzt einen globalen Bann auf den Realnamen.";
|
||||
@@ -1259,7 +1256,7 @@ help Svsnline {
|
||||
" SVSNLINE - (um einen Bann zu löschen)";
|
||||
" SVSNLINE * (um alle Banns zu löschen)";
|
||||
" Beispiel: SVSNLINE sub7_drone :*sub7*";
|
||||
};
|
||||
}
|
||||
|
||||
help Svslusers {
|
||||
" Ändert die globale und/oder lokale maximalen Userzahl";
|
||||
@@ -1268,15 +1265,15 @@ help Svslusers {
|
||||
" Muss durch einen U:Lined Server gesendet werden.";
|
||||
" -";
|
||||
" Syntax: SVSLUSERS <server> <globalmax|-1> <localmax|-1>";
|
||||
" Beispiel: SVSLUSERS irc.test.com -1 200";
|
||||
};
|
||||
" Beispiel: SVSLUSERS irc.example.org -1 200";
|
||||
}
|
||||
|
||||
help Svswatch {
|
||||
" Ändert die WATCH Liste eines Users.";
|
||||
" Muss durch einen U:Lined Server gesendet werden.";
|
||||
" Syntax: SVSWATCH <nick> :<watch parameters>";
|
||||
" Beispiel: SVSWATCH Blah :+Blih!*@* +Bluh!*@* +Bleh!*@*.com";
|
||||
};
|
||||
}
|
||||
|
||||
help Svssilence {
|
||||
" Ändert die SILENCE Liste eines Users.";
|
||||
@@ -1285,7 +1282,7 @@ help Svssilence {
|
||||
" zum Setzen/Löschen in einer Zeile stehen.";
|
||||
" Syntax: SVSSILENCE <nick> :<silence parameters>";
|
||||
" Beispiel: SILENCE Blah :+*!*@*.com +*!*@*.bla.co.uk";
|
||||
};
|
||||
}
|
||||
|
||||
help Svssno {
|
||||
" Ändert die snomask des angegebenen Users.";
|
||||
@@ -1293,7 +1290,7 @@ help Svssno {
|
||||
" -";
|
||||
" Syntax: SVSSNO <nickname> <snomasks>";
|
||||
" Beispiel: SVSSNO joe +Gc";
|
||||
};
|
||||
}
|
||||
|
||||
help Svs2sno {
|
||||
" Ändert die snomask eines Nicknamen und zeigt dem";
|
||||
@@ -1302,7 +1299,7 @@ help Svs2sno {
|
||||
" -";
|
||||
" Syntax: SVS2SNO <nickname> <snomasks>";
|
||||
" Beispiel: SVS2SNO joe +Gc";
|
||||
};
|
||||
}
|
||||
|
||||
help Svsnolag {
|
||||
" Aktiviert ein 'kein fake lag' für einen User.";
|
||||
@@ -1310,7 +1307,7 @@ help Svsnolag {
|
||||
" -";
|
||||
" Syntax: SVSNOLAG [+|-] <nickname>";
|
||||
" Example: SVSNOLAG + joe";
|
||||
};
|
||||
}
|
||||
|
||||
help Svs2nolag {
|
||||
" Aktiviert ein 'kein fake lag' für einen User.";
|
||||
@@ -1318,7 +1315,7 @@ help Svs2nolag {
|
||||
" -";
|
||||
" Syntax: SVS2NOLAG [+|-] <nickname>";
|
||||
" Example: SVS2NOLAG + joe";
|
||||
};
|
||||
}
|
||||
|
||||
help Spamfilter {
|
||||
" Diese Befehle setzten oder löschen globale Spam Filter.";
|
||||
@@ -1335,14 +1332,14 @@ help Spamfilter {
|
||||
" 'kline', 'gline', 'zline', 'gzline', 'block' (blockiert Nachricht),";
|
||||
" 'dccblock' (kann keine DCC mehr senden), 'viruschan' (verlässt alle Channels";
|
||||
" und joint zwangsweise im Virus Help Channel), warn (Warnung für IrcOps).";
|
||||
" [regex] hier handelt es sich um den Ausdruck in der Nachricht, auf den hin Reaktionen";
|
||||
" erfolgen sollen.";
|
||||
" [tkltime] die Zeitdauer, wie lange *LINEs, die durch [action] gesetzt wurden, gelten sollen";
|
||||
" (ein '-' angeben, um den Default aus set::spamfilter::ban-time zu verwenden,";
|
||||
" dieser Wert wird für 'block/tempshun' ignoriert).";
|
||||
" dieser Wert wird für 'block/tempshun' ignoriert).";
|
||||
" [reason] der Grund für die *LINE oder blocknachricht, DARF KEINE LEERZEICHEN ENTHALTEN,";
|
||||
" '_' wird in Leerzeichen übersetzt. Auch hier gilt, dass bei Angabe von '-' der";
|
||||
" Default (set::spamfilter::ban-reason) benutzt wird.";
|
||||
" [regex] hier handelt es sich um den Ausdruck in der Nachricht, auf den hin Reaktionen";
|
||||
" erfolgen sollen.";
|
||||
" - ";
|
||||
" Einige Beispiele (die möglicherweise länger als eine Zeile sind):";
|
||||
" /spamfilter add p block - - Come watch me on my webcam";
|
||||
@@ -1353,7 +1350,7 @@ help Spamfilter {
|
||||
" /spamfilter add p kill - Please_go_to_www.viruscan.xx/nicepage/virus=blah Come watch me on my webcam";
|
||||
" /spamfilter del p block - - Come watch me on my webcam*";
|
||||
" /spamfilter add cN gzline 1d No_advertising_please come to irc\..+\..+";
|
||||
};
|
||||
}
|
||||
|
||||
help Tempshun {
|
||||
" Setzt oder löscht 'temoräre Shuns'.";
|
||||
@@ -1364,25 +1361,25 @@ help Tempshun {
|
||||
" Syntax: TEMPSHUN [+|-]<nickname> [reason]";
|
||||
" Example: TEMPSHUN evilguy vermutlich Infektion";
|
||||
" TEMPSHUN -niceguy";
|
||||
};
|
||||
}
|
||||
|
||||
help DccAllow {
|
||||
" Für Hilfe zum DCCALLOW System, gib ein: '/DCCALLOW HELP'";
|
||||
/* It would be useless and bad to include it here since that
|
||||
* stuff quickly gets out-of-synch.
|
||||
*/
|
||||
};
|
||||
}
|
||||
|
||||
help Addmotd {
|
||||
" Fügt eine Zeile ans Ende der MOTD an.";
|
||||
" -";
|
||||
" Syntax: ADDMOTD <text>";
|
||||
" Beispiel: ADDMOTD Spielt fair!";
|
||||
};
|
||||
}
|
||||
|
||||
help Addomotd {
|
||||
" Fügt eine Zeile ans Ende der OPERMOTD an. ";
|
||||
" -";
|
||||
" Syntax: ADDOMOTD <text>";
|
||||
" Beispiel: ADDOMOTD Abuse it and lose it!";
|
||||
};
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
+337
-318
File diff suppressed because it is too large
Load Diff
+124
-140
@@ -1,4 +1,4 @@
|
||||
/* UnrealIRCd 4 Help Configuration
|
||||
/* UnrealIRCd 5 Help Configuration
|
||||
* Based on the original help text written by hAtbLaDe
|
||||
* Revised by CC (07/2002) and many others
|
||||
*
|
||||
@@ -23,7 +23,7 @@ help {
|
||||
" /HELPOP CHMODES - Per la lista delle mode per i canali.";
|
||||
" -";
|
||||
" ==-------------------------oOo--------------------------==";
|
||||
};
|
||||
}
|
||||
|
||||
/* note: indexes were generated by cat somecmds|sort|column -c 70
|
||||
* along with tab->space conversion (tabwidth 8).
|
||||
@@ -48,7 +48,7 @@ help Usercmds {
|
||||
" KICK NICK TIME";
|
||||
" KNOCK NOTICE TOPIC";
|
||||
" ==-------------------------oOo-------------------------==";
|
||||
};
|
||||
}
|
||||
|
||||
help Opercmds {
|
||||
" In questa sezione trovi i comandi disponibili solamente agli Oper.";
|
||||
@@ -68,7 +68,7 @@ help Opercmds {
|
||||
" DCCDENY MKPASSWD SDESC ZLINE";
|
||||
" DIE MODULE SETHOST";
|
||||
" ==-------------------------oOo-------------------------==";
|
||||
};
|
||||
}
|
||||
|
||||
help Svscmds {
|
||||
" In questa sezione sono elencati i comandi che possono essere";
|
||||
@@ -85,7 +85,7 @@ help Svscmds {
|
||||
" SVSFLINE SVSMOTD SVSO SWHOIS";
|
||||
" SVSJOIN SVSNICK SVSPART UNSQLINE";
|
||||
" ==-------------------------oOo-------------------------==";
|
||||
};
|
||||
}
|
||||
|
||||
help Umodes {
|
||||
" Questa è una lista di tutte le mode utente disponibili.";
|
||||
@@ -112,7 +112,7 @@ help Umodes {
|
||||
" T = Blocca la ricezione di CTCP.";
|
||||
" W = Segnala quando qualcuno fa un /WHOIS su di te (disponibile solo allo Staff).";
|
||||
" ==---------------------------oOo---------------------------==";
|
||||
};
|
||||
}
|
||||
|
||||
help Snomasks {
|
||||
" Snomask sta per 'Service NOtice MASK', principalmente controlla quali";
|
||||
@@ -140,7 +140,7 @@ help Snomasks {
|
||||
" S = Mostra blocchi dovuti allo Spamfilter.";
|
||||
" v = Mostra l'utilizzo del comando /VHOST.";
|
||||
" ==-------------------------oOo------------------------==";
|
||||
};
|
||||
}
|
||||
|
||||
help Chmodes {
|
||||
" Questa è una lista di tutte le mode canale disponibili.";
|
||||
@@ -186,7 +186,7 @@ help Chmodes {
|
||||
" Z = Indica che tutti gli utenti in canale stanno utilizzando una connessione sicura";
|
||||
" (Questa mode è modificabile solo dal server e solo se il canale è già +z).";
|
||||
" ==------------------------------oOo----------------------------==";
|
||||
};
|
||||
}
|
||||
|
||||
help ExtBans {
|
||||
" Questi ban di permettono di bannare im naniera diversa dal tradizionale nick!user@host.";
|
||||
@@ -213,11 +213,7 @@ help ExtBans {
|
||||
" Questi tipi di ban introducono nuovi criteri per bannare un utente:";
|
||||
" ==-Type--------Name---------------------------Explanation-----------------------==";
|
||||
" | | Se un utente è identificato ai services con questo ";
|
||||
" | | account, rientrerà nel ban. ";
|
||||
" | | Questo è leggermente differente da ~R perché un ";
|
||||
" ~a | account | utente con nick ABC potrebbe essere identificato con ";
|
||||
" | | l'account XYZ. Non tutti i services supportano questo ";
|
||||
" | | comando, in tal caso dovrai usare ~R. ";
|
||||
" ~a | account | account, rientrerà nel ban. ";
|
||||
" | | Esempio: +e ~a:Name ";
|
||||
"-----------------------------------------------------------------------------------";
|
||||
" | | Se l'utente è nel canale specificato nel ban, non sarà ";
|
||||
@@ -239,14 +235,6 @@ help ExtBans {
|
||||
" | | (' ') che il trattino basso ('_'), quindi rientrerebbe ";
|
||||
" | | in questo ban anche 'Stupid bot script'. ";
|
||||
"-----------------------------------------------------------------------------------";
|
||||
" | | Se un utente è identificato ai services (solitamente ";
|
||||
" | | NickServ) e il suo nickname è quello indicato, rientrerà";
|
||||
" | | nel ban. Ciò significa che questo ban è realmente utile ";
|
||||
" ~R | registered | solo per le eccezioni (+e), ad esempio +e ~R:Nick. ";
|
||||
" | | Permetterà a <Nick> di stare in canale, a meno che non ";
|
||||
" | | ci siano altri ban ad impedirlo, se è identificato a ";
|
||||
" | | NickServ e sta usando il nickname <Nick>. ";
|
||||
"-----------------------------------------------------------------------------------";
|
||||
" | | Quando un utente sta usando SSL/TLS con un certificato ";
|
||||
" | | client puoi far corrispondere all'utente la sua firma ";
|
||||
" ~S | certfp | digitale (che trovi con /WHOIS). Molto utile per le ";
|
||||
@@ -258,7 +246,7 @@ help ExtBans {
|
||||
"ad esempio +b ~q:~c:#lamers impedirà di scrivere a tutti gli utenti che frequentano #lamers.";
|
||||
"I ban del secondo gruppo possono essere usati anche per le eccezioni agli inviti (+I),";
|
||||
"come +I ~c:#trusted e +I ~a:accountname.";
|
||||
};
|
||||
}
|
||||
|
||||
help Chmodef {
|
||||
" La mode di canale +f fornisce una protezione completa dal flood per il canale.";
|
||||
@@ -283,7 +271,7 @@ help Chmodef {
|
||||
" -";
|
||||
" Se scegli di specificare un'azione per una mode, puoi anche specificare";
|
||||
" un tempo (in minuti) dopo il quale quell'azione sarà annullata.";
|
||||
};
|
||||
}
|
||||
|
||||
help Nick {
|
||||
" Cambia la tua 'identità online' sul server.";
|
||||
@@ -292,7 +280,7 @@ help Nick {
|
||||
" -";
|
||||
" Sintassi: NICK <nuovonick>";
|
||||
" Esempio: NICK Ugo";
|
||||
};
|
||||
}
|
||||
|
||||
help Whois {
|
||||
" Mostra tutte le informazioni possibili sull'utente in questione,";
|
||||
@@ -312,7 +300,7 @@ help Whois {
|
||||
" + - L'utente è voice nel canale (+v).";
|
||||
" ! - L'utente ha nascosto i suoi canali nel whois (+p) e tu lo vedi perché sei un Oper.";
|
||||
" ? - Il canale è segreto (+s) e tu lo vedi perché sei un Oper.";
|
||||
};
|
||||
}
|
||||
|
||||
help Who {
|
||||
" Fornisce informazioni sugli utenti.";
|
||||
@@ -354,7 +342,7 @@ help Who {
|
||||
" + - L'utente è voice del canale (+v).";
|
||||
" ! - L'utente ha nascosto il suo stato di Oper, ma tu puoi vederlo perché sei Oper.";
|
||||
" ? - L'utente è visibile solamente agli Oper.";
|
||||
};
|
||||
}
|
||||
|
||||
help Whowas {
|
||||
" Fornisce informazioni simili al whois (vedi /HELPOP WHOIS)";
|
||||
@@ -363,7 +351,7 @@ help Whowas {
|
||||
" Sintassi: WHOWAS <nickname>";
|
||||
" WHOWAS <nickname> <numero massimo di risultati>";
|
||||
" Esempio: WHOWAS Ugo";
|
||||
};
|
||||
}
|
||||
|
||||
help Cycle {
|
||||
" 'Cicla' dal canale indicato. Questo comando corrisponde";
|
||||
@@ -372,7 +360,7 @@ help Cycle {
|
||||
" Sintassi: CYCLE <chan1>,<chan2>,<chan3>";
|
||||
" Esempio: CYCLE #help";
|
||||
" Esempio: CYCLE #main,#chat";
|
||||
};
|
||||
}
|
||||
|
||||
help Dns {
|
||||
" Restituisce informzioni relative alla cache DNS del server IRC.";
|
||||
@@ -383,14 +371,14 @@ help Dns {
|
||||
" 'DNS i' mostrerà informazioni dettagliate sulla configurazione dei nameservers";
|
||||
" -";
|
||||
" Sintassi: DNS [opzione]";
|
||||
};
|
||||
}
|
||||
|
||||
help Names {
|
||||
" Restituisce la lista degli utenti sul canale indicato.";
|
||||
" -";
|
||||
" Sintassi: NAMES <canale>";
|
||||
" Esempio: NAMES #irchelp";
|
||||
};
|
||||
}
|
||||
|
||||
help Ison {
|
||||
" Usato per determinare se un dato utente è";
|
||||
@@ -398,7 +386,7 @@ help Ison {
|
||||
" -";
|
||||
" Sintassi: ISON <utente1> <utente2> <utente3>";
|
||||
" Esempio: ISON hAtbLaDe Stskeeps AOLBot";
|
||||
};
|
||||
}
|
||||
|
||||
help Join {
|
||||
" Usato per accedere ad uno o più canali sul server IRC.";
|
||||
@@ -411,7 +399,7 @@ help Join {
|
||||
" Esempio: JOIN #irchelp";
|
||||
" JOIN #Lobby,#IRCd";
|
||||
" JOIN #IRCd,#irchelp,#main letmein,somepass,anotherpass";
|
||||
};
|
||||
}
|
||||
|
||||
help Part {
|
||||
" Usato per uscire da uno o più canali del server IRC.";
|
||||
@@ -421,34 +409,34 @@ help Part {
|
||||
" Sintassi: PART <canale1>,<canale2>,<canale3> <motivo>";
|
||||
" Example: PART #irchelp";
|
||||
" PART #Lobby,#IRCd A più tardi!";
|
||||
};
|
||||
}
|
||||
|
||||
help Motd {
|
||||
" Mostra il 'Message Of The Day' del server IRC a cui sei connesso.";
|
||||
" -";
|
||||
" Sintassi: MOTD";
|
||||
" MOTD <server>";
|
||||
};
|
||||
}
|
||||
|
||||
help Rules {
|
||||
" Mostra il regolamento del server IRC a cui sei connesso.";
|
||||
" -";
|
||||
" Sintassi: RULES";
|
||||
" RULES <server>";
|
||||
};
|
||||
}
|
||||
|
||||
help Lusers {
|
||||
" Fornisce informazioni relative agli utenti locali e globali,";
|
||||
" come numero di utenti massimo e attuale.";
|
||||
" -";
|
||||
" Sintassi: LUSERS [server]";
|
||||
};
|
||||
}
|
||||
|
||||
help Map {
|
||||
" Restituisce una 'Mappa' grafica della net IRC.";
|
||||
" -";
|
||||
" Sintassi: MAP";
|
||||
};
|
||||
}
|
||||
|
||||
help Quit {
|
||||
" Ti disconnette dal server IRC.";
|
||||
@@ -457,7 +445,7 @@ help Quit {
|
||||
" -";
|
||||
" Sintassi: QUIT <motivo>";
|
||||
" Esempio: QUIT Sto uscendo!";
|
||||
};
|
||||
}
|
||||
|
||||
help Ping {
|
||||
" Questo comando è utilizzato per verificare la presenza di un client o un";
|
||||
@@ -469,10 +457,10 @@ help Ping {
|
||||
" Nota che questo comando è differente dal /CTCP PING.";
|
||||
" -";
|
||||
" Sintassi: PING <server> <server2>";
|
||||
" Esempio: PING irc.mynet.it";
|
||||
" Esempio: PING irc.example.org";
|
||||
" PING Ugo";
|
||||
" PING Ugo irc.mynet.it";
|
||||
};
|
||||
" PING Ugo irc.example.org";
|
||||
}
|
||||
|
||||
help Pong {
|
||||
" Il PONG è una risposta ad un messaggio PING. Se il parametro <server2> è definito,";
|
||||
@@ -481,16 +469,16 @@ help Pong {
|
||||
" questo messaggio.";
|
||||
" -";
|
||||
" Sintassi: PONG <server> <server2>";
|
||||
" Esempio: PONG irc.mynet.it irc.othernet.it";
|
||||
" (corrisponde a un messaggio PONG da irc.mynet.it a irc.othernet.it)";
|
||||
};
|
||||
" Esempio: PONG irc.example.org irc.othernet.it";
|
||||
" (corrisponde a un messaggio PONG da irc.example.org a irc.othernet.it)";
|
||||
}
|
||||
|
||||
help Version {
|
||||
" Fornisce informazioni relative alla versione del software IRCd in uso.";
|
||||
" -";
|
||||
" Sintassi: VERSION";
|
||||
" VERSION <server>";
|
||||
};
|
||||
}
|
||||
|
||||
help Stats {
|
||||
" Fornisce informazioni statistiche relative al server.";
|
||||
@@ -499,21 +487,21 @@ help Stats {
|
||||
" Esempio: STATS u";
|
||||
" -";
|
||||
" Digita /STATS senza parametri per un elenco delle flag disponibili.";
|
||||
};
|
||||
}
|
||||
|
||||
help Links {
|
||||
" Elenca tutti i server attualmente linkati nella net IRC.";
|
||||
" Solo gli Oper possono vedere i server U:Lined";
|
||||
" -";
|
||||
" Sintassi: LINKS";
|
||||
};
|
||||
}
|
||||
|
||||
help Admin {
|
||||
" Fornisce informazioni relative agli amministratori del server.";
|
||||
" -";
|
||||
" Sintassi: ADMIN";
|
||||
" ADMIN <server>";
|
||||
};
|
||||
}
|
||||
|
||||
help Userhost {
|
||||
" Restituisce la mask user@host dell'utente indicato.";
|
||||
@@ -521,7 +509,7 @@ help Userhost {
|
||||
" -";
|
||||
" Sintassi: USERHOST <nickname>";
|
||||
" Esempio: USERHOST Ugo";
|
||||
};
|
||||
}
|
||||
|
||||
help Userip {
|
||||
" Restituisce l'IP dell'utente indicato";
|
||||
@@ -529,7 +517,7 @@ help Userip {
|
||||
" -";
|
||||
" Sintassi: USERIP <nickname>";
|
||||
" Esempio: USERIP Ugo";
|
||||
};
|
||||
}
|
||||
|
||||
help Topic {
|
||||
" Imposta o cambia il topic del canale indicato.";
|
||||
@@ -539,7 +527,7 @@ help Topic {
|
||||
" TOPIC <canale> <messaggio> (Cambia il topic attuale con <messaggio>)";
|
||||
" Example: TOPIC #Operhelp";
|
||||
" TOPIC #Lobby Benvenuti su #Lobby!";
|
||||
};
|
||||
}
|
||||
|
||||
help Invite {
|
||||
" Manda all'utente indicato un invito per accedere ad un dato canale.";
|
||||
@@ -551,7 +539,7 @@ help Invite {
|
||||
" Sintassi: INVITE <utente> <canale>";
|
||||
" Esempio: INVITE Ugo #irchelp";
|
||||
" Esempio: INVITE";
|
||||
};
|
||||
}
|
||||
|
||||
help Kick {
|
||||
" Espelle un utente da un canale. Può essere utilizzato solo da halfop e superiori.";
|
||||
@@ -559,7 +547,7 @@ help Kick {
|
||||
" -";
|
||||
" Sintassi: KICK <canale> <utente> [motivo]";
|
||||
" Esempio: KICK #Lobby foobar Lamer";
|
||||
};
|
||||
}
|
||||
|
||||
help Away {
|
||||
" Imposta il tuo stato come 'Away' (non al computer).";
|
||||
@@ -569,7 +557,7 @@ help Away {
|
||||
" Sintassi: AWAY <motivo> (Ti imposta away con la motivazione fornita)";
|
||||
" AWAY (Annulla il tuo stato di away)";
|
||||
" Esempio: AWAY Ora di pranzo!";
|
||||
};
|
||||
}
|
||||
|
||||
help Watch {
|
||||
" 'Watch' è un sistema di notifica sul server più veloce e che utilizza";
|
||||
@@ -583,7 +571,7 @@ help Watch {
|
||||
" Sintassi: WATCH +nick1 +nick2 +nick3 (Aggiunge i nick indicati alla lista)";
|
||||
" WATCH -nick (Rimuove i nick indicati dalla lista)";
|
||||
" WATCH (Controlla quali utenti sono online)";
|
||||
};
|
||||
}
|
||||
|
||||
help List {
|
||||
" Fornisce un elenco completo di tutti i canali presenti sulla net IRC.";
|
||||
@@ -600,7 +588,7 @@ help List {
|
||||
" !*mask* Elenca i canali che NON corrispondono al parametro indicato";
|
||||
" -";
|
||||
" Ciascuno di questi può essere usato al posto dei valori standard.";
|
||||
};
|
||||
}
|
||||
|
||||
help Privmsg {
|
||||
" Invia un messaggio ad un utente, canale o server.";
|
||||
@@ -619,7 +607,7 @@ help Privmsg {
|
||||
" /PRIVMSG $<mask> <testo>";
|
||||
" Invia un messaggio a tutti gli utenti sui server che corrispondono a <mask>. Solo per Oper.";
|
||||
" I client mostrano generalmente questo tipo di messaggi nella finestra di status.";
|
||||
" Esempio: /PRIVMSG $*.mynet.it Nelle prossime ore il server subirà un aggiornamento";
|
||||
" Esempio: /PRIVMSG $*.example.org Nelle prossime ore il server subirà un aggiornamento";
|
||||
" Nota che in molti casi è preferibile utilizzare i services (ad esempio /OS GLOBAL).";
|
||||
" -";
|
||||
" Sono supportati anche più destinatari, ad esempio /PRIVMSG <nick1>,<nick2>,<nick3>.";
|
||||
@@ -627,7 +615,7 @@ help Privmsg {
|
||||
" Nota: In alcuni vecchi client (ad esempio ircII) non puoi utilizzare /msg o /privmsg";
|
||||
" per utilizzare le 'funzioni avanzate'. Dovrai invece usare";
|
||||
" '/QUOTE PRIVMSG @#canale ciao' o un comando simile.";
|
||||
};
|
||||
}
|
||||
|
||||
help Notice {
|
||||
" Invia un notice ad un utente, canale o server.";
|
||||
@@ -646,7 +634,7 @@ help Notice {
|
||||
" /NOTICE $<mask> <testo>";
|
||||
" Invia un messaggio a tutti gli utenti sui server che corrispondono a <mask>. Solo per Oper.";
|
||||
" I client mostrano generalmente questo tipo di messaggi nella finestra di status.";
|
||||
" Esempio: /NOTICE $*.mynet.it Nelle prossime ore il server subirà un aggiornamento";
|
||||
" Esempio: /NOTICE $*.example.org Nelle prossime ore il server subirà un aggiornamento";
|
||||
" Nota che in molti casi è preferibile utilizzare i services (ad esempio /OS GLOBAL).";
|
||||
" -";
|
||||
" Sono supportati anche più destinatari, ad esempio /NOTICE <nick1>,<nick2>,<nick3>.";
|
||||
@@ -654,7 +642,7 @@ help Notice {
|
||||
" Nota: In alcuni vecchi client (ad esempio ircII) non puoi utilizzare /notice";
|
||||
" per utilizzare le 'funzioni avanzate'. Dovrai invece usare";
|
||||
" '/QUOTE NOTICE @#canale ciao' o un comando simile.";
|
||||
};
|
||||
}
|
||||
|
||||
help Knock {
|
||||
" Per i canali ad invito, puoi utilizzare questo comando per 'bussare'";
|
||||
@@ -662,14 +650,14 @@ help Knock {
|
||||
" -";
|
||||
" Syntax: KNOCK <canale> <messaggio>";
|
||||
" Example: KNOCK #canale Fatemi entrare!";
|
||||
};
|
||||
}
|
||||
|
||||
help Setname {
|
||||
" Permette agli utenti di cambiare il loro 'Real name' (GECOS)";
|
||||
" direttamente sul server IRC, senza riconnettersi.";
|
||||
" -";
|
||||
" Sintassi: SETNAME <Nuovo Realname>";
|
||||
};
|
||||
}
|
||||
|
||||
help Vhost {
|
||||
" Nasconde il tuo hostname reale con uno virtuale";
|
||||
@@ -677,7 +665,7 @@ help Vhost {
|
||||
" -";
|
||||
" Sintassi: VHOST <login> <password>";
|
||||
" Esempio: VHOST mylogin mypassword";
|
||||
};
|
||||
}
|
||||
|
||||
help Mode {
|
||||
" Imposta una mode su un canale o un utente.";
|
||||
@@ -686,7 +674,7 @@ help Mode {
|
||||
" Sintassi: MODE <canale/utente> <mode> <parametri>";
|
||||
" Example: MODE #irchelp +tn";
|
||||
" MODE #irchelp +ootn hAtbLaDe XYZ";
|
||||
};
|
||||
}
|
||||
|
||||
help Credits {
|
||||
" Con questo comando verrà mostrata una lista di utenti";
|
||||
@@ -694,27 +682,27 @@ help Credits {
|
||||
" -";
|
||||
" Sintassi: CREDITS";
|
||||
" CREDITS <server>";
|
||||
};
|
||||
}
|
||||
|
||||
help Dalinfo {
|
||||
" Questo comando mostrerà i crediti storici (da ircu, ecc.).";
|
||||
" -";
|
||||
" Sintassi: DALINFO";
|
||||
" Sintassi: DALINFO <server>";
|
||||
};
|
||||
}
|
||||
|
||||
help License {
|
||||
" Questo comando mostra i dettagli relativi alla licenza con cui è rilasciato UnrealIRCd.";
|
||||
" Sintassi: LICENSE";
|
||||
" LICENSE <server>";
|
||||
};
|
||||
}
|
||||
|
||||
help Time {
|
||||
" Mostra la data e l'ora corrente del server.";
|
||||
" -";
|
||||
" Sintassi : TIME";
|
||||
" TIME <server>";
|
||||
};
|
||||
}
|
||||
|
||||
help Silence {
|
||||
" Ignora i messaggi di un utente o di una lista di utenti a livello server.";
|
||||
@@ -722,7 +710,7 @@ help Silence {
|
||||
" Sintassi: SILENCE +nickname (Aggiunge un nick alla lista)";
|
||||
" SILENCE -nickname (Rimuove un nick dalla lista)";
|
||||
" SILENCE (Elenca i nick attualmente in lista SILENCE)";
|
||||
};
|
||||
}
|
||||
|
||||
help Oper {
|
||||
" Utilizzato dagli utenti per ottenere i privilegi di Oper";
|
||||
@@ -731,28 +719,28 @@ help Oper {
|
||||
" Sintassi: OPER <utente> <password>";
|
||||
" Nota: sia <utente> che <password> sono case sensitive.";
|
||||
" Esempio: OPER Ugo foobar234";
|
||||
};
|
||||
}
|
||||
|
||||
help Wallops {
|
||||
" Invia un particolare messaggio a tutti gli utenti con la mode +w impostata.";
|
||||
" Solo gli Oper possono inviare wallops, mentre chiunque può visualizzarli.";
|
||||
" -";
|
||||
" Sintassi: WALLOPS <messaggio>";
|
||||
};
|
||||
}
|
||||
|
||||
help Locops {
|
||||
" Invia un messaggio a tutti gli Oper sullo stesso server di chi invia.";
|
||||
" -";
|
||||
" Sintassi: LOCOPS <messaggio>";
|
||||
" Esempio: LOCOPS Dobbiamo bannare quell'utente...";
|
||||
};
|
||||
}
|
||||
|
||||
help Globops {
|
||||
" Invia un messaggio a tutti gli Oper.";
|
||||
" -";
|
||||
" Sintassi: GLOBOPS <messaggio>";
|
||||
" Esempio: GLOBOPS Dobbiamo bannare quell'utente...";
|
||||
};
|
||||
}
|
||||
|
||||
help Kill {
|
||||
" Disconnette forzatamente un utente dal server IRC.";
|
||||
@@ -760,7 +748,7 @@ help Kill {
|
||||
" -";
|
||||
" Sintassi: KILL <nick1>,<nick2>,<nick3> <motivo>";
|
||||
" Example: KILL Ugo Non sono ammessi cloni";
|
||||
};
|
||||
}
|
||||
|
||||
help Kline {
|
||||
" Questo comando aggiunge una kline a tempo.";
|
||||
@@ -775,7 +763,7 @@ help Kline {
|
||||
" KLINE *@*.isp.com 2d Violazione del regolamento (aggiunge una kline di due giorni)";
|
||||
" KLINE Idiot 1d Utente non gradito";
|
||||
" KLINE -*@*.aol.com";
|
||||
};
|
||||
}
|
||||
|
||||
help Zline {
|
||||
" Questo comando aggiunge una zline a tempo.";
|
||||
@@ -790,7 +778,7 @@ help Zline {
|
||||
" ZLINE *@1.2.3.4 2d Violazione del regolamento (aggiunge una kline di due giorni)";
|
||||
" ZLINE -*@1.2.3.4";
|
||||
" Nota: questo comando richiede il permesso can_zline nel blocco oper";
|
||||
};
|
||||
}
|
||||
|
||||
help Gline {
|
||||
" Questo comando aggiunge una gline a tempo.";
|
||||
@@ -806,7 +794,7 @@ help Gline {
|
||||
" GLINE Idiot 1d Violazione del regolamento";
|
||||
" GLINE -*@*.idiot.net";
|
||||
" Nota: questo comando richiede il permesso can_gkline nel blocco oper";
|
||||
};
|
||||
}
|
||||
|
||||
help Shun {
|
||||
" Impedisce all'utente di eseguire ogni comando ad eccezione di /ADMIN";
|
||||
@@ -824,7 +812,7 @@ help Shun {
|
||||
" ('shunna' foobar@aol.com per 10 minuti per Spam)";
|
||||
" SHUN +foobar@aol.com 1d6h :Spam (Aggiunge uno shun di 30 ore)";
|
||||
" Nota: questo comando richiede il permesso can_gkline nel blocco oper";
|
||||
};
|
||||
}
|
||||
|
||||
help Gzline {
|
||||
" Questo comando aggiunge una zline globale a tempo.";
|
||||
@@ -838,7 +826,7 @@ help Gzline {
|
||||
" Esempio: GZLINE *@1.2.3.4 900 Spam (Aggiunge una gzline di 15 minuti)";
|
||||
" GZLINE *@1.2.3.4 1d5h Spam (Aggiunge una gzline di 29 ore)";
|
||||
" Nota: questo comando richiede il permesso can_gzline nel blocco oper";
|
||||
};
|
||||
}
|
||||
|
||||
help Rehash {
|
||||
" Ricarica i file di configurazione del server.";
|
||||
@@ -858,8 +846,8 @@ help Rehash {
|
||||
" -dns - Inizializza e ricarica il risolutore DNS";
|
||||
" -garbage - Forza la pulizia dei file inutili";
|
||||
" -motd - Ricarica i file MOTD, BOTMOTD, OPERMOTD e RULES, inclusi quelli nei blocchi tld";
|
||||
" -ssl - Ricarica i certificati SSL";
|
||||
};
|
||||
" -tls - Ricarica i certificati SSL/TLS";
|
||||
}
|
||||
|
||||
help Restart {
|
||||
" Termina e riavvia il processo IRC, disconnettendo tutti gli utenti attualmente connessi.";
|
||||
@@ -868,7 +856,7 @@ help Restart {
|
||||
" Sintassi: RESTART";
|
||||
" RESTART <password>";
|
||||
" RESTART <password> <motivo>";
|
||||
};
|
||||
}
|
||||
|
||||
help Die {
|
||||
" Termina il processo IRC, disconnettendo tutti gli utenti attualmente connessi.";
|
||||
@@ -876,16 +864,16 @@ help Die {
|
||||
" -";
|
||||
" Sintassi: DIE";
|
||||
" DIE <password>";
|
||||
};
|
||||
}
|
||||
|
||||
help Lag {
|
||||
" Questo comando è come un 'traceroute' per i server IRC.";
|
||||
" Digitando /LAG irc.mynet-it otterrai una risposta con l'elenco";
|
||||
" Digitando /LAG irc.example.org otterrai una risposta con l'elenco";
|
||||
" di tutti i server dai quali è passata la richiesta.";
|
||||
" Utile per identificare in quale punto si verifica il lag.";
|
||||
" -";
|
||||
" Sintassi: LAG <server>";
|
||||
};
|
||||
}
|
||||
|
||||
help Sethost {
|
||||
" Permette agli utenti di cambiare il proprio host con un virtualhost";
|
||||
@@ -894,7 +882,7 @@ help Sethost {
|
||||
" -";
|
||||
" Sintassi: SETHOST <nuovo-host>";
|
||||
" Esempio: SETHOST il.mio.vhost";
|
||||
};
|
||||
}
|
||||
|
||||
help Setident {
|
||||
" Permette agli utenti di cambiare la propria ident.";
|
||||
@@ -902,7 +890,7 @@ help Setident {
|
||||
" -";
|
||||
" Sintassi: SETIDENT <nuova-ident>";
|
||||
" Esempio: SETIDENT l33t";
|
||||
};
|
||||
}
|
||||
|
||||
help Chghost {
|
||||
" Cambia l'hostname di un utente attualmente connesso.";
|
||||
@@ -910,7 +898,7 @@ help Chghost {
|
||||
" -";
|
||||
" Sintassi: CHGHOST <nick> <nuovo-host>";
|
||||
" Esempio: CHGHOST Ugo my.new.host";
|
||||
};
|
||||
}
|
||||
|
||||
help Chgident {
|
||||
" Cambia l'ident di un utente attualmente connesso.";
|
||||
@@ -918,7 +906,7 @@ help Chgident {
|
||||
" -";
|
||||
" Sintassi: CHGIDENT <nick> <nuova-ident>";
|
||||
" Esempio: CHGIDENT Ugo user";
|
||||
};
|
||||
}
|
||||
|
||||
help Chgname {
|
||||
" Cambia il 'Realname' di un utente attualmente connesso.";
|
||||
@@ -926,15 +914,15 @@ help Chgname {
|
||||
" -";
|
||||
" Sintassi: CHGNAME <nick> <nuovo-realname>";
|
||||
" Esempio: CHGNAME Ugo Il mio nuovo nome :)";
|
||||
};
|
||||
}
|
||||
|
||||
help Squit {
|
||||
" Disconnette un determinato server IRC dalla net.";
|
||||
" Questa funzione è utilizzabile solo dagli Oper.";
|
||||
" -";
|
||||
" Sintassi: SQUIT <server>";
|
||||
" Esempio: SQUIT server2.mynet.it";
|
||||
};
|
||||
" Esempio: SQUIT server2.example.org";
|
||||
}
|
||||
|
||||
help Connect {
|
||||
" Connette un determinato server IRC a quello attualmente utilizzato";
|
||||
@@ -945,7 +933,7 @@ help Connect {
|
||||
" CONNECT <server1> <porta> <server2>";
|
||||
" Esempio: CONNECT leaf.server.net";
|
||||
" CONNECT leaf.server.net 6667 hub.server.net";
|
||||
};
|
||||
}
|
||||
|
||||
help Dccdeny {
|
||||
" Aggiunge un blocco DCC per un determinato file.";
|
||||
@@ -953,14 +941,14 @@ help Dccdeny {
|
||||
" Questa funzione è utilizzabile solo dagli Oper.";
|
||||
" -";
|
||||
" Sintassi: DCCDENY <file> <motivo>";
|
||||
};
|
||||
}
|
||||
|
||||
help Undccdeny {
|
||||
" Rimuove il blocco DCC dal file esatto indicato, se esistente. Se non esistente esegue una ricerca.";
|
||||
" Questa funzione è utilizzabile solo dagli Oper.";
|
||||
" -";
|
||||
" Sintassi: UNDCCDENY <file>";
|
||||
};
|
||||
}
|
||||
|
||||
help Sajoin {
|
||||
" Forza un utente ad accedere ad un canale.";
|
||||
@@ -969,7 +957,7 @@ help Sajoin {
|
||||
" Sintassi: SAJOIN <nick> <canale>,[<canale2>,ecc.]";
|
||||
" Esempio: SAJOIN Ugo #OperHelp";
|
||||
" SAJOIN Ugo #OperHelp,#IRCHelp";
|
||||
};
|
||||
}
|
||||
|
||||
help Sapart {
|
||||
" Forza un utente a lasciare un canale.";
|
||||
@@ -979,7 +967,7 @@ help Sapart {
|
||||
" Esempio: SAPART Ugo #OperHelp";
|
||||
" SAPART Ugo #OperHelp,#IRCHelp";
|
||||
" SAPART Ugo #OperHelp,#IRCHelp Utente assente";
|
||||
};
|
||||
}
|
||||
|
||||
help Samode {
|
||||
" Permette di modificare le mode di un canale pur non essendone op o superiore.";
|
||||
@@ -987,7 +975,7 @@ help Samode {
|
||||
" -";
|
||||
" Sintassi: SAMODE <canale> <mode>";
|
||||
" Esempio: SAMODE #irchelp +m";
|
||||
};
|
||||
}
|
||||
|
||||
help Trace {
|
||||
" Permette di tracciare un server o un utente.";
|
||||
@@ -995,15 +983,15 @@ help Trace {
|
||||
" Se utilizzato su un server ne restituisce classe, versione e informazioni sul collegamento.";
|
||||
" -";
|
||||
" Sintassi: TRACE <server/nick>";
|
||||
" Esempio: TRACE irc.mynet.it";
|
||||
};
|
||||
" Esempio: TRACE irc.example.org";
|
||||
}
|
||||
|
||||
help Opermotd {
|
||||
" Mostra il MOTD per gli Oper";
|
||||
" Questa funzione è utilizzabile solo dagli Oper.";
|
||||
" -";
|
||||
" Sintassi: OPERMOTD";
|
||||
};
|
||||
}
|
||||
|
||||
help Sdesc {
|
||||
" Permette di modificare la descrizione del server";
|
||||
@@ -1012,7 +1000,7 @@ help Sdesc {
|
||||
" -";
|
||||
" Sintassi: SDESC <nuova descrizione>";
|
||||
" Esempio: SDESC Il mio server IRC";
|
||||
};
|
||||
}
|
||||
|
||||
help Mkpasswd {
|
||||
" Restituisce un 'hash' della stringa specificata.";
|
||||
@@ -1023,7 +1011,7 @@ help Mkpasswd {
|
||||
" -";
|
||||
" Sintassi: MKPASSWD <metodo> <password>";
|
||||
" Esempio: MKPASSWD argon2 LaMiaPassword";
|
||||
};
|
||||
}
|
||||
|
||||
help Module {
|
||||
" Restituisce un elenco di tutti i moduli caricati sul server.";
|
||||
@@ -1045,23 +1033,19 @@ help Module {
|
||||
" [3RD] Il modulo è di terze parti, ovvero non parte del core di UnrealIRCd.";
|
||||
" In aggiunta vedrai un elenco degli hook e dei comandi di ovverride presenti";
|
||||
" (il numero di hook può essere visto anche in include/modules.h).";
|
||||
};
|
||||
}
|
||||
|
||||
help Close {
|
||||
" Questo comando termina tutte le connessioni sconosciute al server IRC.";
|
||||
" -";
|
||||
" Sintassi: CLOSE";
|
||||
};
|
||||
}
|
||||
|
||||
help Tsctl {
|
||||
" Questo è un comando avanzato utilizzato per correggere l'orologio interno di IRC.";
|
||||
" Questa funzione è utilizzabile solo dagli Oper.";
|
||||
" -";
|
||||
" Sintassi: TSCTL OFFSET +|- <orario> (Modifica l'orologio interno di IRC)";
|
||||
" TSCTL TIME (Restituisce il report TS)";
|
||||
" TSCTL ALLTIME (Mostra il report TS di tutti i server)";
|
||||
" TSCTL SVSTIME <timestamp> (Imposta l'orario di tutti i server)";
|
||||
};
|
||||
" Sintassi: TSCTL ALLTIME (Mostra il report TS di tutti i server)";
|
||||
}
|
||||
|
||||
help Htm {
|
||||
" Attiva o disattiva la modalità 'High Traffic'.";
|
||||
@@ -1079,7 +1063,7 @@ help Htm {
|
||||
" NOISY - Abilita un avviso quando la modalità HTM viene attivata/disattivata";
|
||||
" QUIET - Disabilita l'avviso quando la modalità HTM viene attivata/disattivata";
|
||||
" TO <valore> - Imposta il valore oltre il quale attivare HTM";
|
||||
};
|
||||
}
|
||||
|
||||
help Svsnick {
|
||||
" Cambia il nickname dell'utente indicato.";
|
||||
@@ -1087,7 +1071,7 @@ help Svsnick {
|
||||
" -";
|
||||
" Sintassi: SVSNICK <nickname> <nuovo-nick> <timestamp>";
|
||||
" Esempio: SVSNICK Ugo Foobar 963086432";
|
||||
};
|
||||
}
|
||||
|
||||
help Svsmode {
|
||||
" Cambia le mode dell'utente indicato.";
|
||||
@@ -1095,7 +1079,7 @@ help Svsmode {
|
||||
" -";
|
||||
" Sintassi: SVSMODE <nickname> <usermode>";
|
||||
" Esempio: SVSMODE Ugo +i";
|
||||
};
|
||||
}
|
||||
|
||||
help Svskill {
|
||||
" Disconnette forzatamente un utente dal server.";
|
||||
@@ -1103,7 +1087,7 @@ help Svskill {
|
||||
" -";
|
||||
" Sintassi: SVSKILL <nickname> :<motivo>";
|
||||
" Esempio: SVSKILL Lamer21 :Arrivederci";
|
||||
};
|
||||
}
|
||||
|
||||
help Svsnoop {
|
||||
" Attiva o disattiva le funzionalità per gli Oper sul server indicato.";
|
||||
@@ -1111,7 +1095,7 @@ help Svsnoop {
|
||||
" -";
|
||||
" Sintassi: SVSNOOP <server> <+/->";
|
||||
" Esempio: SVSNOOP leaf.server.net -";
|
||||
};
|
||||
}
|
||||
|
||||
help Svsjoin {
|
||||
" Forza un utente ad accedere ad un canale.";
|
||||
@@ -1120,7 +1104,7 @@ help Svsjoin {
|
||||
" Sintassi: SVSJOIN <nick> <canale1>[,<canale2>,ecc.] [password1[,password2,ecc.]]";
|
||||
" Esempio: SVSJOIN Ugo #jail";
|
||||
" SVSJOIN Ugo #jail,#zoo";
|
||||
};
|
||||
}
|
||||
|
||||
help Svspart {
|
||||
" Forza un utente a lasciare un canale.";
|
||||
@@ -1130,7 +1114,7 @@ help Svspart {
|
||||
" Esempio: SVSPART Ugo #Hanson";
|
||||
" SVSPART Ugo #Hanson,#AOL";
|
||||
" SVSPART Ugo #Hanson,#AOL Accesso non ammesso";
|
||||
};
|
||||
}
|
||||
|
||||
help Svso {
|
||||
" Assegna all'utente delle operflag come quelle nelle operclass.";
|
||||
@@ -1140,7 +1124,7 @@ help Svso {
|
||||
" Sintassi: SVSO <nick> <+operflags> (aggiunge le operflag)";
|
||||
" SVSO <nick> - (rimuove tutte le operflag)";
|
||||
" Esempio: SVSO Ugo +bBkK";
|
||||
};
|
||||
}
|
||||
|
||||
help Swhois {
|
||||
" Cambia il messaggio di whois dell'utente indicato.";
|
||||
@@ -1149,7 +1133,7 @@ help Swhois {
|
||||
" Sintassi: SWHOIS <nick> :<messaggio> (imposta il messaggio di SWHOIS)";
|
||||
" SWHOIS <nick> : (Resetta il messaggio di SWHOIS)";
|
||||
" Esempio: SWHOIS Ugo :sono un lamer";
|
||||
};
|
||||
}
|
||||
|
||||
help Sqline {
|
||||
" Blocca l'uso di un determinato nick sul server.";
|
||||
@@ -1157,7 +1141,7 @@ help Sqline {
|
||||
" -";
|
||||
" Sintassi: SQLINE <nick> :<motivo>";
|
||||
" Esempio: SQLINE *Bot* :Bot non ammessi";
|
||||
};
|
||||
}
|
||||
|
||||
help Unsqline {
|
||||
" Rimuove il blocco di un nick dal server.";
|
||||
@@ -1165,7 +1149,7 @@ help Unsqline {
|
||||
" -";
|
||||
" Sintassi: UNSQLINE <nick>";
|
||||
" Esempio: UNSQLINE *Bot*";
|
||||
};
|
||||
}
|
||||
|
||||
help Svs2mode {
|
||||
" Cambia le mode di un utente e gli mostra un messaggio di notifica.";
|
||||
@@ -1173,7 +1157,7 @@ help Svs2mode {
|
||||
" -";
|
||||
" Sintassi: SVS2MODE <nickname> <mode>";
|
||||
" Esempio: SVS2MODE Ugo +h";
|
||||
};
|
||||
}
|
||||
|
||||
help Svsfline {
|
||||
" Aggiunge il file indicato alla lista DCCDENY.";
|
||||
@@ -1182,7 +1166,7 @@ help Svsfline {
|
||||
" Sintassi: :server SVSFLINE + file :motivo (aggiunge il file alla lista)";
|
||||
" :server SVSFLINE - file (rimuove il file dalla lista)";
|
||||
" :server SVSFLINE * (svuota la lista)";
|
||||
};
|
||||
}
|
||||
|
||||
help Svsmotd {
|
||||
" Cambia il MOTD dei services.";
|
||||
@@ -1191,7 +1175,7 @@ help Svsmotd {
|
||||
" SVSMOTD ! (Cancella il MOTD)";
|
||||
" SVSMOTD ! :<testo> (Cancella il MOTD attuale e aggiunge il testo)";
|
||||
" Esempio: SVSMOTD # :Services MOTD";
|
||||
};
|
||||
}
|
||||
|
||||
help Svsnline {
|
||||
" Aggiunge un ban sul realname.";
|
||||
@@ -1203,7 +1187,7 @@ help Svsnline {
|
||||
" SVSNLINE - :<realname> (rimuove un ban)";
|
||||
" SVSNLINE * (Rimuove tutti i ban)";
|
||||
" Esempio: SVSNLINE + sub7_drone :*sub7*";
|
||||
};
|
||||
}
|
||||
|
||||
help Svslusers {
|
||||
" Modifica il conteggio degli utenti locali o globali di un server.";
|
||||
@@ -1211,15 +1195,15 @@ help Svslusers {
|
||||
" Deve essere inviato tramite un server U:Lined.";
|
||||
" -";
|
||||
" Sintassi: SVSLUSERS <server> <globalmax|-1> <localmax|-1>";
|
||||
" Esempio: SVSLUSERS irc.mynet.it -1 200";
|
||||
};
|
||||
" Esempio: SVSLUSERS irc.example.org -1 200";
|
||||
}
|
||||
|
||||
help Svswatch {
|
||||
" Cambia la lista WATCH di un utente.";
|
||||
" Deve essere inviato tramite un server U:Lined.";
|
||||
" Sintassi: SVSWATCH <nick> :<parametri>";
|
||||
" Esempio: SVSWATCH Ugo :+Blih!*@* +Bluh!*@* +Bleh!*@*.com";
|
||||
};
|
||||
}
|
||||
|
||||
help Svssilence {
|
||||
" Cambia la lista SILENCE di un utente.";
|
||||
@@ -1228,7 +1212,7 @@ help Svssilence {
|
||||
" più valori in una stessa linea.";
|
||||
" Sintassi: SVSSILENCE <nick> :<parametri>";
|
||||
" Esempio: SVSSILENCE Ugo :+*!*@*.com +*!*@*.bla.com";
|
||||
};
|
||||
}
|
||||
|
||||
help Svssno {
|
||||
" Cambia le snomask di un utente.";
|
||||
@@ -1236,7 +1220,7 @@ help Svssno {
|
||||
" -";
|
||||
" Sintassi: SVSSNO <nickname> <snomasks>";
|
||||
" Esempio: SVSSNO Ugo +Gc";
|
||||
};
|
||||
}
|
||||
|
||||
help Svs2sno {
|
||||
" Cambia le snomask di un utente e gli mostra un messaggio di notifica";
|
||||
@@ -1244,7 +1228,7 @@ help Svs2sno {
|
||||
" -";
|
||||
" Sintassi: SVS2SNO <nickname> <snomasks>";
|
||||
" Esempio: SVS2SNO Ugo +Gc";
|
||||
};
|
||||
}
|
||||
|
||||
help Svsnolag {
|
||||
" Abilita il 'no fake lag' per un utente";
|
||||
@@ -1252,7 +1236,7 @@ help Svsnolag {
|
||||
" -";
|
||||
" Sintassi: SVSNOLAG [+|-] <nickname>";
|
||||
" Esempio: SVSNOLAG + Ugo";
|
||||
};
|
||||
}
|
||||
|
||||
help Svs2nolag {
|
||||
" Abilita il 'no fake lag' per un utente";
|
||||
@@ -1260,7 +1244,7 @@ help Svs2nolag {
|
||||
" -";
|
||||
" Syntax: SVS2NOLAG [+|-] <nickname>";
|
||||
" Example: SVS2NOLAG + Ugo";
|
||||
};
|
||||
}
|
||||
|
||||
help Spamfilter {
|
||||
" Questo comando aggiunge o rimuove filtri di spamfilter globali.";
|
||||
@@ -1280,11 +1264,11 @@ help Spamfilter {
|
||||
" 'kline', 'gline', 'zline', 'gzline', 'block' (blocca il messaggio),";
|
||||
" 'dccblock' (blocca l'invio di DCC), 'viruschan' (esce da tutti i canali ed entra";
|
||||
" automaticamente sul 'virus chan' definito nel file di configurazione), 'warn' (avvisa gli Oper).";
|
||||
" [stringa] La stringa che deve essere bloccata (come espressione regolare o testo semplice)";
|
||||
" [durata] La durata del ban in caso sia impostata una *line come azione. Usa '-' per utilizzare";
|
||||
" la durata di default definita nel file di configurazione";
|
||||
" [motivo] Il motivo da visualizzare nella *line, utilizzando i trattini bassi come spazi.";
|
||||
" Usa '-' per utilizzare il motivo di default definito nel file di configurazione";
|
||||
" [stringa] La stringa che deve essere bloccata (come espressione regolare o testo semplice)";
|
||||
" - ";
|
||||
" Alcuni esempi:";
|
||||
" /spamfilter add -simple p block - - Come watch me on my webcam";
|
||||
@@ -1295,7 +1279,7 @@ help Spamfilter {
|
||||
" /spamfilter add -simple p kill - Please_go_to_www.viruscan.xx/nicepage/virus=blah Come watch me on my webcam";
|
||||
" /spamfilter del -simple p block - - Come watch me on my webcam*";
|
||||
" /spamfilter add -regex cN gzline 1d No_advertising_please /come to irc\..+\..+/";
|
||||
};
|
||||
}
|
||||
|
||||
help Tempshun {
|
||||
" Aggiunge o rimuove shun temporanei'.";
|
||||
@@ -1305,23 +1289,23 @@ help Tempshun {
|
||||
" Sintassi: TEMPSHUN [+|-]<nickname> [motivo]";
|
||||
" Example: TEMPSHUN Ugo possibile virus";
|
||||
" TEMPSHUN -Ugo";
|
||||
};
|
||||
}
|
||||
|
||||
help DccAllow {
|
||||
" Per informazioni sul sistema DCCALLOW digita '/DCCALLOW HELP'";
|
||||
/* Sarebbe inutile inserire qui le informazioni che si possono già trovare altrove */
|
||||
};
|
||||
}
|
||||
|
||||
help Addmotd {
|
||||
" Aggiunge una linea alla fine del MOTD ";
|
||||
" -";
|
||||
" Sintassi: ADDMOTD <testo>";
|
||||
" Esempio: ADDMOTD Divertiti!";
|
||||
};
|
||||
}
|
||||
|
||||
help Addomotd {
|
||||
" Aggiunge una linea alla fine dell'OperMOTD ";
|
||||
" -";
|
||||
" Sintassi: ADDOMOTD <testo>";
|
||||
" Esempio: ADDOMOTD Fatti non foste a moderare come bruti...";
|
||||
};
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+126
-137
@@ -1,4 +1,4 @@
|
||||
/* UnrealIRCd 4 Help Configuration
|
||||
/* UnrealIRCd 5 Help Configuration
|
||||
* Based on the original help text written by hAtbLaDe
|
||||
* Revised by CC (07/2002)
|
||||
*
|
||||
@@ -24,7 +24,7 @@ help {
|
||||
" /HELPOP OFLAGS - Просмотреть флаги в O:line";
|
||||
" -";
|
||||
" ==-------------------------oOo--------------------------==";
|
||||
};
|
||||
}
|
||||
|
||||
help Usercmds {
|
||||
" Список команд, доступных пользователям на данный момент.";
|
||||
@@ -44,7 +44,7 @@ help Usercmds {
|
||||
" KICK NICK TIME";
|
||||
" KNOCK NOTICE TOPIC";
|
||||
" ==-------------------------oOo---------------------------==";
|
||||
};
|
||||
}
|
||||
|
||||
help Opercmds {
|
||||
" Список команд, доступных только IRC операторам.";
|
||||
@@ -64,7 +64,7 @@ help Opercmds {
|
||||
" DCCDENY MKPASSWD SDESC ZLINE";
|
||||
" DIE MODULE SETHOST";
|
||||
" ==-------------------------oOo---------------------------==";
|
||||
};
|
||||
}
|
||||
|
||||
help Svscmds {
|
||||
" Список команд, которые могут быть посланы";
|
||||
@@ -81,7 +81,7 @@ help Svscmds {
|
||||
" SVSFLINE SVSMOTD SVSO SWHOIS";
|
||||
" SVSJOIN SVSNICK SVSPART UNSQLINE";
|
||||
" ==-------------------------oOo---------------------------==";
|
||||
};
|
||||
}
|
||||
|
||||
help Umodes {
|
||||
" Список режимов пользователя.";
|
||||
@@ -125,7 +125,7 @@ help Umodes {
|
||||
" W = Позволяет видеть, когда кто-то делает /WHOIS на Ваш";
|
||||
" ник (только для IRC операторов)";
|
||||
" ==---------------------------oOo---------------------------==";
|
||||
};
|
||||
}
|
||||
|
||||
help Snomasks {
|
||||
" Snomask - это сокращение от 'Service NOtice MASK'.";
|
||||
@@ -157,7 +157,7 @@ help Snomasks {
|
||||
" S = Видны сообщения спам фильтра";
|
||||
" v = Видны попытки использования команды /VHOST";
|
||||
" ==-------------------------oOo------------------------==";
|
||||
};
|
||||
}
|
||||
|
||||
help Chmodes {
|
||||
" В этой секции приведён список режимов, которые могут быть наложены";
|
||||
@@ -230,7 +230,7 @@ help Chmodes {
|
||||
" [h] - минимум требуются права halfop, [o] - минимум требуются права";
|
||||
" chanop, [q] - требуются права владельца";
|
||||
" ==------------------------------oOo----------------------------==";
|
||||
};
|
||||
}
|
||||
|
||||
help ExtBans {
|
||||
" Данные типы банов позволяют вам банить не только по традиционной маске nick!user@host.";
|
||||
@@ -272,19 +272,12 @@ help ExtBans {
|
||||
" ~r | настоящее имя | он не сможет зайти. Пример: +b ~r:*Stupid_bot_script* ";
|
||||
" | | Дополнение: Подчёркивание ('_') обозначает и ";
|
||||
" | | пробел (' '), и подчёркивание ('_'). ";
|
||||
"-----------------------------------------------------------------------------------";
|
||||
" | | Бан срабатывает, если пользователь идентифицирован ";
|
||||
" ~R | | на сервисах (обычно Nickserv) и имя совпадает. В ";
|
||||
" |зарегестрирован| реальности необходим для исключений на канале. ";
|
||||
" | | Пример: +e ~R:Nick ";
|
||||
" | | Позволяет Nick находится на канале, независимо от банов,";
|
||||
" | | если он идентифицирован на сервисах, использует ник Nick";
|
||||
" ==------------------------------------------------------------------------------==";
|
||||
" -";
|
||||
" Вы можете стекировать расширенные типы банов первой и второй группы друг с другом.";
|
||||
" Пример: +b ~q:~c:#lamers";
|
||||
" Действием данной команды будет молчание всех пользователей, кто сидит в #lamers";
|
||||
};
|
||||
}
|
||||
|
||||
help Chmodef {
|
||||
" Режим канала +f предоставляет гибкий механизм защиты канала от флуда.";
|
||||
@@ -310,7 +303,7 @@ help Chmodef {
|
||||
" -";
|
||||
" Если вы задаёте некое действие в ответ на флуд, вы можете так же указать,";
|
||||
" как долго (в минутах) будет действовать наказание.";
|
||||
};
|
||||
}
|
||||
|
||||
help Oflags {
|
||||
" Описание флагов, помещаемых в O:lines конфигурационного файла сервера";
|
||||
@@ -347,7 +340,7 @@ help Oflags {
|
||||
" X (can_addline) Может использовать /ADDLINE";
|
||||
" d (can_dccdeny) Может использовать /DCCDENY";
|
||||
" ==----------------------oOo--------------------==";
|
||||
};
|
||||
}
|
||||
|
||||
help Nick {
|
||||
" Изменяет виртуальное имя (Ник).";
|
||||
@@ -356,7 +349,7 @@ help Nick {
|
||||
" -";
|
||||
" Синтаксис: NICK <новое имя>";
|
||||
" Пример: NICK hAtbLaDe";
|
||||
};
|
||||
}
|
||||
|
||||
help Whois {
|
||||
" Показывает различную информацию о пользователе:";
|
||||
@@ -379,7 +372,7 @@ help Whois {
|
||||
" видите, потому что имеете права оператора IRC";
|
||||
" ? - Канал является \"Секретным\" (+s), но вы его видите, потому";
|
||||
" что имеете права оператора IRC";
|
||||
};
|
||||
}
|
||||
|
||||
help Who {
|
||||
" Возвращает информацию о пользователях";
|
||||
@@ -435,7 +428,7 @@ help Who {
|
||||
" ! - У пользователя установлен флаг +H";
|
||||
" ? - Вы видите пользователя только потому, что являетесь IRC";
|
||||
" оператором";
|
||||
};
|
||||
}
|
||||
|
||||
help Whowas {
|
||||
" Показывает информацию WHOIS о пользователях";
|
||||
@@ -444,7 +437,7 @@ help Whowas {
|
||||
" Синтаксис: WHOWAS <имя пользователя>";
|
||||
" WHOWAS <имя пользователя> <количество записей>";
|
||||
" Пример: WHOWAS hAtbLaDe";
|
||||
};
|
||||
}
|
||||
|
||||
help Cycle {
|
||||
" Выполнить цикл \"выйти/войти\" в указанном канале. Команда";
|
||||
@@ -453,7 +446,7 @@ help Cycle {
|
||||
" Синтаксис: CYCLE <канал1>,<канал2>,<канал3>";
|
||||
" Пример: CYCLE #help";
|
||||
" CYCLE #main,#chat";
|
||||
};
|
||||
}
|
||||
|
||||
help Dns {
|
||||
" Возвращает информацию из DNS кэша IRC сервера.";
|
||||
@@ -465,14 +458,14 @@ help Dns {
|
||||
" 'DNS i' вернёт подробную информацию о конфигурации сервера имён";
|
||||
" -";
|
||||
"Синтаксис: DNS [опция]";
|
||||
};
|
||||
}
|
||||
|
||||
help Names {
|
||||
" Возвращает список пользователей указанного канала.";
|
||||
" -";
|
||||
" Синтаксис: NAMES <канал>";
|
||||
" Пример: NAMES #Support";
|
||||
};
|
||||
}
|
||||
|
||||
help Ison {
|
||||
" Служит для определения состояния Пользователя - в";
|
||||
@@ -480,7 +473,7 @@ help Ison {
|
||||
" -";
|
||||
" Синтаксис: ISON <имя> <имя2> <имя3> <имя4>";
|
||||
" Пример: ISON hAtbLaDe Stskeeps OperServ AOLBot";
|
||||
};
|
||||
}
|
||||
|
||||
help Join {
|
||||
" Используется для входа на канал(ы) IRC сервера.";
|
||||
@@ -494,7 +487,7 @@ help Join {
|
||||
" Пример: JOIN #Support";
|
||||
" JOIN #Lobby,#IRCd";
|
||||
" JOIN #IRCd,#Support,#main letmein,somepass,anotherpass";
|
||||
};
|
||||
}
|
||||
|
||||
help Part {
|
||||
" Используется для того, чтобы покинуть текущий канал.";
|
||||
@@ -506,7 +499,7 @@ help Part {
|
||||
" Синтаксис: PART <канал>,<канал2>,<канал3>,<канал4> <причина>";
|
||||
" Пример: PART #Support";
|
||||
" PART #Lobby,#IRCd See ya later!";
|
||||
};
|
||||
}
|
||||
|
||||
help Motd {
|
||||
" Показывают информационное сообщение IRC сервера, к которому";
|
||||
@@ -514,28 +507,28 @@ help Motd {
|
||||
" -";
|
||||
" Синтаксис: MOTD";
|
||||
" MOTD <сервер>";
|
||||
};
|
||||
}
|
||||
|
||||
help Rules {
|
||||
" Показывает правила пользования сетью.";
|
||||
" -";
|
||||
" Синтаксис: RULES";
|
||||
" RULES <сервер>";
|
||||
};
|
||||
}
|
||||
|
||||
help Lusers {
|
||||
" Предоставляет информацию о количестве локальных и глобальных";
|
||||
" пользователей (текущее и максимальное количество пользователей сети).";
|
||||
" -";
|
||||
" Синтаксис: LUSERS [сервер]";
|
||||
};
|
||||
}
|
||||
|
||||
help Map {
|
||||
" Предоставляет \"Карту Сети\" список серверов и связи между ними.";
|
||||
" В основном используется для визуализации маршрутизации в сети.";
|
||||
" -";
|
||||
" Синтаксис: MAP";
|
||||
};
|
||||
}
|
||||
|
||||
help Quit {
|
||||
" Отключает от IRC сервера. Пользователи каналов, в которых вы";
|
||||
@@ -545,7 +538,7 @@ help Quit {
|
||||
" -";
|
||||
" Синтаксис: QUIT <причина>";
|
||||
" Пример: QUIT Leaving!";
|
||||
};
|
||||
}
|
||||
|
||||
help Ping {
|
||||
" Команда PING используется для определения присутствия клиента или";
|
||||
@@ -558,10 +551,10 @@ help Ping {
|
||||
" CTCP PING";
|
||||
" -";
|
||||
" Синтаксис: PING <сервер> <сервер2>";
|
||||
" Пример: PING irc.fyremoon.net";
|
||||
" Пример: PING irc.example.org";
|
||||
" PING hAtbLaDe";
|
||||
" PING hAtbLaDe irc2.dynam.ac";
|
||||
};
|
||||
}
|
||||
|
||||
help Pong {
|
||||
" Сообщение PONG - это ответ на запрос PING. Если указан параметр";
|
||||
@@ -570,16 +563,16 @@ help Pong {
|
||||
" идёт ответ на запрос PING.";
|
||||
" -";
|
||||
" Синтаксис: PONG <сервер> <сервер2>";
|
||||
" Пример: PONG irc.fyremoon.net irc2.dynam.ac";
|
||||
" (PONG от irc.fyremoon.net на irc2.dynam.ac)";
|
||||
};
|
||||
" Пример: PONG irc.example.org irc2.dynam.ac";
|
||||
" (PONG от irc.example.org на irc2.dynam.ac)";
|
||||
}
|
||||
|
||||
help Version {
|
||||
" Возавращает версию ПО на IRC сервере.";
|
||||
" -";
|
||||
" Синтаксис: VERSION";
|
||||
" VERSION <сервер>";
|
||||
};
|
||||
}
|
||||
|
||||
help Stats {
|
||||
" Возвращает немного статистической информации с сервера";
|
||||
@@ -589,7 +582,7 @@ help Stats {
|
||||
" -";
|
||||
" Дайте команду /stats без параметров для получения списка доступных";
|
||||
" флагов.";
|
||||
};
|
||||
}
|
||||
|
||||
help Links {
|
||||
" Возвращает список серверов, слинкованных с сетью на данный момент.";
|
||||
@@ -597,14 +590,14 @@ help Links {
|
||||
" IRC операторы.";
|
||||
" -";
|
||||
" Синтаксис: LINKS";
|
||||
};
|
||||
}
|
||||
|
||||
help Admin {
|
||||
" Возвращает административную информацию с указанного сервера.";
|
||||
" -";
|
||||
" Синтаксис: ADMIN";
|
||||
" ADMIN <сервер>";
|
||||
};
|
||||
}
|
||||
|
||||
help Userhost {
|
||||
" Возвращает имя хоста для указанного пользователя.";
|
||||
@@ -612,7 +605,7 @@ help Userhost {
|
||||
" -";
|
||||
" Синтаксис: USERHOST <имя>";
|
||||
" Пример: USERHOST hAtbLaDe";
|
||||
};
|
||||
}
|
||||
|
||||
help Userip {
|
||||
" Возвращает IP адрес указанного пользователя.";
|
||||
@@ -620,7 +613,7 @@ help Userip {
|
||||
" -";
|
||||
" Синтаксис: USERIP <имя>";
|
||||
" Пример: USERIP codemastr";
|
||||
};
|
||||
}
|
||||
|
||||
help Topic {
|
||||
" Устанавливает/изменяет тему указанного канала, или просто показывает";
|
||||
@@ -630,7 +623,7 @@ help Topic {
|
||||
" TOPIC <канал> <тема> (Изменит тему)";
|
||||
" Пример: TOPIC #Operhelp";
|
||||
" TOPIC #Lobby Welcome to #Lobby!!";
|
||||
};
|
||||
}
|
||||
|
||||
help Invite {
|
||||
" Посылает указанному пользователю приглашение войти на указанный канал.";
|
||||
@@ -642,7 +635,7 @@ help Invite {
|
||||
" -";
|
||||
" Синтаксис: INVITE [<имя> <канал>]";
|
||||
" Пример: INVITE";
|
||||
};
|
||||
}
|
||||
|
||||
help Kick {
|
||||
" Удаляет пользователя из канала. Может быть использована только";
|
||||
@@ -651,7 +644,7 @@ help Kick {
|
||||
" -";
|
||||
" Синтаксис: KICK <канал> <пользователь> [причина]";
|
||||
" Пример: KICK #Lobby foobar Lamer..";
|
||||
};
|
||||
}
|
||||
|
||||
help Away {
|
||||
" Помечает вас как отсутствующего - \"Away\".";
|
||||
@@ -660,7 +653,7 @@ help Away {
|
||||
" указанной причине)";
|
||||
" AWAY (Снимет статус отсутствующего)";
|
||||
" Пример: AWAY Lunch time!";
|
||||
};
|
||||
}
|
||||
|
||||
help Watch {
|
||||
" Watch - это система уведомлений, более быстрая и использующая меньше";
|
||||
@@ -675,7 +668,7 @@ help Watch {
|
||||
" уведомлений)";
|
||||
" WATCH -имя (Удаление имени из списка)";
|
||||
" WATCH (Покажет весь список уведомлений)";
|
||||
};
|
||||
}
|
||||
|
||||
help List {
|
||||
" Возвращает полный список каналов, доступных в сети IRC на данный";
|
||||
@@ -695,7 +688,7 @@ help List {
|
||||
" -";
|
||||
" Все эти параметры могут быть использованы вместо стандартной";
|
||||
" строки поиска.";
|
||||
};
|
||||
}
|
||||
|
||||
help Privmsg {
|
||||
" Позволяет послать сообщение пользователю, всему каналу или целому";
|
||||
@@ -719,7 +712,7 @@ help Privmsg {
|
||||
" [Только для Операторов IRC]";
|
||||
" Сообщение показывается в окне статуса большинством современных IRC";
|
||||
" клиентов.";
|
||||
" Пример: /PRIVMSG $*.mynet.net We will be upgrading our net in the";
|
||||
" Пример: /PRIVMSG $*.example.org We will be upgrading our net in the";
|
||||
" next hour";
|
||||
" Однако, следует заметить, что в большинстве случаев лучше использовать";
|
||||
" сервисы (/OS GLOBAL).";
|
||||
@@ -732,7 +725,7 @@ help Privmsg {
|
||||
" нельзя использовать дополнительные возможности команд /msg или";
|
||||
" /privmsg, нужно пользоваться ими следующим образом:";
|
||||
" '/QUOTE PRIVMSG @#channel blah'.";
|
||||
};
|
||||
}
|
||||
|
||||
help Notice {
|
||||
" Посылает \"notice\" пользователю, каналу или всем, кто подключен к";
|
||||
@@ -755,7 +748,7 @@ help Notice {
|
||||
" Посылает \"notice\" всем пользователям сервера, попадающим под";
|
||||
" <маска> [Доступно только операторам]";
|
||||
" Сообщения видны в окне статуса большинства современных клиентов.";
|
||||
" Пример: /NOTICE $*.mynet.net We will be upgrading our net in the";
|
||||
" Пример: /NOTICE $*.example.org We will be upgrading our net in the";
|
||||
" next hour";
|
||||
" В большинстве случаев сервисы (/OS GLOBAL) будут лучшей";
|
||||
" альтернативой.";
|
||||
@@ -766,7 +759,7 @@ help Notice {
|
||||
" ВАЖНО: В случае использования старых клиентов (ircII, к примеру),";
|
||||
" чтобы использовать дополнительные возможности, необходимо применять";
|
||||
" следующий способ: '/QUOTE NOTICE @#channel blah'.";
|
||||
};
|
||||
}
|
||||
|
||||
help Knock {
|
||||
" Для каналов с ограничением доступа \"только по приглашению\" вы можете";
|
||||
@@ -774,14 +767,14 @@ help Knock {
|
||||
" -";
|
||||
" Синтаксис: KNOCK <#канал> <сообщение>";
|
||||
" Пример: KNOCK #secret_chan I'm an op, let me in!";
|
||||
};
|
||||
}
|
||||
|
||||
help Setname {
|
||||
" Позволяет пользователю изменить реальное имя (\"Real name\") (GECOS)";
|
||||
" без отключения от IRC";
|
||||
" -";
|
||||
" Синтаксис: SETNAME <новое \"реальное имя\">";
|
||||
};
|
||||
}
|
||||
|
||||
help Vhost {
|
||||
" Скрывает реальный hostname пользователя, заменяя его виртуальным";
|
||||
@@ -789,7 +782,7 @@ help Vhost {
|
||||
" -";
|
||||
" Синтаксис: VHOST <логин> <пароль>";
|
||||
" Пример: VHOST openbsd ilovecypto";
|
||||
};
|
||||
}
|
||||
|
||||
help Mode {
|
||||
" Устанавливает режим для пользователя или канала.";
|
||||
@@ -799,7 +792,7 @@ help Mode {
|
||||
" Синтаксис: MODE <канал/пользователь> <режим>";
|
||||
" Пример: MODE #Support +tn";
|
||||
" MODE #Support +ootn hAtbLaDe XYZ";
|
||||
};
|
||||
}
|
||||
|
||||
help Credits {
|
||||
" Эта команда возвращает список людей, так или иначе помогавших в";
|
||||
@@ -807,28 +800,28 @@ help Credits {
|
||||
" -";
|
||||
" Синтаксис: CREDITS";
|
||||
" CREDITS <сервер>";
|
||||
};
|
||||
}
|
||||
|
||||
help Dalinfo {
|
||||
" Историческая справка о создателях сервера (от ircu, и далее...)";
|
||||
" -";
|
||||
" Синтаксис: DALINFO";
|
||||
" DALINFO <сервер>";
|
||||
};
|
||||
}
|
||||
|
||||
help License {
|
||||
" Возвращает информацию о лицензии, под которой распространяется";
|
||||
" UnrealIRCd.";
|
||||
" Синтаксис: LICENSE";
|
||||
" LICENSE <сервер>";
|
||||
};
|
||||
}
|
||||
|
||||
help Time {
|
||||
" Отображает текущую дату и время на сервере.";
|
||||
" -";
|
||||
" Синтаксис: TIME";
|
||||
" TIME <сервер>";
|
||||
};
|
||||
}
|
||||
|
||||
help Silence {
|
||||
" Игнорирует сообщения от пользователя или группы пользователей сервера.";
|
||||
@@ -836,7 +829,7 @@ help Silence {
|
||||
" Синтаксис: SILENCE +nickname (Добавляет ник в SILENCE список)";
|
||||
" SILENCE -nickname (Удаляет ник из SILENCE списка)";
|
||||
" SILENCE (Отображает текущий SILENCE список)";
|
||||
};
|
||||
}
|
||||
|
||||
help Oper {
|
||||
" Позволяет пользователю получить статус IRC оператора.";
|
||||
@@ -844,7 +837,7 @@ help Oper {
|
||||
" Синтаксис: OPER <идентификатор> <пароль>";
|
||||
" ВАЖНО: идентификатор и пароль чувствительны к регистру";
|
||||
" Пример: OPER hAtbLaDe foobar234";
|
||||
};
|
||||
}
|
||||
|
||||
help Wallops {
|
||||
" Посылает сообщение всем пользователям с установленным флагом +w.";
|
||||
@@ -852,7 +845,7 @@ help Wallops {
|
||||
" сообщения может любой пользователь с установленным флагом +w";
|
||||
" -";
|
||||
" Синтаксис: WALLOPS <сообщение>";
|
||||
};
|
||||
}
|
||||
|
||||
help Globops {
|
||||
" Посылает общесетевое сообщение для IRC операторов. Видеть его могут";
|
||||
@@ -860,35 +853,35 @@ help Globops {
|
||||
" -";
|
||||
" Синтаксис: GLOBOPS <сообщение>";
|
||||
" Пример: GLOBOPS Lets get em clones ..";
|
||||
};
|
||||
}
|
||||
|
||||
help Locops {
|
||||
" Посылает сообщение IRC операторам, подключенным к серверу (local).";
|
||||
" -";
|
||||
" Синтаксис: LOCOPS <сообщение>";
|
||||
" Пример: LOCOPS Gonna k:line that user ...";
|
||||
};
|
||||
}
|
||||
|
||||
help Chatops {
|
||||
" Посылает сообщение всем IRC операторам (global).";
|
||||
" -";
|
||||
" Синтаксис: CHATOPS <message>";
|
||||
" Пример: CHATOPS Gonna k:line that user ...";
|
||||
};
|
||||
}
|
||||
|
||||
help Adchat {
|
||||
" Посылает сообщение всем подключенным администраторам";
|
||||
" -";
|
||||
" Синтаксис: ADCHAT <текст>";
|
||||
" Пример: ADCHAT Hey guys! I'm finally here.";
|
||||
};
|
||||
}
|
||||
|
||||
help Nachat {
|
||||
" Посылает сообщение всем подключенным администраторам сети";
|
||||
" -";
|
||||
" Синтаксис: NACHAT <текст>";
|
||||
" Пример: NACHAT Hey guys! How is everything?";
|
||||
};
|
||||
}
|
||||
|
||||
help Kill {
|
||||
" Отключает пользователей от сервера IRC.";
|
||||
@@ -896,7 +889,7 @@ help Kill {
|
||||
" -";
|
||||
" Синтаксис: KILL <ник1>,<ник2>,<ник3>,... <причина>";
|
||||
" Пример: KILL Jack16 Cloning is not allowed";
|
||||
};
|
||||
}
|
||||
|
||||
help Kline {
|
||||
" Команда временно добавляет пользователя или хост в K:Lines. ";
|
||||
@@ -913,7 +906,7 @@ help Kline {
|
||||
" KLINE *@*.someisp.com 2d Abuse (добавляет K:line на 2 дня)";
|
||||
" KLINE Idiot 1d Please go away";
|
||||
" KLINE -*@*.aol.com";
|
||||
};
|
||||
}
|
||||
|
||||
help Zline {
|
||||
" Команда временно добавляет пользователя или хост в Z:Lines. ";
|
||||
@@ -929,7 +922,7 @@ help Zline {
|
||||
" ZLINE *@127.0.0.1 2d Abuse (Добавляет Z:line на 2 дня)";
|
||||
" ZLINE -*@127.0.0.1";
|
||||
" ВАЖНО: для использования требуется флаг, разрешающий zline";
|
||||
};
|
||||
}
|
||||
|
||||
help Gline {
|
||||
" Команда временно добавляет пользователя или хост в G:Lines. ";
|
||||
@@ -946,7 +939,7 @@ help Gline {
|
||||
" GLINE *@*.idiot.net 1d Spammer (Добавляет G:line на 24 часа)";
|
||||
" GLINE -*@*.idiot.net";
|
||||
" ВАЖНО: для использования требуется флаг, разрешающий gline";
|
||||
};
|
||||
}
|
||||
|
||||
help Shun {
|
||||
" Запрещает использование любой команды, кроме ADMIN и ответов на";
|
||||
@@ -966,7 +959,7 @@ help Shun {
|
||||
" (Shun foobar@aol.com на 10 минут по причине Spamming)";
|
||||
" SHUN +foobar@aol.com 1d6h :Spamming (SHUN на 30 часов)";
|
||||
" ВАЖНО: для использования требуется флаг, разрешающий gkline";
|
||||
};
|
||||
}
|
||||
|
||||
help Gzline {
|
||||
" Команда накладывает временный глобальный Z:line. Если вы попадаете под";
|
||||
@@ -984,7 +977,7 @@ help Gzline {
|
||||
" GZLINE *@4.16.200.* 1d5h Spammers (Действующий 29 часов";
|
||||
" общесетевой Z:line)";
|
||||
" ВАЖНО: требует установленного can_gzline флага";
|
||||
};
|
||||
}
|
||||
|
||||
help Akill {
|
||||
" Применяет Autokill на указанную маску. Запрещает подключение к сети";
|
||||
@@ -993,14 +986,14 @@ help Akill {
|
||||
" -";
|
||||
" Синтаксис: AKILL <user@host> :<причина>";
|
||||
" Пример: AKILL foo@aol.com :Spammers!";
|
||||
};
|
||||
}
|
||||
|
||||
help Rakill {
|
||||
" Снимает ранее установленный AKILL.";
|
||||
" ЭТА КОМАНДА МОЖЕТ БЫТЬ ИСПОЛЬЗОВАНА ТОЛЬКО СЕРВЕРАМИ";
|
||||
" -";
|
||||
" Синтаксис: RAKILL <user@host>";
|
||||
};
|
||||
}
|
||||
|
||||
help Rehash {
|
||||
" Заставляет сервер перечитать файл конфигурации.";
|
||||
@@ -1021,9 +1014,9 @@ help Rehash {
|
||||
" -dns - Переинециализация и перезагрузка преобразования адресов";
|
||||
" -garbage - Активирует \"сборщик мусора\"";
|
||||
" -motd - Перечитает все файлы MOTD, BOTMOTD, OPERMOTD и RULES (включая tld{})";
|
||||
" -ssl - Перезагрузка сертификатов SSL";
|
||||
" -tls - Перезагрузка сертификатов SSL/TLS";
|
||||
|
||||
};
|
||||
}
|
||||
|
||||
help Restart {
|
||||
" Перезапускает IRC демона, с отключением всех пользователей,";
|
||||
@@ -1033,7 +1026,7 @@ help Restart {
|
||||
" Синтаксис: RESTART";
|
||||
" RESTART <пароль>";
|
||||
" RESTART <пароль> <причина>";
|
||||
};
|
||||
}
|
||||
|
||||
help Die {
|
||||
" Убивает IRC демон, отключает от него всех пользователей.";
|
||||
@@ -1041,16 +1034,16 @@ help Die {
|
||||
" -";
|
||||
" Синтаксис: DIE";
|
||||
" DIE <пароль>";
|
||||
};
|
||||
}
|
||||
|
||||
help Lag {
|
||||
" Команда - аналог Traceroute для IRC серверов";
|
||||
" Вы вводите /LAG irc.fyremoon.net и получаете ответ от каждого";
|
||||
" Вы вводите /LAG irc.example.org и получаете ответ от каждого";
|
||||
" сервера, через который она проходит, с указанием времени задержки.";
|
||||
" Используется для поиска лагов и серверов с нестыковкой по времени";
|
||||
" -";
|
||||
" Синтаксис: LAG <server>";
|
||||
};
|
||||
}
|
||||
|
||||
help Sethost {
|
||||
" Пользуясь этой командой вы можете сменить свой виртуальный хост";
|
||||
@@ -1059,7 +1052,7 @@ help Sethost {
|
||||
" -";
|
||||
" Синтаксис: SETHOST <новое имя>";
|
||||
" Пример: SETHOST i.have.hairy.armpits";
|
||||
};
|
||||
}
|
||||
|
||||
help Setident {
|
||||
" Этой командой вы можете сменить себе ваш идент (Username).";
|
||||
@@ -1067,7 +1060,7 @@ help Setident {
|
||||
" -";
|
||||
" Синтаксис: SETIDENT <новый ident>";
|
||||
" Пример: SETIDENT l33t";
|
||||
};
|
||||
}
|
||||
|
||||
help Chghost {
|
||||
" Сменяет имя хоста пользователя IRC сети на указанное.";
|
||||
@@ -1075,7 +1068,7 @@ help Chghost {
|
||||
" -";
|
||||
" Синтаксис: CHGHOST <ник> <хост>";
|
||||
" Пример: CHGHOST hAtbLaDe root.me.com";
|
||||
};
|
||||
}
|
||||
|
||||
help Chgident {
|
||||
" Изменяет идентификационную информацию (Ident) о пользователе сети.";
|
||||
@@ -1083,7 +1076,7 @@ help Chgident {
|
||||
" -";
|
||||
" Синтаксис: CHGIDENT <ник> <ident>";
|
||||
" Пример: CHGIDENT hAtbLaDe sheep";
|
||||
};
|
||||
}
|
||||
|
||||
help Chgname {
|
||||
" Изменяет \"IRC Name\" (или \"Real Name\") пользователя сети";
|
||||
@@ -1091,7 +1084,7 @@ help Chgname {
|
||||
" -";
|
||||
" Синтаксис: CHGNAME <ник> <имя>";
|
||||
" Пример: CHGNAME hAtbLaDe Gotta new name :)";
|
||||
};
|
||||
}
|
||||
|
||||
help Squit {
|
||||
" Отключает IRC сервер (или все сервера, попадающие под маску) от сети.";
|
||||
@@ -1100,7 +1093,7 @@ help Squit {
|
||||
" -";
|
||||
" Синтаксис: SQUIT <сервер>";
|
||||
" Пример: SQUIT leaf.*";
|
||||
};
|
||||
}
|
||||
|
||||
help Connect {
|
||||
" Подключает указанный IRC сервер к тому, на котором вы находитесь.";
|
||||
@@ -1111,21 +1104,21 @@ help Connect {
|
||||
" CONNECT <leaf> <port> <hub>";
|
||||
" Пример: CONNECT leaf.*";
|
||||
" CONNECT leaf.* 6667 hub.*";
|
||||
};
|
||||
}
|
||||
|
||||
help Dccdeny {
|
||||
" Запрещает передачу файлов, попадающих под указанную маску, по DCC.";
|
||||
" Команда доступна только IRC операторам.";
|
||||
" -";
|
||||
" Синтаксис: DCCDENY <маска> <причина>";
|
||||
};
|
||||
}
|
||||
|
||||
help Undccdeny {
|
||||
" Отменить запрет на передачу файлов по указанной маске.";
|
||||
" Команда доступна только IRC операторам.";
|
||||
" -";
|
||||
" Синтаксис: UNDCCDENY <filename mask>";
|
||||
};
|
||||
}
|
||||
|
||||
help Sajoin {
|
||||
" Заставляет пользователя войти в канал.";
|
||||
@@ -1134,7 +1127,7 @@ help Sajoin {
|
||||
" Синтаксис: SAJOIN <ник> <канал>,[<канал2>..]";
|
||||
" Пример: SAJOIN hAtbLaDe #OperHelp";
|
||||
" SAJOIN hAtbLaDe #Support,#IRCHelp";
|
||||
};
|
||||
}
|
||||
|
||||
help Sapart {
|
||||
" Заставляет пользователя покинуть канал.";
|
||||
@@ -1144,7 +1137,7 @@ help Sapart {
|
||||
" Пример: SAPART hAtbLaDe #OperHelp";
|
||||
" SAPART hAtbLaDe #Support,#IRCHelp";
|
||||
" SAPART hAtbLaDe #Support,#IRCHelp Go away";
|
||||
};
|
||||
}
|
||||
|
||||
help Samode {
|
||||
" Позволяет администратору сервисов изменить режимы на указанном канале";
|
||||
@@ -1153,7 +1146,7 @@ help Samode {
|
||||
" -";
|
||||
" Синтаксис: SAMODE <канал> <режим>";
|
||||
" Пример: SAMODE #Support +m";
|
||||
};
|
||||
}
|
||||
|
||||
help Trace {
|
||||
" Команду TRACE можно использовать на сервере или пользователе.";
|
||||
@@ -1164,15 +1157,15 @@ help Trace {
|
||||
" используете его в первый раз.";
|
||||
" -";
|
||||
" Синтаксис: TRACE <сервер|ник>";
|
||||
" Пример: TRACE irc.fyremoon.net";
|
||||
};
|
||||
" Пример: TRACE irc.example.org";
|
||||
}
|
||||
|
||||
help Opermotd {
|
||||
" Показывает MOTD сервера для IRC операторов";
|
||||
" Команда доступна только IRC операторам.";
|
||||
" -";
|
||||
" Синтаксис: OPERMOTD";
|
||||
};
|
||||
}
|
||||
|
||||
help Sdesc {
|
||||
" Этой командой можно изменить описание сервера без применения squit";
|
||||
@@ -1181,7 +1174,7 @@ help Sdesc {
|
||||
" -";
|
||||
" Синтаксис: SDESC <новое описание>";
|
||||
" Пример: SDESC Fly High, Fly Free";
|
||||
};
|
||||
}
|
||||
|
||||
help Mkpasswd {
|
||||
" Команда возвратит 'hash' указанной строки, который можно";
|
||||
@@ -1192,7 +1185,7 @@ help Mkpasswd {
|
||||
" -";
|
||||
" Синтаксис: MKPASSWD <метод> <пароль>";
|
||||
" Пример: MKPASSWD argon2 IamTeh1337";
|
||||
};
|
||||
}
|
||||
|
||||
help Module {
|
||||
" Покажет список загруженных сервером модулей.";
|
||||
@@ -1212,24 +1205,20 @@ help Module {
|
||||
" [OLD?] Отсутствует Mod_Version, забыли перекомпилировать старый";
|
||||
" модуль";
|
||||
" Так же будут видны присутствующие hooks и command overrides.";
|
||||
};
|
||||
}
|
||||
|
||||
help Close {
|
||||
" Команда позволяет отключить все неизвестные соединения к IRC серверу.";
|
||||
" -";
|
||||
" Синтаксис: CLOSE";
|
||||
};
|
||||
}
|
||||
|
||||
help Tsctl {
|
||||
" Команда позволяет управлять временем в IRC сети";
|
||||
" Может использоваться только IRC операторами.";
|
||||
" -";
|
||||
" Синтаксис: TSCTL OFFSET +|- <time> (Настройка времени IRC)";
|
||||
" TSCTL TIME (Покажет время)";
|
||||
" TSCTL ALLTIME (Покажет время на всех серверах)";
|
||||
" TSCTL SVSTIME <timestamp> (Установит время на всех";
|
||||
" серверах)";
|
||||
};
|
||||
" Синтаксис: TSCTL ALLTIME (Покажет время на всех серверах)";
|
||||
}
|
||||
|
||||
help Svsnick {
|
||||
" Меняет ник указанному пользователю.";
|
||||
@@ -1237,7 +1226,7 @@ help Svsnick {
|
||||
" -";
|
||||
" Синтаксис: SVSNICK <старый ник> <новый ник> <timestamp>";
|
||||
" Пример: SVSNICK hAtbLaDe Foobar 963086432";
|
||||
};
|
||||
}
|
||||
|
||||
help Svsmode {
|
||||
" Изменяет режимы указанного пользователя.";
|
||||
@@ -1245,7 +1234,7 @@ help Svsmode {
|
||||
" -";
|
||||
" Синтаксис: SVSMODE <ник> <режим>";
|
||||
" Пример: SVSMODE hAtbLaDe +i";
|
||||
};
|
||||
}
|
||||
|
||||
help Svskill {
|
||||
" Отключает пользователя от сети.";
|
||||
@@ -1253,7 +1242,7 @@ help Svskill {
|
||||
" -";
|
||||
" Синтаксис: SVSKILL <пользователь> :<причина>";
|
||||
" Пример: SVSKILL Lamer21 :Goodbye";
|
||||
};
|
||||
}
|
||||
|
||||
help Svsnoop {
|
||||
" Включает или отключает режим IRC оператора";
|
||||
@@ -1263,7 +1252,7 @@ help Svsnoop {
|
||||
" -";
|
||||
" Синтаксис: SVSNOOP <сервер> <+/->";
|
||||
" Пример: SVSNOOP leaf.* -";
|
||||
};
|
||||
}
|
||||
|
||||
help Svsjoin {
|
||||
" Заставляет пользователя войти в указанный канал.";
|
||||
@@ -1272,7 +1261,7 @@ help Svsjoin {
|
||||
" Синтаксис: SVSJOIN <ник> <канал>[,<канал2>..] [ключ1[,ключ2[..]]]";
|
||||
" Пример: SVSJOIN hAtbLaDe #jail";
|
||||
" SVSJOIN hAtbLaDe #jail,#zoo";
|
||||
};
|
||||
}
|
||||
|
||||
help Svspart {
|
||||
" Заставляет пользователя покинуть канал.";
|
||||
@@ -1282,7 +1271,7 @@ help Svspart {
|
||||
" Пример: SVSPART hAtbLaDe #Hanson";
|
||||
" SVSPART hAtbLaDe #Hanson,#AOL";
|
||||
" SVSPART hAtbLaDe #Hanson,#AOL You must leave";
|
||||
};
|
||||
}
|
||||
|
||||
help Svso {
|
||||
" Даёт пользователю Operflags как описано в O:lines.";
|
||||
@@ -1292,7 +1281,7 @@ help Svso {
|
||||
" Синтаксис: SVSO <nick> <+operflags> (Добавляет Operflags)";
|
||||
" SVSO <nick> - (Снимает все O:Line флаги)";
|
||||
" Пример: SVSO SomeNick +bBkK";
|
||||
};
|
||||
}
|
||||
|
||||
help Swhois {
|
||||
" Изменяет сообщение WHOIS для указанного ника.";
|
||||
@@ -1301,7 +1290,7 @@ help Swhois {
|
||||
" Синтаксис: SWHOIS <ник> :<сообщение> (Устанавливает SWHOIS)";
|
||||
" SWHOIS <ник> : (Сбрасывает SWHOIS)";
|
||||
" Пример: SWHOIS SomeNick :is a lamer";
|
||||
};
|
||||
}
|
||||
|
||||
help Sqline {
|
||||
" Накладывает бан на указанный ник или маску.";
|
||||
@@ -1309,7 +1298,7 @@ help Sqline {
|
||||
" -";
|
||||
" Синтаксис: SQLINE <маска> :<причина>";
|
||||
" Пример: SQLINE *Bot* :No bots";
|
||||
};
|
||||
}
|
||||
|
||||
help Unsqline {
|
||||
" Снимает бан с указанного ника или маски";
|
||||
@@ -1317,7 +1306,7 @@ help Unsqline {
|
||||
" -";
|
||||
" Синтаксис: UNSQLINE <маска>";
|
||||
" Пример: UNSQLINE *Bot*";
|
||||
};
|
||||
}
|
||||
|
||||
help Svs2mode {
|
||||
" Изменяет режимы указанного пользователя и уведомляет его";
|
||||
@@ -1326,7 +1315,7 @@ help Svs2mode {
|
||||
" -";
|
||||
" Синтаксис: SVS2MODE <ник> <режимы>";
|
||||
" Пример: SVS2MODE hAtbLaDe +h";
|
||||
};
|
||||
}
|
||||
|
||||
help Svsfline {
|
||||
" Добавляет маску файла к DCCDENY";
|
||||
@@ -1335,7 +1324,7 @@ help Svsfline {
|
||||
" Синтаксис: :server SVSFLINE + file :reason (Добавляет имя файла)";
|
||||
" :server SVSFLINE - file (Удаляет имя файла)";
|
||||
" :server SVSFLINE * (Очищает список DCCDENY)";
|
||||
};
|
||||
}
|
||||
|
||||
help Svsmotd {
|
||||
" Изменяет MOTD у сервисов.";
|
||||
@@ -1344,7 +1333,7 @@ help Svsmotd {
|
||||
" SVSMOTD ! (Удаляет текущий MOTD)";
|
||||
" SVSMOTD ! :<текст> (Замещает текущий новым MOTD)";
|
||||
" Пример: SVSMOTD # :Services MOTD";
|
||||
};
|
||||
}
|
||||
|
||||
help Svsnline {
|
||||
" Создаёт глобальный бан на основе реального имени.";
|
||||
@@ -1356,7 +1345,7 @@ help Svsnline {
|
||||
" SVSNLINE - :<имя> (чтобы удалить бан)";
|
||||
" SVSNLINE * (очистить все баны)";
|
||||
" Пример: SVSNLINE + sub7_drone :*sub7*";
|
||||
};
|
||||
}
|
||||
|
||||
help Svslusers {
|
||||
" Изменяет общее и/или локальное максимальное количество";
|
||||
@@ -1365,15 +1354,15 @@ help Svslusers {
|
||||
" Должно использоваться через сервер, описанный в U:Lines.";
|
||||
" -";
|
||||
" Синтаксис: SVSLUSERS <сервер> <globalmax|-1> <localmax|-1>";
|
||||
" Пример: SVSLUSERS irc.test.com -1 200";
|
||||
};
|
||||
" Пример: SVSLUSERS irc.example.org -1 200";
|
||||
}
|
||||
|
||||
help Svswatch {
|
||||
" Изменяет список WATCH у указанного пользователя.";
|
||||
" Должно использоваться через сервер, описанный в U:Lines.";
|
||||
" Синтаксис: SVSWATCH <имя> :<параметры>";
|
||||
" Пример: SVSWATCH Blah :+Blih!*@* +Bluh!*@* +Bleh!*@*.com";
|
||||
};
|
||||
}
|
||||
|
||||
help Svssilence {
|
||||
" Изменяет список SILENCE у указанного пользователя.";
|
||||
@@ -1382,7 +1371,7 @@ help Svssilence {
|
||||
" несколько записей одной командой.";
|
||||
" Синтаксис: SVSSILENCE <имя> :<параметры>";
|
||||
" Пример: SVSSILENCE Blah :+*!*@*.com +*!*@*.bla.co.uk";
|
||||
};
|
||||
}
|
||||
|
||||
help Svssno {
|
||||
" Изменяет snomask для указанного ника.";
|
||||
@@ -1390,7 +1379,7 @@ help Svssno {
|
||||
" -";
|
||||
" Синтаксис: SVSSNO <ник> <snomasks>";
|
||||
" Пример: SVSSNO joe +Gc";
|
||||
};
|
||||
}
|
||||
|
||||
help Svs2sno {
|
||||
" Изменяет snomask для указанного ника и уведомляет пользователя";
|
||||
@@ -1399,7 +1388,7 @@ help Svs2sno {
|
||||
" -";
|
||||
" Синтаксис: SVS2SNO <ник> <snomasks>";
|
||||
" Пример: SVS2SNO joe +Gc";
|
||||
};
|
||||
}
|
||||
|
||||
help Svsnolag {
|
||||
" Включает 'no fake lag' для указанного пользователя.";
|
||||
@@ -1407,7 +1396,7 @@ help Svsnolag {
|
||||
" -";
|
||||
" Синтаксис: SVSNOLAG [+|-] <ник>";
|
||||
" Пример: SVSNOLAG + joe";
|
||||
};
|
||||
}
|
||||
|
||||
help Svs2nolag {
|
||||
" Включает 'no fake lag' для указанного пользователя.";
|
||||
@@ -1415,7 +1404,7 @@ help Svs2nolag {
|
||||
" -";
|
||||
" Синтаксис: SVS2NOLAG [+|-] <ник>";
|
||||
" Пример: SVS2NOLAG + joe";
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
help Spamfilter {
|
||||
@@ -1437,7 +1426,6 @@ help Spamfilter {
|
||||
" сообщение), 'dccblock' (блокирует любой dccs), 'viruschan'";
|
||||
" (покинуть все каналы и войти в канал помощи),";
|
||||
" 'warn' (уведомляет операторов).";
|
||||
" [regex] регулярное выражение, блокируемое фильтром";
|
||||
" [tkltime] длительность применяемого фильтром действия (указание '-'";
|
||||
" включает значение из set::spamfilter::ban-time, но для";
|
||||
" block/tempshun этот параметр игнорируется.);";
|
||||
@@ -1445,6 +1433,7 @@ help Spamfilter {
|
||||
" ПРОБЕЛОВ, '_' будут преобразованы в пробелы. Если в качестве";
|
||||
" причины указать '-', будет использовано значение";
|
||||
" по-умолчанию из set::spamfilter::ban-reason.";
|
||||
" [regex] регулярное выражение, блокируемое фильтром";
|
||||
" - ";
|
||||
" Примеры:";
|
||||
" /spamfilter add p block - - Come watch me on my webcam";
|
||||
@@ -1455,7 +1444,7 @@ help Spamfilter {
|
||||
" /spamfilter add p kill - Please_go_to_www.viruscan.xx/nicepage/virus=blah Come watch me on my webcam";
|
||||
" /spamfilter del p block - - Come watch me on my webcam*";
|
||||
" /spamfilter add cN gzline 1d No_advertising_please come to irc\..+\..+";
|
||||
};
|
||||
}
|
||||
|
||||
help Tempshun {
|
||||
" Добавляет/удаляет 'временный shun'.";
|
||||
@@ -1466,23 +1455,23 @@ help Tempshun {
|
||||
" Синтаксис: TEMPSHUN [+|-]<ник> [причина]";
|
||||
" Пример: TEMPSHUN evilguy suspected infection";
|
||||
" TEMPSHUN -niceguy";
|
||||
};
|
||||
}
|
||||
|
||||
help DccAllow {
|
||||
" Для получения помощи по системе DCCALLOW, введите '/DCCALLOW HELP'";
|
||||
};
|
||||
}
|
||||
|
||||
help Addmotd {
|
||||
" Добавляет линию в конец MOTD (сообщение дня)";
|
||||
" -";
|
||||
" Синтаксис: ADDMOTD <текст>";
|
||||
" Пример: ADDMOTD Удачного общения!";
|
||||
};
|
||||
}
|
||||
|
||||
help Addomotd {
|
||||
" Добавляет линию в конец OPERMOTD (сообщение дня для операторов)";
|
||||
" -";
|
||||
" Синтаксис: ADDOMOTD <текст>";
|
||||
" Пример: ADDOMOTD Согрешите и потеряйте операторство!";
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
+126
-142
@@ -1,4 +1,4 @@
|
||||
/* UnrealIRCd 4 Yardım Yapılandırması
|
||||
/* UnrealIRCd 5 Yardım Yapılandırması
|
||||
*
|
||||
* Orjinal yardım metnini yazan by hAtbLaDe
|
||||
* Gözden geçiren by CC (07/2002) ve diğerleri
|
||||
@@ -23,7 +23,7 @@ help {
|
||||
" /HELPOP CHMODES - Kanal modelerini listeler";
|
||||
" -";
|
||||
" ==-------------------------oOo--------------------------==";
|
||||
};
|
||||
}
|
||||
|
||||
/* note: indexes were generated by cat somecmds|sort|column -c 70
|
||||
* along with tab->space conversion (tabwidth 8).
|
||||
@@ -48,7 +48,7 @@ help Usercmds {
|
||||
" KICK NICK TIME";
|
||||
" KNOCK NOTICE TOPIC";
|
||||
" ==-------------------------oOo-------------------------==";
|
||||
};
|
||||
}
|
||||
|
||||
help Opercmds {
|
||||
" Bu bölümdeki komutları sadece IRC Operatorler kullanabilir.";
|
||||
@@ -68,7 +68,7 @@ help Opercmds {
|
||||
" DCCDENY MKPASSWD SDESC ZLINE";
|
||||
" DIE MODULE SETHOST";
|
||||
" ==-------------------------oOo-------------------------==";
|
||||
};
|
||||
}
|
||||
|
||||
help Svscmds {
|
||||
" Servisler ile uygulanılan komutları listeler.";
|
||||
@@ -85,7 +85,7 @@ help Svscmds {
|
||||
" SVSFLINE SVSMOTD SVSO SWHOIS";
|
||||
" SVSJOIN SVSNICK SVSPART UNSQLINE";
|
||||
" ==-------------------------oOo-------------------------==";
|
||||
};
|
||||
}
|
||||
|
||||
help Umodes {
|
||||
" Aktif olarak kullanılan Kullanıcı modeleri aşağıdakilerdir.";
|
||||
@@ -114,7 +114,7 @@ help Umodes {
|
||||
" W = Size /whois çekildiğinde whois çekeni görmenizi sağlar. (Sadece IRCOp statüsündeki kullanıcılar kullanabilir)";
|
||||
" Z = Sadece güvenli bağlantı kullanan kullanıcılardan/kullanıcılara PRIVMSG'ler alın/gönderin (SSL)";
|
||||
" ==---------------------------oOo---------------------------==";
|
||||
};
|
||||
}
|
||||
|
||||
help Snomasks {
|
||||
" Snomask açılımı 'Server Notice MASK', server bildirilerini kontrol eder.";
|
||||
@@ -142,7 +142,7 @@ help Snomasks {
|
||||
" S = Spamfilter uyarılarını görmenizi sağlar";
|
||||
" v = Vhost kullanım uyarılarını görmenizi sağlar";
|
||||
" ==-------------------------oOo------------------------==";
|
||||
};
|
||||
}
|
||||
|
||||
help Chmodes {
|
||||
" Kullanılabilen mümkün kanal modelerinin hepsini listeler. /MODE";
|
||||
@@ -189,7 +189,7 @@ help Chmodes {
|
||||
" -";
|
||||
" [h] Halfop, [o] Kanal Operator, [q] Kanal Sahibi";
|
||||
" ==------------------------------oOo----------------------------==";
|
||||
};
|
||||
}
|
||||
|
||||
help ExtBans {
|
||||
" Bu banlar, temel alınan geleneksel banlardan başka sana nick!user@host maskesi";
|
||||
@@ -233,11 +233,7 @@ help ExtBans {
|
||||
" Bu ban tipleri kullanılabilen yeni kriterleri gösterir:";
|
||||
" ==-Tip--------İsim------------------------------Açıklama------------------------==";
|
||||
" | | Bir kullanıcı servislere bu hesap adıyla giriş yaptıysa ";
|
||||
" | | bu yasak ile eşleşecektir. ";
|
||||
" | | Bu ABC harfli bir kullanıcının XYZ hesab altında oturum ";
|
||||
" ~a | account | açabileceği anlamına gelir ~R'den biraz farklıdır. ";
|
||||
" | | Tüm servis paketleri bunu desteklemez, bu durumda bunun ";
|
||||
" | | yerine ~R kullanmanız gerekecektir. ";
|
||||
" ~a | account | bu yasak ile eşleşecektir. ";
|
||||
" | | Örnek: +e ~a:Name ";
|
||||
"-----------------------------------------------------------------------------------";
|
||||
" | | Kullanıcı bu kanaldaysa, diğer kanala giriş yapabilir ";
|
||||
@@ -259,14 +255,6 @@ help ExtBans {
|
||||
" | | dolayısı ile ('_') karekteri, bu ban ";
|
||||
" | | 'Stupid bot script v1.4' ile eşleşir. ";
|
||||
"-----------------------------------------------------------------------------------";
|
||||
" | | Eğer bir kullanıcı kendini servislere tanıtmamışsa ";
|
||||
" | | (Genellikle NickServ) ve nicki eşleşiyorsa bu ban da ";
|
||||
" | | eşleşir. Yani bu ban çeşidi yalnıca ban yollarında ";
|
||||
" ~R | registered | geçerlidir (+e). Örnek: +e ~R:Nick ";
|
||||
" | | Nick veya rumuzlu kullanıcının diğer banlarına ";
|
||||
" | | bakılmaksızın eğer kendini NickServ'e tanıtmışsa ";
|
||||
" | | kanalda bulunmasına izin verir. ";
|
||||
"-----------------------------------------------------------------------------------";
|
||||
" | | Bir kullanıcı istemci sertifikasına sahip SSL/TLS ";
|
||||
" | | kullanıyorsa, kullanıcıyı SSL fingerprint iziyle ";
|
||||
" ~S | certfp | eşletirebilirsiniz (bunu /WHOIS içinde görürüsünüz). ";
|
||||
@@ -282,7 +270,7 @@ help ExtBans {
|
||||
" Örnek: +b ~q:~c:#lamers";
|
||||
" Yukardaki yapılan ban, 'Quiet' olan bütün kullanıcıları #lamers kanalına girmelerini sağlayacaktır.";
|
||||
" +I ~c:#trusted ve +I ~a:accountname gibi.";
|
||||
};
|
||||
}
|
||||
|
||||
help Chmodef {
|
||||
" +f kanal modu kanallar için gelişmiş bir flood koruma sistemi sağlamaktadır.";
|
||||
@@ -305,7 +293,7 @@ help Chmodef {
|
||||
" -";
|
||||
" Eğer olay başına haraket belirlerseniz, aynı zamanda haraketin ne kadar süre(dakika)";
|
||||
" sonrasında geçerliliğini kaybedeceğini seçebilirsiniz.";
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
help Nick {
|
||||
@@ -315,7 +303,7 @@ help Nick {
|
||||
" -";
|
||||
" Kullanımı: NICK <yeni nick>";
|
||||
" Örnek: NICK hAtbLaDe";
|
||||
};
|
||||
}
|
||||
|
||||
help Whois {
|
||||
" Sorgularda kullanıcının hakkında bilgi gösterir,";
|
||||
@@ -335,7 +323,7 @@ help Whois {
|
||||
" + - Kullanıcı voice modesine sahip (+v)";
|
||||
" ! - Kullanıcının, whoisinde (+p) saklanan kanalları var, ve senin bir IRCop olman gerekli";
|
||||
" ? - Gizlenmiş bir kanal (+s) ve senin bir IRCop olman gerekli";
|
||||
};
|
||||
}
|
||||
|
||||
help Who {
|
||||
" Kullanıcıların hakkında durum bilgisi gösterir.";
|
||||
@@ -379,7 +367,7 @@ help Who {
|
||||
" + - Kullanıcı bir voice (+v)";
|
||||
" ! - Kullanıcının IRC Operator olduğunu gizler";
|
||||
" ? - Kullanıcı online bir IRC Operator";
|
||||
};
|
||||
}
|
||||
|
||||
help Whowas {
|
||||
" Kullanıcılar için geçmiş WHOIS bilgilerini listeler.";
|
||||
@@ -388,7 +376,7 @@ help Whowas {
|
||||
" Kullanımı: WHOWAS <nick>";
|
||||
" WHOWAS <nick> <cevapların max sayısı>";
|
||||
" Örnek: WHOWAS hAtbLaDe";
|
||||
};
|
||||
}
|
||||
|
||||
help Cycle {
|
||||
" Kanallarda çık-gir yapmasını sağlar. Bu komut";
|
||||
@@ -397,7 +385,7 @@ help Cycle {
|
||||
" Kullanımı: CYCLE <kanal>,<kanal2>,<kanal3>";
|
||||
" Örnek: CYCLE #help";
|
||||
" Örnek: CYCLE #main,#chat";
|
||||
};
|
||||
}
|
||||
|
||||
help Dns {
|
||||
" IRC Serverının DNS hakkında dönüş bilgisi görüntüler.";
|
||||
@@ -408,14 +396,14 @@ help Dns {
|
||||
" 'DNS i' Sana nameserver configin hakkında ayrıntıları verecek";
|
||||
" -";
|
||||
" Kullanımı: DNS [seçenek]";
|
||||
};
|
||||
}
|
||||
|
||||
help Names {
|
||||
" Belirtilen kanalda kullanıcıların listesini gösterir.";
|
||||
" -";
|
||||
" Kullanımı: NAMES <kanal>";
|
||||
" Örnek: NAMES #Support";
|
||||
};
|
||||
}
|
||||
|
||||
help Ison {
|
||||
" Bu komut, bir kullanıcı yada kullanıcıların online";
|
||||
@@ -423,7 +411,7 @@ help Ison {
|
||||
" -";
|
||||
" Kullanımı: ISON <nick> <nick2> <nick3> <nick4>";
|
||||
" Örnek: ISON hAtbLaDe Stskeeps OperServ AOLBot";
|
||||
};
|
||||
}
|
||||
|
||||
help Join {
|
||||
" Bir IRC Server üzerinde bir veya daha çok kanallara girer.";
|
||||
@@ -436,7 +424,7 @@ help Join {
|
||||
" Örnek: JOIN #Support";
|
||||
" JOIN #Lobby,#IRCd";
|
||||
" JOIN #IRCd,#Support,#main letmein,somepass,anotherpass";
|
||||
};
|
||||
}
|
||||
|
||||
help Part {
|
||||
" Belirtilen kanal ya da kanallardan çıkmanızı sağlar.";
|
||||
@@ -446,35 +434,35 @@ help Part {
|
||||
" Kullanımı: PART <kanal>,<kanal2>,<kanal3>,<kanal4> <sebeb>";
|
||||
" Örnek: PART #Support";
|
||||
" PART #Lobby,#IRCd Sonra görüşürüz!";
|
||||
};
|
||||
}
|
||||
|
||||
help Motd {
|
||||
" Bir IRC Serverın gününün mesajının olduğu dosyayı metin olarak gösterir.";
|
||||
" -";
|
||||
" Kullanımı: MOTD";
|
||||
" MOTD <server>";
|
||||
};
|
||||
}
|
||||
|
||||
help Rules {
|
||||
" Bir IRC Serverın kurallar dosyasını metin olarak gösterir.";
|
||||
" -";
|
||||
" Kullanımı: RULES";
|
||||
" RULES <server>";
|
||||
};
|
||||
}
|
||||
|
||||
help Lusers {
|
||||
" Yerel ve global kullanıcı bilgisini göstermesini sağlar.";
|
||||
" Bilgiler Yerel ve Network server için geçerlidir.";
|
||||
" -";
|
||||
" Kullanımı: LUSERS [server]";
|
||||
};
|
||||
}
|
||||
|
||||
help Map {
|
||||
" IRC Serverın grafiksel bir \"Network Map\" (Harita)sını gösterir.";
|
||||
" Özellikle yönlendirme amaçları için kullanılır.";
|
||||
" -";
|
||||
" Kullanımı: MAP";
|
||||
};
|
||||
}
|
||||
|
||||
help Quit {
|
||||
" IRC Serverdan bağlantınızı koparır. Kanallardaki kullanıcılar";
|
||||
@@ -483,7 +471,7 @@ help Quit {
|
||||
" -";
|
||||
" Kullanımı: QUIT <sebeb>";
|
||||
" Örnek: QUIT Leaving!";
|
||||
};
|
||||
}
|
||||
|
||||
help Ping {
|
||||
" PING komutu, aktif bir clientin varlığını test etmek için kullanılır veya";
|
||||
@@ -495,10 +483,10 @@ help Ping {
|
||||
" Bunun 'CTCP PING' komutundan farklı olduğunu unutmayınız..";
|
||||
" -";
|
||||
" Kullanımı: PING <server> <server2>";
|
||||
" Örnek: PING irc.fyremoon.net";
|
||||
" Örnek: PING irc.example.org";
|
||||
" PING hAtbLaDe";
|
||||
" PING hAtbLaDe irc2.dynam.ac";
|
||||
};
|
||||
}
|
||||
|
||||
help Pong {
|
||||
" PONG mesajı sonrasi verilen PING mesajı bir cevaptır.Eğer parametre <server2> ise";
|
||||
@@ -507,16 +495,16 @@ help Pong {
|
||||
" ve bu mesajı oluşturan varlığın ismidir.";
|
||||
" -";
|
||||
" Kullanımı: PONG <server> <server2>";
|
||||
" Örnek: PONG irc.fyremoon.net irc2.dynam.ac";
|
||||
" (irc.fyremoon.net irc2.dynam.ac giden pong mesajı)";
|
||||
};
|
||||
" Örnek: PONG irc.example.org irc2.dynam.ac";
|
||||
" (irc.example.org irc2.dynam.ac giden pong mesajı)";
|
||||
}
|
||||
|
||||
help Version {
|
||||
" Kullanılan IRCd yazılımının uyarlama bilgisini gösterir.";
|
||||
" -";
|
||||
" Kullanımı: VERSION";
|
||||
" VERSION <server>";
|
||||
};
|
||||
}
|
||||
|
||||
help Stats {
|
||||
" Server hakkında kesin istatistiksel bilgiyi gösterir.";
|
||||
@@ -525,21 +513,21 @@ help Stats {
|
||||
" Örnek: STATS u";
|
||||
" -";
|
||||
" Parametreler olmadan müsait flagların bir listesini görmen için /stats yazmalısın.";
|
||||
};
|
||||
}
|
||||
|
||||
help Links {
|
||||
" Serverların hepsinin güncel olarak, şebekeye bağlandığı listeler.";
|
||||
" U:lined Serverlarını sadece IRCop'lar görebilir.";
|
||||
" -";
|
||||
" Kullanımı: LINKS";
|
||||
};
|
||||
}
|
||||
|
||||
help Admin {
|
||||
" Server hakkında yönetimsel olarak bilgi satırı gösterir.";
|
||||
" -";
|
||||
" Kullanımı: ADMIN";
|
||||
" ADMIN <server>";
|
||||
};
|
||||
}
|
||||
|
||||
help Userhost {
|
||||
" Bir kullanıcının USERHOST satırını gösterir.";
|
||||
@@ -547,7 +535,7 @@ help Userhost {
|
||||
" -";
|
||||
" Kullanımı: USERHOST <nick>";
|
||||
" Örnek: USERHOST hAtbLaDe";
|
||||
};
|
||||
}
|
||||
|
||||
help Userip {
|
||||
" Bir kullanıcının IP adresini gösterir.";
|
||||
@@ -555,7 +543,7 @@ help Userip {
|
||||
" -";
|
||||
" Kullanımı: USERIP <nick>";
|
||||
" Örnek: USERIP codemastr";
|
||||
};
|
||||
}
|
||||
|
||||
help Topic {
|
||||
" Kanalın başlığını değiştirmeyi sağlar veya metin belirtilmez ise";
|
||||
@@ -565,7 +553,7 @@ help Topic {
|
||||
" TOPIC <kanal> <metin> (başlığı değiştirir.)";
|
||||
" Örnek: TOPIC #Operhelp";
|
||||
" TOPIC #Lobby Hoşgeldiniz #Lobby!!";
|
||||
};
|
||||
}
|
||||
|
||||
help Invite {
|
||||
" Özel bir kanala katılması için bir kullanıcıya bir davet yollar.";
|
||||
@@ -576,7 +564,7 @@ help Invite {
|
||||
" Kullanımı: INVITE [<nick> <kanal>]";
|
||||
" Örnek: INVITE hAtbLaDe #Support";
|
||||
" Örnek: INVITE";
|
||||
};
|
||||
}
|
||||
|
||||
help Kick {
|
||||
" Kullanıcı yada Kullanıcıları kanaldan atmaya yarar.";
|
||||
@@ -584,7 +572,7 @@ help Kick {
|
||||
" -";
|
||||
" Kullanımı: KICK <kanal> <nick> <sebeb>";
|
||||
" Örnek: KICK #Lobby foobar Lamer..";
|
||||
};
|
||||
}
|
||||
|
||||
help Away {
|
||||
" Bir sebeb belirttiğinizde sizi \"Away\", yani meşgul olarak gösterir.";
|
||||
@@ -592,7 +580,7 @@ help Away {
|
||||
" Kullanımı: AWAY <sebeb> (belirtilen nedenden dolayı sizi away(meşgul) yapar.)";
|
||||
" AWAY (Awaydan çıkartır.)";
|
||||
" Örnek: AWAY Öğle yemeği zamanı!";
|
||||
};
|
||||
}
|
||||
|
||||
help Watch {
|
||||
" Watch serverde hızlı çalışan bir bildiri sistemidir.";
|
||||
@@ -605,7 +593,7 @@ help Watch {
|
||||
" Kullanımı: WATCH +nick +nick2 +nick3 (nickleri ekler.)";
|
||||
" WATCH -nick (nick siler.)";
|
||||
" WATCH (Watch listesindeki bağlı kullanıcıları görüntüler.)";
|
||||
};
|
||||
}
|
||||
|
||||
help List {
|
||||
" Serverdeki bütün kanalların tam olarak listelemesini sağlar.";
|
||||
@@ -622,7 +610,7 @@ help List {
|
||||
" !*maske* içerisinde belirttiğiniz *maske* geçmeyen kanalları listeler.";
|
||||
" -";
|
||||
" Bunlar dışında başka flaglar kullanılabilir.";
|
||||
};
|
||||
}
|
||||
|
||||
help Privmsg {
|
||||
" Belirlenen hedefe bir metin gönderir. Bu hedef, bir kanal ya da bir nick olabilir.";
|
||||
@@ -641,7 +629,7 @@ help Privmsg {
|
||||
" /PRIVMSG $<maske> <mesaj>";
|
||||
" Belirtilen <maske> de bulunan tüm kullanıcılara mesaj yollamanızı sağlar. [Sadece Operatorler]";
|
||||
" Bu mesaj genelde status penceresinde gösterilir.";
|
||||
" Örn: /PRIVMSG $*.mynet.net Biz, gelecek saat serverımızı yükseltiyor olacağız";
|
||||
" Örn: /PRIVMSG $*.example.org Biz, gelecek saat serverımızı yükseltiyor olacağız";
|
||||
" Hizmetlerin çoğunu not olarak bildirir. (/OS GLOBAL) daha iyi bir alternatifdir.";
|
||||
" -";
|
||||
" Birden fazla hedefe aynı mesajı göndermek isterseniz: /PRIVMSG <nick>,<nick2>,<nick3> <mesaj>.";
|
||||
@@ -649,7 +637,7 @@ help Privmsg {
|
||||
" NOT : Bazı eski clientlerde (örneğin: ircll) /msg komutunu";
|
||||
" gibi gelişmiş özellikleri kullanamazsınız. Kullanabilmeniz için";
|
||||
" '/QUTOE PRIVMSG @#kanal selam' veya benzeri bir komut uygulamanız gerekir.";
|
||||
};
|
||||
}
|
||||
|
||||
help Notice {
|
||||
" Belirtilen hedefe bir metini uyarı modunda gönderir.";
|
||||
@@ -668,7 +656,7 @@ help Notice {
|
||||
" /NOTICE $<maske> <mesaj>";
|
||||
" Belirtilen <maske> de bulunan tüm kullanıcılara notice yollamanızı sağlar. [Sadece Operatorler]";
|
||||
" Bu mesaj genelde status penceresinde gösterilir.";
|
||||
" Örn: /NOTICE $*.mynet.net Gelecek saat, serverımızı yükseltiyor olacağız";
|
||||
" Örn: /NOTICE $*.example.org Gelecek saat, serverımızı yükseltiyor olacağız";
|
||||
" Hizmetlerin çoğunu not olarak bildirir. (/OS GLOBAL) daha iyi bir alternatifdir.";
|
||||
" -";
|
||||
" Birden fazla hedefe aynı mesajı göndermek isterseniz: /NOTICE <nick>,<nick>,<nick>.";
|
||||
@@ -676,7 +664,7 @@ help Notice {
|
||||
" NOT : Bazı eski clientlerde (örneğin: ircll) /notice komutunu";
|
||||
" gibi gelişmiş özellikleri kullanamazsınız. Kullanabilmeniz için";
|
||||
" '/QUTOE NOTICE @#kanal selam' veya benzeri bir komut uygulamanız gerekir.";
|
||||
};
|
||||
}
|
||||
|
||||
help Knock {
|
||||
" Davetsel olan kanallar için, sadece sen \"Knock\" olan bir";
|
||||
@@ -684,14 +672,14 @@ help Knock {
|
||||
" -";
|
||||
" Kullanımı: KNOCK <kanal> <mesaj>";
|
||||
" Örnek: KNOCK #davetsel_kanal Ben opum, beni davet et!";
|
||||
};
|
||||
}
|
||||
|
||||
help Setname {
|
||||
" Tekrar bağlamadan kullanıcıların serverdaki \"Real name\" (GECOS)";
|
||||
" kısmını internet üzerinde değiştirmesi için kullanıcılara izin verir.";
|
||||
" -";
|
||||
" Kullanımı: SETNAME <yeni isim>";
|
||||
};
|
||||
}
|
||||
|
||||
help Vhost {
|
||||
" Gerçek hostadını sanal host adı ile değiştirmeye yarar.";
|
||||
@@ -699,7 +687,7 @@ help Vhost {
|
||||
" -";
|
||||
" Kullanımı: VHOST <giriş> <şifre>";
|
||||
" Örnek: VHOST openbsd ilovecypto";
|
||||
};
|
||||
}
|
||||
|
||||
help Mode {
|
||||
" Bir kanal veya nickin modesini değiştirir.";
|
||||
@@ -708,7 +696,7 @@ help Mode {
|
||||
" Kullanımı: MODE <kanal/nick> <mode>";
|
||||
" Örnek: MODE #Support +tn";
|
||||
" MODE #Support +ootn hAtbLaDe XYZ";
|
||||
};
|
||||
}
|
||||
|
||||
help Credits {
|
||||
" Bu komut, UnrealIRCd'yı yapan, yardım eden bütün";
|
||||
@@ -716,27 +704,27 @@ help Credits {
|
||||
" -";
|
||||
" Kullanımı: CREDITS";
|
||||
" CREDITS <server>";
|
||||
};
|
||||
}
|
||||
|
||||
help Dalinfo {
|
||||
" Bu komut, tarihsel kredileri gösterir. (ircu, vs..)";
|
||||
" -";
|
||||
" Kullanımı: DALINFO";
|
||||
" Kullanımı: DALINFO <server>";
|
||||
};
|
||||
}
|
||||
|
||||
help License {
|
||||
" Bu komut, UnrealIRCd'ın, altında bırakılan lisans bilgisini gösterir.";
|
||||
" Kullanımı: LICENSE";
|
||||
" LICENSE <server>";
|
||||
};
|
||||
}
|
||||
|
||||
help Time {
|
||||
" Serverın güncel tarihini ve zamanının olduğu bir bilgi satırı gösterir.";
|
||||
" -";
|
||||
" Kullanımı: TIME";
|
||||
" TIME <server>";
|
||||
};
|
||||
}
|
||||
|
||||
help Silence {
|
||||
" Bir kullanıcı eklendiği zaman mesaj gelmesini engeller, veya eklenen nickleri listeler.";
|
||||
@@ -744,7 +732,7 @@ help Silence {
|
||||
" Kullanımı: SILENCE +nick (nick ekler.)";
|
||||
" SILENCE -nick (nick siler.)";
|
||||
" SILENCE (Silence listteki nickleri listeler.)";
|
||||
};
|
||||
}
|
||||
|
||||
help Oper {
|
||||
" Bir kullanıcının IRC operatör konumuna geçmesi için doğru bir";
|
||||
@@ -753,7 +741,7 @@ help Oper {
|
||||
" Kullanımı: OPER <nick> <şifre>";
|
||||
" Not: Hem kullanıcı ID, hem de şifre, hassas bir olaydır.";
|
||||
" Örnek: OPER hAtbLaDe foobar234";
|
||||
};
|
||||
}
|
||||
|
||||
help Wallops {
|
||||
" Umodesi +w olan bütün kullanıcılara mesaj göndermesini sağlar.";
|
||||
@@ -761,14 +749,14 @@ help Wallops {
|
||||
" bunları görebilir.";
|
||||
" -";
|
||||
" Kullanımı: WALLOPS <mesaj>";
|
||||
};
|
||||
}
|
||||
|
||||
help Locops {
|
||||
" Bu komut, serverda bütün IRCop'lara bir mesaj yollamasını sağlar. (Yerel).";
|
||||
" -";
|
||||
" Kullanımı: LOCOPS <mesaj>";
|
||||
" Örnek: LOCOPS Gonna kullanıcısına k:line atın ...";
|
||||
};
|
||||
}
|
||||
|
||||
help Globops {
|
||||
" Serverda bütün IRCops'lar global bir mesaj yollayabilir.";
|
||||
@@ -776,7 +764,7 @@ help Globops {
|
||||
" -";
|
||||
" Kullanımı: GLOBOPS <mesaj>";
|
||||
" Örnek: GLOBOPS Kloneleri almaya izin ver ..";
|
||||
};
|
||||
}
|
||||
|
||||
help Kill {
|
||||
" Belirtilen Kullanıcıları IRC serverda bağlantısını kesmek için kullanılan bir komuttur.";
|
||||
@@ -784,7 +772,7 @@ help Kill {
|
||||
" -";
|
||||
" Kullanımı: KILL <nick1>,<nick2>,<nick3>,... <sebeb>";
|
||||
" Örnek: KILL Jack16 Clone yasak!";
|
||||
};
|
||||
}
|
||||
|
||||
help Kline {
|
||||
" Bu komut, bir nicke zamanlı K:Lines atmanızı sağlar.";
|
||||
@@ -799,7 +787,7 @@ help Kline {
|
||||
" KLINE *@*.someisp.com 2d Kötü kullanım (2 günlük kline ekler.)";
|
||||
" KLINE Idiot 1d Kötü kullanım";
|
||||
" KLINE -*@*.aol.com";
|
||||
};
|
||||
}
|
||||
|
||||
help Zline {
|
||||
" Bu komut, bir nicke zamanlı Z:Lines atmanızı sağlar. Eğer bir nick Z:Lines'a uygun";
|
||||
@@ -814,7 +802,7 @@ help Zline {
|
||||
" ZLINE *@127.0.0.1 2d Kötü kullanım (2 günlük Zline ekler.)";
|
||||
" ZLINE -*@127.0.0.1";
|
||||
" NOT: ZLINE atabilme flağına sahip olmaniz gerekir. (can_zline)";
|
||||
};
|
||||
}
|
||||
|
||||
help Gline {
|
||||
" Bu komut, bir nicke zamanlı G:Lines atmanızı sağlar. Eğer bir nick G:Lines'a uygun";
|
||||
@@ -831,7 +819,7 @@ help Gline {
|
||||
" GLINE Idiot 1d Kötü kullanım";
|
||||
" GLINE -*@*.idiot.net";
|
||||
" NOT: GLINE atabilme flağına sahip olmaniz gerekir. (can_gkline)";
|
||||
};
|
||||
}
|
||||
|
||||
help Shun {
|
||||
" ADMIN hariçindeki bir kullanıcının herhangi bir komutu uygulamasını engeller";
|
||||
@@ -849,7 +837,7 @@ help Shun {
|
||||
" (Shuns foobar@aol.com adresine Spam nedeni ile 10dk shun ekler.)";
|
||||
" SHUN +foobar@aol.com 1d6h :Boş mesaj (Spam nedeni ile 30 saat Shun ekler.)";
|
||||
" NOT: SHUN atabilme flağına sahip olmanız gerekir. (can_gkline)";
|
||||
};
|
||||
}
|
||||
|
||||
help Gzline {
|
||||
" Bu komut, bir nicke zamanlı Z:line atmanızı sağlar. Eğer bir nick Z:line'ya uygun";
|
||||
@@ -864,7 +852,7 @@ help Gzline {
|
||||
" Örnek: GZLINE *@4.16.200.* 900 Boş mesaj (15 dk Global Z:line ekler.)";
|
||||
" GZLINE *@4.16.200.* 1d5h Boş mesaj (29 saat Global Z:line ekler.)";
|
||||
" NOT: Gzline atabilme flağına sahip olmanız gerekir. (can_gzline)";
|
||||
};
|
||||
}
|
||||
|
||||
help Rehash {
|
||||
" Yerel bir serverın konfigurasyon dosya(larını) yeniden okumasını sağlar";
|
||||
@@ -885,8 +873,8 @@ help Rehash {
|
||||
" -garbage - Değersiz dataların toplanmasını sağlar";
|
||||
" -motd - Tüm MOTD, BOTMOTD, OPERMOTD ve RULES dosyalarını tekrar okumasını sağlar";
|
||||
" (tld{}'de onlar dahil bloklar)";
|
||||
" -ssl - SSL Sertifikaları yeniden okur";
|
||||
};
|
||||
" -tls - SSL/TLS Sertifikaları yeniden okur";
|
||||
}
|
||||
|
||||
help Restart {
|
||||
" Serverın belirtilen şifre ile yeniden başlatılmasını sağlar.";
|
||||
@@ -896,7 +884,7 @@ help Restart {
|
||||
" Kullanımı: RESTART";
|
||||
" RESTART <şifre>";
|
||||
" RESTART <şifre> <sebeb>";
|
||||
};
|
||||
}
|
||||
|
||||
help Die {
|
||||
" IRC Serverını, belirtilen şifre ile tamamen kapatmasını sağlar.";
|
||||
@@ -905,15 +893,15 @@ help Die {
|
||||
" -";
|
||||
" Kullanımı: DIE";
|
||||
" DIE <şifre>";
|
||||
};
|
||||
}
|
||||
|
||||
help Lag {
|
||||
" Bu komut irc serverları için Traceroute benzeri bir komuttur.";
|
||||
" Eğer /LAG irc.fyremoon.net şeklinde kullanırsanız.";
|
||||
" Eğer /LAG irc.example.org şeklinde kullanırsanız.";
|
||||
" Serverın lag durumunu görmüş olacaksınız.";
|
||||
" -";
|
||||
" Kullanımı: LAG <server>";
|
||||
};
|
||||
}
|
||||
|
||||
help Sethost {
|
||||
" Bu komut, kendinin veya bir kullanıcının virtual host kısmını değiştirmesini sağlar. (Vhost)";
|
||||
@@ -922,7 +910,7 @@ help Sethost {
|
||||
" -";
|
||||
" Kullanımı: SETHOST <yeni host>";
|
||||
" Örnek: SETHOST i.have.hairy.armpits";
|
||||
};
|
||||
}
|
||||
|
||||
help Setident {
|
||||
" Bu komutla, kendinin veya bir kullanıcının Identini değiştirmesini sağlar. (Username.)";
|
||||
@@ -930,7 +918,7 @@ help Setident {
|
||||
" -";
|
||||
" Kullanımı: SETIDENT <yeni ident>";
|
||||
" Örnek: SETIDENT l33t";
|
||||
};
|
||||
}
|
||||
|
||||
help Chghost {
|
||||
" Güncel olarak IRC Serverda bir kullanıcının hostname kısmını değiştirmeyi sağlar.";
|
||||
@@ -938,7 +926,7 @@ help Chghost {
|
||||
" -";
|
||||
" Kullanımı: CHGHOST <nick> <hostismi>";
|
||||
" Örnek: CHGHOST hAtbLaDe root.me.com";
|
||||
};
|
||||
}
|
||||
|
||||
help Chgident {
|
||||
" Güncel olarak IRC Serverda bir kullanıcının IDENT kısmını değiştirmesini sağlar.";
|
||||
@@ -946,7 +934,7 @@ help Chgident {
|
||||
" -";
|
||||
" Kullanımı: CHGIDENT <nick> <ident>";
|
||||
" Örnek: CHGIDENT hAtbLaDe Koyun";
|
||||
};
|
||||
}
|
||||
|
||||
help Chgname {
|
||||
" Güncel olarak IRC Serverda bir kullanıcının \"IRC Name\" veya \"Real Name\" kısmını değiştirmeye yarar.";
|
||||
@@ -954,7 +942,7 @@ help Chgname {
|
||||
" -";
|
||||
" Kullanımı: CHGNAME <nick> <isim>";
|
||||
" Örnek: CHGNAME hAtbLaDe Gotta yeni isim :)";
|
||||
};
|
||||
}
|
||||
|
||||
help Squit {
|
||||
" Network'dan bir IRC Serverın bağlantısının kopmasını sağlar.";
|
||||
@@ -963,7 +951,7 @@ help Squit {
|
||||
" -";
|
||||
" Kullanımı: SQUIT <server>";
|
||||
" Örnek: SQUIT leaf.*";
|
||||
};
|
||||
}
|
||||
|
||||
help Connect {
|
||||
" Bir serverın, güncel olarak üzerinde olduğu başka bir IRC servera bağlar.";
|
||||
@@ -974,7 +962,7 @@ help Connect {
|
||||
" CONNECT <server> <port> <ana server>";
|
||||
" Örnek: CONNECT leaf.*";
|
||||
" CONNECT leaf.* 6667 hub.*";
|
||||
};
|
||||
}
|
||||
|
||||
help Dccdeny {
|
||||
" Belirlenen bir dosya uzantısına, DCC engeli koyar. uzantıyı";
|
||||
@@ -982,14 +970,14 @@ help Dccdeny {
|
||||
" Sadece IRCop'lar kullanabilir.";
|
||||
" -";
|
||||
" Kullanımı: DCCDENY <dosyaismi maskesi> <sebeb>";
|
||||
};
|
||||
}
|
||||
|
||||
help Undccdeny {
|
||||
" Belirlenen bir dosya uzantısında, DCC engeli varsa bu engeli kaldırmasını sağlar.";
|
||||
" Sadece IRCop'lar kullanabilir.";
|
||||
" -";
|
||||
" Kullanımı: UNDCCDENY <dosyaismi maskesi>";
|
||||
};
|
||||
}
|
||||
|
||||
help Sajoin {
|
||||
" Bir kullanıcıyı, zorla kanal yada kanallara girmesini sağlar.";
|
||||
@@ -998,7 +986,7 @@ help Sajoin {
|
||||
" Kullanımı: SAJOIN <nick> <kanal>,[<kanal2>]";
|
||||
" Örnek: SAJOIN hAtbLaDe #OperHelp";
|
||||
" SAJOIN hAtbLaDe #Support,#IRCHelp";
|
||||
};
|
||||
}
|
||||
|
||||
help Sapart {
|
||||
" Bir kullanıcıyı, zorla kanal yada kanallardan çıkmasını sağlar.";
|
||||
@@ -1008,7 +996,7 @@ help Sapart {
|
||||
" Örnek: SAPART hAtbLaDe #OperHelp";
|
||||
" SAPART hAtbLaDe #Support,#IRCHelp";
|
||||
" SAPART hAtbLaDe #Support,#IRCHelp Hoşcakal";
|
||||
};
|
||||
}
|
||||
|
||||
help Samode {
|
||||
" Operatör durumuna sahip olmadan bir kanalın";
|
||||
@@ -1017,24 +1005,24 @@ help Samode {
|
||||
" -";
|
||||
" Kullanımı: SAMODE <kanal> <mode>";
|
||||
" Örnek: SAMODE #Support +m";
|
||||
};
|
||||
}
|
||||
|
||||
help Trace {
|
||||
" TRACE komutunu serverlar veya clientler için kullanabilirsiniz.";
|
||||
" Kullanıcı için uygularsanız size class ını ve lag durumunu gösterir.";
|
||||
" Server için uygularsanız size class,version ve link bilgisini gösterir.";
|
||||
" TRACE Komutu bazı zamanlarda karışabilir özellikle ilk defa kullanıyorsanız.";
|
||||
" -";
|
||||
" Kullanımı: TRACE <server|nick>";
|
||||
" Örnek: TRACE irc.fyremoon.net";
|
||||
};
|
||||
" Kullanıcı için uygularsanız size class ını ve lag durumunu gösterir.";
|
||||
" Server için uygularsanız size class,version ve link bilgisini gösterir.";
|
||||
" TRACE Komutu bazı zamanlarda karışabilir özellikle ilk defa kullanıyorsanız.";
|
||||
" -";
|
||||
" Kullanımı: TRACE <server|nick>";
|
||||
" Örnek: TRACE irc.example.org";
|
||||
}
|
||||
|
||||
help Opermotd {
|
||||
" IRC Operatorler için hazırlanan günün mesajını göstermeyi sağlar.";
|
||||
" Sadece IRCop'lar kullanabilir.";
|
||||
" -";
|
||||
" Kullanımı: OPERMOTD";
|
||||
};
|
||||
}
|
||||
|
||||
help Sdesc {
|
||||
" Bu komutla sen, IRC Serverın bilgi satırını değiştirebilirsin.";
|
||||
@@ -1043,7 +1031,7 @@ help Sdesc {
|
||||
" -";
|
||||
" Kullanımı: SDESC <yeni bilgi>";
|
||||
" Örnek: SDESC Yüksekten uç";
|
||||
};
|
||||
}
|
||||
|
||||
help Mkpasswd {
|
||||
" Bu komut belirlenen bir hash komutu olarak geri döner.";
|
||||
@@ -1053,7 +1041,7 @@ help Mkpasswd {
|
||||
" -";
|
||||
" Kullanımı: MKPASSWD <metod> <şifre>";
|
||||
" Örnek: MKPASSWD argon2 IamTeh1337";
|
||||
};
|
||||
}
|
||||
|
||||
help Module {
|
||||
" Bu komut size yüklü olan modülleri listeler.";
|
||||
@@ -1074,24 +1062,21 @@ help Module {
|
||||
" Sen buna ek olarak, farklı komutlar ve modüllerin listesini göreceksin.";
|
||||
" Ek olarak hookların ve override komutların bir listesini göreceksiniz";
|
||||
" (hook numarası include/modules.h içerisinden görülebilir).";
|
||||
};
|
||||
}
|
||||
|
||||
help Close {
|
||||
" Bu komut, IRC serverından bütün bilinmeyen";
|
||||
" bağlantılarınızı kesmenizi sağlar.";
|
||||
" -";
|
||||
" Kullanımı: CLOSE";
|
||||
};
|
||||
}
|
||||
|
||||
help Tsctl {
|
||||
" İleri düzey olan bu komut dahili irc saatini ayarlar.";
|
||||
" Sadece IRCop'lar kullanabilir.";
|
||||
" -";
|
||||
" Kullanımı: TSCTL OFFSET +|- <zaman> (Dahili irc saatini ayarlar)";
|
||||
" TSCTL TIME (Aktif saati gösterir)";
|
||||
" TSCTL ALLTIME (Tüm serverın aktif saatini gösterir)";
|
||||
" TSCTL SVSTIME <timestamp> (Tüm serverın saatini ayarlar)";
|
||||
};
|
||||
" Kullanımı: TSCTL ALLTIME (Tüm serverın aktif saatini gösterir)";
|
||||
}
|
||||
|
||||
help Svsnick {
|
||||
" Bu komut, bir kullanıcının o an kullandığı nickin başka bir nicke dönüştürmesini sağlar.";
|
||||
@@ -1099,7 +1084,7 @@ help Svsnick {
|
||||
" -";
|
||||
" Kullanımı: SVSNICK <nick> <yeni nick> <süre>";
|
||||
" Örnek: SVSNICK hAtbLaDe Foobar 963086432";
|
||||
};
|
||||
}
|
||||
|
||||
help Svsmode {
|
||||
" Bu komut, bir kullanıcının o an kullandığı modelerini değiştirmesini sağlar.";
|
||||
@@ -1107,7 +1092,7 @@ help Svsmode {
|
||||
" -";
|
||||
" Kullanımı: SVSMODE <nick> <mode>";
|
||||
" Örnek: SVSMODE hAtbLaDe +i";
|
||||
};
|
||||
}
|
||||
|
||||
help Svskill {
|
||||
" Bu komut, bir kullanıcının IRC serverındaki bağlantısının zorla kopmasını sağlar.";
|
||||
@@ -1115,7 +1100,7 @@ help Svskill {
|
||||
" -";
|
||||
" Kullanımı: SVSKILL <nick> :<sebeb>";
|
||||
" Örnek: SVSKILL Lamer21 :Güle Güle";
|
||||
};
|
||||
}
|
||||
|
||||
help Svsnoop {
|
||||
" Bu komut, IRC serverındaki IRCop";
|
||||
@@ -1124,7 +1109,7 @@ help Svsnoop {
|
||||
" -";
|
||||
" Kullanımı: SVSNOOP <server> <+/->";
|
||||
" Örnek: SVSNOOP leaf.* -";
|
||||
};
|
||||
}
|
||||
|
||||
help Svsjoin {
|
||||
" Bu komut, bir kullanıcının kanal yada kanallara zorla girmesini sağlar.";
|
||||
@@ -1133,7 +1118,7 @@ help Svsjoin {
|
||||
" Kullanımı: SVSJOIN <nick> <kanal>[,<kanal2>..] [şifre[,şifre2[..]]]";
|
||||
" Örnek: SVSJOIN hAtbLaDe #jail";
|
||||
" SVSJOIN hAtbLaDe #jail,#zoo";
|
||||
};
|
||||
}
|
||||
|
||||
help Svspart {
|
||||
" Bu komut, bir kullanıcının kanal yada kanallardan zorla çıkmasını sağlar.";
|
||||
@@ -1143,7 +1128,7 @@ help Svspart {
|
||||
" Örnek: SVSPART hAtbLaDe #Hanson";
|
||||
" SVSPART hAtbLaDe #Hanson,#AOL";
|
||||
" SVSPART hAtbLaDe #Hanson,#AOL Sen çıkmalısın";
|
||||
};
|
||||
}
|
||||
|
||||
help Svso {
|
||||
" Bu komut, bir kullanıcıya O:lines yetkilisi gibi IRCop flagları verir.";
|
||||
@@ -1153,7 +1138,7 @@ help Svso {
|
||||
" Kullanımı: SVSO <nick> <+oper-flagları> (OPER flagları ekler.)";
|
||||
" SVSO <nick> - (O:Line flaglarını siler.)";
|
||||
" Örnek: SVSO SomeNick +bBkK";
|
||||
};
|
||||
}
|
||||
|
||||
help Swhois {
|
||||
" Bu komut, bir kullanıcının whois bilgisini değiştirmeyi sağlar.";
|
||||
@@ -1162,7 +1147,7 @@ help Swhois {
|
||||
" Kullanımı: SWHOIS <nick> :<mesaj> (Swhois ekler.)";
|
||||
" SWHOIS <nick> : (Swhois'i temizler.)";
|
||||
" Örnek: SWHOIS SomeNick :is a lamer";
|
||||
};
|
||||
}
|
||||
|
||||
help Sqline {
|
||||
" Bu komut, nick veya nick karakterlerini kullanan kullanıcıları yasaklamasını sağlar.";
|
||||
@@ -1170,7 +1155,7 @@ help Sqline {
|
||||
" -";
|
||||
" Kullanımı: SQLINE <nick> :<sebeb>";
|
||||
" Örnek: SQLINE *Bot* :Botlara Hayır";
|
||||
};
|
||||
}
|
||||
|
||||
help Unsqline {
|
||||
" Bu komut, kullanımı yasaklanmış olan nick veya nick karekterlerinin yeniden kullanılmasını sağlar.";
|
||||
@@ -1178,7 +1163,7 @@ help Unsqline {
|
||||
" -";
|
||||
" Kullanımı: UNSQLINE <nick>";
|
||||
" Örnek: UNSQLINE *Bot*";
|
||||
};
|
||||
}
|
||||
|
||||
help Svs2mode {
|
||||
" Bu komut, bir kullanıcının modelerini zorla değiştirmeyi sağlar.";
|
||||
@@ -1186,7 +1171,7 @@ help Svs2mode {
|
||||
" -";
|
||||
" Kullanımı: SVS2MODE <nick> <kullanıcı modesi>";
|
||||
" Örnek: SVS2MODE hAtbLaDe +h";
|
||||
};
|
||||
}
|
||||
|
||||
help Svsfline {
|
||||
" DCCDENY'e verilmiş dosya adı maskesini ekler veya siler.";
|
||||
@@ -1195,7 +1180,7 @@ help Svsfline {
|
||||
" Kullanımı: :server SVSFLINE + dosya :sebeb (Dosya adı ekler.)";
|
||||
" :server SVSFLINE - dosya (Dosya adı siler.)";
|
||||
" :server SVSFLINE * (DCCDENY listesini temizler.)";
|
||||
};
|
||||
}
|
||||
|
||||
help Svsmotd {
|
||||
" Günün Servisler mesajını ekler veya siler.";
|
||||
@@ -1204,7 +1189,7 @@ help Svsmotd {
|
||||
" SVSMOTD ! (Motd siler.)";
|
||||
" SVSMOTD ! :<mesaj> (bulunan mesaji silip, yenisini ekler.)";
|
||||
" Örnek: SVSMOTD # :Services MOTD";
|
||||
};
|
||||
}
|
||||
|
||||
help Svsnline {
|
||||
" Global bir realname (isim) yasağını ekler.";
|
||||
@@ -1217,7 +1202,7 @@ help Svsnline {
|
||||
" SVSNLINE - :<isim> (eklenmiş bir banı kaldırır.)";
|
||||
" SVSNLINE * (eklenmiş tüm banları kaldırır.)";
|
||||
" Örnek: SVSNLINE + sub7_drone :*sub7*";
|
||||
};
|
||||
}
|
||||
|
||||
help Svslusers {
|
||||
" Global ve/veya Yerel maksimum kullanıcı sayısını değiştirir.";
|
||||
@@ -1225,15 +1210,15 @@ help Svslusers {
|
||||
" Sadece U:Lined (Servisler)'den gönderilebilir.";
|
||||
" -";
|
||||
" Kullanımı: SVSLUSERS <server> <globalmax|-1> <localmax|-1>";
|
||||
" Örnek: SVSLUSERS irc.test.com -1 200";
|
||||
};
|
||||
" Örnek: SVSLUSERS irc.example.org -1 200";
|
||||
}
|
||||
|
||||
help Svswatch {
|
||||
" Bir kullanıcının, WATCH listesini değiştirmeyi sağlar.";
|
||||
" Sadece U:Lined (Servis'den) gönderilebilir.";
|
||||
" Kullanımı: SVSWATCH <nick> :<watch parametresi>";
|
||||
" Örnek: SVSWATCH Blah :+Blih!*@* +Bluh!*@* +Bleh!*@*.com";
|
||||
};
|
||||
}
|
||||
|
||||
help Svssilence {
|
||||
" Bir kullanıcının, SILENCE listesini değiştirmeyi sağlar.";
|
||||
@@ -1242,7 +1227,7 @@ help Svssilence {
|
||||
" ekleme/çıkarma yapabilirsiniz.";
|
||||
" Kullanımı: SVSSILENCE <nick> :<silence parametreleri>";
|
||||
" Örnek: SVSSILENCE Blah :+*!*@*.com +*!*@*.bla.co.uk";
|
||||
};
|
||||
}
|
||||
|
||||
help Svssno {
|
||||
" Bu komut, bir kullanıcının snomasklarını değiştirmesini sağlar.";
|
||||
@@ -1250,7 +1235,7 @@ help Svssno {
|
||||
" -";
|
||||
" Kullanımı: SVSSNO <nick> <snomasklar>";
|
||||
" Örnek: SVSSNO joe +Gc";
|
||||
};
|
||||
}
|
||||
|
||||
help Svs2sno {
|
||||
" Bu komut, bir kullanıcının zorla snomasklarını";
|
||||
@@ -1259,7 +1244,7 @@ help Svs2sno {
|
||||
" -";
|
||||
" Kullanımı: SVS2SNO <nick> <snomasklar>";
|
||||
" Örnek: SVS2SNO joe +Gc";
|
||||
};
|
||||
}
|
||||
|
||||
help Svsnolag {
|
||||
" Bir kullanıcı için 'sahte gecikmeme' olanağı sağlar.";
|
||||
@@ -1267,14 +1252,14 @@ help Svsnolag {
|
||||
" -";
|
||||
" Syntax: SVSNOLAG [+|-] <nickname>";
|
||||
" Example: SVSNOLAG + joe";
|
||||
};
|
||||
}
|
||||
help Svs2nolag {
|
||||
" Bir kullanıcı için 'sahte gecikmeme' olanağı sağlar.";
|
||||
" Sadece U:Lined (Servisler)'den gönderilebilir.";
|
||||
" -";
|
||||
" Kullanım: SVS2NOLAG [+|-] <nickname>";
|
||||
" Örnek: SVS2NOLAG + joe";
|
||||
};
|
||||
}
|
||||
|
||||
help Spamfilter {
|
||||
" Bu komut ekleme/temizleme olarak global boş mesajları filtreler.";
|
||||
@@ -1293,13 +1278,13 @@ help Spamfilter {
|
||||
" 'kline', 'gline', 'zline', 'gzline', 'block' (mesajı blocklar),";
|
||||
" 'dccblock' (Dcc'leri herhangi şekilde yollamak mümkün değil.), 'viruschan' ";
|
||||
" (Bütün kanallardan çıkarır ve virüs yardım kanalına sokar.), 'warn' (IRC Operatorleri uyarır.)";
|
||||
" [string] Bu engellenmesi gereken gerçek dizedir (regex veya simple örneğine göre yapılır)";
|
||||
" [tkltime] *LINEs çizgilerin, hareket ile yerleştirdiği süre (süre belirtmek";
|
||||
" istemezseniz yerine '-' işareti belirtmek zorundasınız";
|
||||
" set::spamfilter::ban-time, ignore eder veya block/tempshun koyar');";
|
||||
" [reason] *LINE mesajın blocklanması için sebeb belirtmelisiniz, BOŞLUKLARI İÇERMEZ,";
|
||||
" '_' işareti boşluklara çevirilecektir. Eğer sen sebeb yerine,";
|
||||
" '-' işareti kullanırsan, (set::spamfilter::ban-reason) olarak yansıyacaktır.";
|
||||
" [string] Bu engellenmesi gereken gerçek dizedir (regex veya simple örneğine göre yapılır)";
|
||||
" - ";
|
||||
" Birkaç örnek (Not: örnek komutlar satırlara bölünmüş olabilir):";
|
||||
" /spamfilter add -simple p block - - Hemen seni webcamıma bekliyorum.";
|
||||
@@ -1310,7 +1295,7 @@ help Spamfilter {
|
||||
" /spamfilter add -simple p kill - Lütfen_www.viruscan.xx/nicepage/virus=blah_adresine_tıklayın. Hemen seni webcamıma bekliyorum.";
|
||||
" /spamfilter del -simple p block - - Hemen seni webcamıma bekliyorum*";
|
||||
" /spamfilter add -regex cN gzline 1d Lütfen_reklam_yapmayınız. irc\..+\..+ adresine bekliyorum.";
|
||||
};
|
||||
}
|
||||
|
||||
help Tempshun {
|
||||
" Geçici SHUN ekler/kaldırır.Geçici shun listesine eklenen nick";
|
||||
@@ -1319,26 +1304,25 @@ help Tempshun {
|
||||
" Kullanımı: TEMPSHUN [+|-]<nick> [sebeb]";
|
||||
" Örnek: TEMPSHUN evilguy Rahatsızlık vermeyiniz!";
|
||||
" TEMPSHUN -niceguy";
|
||||
};
|
||||
}
|
||||
|
||||
help DccAllow {
|
||||
" DCCALLOW sistemi hakkında yardım almak için '/DCCALLOW HELP' yazınız.";
|
||||
/* It would be useless and bad to include it here since that stuff quickly gets out of synch
|
||||
* stuff quickly gets out-of-synch.
|
||||
*/
|
||||
};
|
||||
}
|
||||
|
||||
help Addmotd {
|
||||
" MOTD sonuna yeni bir dizin ekler.";
|
||||
" -";
|
||||
" Kullanımı: ADDMOTD <yazı>";
|
||||
" Örnek: ADDMOTD Güzel oyna!";
|
||||
};
|
||||
}
|
||||
|
||||
help Addomotd {
|
||||
" OPERMOTD sonuna yeni bir dizin ekler.";
|
||||
" -";
|
||||
" Kullanımı: ADDOMOTD <yazı>";
|
||||
" Örnek: ADDOMOTD Onu kötü kullan ve onu kaybet!";
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
+130
-105
@@ -29,116 +29,116 @@ loadmodule "cloak";
|
||||
// User commands (MINIMAL)
|
||||
// These provide just the minimal set of IRC commands that are
|
||||
// required by RFC1459 along with WATCH and MAP.
|
||||
loadmodule "m_admin";
|
||||
loadmodule "m_away";
|
||||
loadmodule "m_invite";
|
||||
loadmodule "m_ison";
|
||||
loadmodule "m_join";
|
||||
loadmodule "m_kick";
|
||||
loadmodule "m_links";
|
||||
loadmodule "m_list";
|
||||
loadmodule "m_lusers";
|
||||
loadmodule "m_map";
|
||||
loadmodule "m_message";
|
||||
loadmodule "m_mode";
|
||||
loadmodule "m_motd";
|
||||
loadmodule "m_names";
|
||||
loadmodule "m_nick";
|
||||
loadmodule "m_part";
|
||||
loadmodule "m_pass";
|
||||
loadmodule "m_pingpong";
|
||||
loadmodule "m_protoctl";
|
||||
loadmodule "m_quit";
|
||||
loadmodule "m_rules";
|
||||
loadmodule "m_topic";
|
||||
loadmodule "m_user";
|
||||
loadmodule "m_userhost";
|
||||
loadmodule "m_watch";
|
||||
loadmodule "m_who";
|
||||
loadmodule "m_whois";
|
||||
loadmodule "m_whowas";
|
||||
loadmodule "admin";
|
||||
loadmodule "away";
|
||||
loadmodule "invite";
|
||||
loadmodule "ison";
|
||||
loadmodule "join";
|
||||
loadmodule "kick";
|
||||
loadmodule "links";
|
||||
loadmodule "list";
|
||||
loadmodule "lusers";
|
||||
loadmodule "map";
|
||||
loadmodule "message";
|
||||
loadmodule "mode";
|
||||
loadmodule "motd";
|
||||
loadmodule "names";
|
||||
loadmodule "nick";
|
||||
loadmodule "part";
|
||||
loadmodule "pass";
|
||||
loadmodule "pingpong";
|
||||
loadmodule "protoctl";
|
||||
loadmodule "quit";
|
||||
loadmodule "rules";
|
||||
loadmodule "topic";
|
||||
loadmodule "user";
|
||||
loadmodule "userhost";
|
||||
loadmodule "watch";
|
||||
loadmodule "whox";
|
||||
loadmodule "whois";
|
||||
loadmodule "whowas";
|
||||
|
||||
// User commands (EXTENDED)
|
||||
// These are commands that provide extended functionality.
|
||||
loadmodule "m_botmotd";
|
||||
loadmodule "m_cap";
|
||||
loadmodule "m_cycle";
|
||||
loadmodule "m_dccallow";
|
||||
loadmodule "m_help";
|
||||
loadmodule "m_knock";
|
||||
loadmodule "m_lag";
|
||||
loadmodule "m_sasl";
|
||||
loadmodule "m_setname";
|
||||
loadmodule "m_silence";
|
||||
loadmodule "m_starttls";
|
||||
loadmodule "m_time";
|
||||
loadmodule "m_userip";
|
||||
loadmodule "m_vhost";
|
||||
loadmodule "botmotd";
|
||||
loadmodule "cap";
|
||||
loadmodule "cycle";
|
||||
loadmodule "dccallow";
|
||||
loadmodule "help";
|
||||
loadmodule "knock";
|
||||
loadmodule "lag";
|
||||
loadmodule "sasl";
|
||||
loadmodule "setname";
|
||||
loadmodule "silence";
|
||||
loadmodule "starttls";
|
||||
loadmodule "time";
|
||||
loadmodule "userip";
|
||||
loadmodule "vhost";
|
||||
loadmodule "history";
|
||||
|
||||
// IRC Operator commands
|
||||
// Note: several of these like m_kill are also server-to-server commands
|
||||
// Note: several of these like kill are also server-to-server commands
|
||||
// which are required if you link to other servers.
|
||||
loadmodule "m_addmotd";
|
||||
loadmodule "m_addomotd";
|
||||
loadmodule "m_chghost";
|
||||
loadmodule "m_chgident";
|
||||
loadmodule "m_chgname";
|
||||
loadmodule "m_close";
|
||||
loadmodule "m_connect";
|
||||
loadmodule "m_squit";
|
||||
loadmodule "m_dccdeny";
|
||||
loadmodule "m_globops";
|
||||
loadmodule "m_kill"; /* also server-to-server */
|
||||
loadmodule "m_locops";
|
||||
loadmodule "m_mkpasswd";
|
||||
loadmodule "m_oper";
|
||||
loadmodule "m_opermotd";
|
||||
loadmodule "m_sajoin";
|
||||
loadmodule "m_samode";
|
||||
loadmodule "m_sapart";
|
||||
loadmodule "m_sdesc";
|
||||
loadmodule "m_sethost";
|
||||
loadmodule "m_setident";
|
||||
loadmodule "m_stats";
|
||||
loadmodule "m_tkl"; /* also server-to-server */
|
||||
loadmodule "m_trace";
|
||||
loadmodule "m_tsctl";
|
||||
loadmodule "m_undccdeny";
|
||||
loadmodule "m_unsqline";
|
||||
loadmodule "m_wallops";
|
||||
loadmodule "addmotd";
|
||||
loadmodule "addomotd";
|
||||
loadmodule "chghost";
|
||||
loadmodule "chgident";
|
||||
loadmodule "chgname";
|
||||
loadmodule "close";
|
||||
loadmodule "connect";
|
||||
loadmodule "squit";
|
||||
loadmodule "dccdeny";
|
||||
loadmodule "globops";
|
||||
loadmodule "kill"; /* also server-to-server */
|
||||
loadmodule "locops";
|
||||
loadmodule "mkpasswd";
|
||||
loadmodule "oper";
|
||||
loadmodule "opermotd";
|
||||
loadmodule "sajoin";
|
||||
loadmodule "samode";
|
||||
loadmodule "sapart";
|
||||
loadmodule "sdesc";
|
||||
loadmodule "sethost";
|
||||
loadmodule "setident";
|
||||
loadmodule "stats";
|
||||
loadmodule "tkl"; /* also server-to-server */
|
||||
loadmodule "trace";
|
||||
loadmodule "tsctl";
|
||||
loadmodule "unsqline";
|
||||
loadmodule "wallops";
|
||||
loadmodule "jumpserver";
|
||||
|
||||
// Server-to-server commands
|
||||
// Don't remove these, unless you never link to other servers.
|
||||
loadmodule "m_eos";
|
||||
loadmodule "m_md";
|
||||
loadmodule "m_netinfo";
|
||||
loadmodule "m_server";
|
||||
loadmodule "m_sjoin";
|
||||
loadmodule "m_sqline";
|
||||
loadmodule "m_swhois";
|
||||
loadmodule "m_umode2";
|
||||
loadmodule "m_sinfo";
|
||||
loadmodule "eos";
|
||||
loadmodule "md";
|
||||
loadmodule "netinfo";
|
||||
loadmodule "server";
|
||||
loadmodule "sjoin";
|
||||
loadmodule "sqline";
|
||||
loadmodule "swhois";
|
||||
loadmodule "umode2";
|
||||
loadmodule "sinfo";
|
||||
loadmodule "require-module";
|
||||
|
||||
// Services commands
|
||||
// You could disable these if you don't use Services
|
||||
// https://www.unrealircd.org/docs/Services
|
||||
loadmodule "m_sendsno";
|
||||
loadmodule "m_sendumode";
|
||||
loadmodule "m_svsfline";
|
||||
loadmodule "m_svsjoin";
|
||||
loadmodule "m_svskill";
|
||||
loadmodule "m_svslusers";
|
||||
loadmodule "m_svsmode";
|
||||
loadmodule "m_svsmotd";
|
||||
loadmodule "m_svsnick";
|
||||
loadmodule "m_svsnline";
|
||||
loadmodule "m_svsnolag";
|
||||
loadmodule "m_svsnoop";
|
||||
loadmodule "m_svspart";
|
||||
loadmodule "m_svssilence";
|
||||
loadmodule "m_svssno";
|
||||
loadmodule "m_svswatch";
|
||||
loadmodule "sendsno";
|
||||
loadmodule "sendumode";
|
||||
loadmodule "svsjoin";
|
||||
loadmodule "svskill";
|
||||
loadmodule "svslusers";
|
||||
loadmodule "svsmode";
|
||||
loadmodule "svsmotd";
|
||||
loadmodule "svsnick";
|
||||
loadmodule "svsnline";
|
||||
loadmodule "svsnolag";
|
||||
loadmodule "svsnoop";
|
||||
loadmodule "svspart";
|
||||
loadmodule "svssilence";
|
||||
loadmodule "svssno";
|
||||
loadmodule "svswatch";
|
||||
|
||||
|
||||
/*** Channel modes ***/
|
||||
@@ -160,6 +160,7 @@ loadmodule "chanmodes/nonickchange"; /* +N */
|
||||
loadmodule "chanmodes/nokick"; /* +Q */
|
||||
loadmodule "chanmodes/regonlyspeak"; /* +M */
|
||||
loadmodule "chanmodes/secureonly"; /* +z */
|
||||
loadmodule "chanmodes/history"; /* +H */
|
||||
|
||||
|
||||
/*** User modes ***/
|
||||
@@ -184,7 +185,6 @@ loadmodule "extbans/join"; /* +b ~j (prevent only joins) */
|
||||
loadmodule "extbans/quiet"; /* +b ~q (prevent only messaging) */
|
||||
loadmodule "extbans/nickchange"; /* +b ~n (prevent only nick changes) */
|
||||
loadmodule "extbans/realname"; /* +b ~r (ban by real name) */
|
||||
loadmodule "extbans/regnick"; /* +b ~R (ban/exempt if using registered nick) */
|
||||
loadmodule "extbans/account"; /* +b ~a (ban/exempt if logged in with services account) */
|
||||
loadmodule "extbans/inchannel"; /* +b ~c (ban/exempt if in channel) */
|
||||
loadmodule "extbans/operclass"; /* +b ~O (ban/exempt by operclass) */
|
||||
@@ -192,20 +192,45 @@ loadmodule "extbans/certfp"; /* +b ~S (ban/exempt by certfp) */
|
||||
loadmodule "extbans/textban"; /* +b ~T (censor or block text) */
|
||||
loadmodule "extbans/msgbypass"; /* +e ~m (bypass message restrictions) */
|
||||
loadmodule "extbans/timedban"; /* +b ~t (timed bans / temporary bans) */
|
||||
loadmodule "extbans/partmsg"; /* +b ~p (hide part/quit message) */
|
||||
loadmodule "extbans/securitygroup"; /* +b ~G (security group) */
|
||||
|
||||
|
||||
/*** CAP modules ***/
|
||||
loadmodule "cap/sts"; /* strict transport policy (set::ssl::sts-policy) */
|
||||
loadmodule "cap/plaintext-policy"; /* plaintext-policy announce */
|
||||
loadmodule "cap/link-security"; /* link-security announce */
|
||||
/** IRCv3 extensions */
|
||||
loadmodule "account-notify"; /* send ACCOUNT message upon services account login */
|
||||
loadmodule "message-tags"; /* add tags to messages, required for various IRCv3 features */
|
||||
loadmodule "batch"; /* also required for several IRCv3 features */
|
||||
loadmodule "server-time"; /* adds server timestamp to various messages */
|
||||
loadmodule "message-ids"; /* adds unique msgid to various messages */
|
||||
loadmodule "account-tag"; /* adds services account information to messages */
|
||||
loadmodule "echo-message"; /* shows clients if their messages are altered/filtered */
|
||||
loadmodule "labeled-response"; /* correlate requests and responses easily */
|
||||
loadmodule "bot-tag"; /* indicate the message comes from a bot (draft/bot) */
|
||||
loadmodule "typing-indicator"; /* typing indicator in PM and channels (+typing) */
|
||||
loadmodule "reply-tag"; /* indicate to which message you are responding (+draft/reply) */
|
||||
loadmodule "clienttagdeny"; /* informs clients about supported client-only message tags */
|
||||
loadmodule "sts"; /* strict transport policy (set::tls::sts-policy) */
|
||||
loadmodule "link-security"; /* link-security announce */
|
||||
loadmodule "plaintext-policy"; /* plaintext-policy announce */
|
||||
|
||||
|
||||
/*** Other ***/
|
||||
// These are modules that don't fit in any of the previous sections
|
||||
|
||||
loadmodule "certfp"; /* SSL certificate fingerprint in /WHOIS (& more) */
|
||||
loadmodule "ssl_antidos"; /* prevent SSL DoS (renegotiate floods) */
|
||||
loadmodule "m_nopost"; /* Block POST commands (Firefox XPS IRC Attack) */
|
||||
loadmodule "ident_lookup"; /* Ident lookups if set::options::identd-check is set*/
|
||||
loadmodule "certfp"; /* SSL/TLS certificate fingerprint in /WHOIS (& more) */
|
||||
loadmodule "tls_antidos"; /* prevent TLS DoS (renegotiate floods) */
|
||||
loadmodule "webirc"; /* WEBIRC command. See webirc block. */
|
||||
loadmodule "blacklist"; /* Blacklist support (DNSBL). See blacklist block. */
|
||||
loadmodule "jointhrottle"; /* set::anti-flood::join-flood (previously chanmode +j) */
|
||||
loadmodule "charsys"; /* Provides set::allowed-nickchars (must always be loaded!) */
|
||||
loadmodule "authprompt"; /* Authentication prompt, see set::authentication-prompt */
|
||||
loadmodule "history_backend_mem"; /* History storage backend (used by chanmodes/history) */
|
||||
loadmodule "tkldb"; /* Write TKLines to .db file */
|
||||
loadmodule "channeldb"; /* Write channel settings to .db file (+P channels only) */
|
||||
loadmodule "rmtkl"; /* Easily remove *-Lines in bulk with /RMTKL */
|
||||
loadmodule "restrict-commands"; /* Provides set::restrict-commands settings */
|
||||
loadmodule "reputation"; /* used by Connthrottle and others, see next */
|
||||
loadmodule "connthrottle"; /* see https://www.unrealircd.org/docs/Connthrottle */
|
||||
loadmodule "userip-tag"; /* unrealircd.org/userip tag for ircops */
|
||||
loadmodule "userhost-tag"; /* unrealircd.org/userhost tag for ircops */
|
||||
loadmodule "targetfloodprot"; /* set::anti-flood::target-flood protection */
|
||||
|
||||
+21
-100
@@ -15,12 +15,12 @@
|
||||
|
||||
// This add the /IRCOPS command: A more visual way for users
|
||||
// to see which IRCOps are online.
|
||||
loadmodule "m_ircops";
|
||||
loadmodule "ircops";
|
||||
|
||||
// This adds the /STAFF command: This command simply displays
|
||||
// a text file that you can configure here:
|
||||
loadmodule "m_staff";
|
||||
set { staff-file "network.staff"; };
|
||||
loadmodule "staff";
|
||||
set { staff-file "network.staff"; }
|
||||
|
||||
|
||||
/*** Channel modes ***/
|
||||
@@ -36,7 +36,8 @@ loadmodule "nocodes";
|
||||
// The hideserver module will hide /MAP and /LINKS to regular users.
|
||||
// It does not truly enhance security as server names can still be
|
||||
// seen at other places.
|
||||
loadmodule "hideserver";
|
||||
// Comment out the following line to enable this:
|
||||
// loadmodule "hideserver";
|
||||
|
||||
// The antirandom module will kill or *line users that have a nick,
|
||||
// ident and/or realname that is considered "random".
|
||||
@@ -126,7 +127,7 @@ set {
|
||||
except-hosts {
|
||||
mask 192.168.*;
|
||||
mask 127.*;
|
||||
};
|
||||
}
|
||||
|
||||
/* EXCEPT-WEBIRC:
|
||||
* This will make antirandom not check connections from WEBIRC gateways.
|
||||
@@ -135,17 +136,22 @@ set {
|
||||
* default is 'yes'.
|
||||
*/
|
||||
except-webirc yes;
|
||||
};
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
// This module will send a HTTP 301 redirect to any client which sends
|
||||
// a HTTP request to us. This is commented out by default:
|
||||
//loadmodule "webredir";
|
||||
//set {
|
||||
// webredir {
|
||||
// url "https://...";
|
||||
// }
|
||||
//}
|
||||
|
||||
// This adds websocket support. For more information, see:
|
||||
// https://www.unrealircd.org/docs/WebSocket_support
|
||||
loadmodule "websocket";
|
||||
|
||||
// This adds support for WHOX
|
||||
// This is currently experimental!
|
||||
loadmodule "m_whox";
|
||||
|
||||
// This module will detect and stop spam containing of characters of
|
||||
// mixed "scripts", where (for example) some characters are in
|
||||
// Latin script and other characters are in Cyrillic script.
|
||||
@@ -167,93 +173,8 @@ set {
|
||||
|
||||
/* Duration of ban (does not apply to block/kill) */
|
||||
ban-time 4h; // For other types
|
||||
};
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
// This provides an authentication prompt if a user is forced to
|
||||
// authenticate due to a 'require authentication' block or for
|
||||
// some other reason. It tells them to use SASL or type /AUTH user:pass
|
||||
// See also the following article for more general information:
|
||||
// https://www.unrealircd.org/docs/Authentication
|
||||
// NOTE: This feature is currently experimental.
|
||||
loadmodule "authprompt";
|
||||
set {
|
||||
authentication-prompt {
|
||||
/* Enabled or not? */
|
||||
enabled yes;
|
||||
|
||||
message "The server requires clients from this IP address to authenticate with a registered nickname and password.";
|
||||
message "Please reconnect using SASL, or authenticate now by typing: /QUOTE AUTH nick:password";
|
||||
/* As you can see you can have multiple 'message' items.
|
||||
* It may be useful to refer to a webpage for more
|
||||
* information and/or where users can register their nick.
|
||||
*/
|
||||
|
||||
//fail-message "Authentication failed";
|
||||
/* Multiple fail-message lines are also supported */
|
||||
};
|
||||
};
|
||||
// If you use the authprompt module then you may want to raise the
|
||||
// timeout in which users must complete the handshake.
|
||||
// By uncommenting the following, you can raise it from 30 to 60 seconds:
|
||||
// set { handshake-timeout 60s; };
|
||||
|
||||
/*
|
||||
* The following will configure connection throttling of "unknown users".
|
||||
*
|
||||
* When UnrealIRCd detects a high number of users connecting from IP addresses
|
||||
* that have not been seen before, then connections from new IP's are rejected
|
||||
* above the set rate. For example at 10:60 only 10 users per minute can connect
|
||||
* that have not been seen before. Known IP addresses can always get in,
|
||||
* regardless of the set rate. Same for users who login using SASL.
|
||||
*
|
||||
* See also https://www.unrealircd.org/docs/Connthrottle
|
||||
* Or just keep reading the default configuration below:
|
||||
*/
|
||||
|
||||
loadmodule "reputation";
|
||||
loadmodule "connthrottle";
|
||||
|
||||
set {
|
||||
connthrottle {
|
||||
/* First we must configure what we call "known users".
|
||||
* By default these are users on IP addresses that have
|
||||
* a score of 24 or higher. A score of 24 means that the
|
||||
* IP was connected to this network for at least 2 hours
|
||||
* in the past month (or minimum 1 hour if registered).
|
||||
* The sasl-bypass option is another setting. It means
|
||||
* that users who authenticate to services via SASL
|
||||
* are considered known users as well.
|
||||
* Users in the "known-users" group (either by reputation
|
||||
* or by SASL) are always allowed in by this module.
|
||||
*/
|
||||
known-users {
|
||||
minimum-reputation-score 24;
|
||||
sasl-bypass yes;
|
||||
};
|
||||
|
||||
/* New users are all users that do not belong in the
|
||||
* known-users group. They are considered "new" and in
|
||||
* case of a high number of such new users connecting
|
||||
* they are subject to connection rate limiting.
|
||||
* By default the rate is 20 new local users per minute
|
||||
* and 30 new global users per minute.
|
||||
*/
|
||||
new-users {
|
||||
local-throttle 20:60;
|
||||
global-throttle 30:60;
|
||||
};
|
||||
|
||||
/* This configures when this module will NOT be active.
|
||||
* The default settings will disable the module when:
|
||||
* - The reputation module has been running for less than
|
||||
* a week. If running less than 1 week then there is
|
||||
* insufficient data to consider who is a "known user".
|
||||
* - The server has just been booted up (first 3 minutes).
|
||||
*/
|
||||
disabled-when {
|
||||
reputation-gathering 1w;
|
||||
start-delay 3m;
|
||||
};
|
||||
};
|
||||
};
|
||||
// Currently incomplete and experimental:
|
||||
loadmodule "chathistory";
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
#
|
||||
# This file contains the list of repositories that are used
|
||||
# by the './unrealircd module' command.
|
||||
# Note that 3rd party modules are NOT written by the UnrealIRCd team.
|
||||
# Use such modules at your own risk. In case of problems, contact
|
||||
# the module author. For more information, see:
|
||||
# https://www.unrealircd.org/docs/Module_manager
|
||||
#
|
||||
|
||||
#
|
||||
# This is the unrealircd-contrib repository which is added by default in
|
||||
# UnrealIRCd 5 to make it easy for users to install 3rd party modules.
|
||||
# If you are a module coder and want to add your module to this repository
|
||||
# as well, then read the rules and procedure at:
|
||||
# https://www.unrealircd.org/docs/Rules_for_3rd_party_modules_in_unrealircd-contrib
|
||||
#
|
||||
https://modules.unrealircd.org/modules.list
|
||||
|
||||
# You can add more repositories here. However, do note that all
|
||||
# URLs MUST start with https://
|
||||
|
||||
@@ -22,119 +22,123 @@
|
||||
operclass locop {
|
||||
permissions {
|
||||
chat;
|
||||
channel { operonly; override { flood; }; };
|
||||
client { see; };
|
||||
channel { operonly; override { flood; } }
|
||||
client { see; }
|
||||
immune;
|
||||
self;
|
||||
server { opermotd; info; close; module; dns; rehash; };
|
||||
route { local; };
|
||||
kill { local; };
|
||||
self { getbaddcc; opermodes; set; }
|
||||
server { opermotd; info; close; module; dns; rehash; }
|
||||
route { local; }
|
||||
kill { local; }
|
||||
server-ban {
|
||||
kline;
|
||||
zline { local; };
|
||||
};
|
||||
};
|
||||
};
|
||||
zline { local; }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Global IRC Operator */
|
||||
operclass globop {
|
||||
permissions {
|
||||
chat;
|
||||
channel { operonly; see; override { flood; }; };
|
||||
channel { operonly; see; override { flood; } }
|
||||
client;
|
||||
immune;
|
||||
self;
|
||||
self { getbaddcc; opermodes; set; }
|
||||
server { opermotd; info; close; module; dns; rehash;
|
||||
remote; tsctl { view; }; };
|
||||
remote; tsctl { view; } }
|
||||
route;
|
||||
kill;
|
||||
server-ban { dccdeny; shun; zline; kline; gline; };
|
||||
};
|
||||
};
|
||||
server-ban { dccdeny; shun; zline; kline; gline; }
|
||||
}
|
||||
}
|
||||
|
||||
/* Server administrator */
|
||||
operclass admin {
|
||||
permissions {
|
||||
chat;
|
||||
channel { operonly; see; override { flood; }; };
|
||||
channel { operonly; see; override { flood; } }
|
||||
client;
|
||||
immune;
|
||||
self;
|
||||
self { getbaddcc; opermodes; set; }
|
||||
server { opermotd; info; close; module; dns; rehash;
|
||||
remote; description; addmotd;
|
||||
addomotd; tsctl { view; }; };
|
||||
addomotd; tsctl { view; } }
|
||||
route;
|
||||
kill;
|
||||
server-ban;
|
||||
};
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
/* Services Admin */
|
||||
operclass services-admin {
|
||||
permissions {
|
||||
chat;
|
||||
channel { operonly; see; override { flood; }; };
|
||||
channel { operonly; see; override { flood; } }
|
||||
client;
|
||||
immune;
|
||||
self;
|
||||
self { getbaddcc; opermodes; set; }
|
||||
server { opermotd; info; close; module; dns; rehash;
|
||||
remote; description; addmotd;
|
||||
addomotd; tsctl { view; }; };
|
||||
addomotd; tsctl { view; } }
|
||||
route;
|
||||
kill;
|
||||
server-ban;
|
||||
sacmd;
|
||||
services;
|
||||
};
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
/* Network Administrator */
|
||||
operclass netadmin {
|
||||
permissions {
|
||||
chat;
|
||||
channel { operonly; see; override { flood; }; };
|
||||
channel { operonly; see; override { flood; } }
|
||||
client;
|
||||
immune;
|
||||
self;
|
||||
self { getbaddcc; opermodes; set; }
|
||||
server { opermotd; info; close; module; dns; rehash;
|
||||
remote; description; addmotd;
|
||||
addomotd; tsctl; };
|
||||
addomotd; tsctl; }
|
||||
route;
|
||||
kill;
|
||||
server-ban;
|
||||
sacmd;
|
||||
services;
|
||||
};
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
/* Same as 'globop' operclass, but with OperOverride capabilities added */
|
||||
operclass globop-with-override {
|
||||
parent globop;
|
||||
permissions {
|
||||
channel { operonly; see; override; };
|
||||
};
|
||||
};
|
||||
channel { operonly; see; override; }
|
||||
self { getbaddcc; opermodes; set; unkickablemode; }
|
||||
}
|
||||
}
|
||||
|
||||
/* Same as 'admin' operclass, but with OperOverride capabilities added */
|
||||
operclass admin-with-override {
|
||||
parent admin;
|
||||
permissions {
|
||||
channel { operonly; see; override; };
|
||||
};
|
||||
};
|
||||
channel { operonly; see; override; }
|
||||
self { getbaddcc; opermodes; set; unkickablemode; }
|
||||
}
|
||||
}
|
||||
|
||||
/* Same as 'services-admin' operclass, but with OperOverride capabilities added */
|
||||
operclass services-admin-with-override {
|
||||
parent services-admin;
|
||||
permissions {
|
||||
channel { operonly; see; override; };
|
||||
};
|
||||
};
|
||||
channel { operonly; see; override; }
|
||||
self { getbaddcc; opermodes; set; unkickablemode; }
|
||||
}
|
||||
}
|
||||
|
||||
/* Same as 'netadmin' operclass, but with OperOverride capabilities added */
|
||||
operclass netadmin-with-override {
|
||||
parent netadmin;
|
||||
permissions {
|
||||
channel { operonly; see; override; };
|
||||
};
|
||||
};
|
||||
channel { operonly; see; override; }
|
||||
self { getbaddcc; opermodes; set; unkickablemode; }
|
||||
}
|
||||
}
|
||||
|
||||
+14
-14
@@ -29,7 +29,7 @@ spamfilter {
|
||||
target private;
|
||||
action gline;
|
||||
reason "Infected by fyle trojan: see http://www.sophos.com/virusinfo/analyses/trojfylexa.html";
|
||||
};
|
||||
}
|
||||
|
||||
/* This signature uses a \ which has to escaped to \\ in the configuration file */
|
||||
spamfilter {
|
||||
@@ -38,7 +38,7 @@ spamfilter {
|
||||
target dcc;
|
||||
action block;
|
||||
reason "Infected by Gaggle worm?";
|
||||
};
|
||||
}
|
||||
|
||||
spamfilter {
|
||||
match-type simple;
|
||||
@@ -46,7 +46,7 @@ spamfilter {
|
||||
target private;
|
||||
action gline;
|
||||
reason "Infected by mirseed trojan: see http://www.sophos.com/virusinfo/analyses/trojmirseeda.html";
|
||||
};
|
||||
}
|
||||
|
||||
spamfilter {
|
||||
match-type simple;
|
||||
@@ -54,7 +54,7 @@ spamfilter {
|
||||
target private;
|
||||
action gline;
|
||||
reason "Infected by nkie worm: see http://www.trojaninfo.com/nkie/nkie.htm";
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
/* Now spamfilters of type 'regex'.
|
||||
@@ -69,10 +69,10 @@ spamfilter {
|
||||
spamfilter {
|
||||
match-type regex;
|
||||
match "\x01DCC (SEND|RESUME)[ ]+\"(.+ ){20}";
|
||||
target { private; channel; };
|
||||
target { private; channel; }
|
||||
action kill;
|
||||
reason "mIRC 6.0-6.11 exploit attempt";
|
||||
};
|
||||
}
|
||||
|
||||
/* Similarly, this regex shows a pattern that matches
|
||||
* against at least 225 characters in length.
|
||||
@@ -80,10 +80,10 @@ spamfilter {
|
||||
spamfilter {
|
||||
match-type regex;
|
||||
match "\x01DCC (SEND|RESUME).{225}";
|
||||
target { private; channel; };
|
||||
target { private; channel; }
|
||||
action kill;
|
||||
reason "Possible mIRC 6.12 exploit attempt";
|
||||
};
|
||||
}
|
||||
|
||||
/* Earlier you saw an example of a $decode exploit which used
|
||||
* match-type 'simple' and - indeed - the filter was quite simple.
|
||||
@@ -100,7 +100,7 @@ spamfilter {
|
||||
target private;
|
||||
action block;
|
||||
reason "Spamming users with an mIRC trojan. Type '/unload -rs newb' to remove the trojan.";
|
||||
};
|
||||
}
|
||||
|
||||
spamfilter {
|
||||
match-type regex;
|
||||
@@ -108,7 +108,7 @@ spamfilter {
|
||||
target private;
|
||||
action block;
|
||||
reason "Infected by fagot worm: see http://www.f-secure.com/v-descs/fagot.shtml";
|
||||
};
|
||||
}
|
||||
|
||||
/* This shows a regex which specifically matches an entire line by
|
||||
* the use of ^ and $
|
||||
@@ -119,7 +119,7 @@ spamfilter {
|
||||
target channel;
|
||||
action gline;
|
||||
reason "Attempting to login to a GTBot";
|
||||
};
|
||||
}
|
||||
|
||||
/* An example of how to match against an IP address in text (IPv4 only) */
|
||||
spamfilter {
|
||||
@@ -128,7 +128,7 @@ spamfilter {
|
||||
target channel;
|
||||
action gline;
|
||||
reason "Attempting to use a GTBot";
|
||||
};
|
||||
}
|
||||
|
||||
/* A slightly more complex example with a partial OR matcher (|) */
|
||||
spamfilter {
|
||||
@@ -137,7 +137,7 @@ spamfilter {
|
||||
target private;
|
||||
action gline;
|
||||
reason "Infected by some trojan (erotica?)";
|
||||
};
|
||||
}
|
||||
|
||||
/* In regex a \ is special and needs to be escaped to \\
|
||||
* However in this configuration file, \ is also special and
|
||||
@@ -151,4 +151,4 @@ spamfilter {
|
||||
target dcc;
|
||||
action dccblock;
|
||||
reason "Infected by Gaggle worm";
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
##
|
||||
## Bundle of CA Root Certificates
|
||||
##
|
||||
## Certificate data from Mozilla as of: Wed Jan 23 04:12:09 2019 GMT
|
||||
## Certificate data from Mozilla as of: Tue Jan 19 04:12:04 2021 GMT
|
||||
##
|
||||
## This is a bundle of X.509 certificates of public Certificate Authorities
|
||||
## (CA). These were automatically extracted from Mozilla's root certificates
|
||||
@@ -13,8 +13,8 @@
|
||||
## an Apache+mod_ssl webserver for SSL client authentication.
|
||||
## Just configure this file as the SSLCACertificateFile.
|
||||
##
|
||||
## Conversion done with mk-ca-bundle.pl version 1.27.
|
||||
## SHA256: 18372117493b5b7ec006c31d966143fc95a9464a2b5f8d5188e23c5557b2292d
|
||||
## Conversion done with mk-ca-bundle.pl version 1.28.
|
||||
## SHA256: 3bdc63d1de27058fec943a999a2a8a01fcc6806a611b19221a7727d3d9bbbdfd
|
||||
##
|
||||
|
||||
|
||||
@@ -61,30 +61,6 @@ BgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4GsJ0/WwbgcQ3izDJr86iw8bmEbTUsp
|
||||
TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
Verisign Class 3 Public Primary Certification Authority - G3
|
||||
============================================================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIEGjCCAwICEQCbfgZJoz5iudXukEhxKe9XMA0GCSqGSIb3DQEBBQUAMIHKMQswCQYDVQQGEwJV
|
||||
UzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdv
|
||||
cmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNl
|
||||
IG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkgQ2VydGlmaWNh
|
||||
dGlvbiBBdXRob3JpdHkgLSBHMzAeFw05OTEwMDEwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMIHKMQsw
|
||||
CQYDVQQGEwJVUzEXMBUGA1UEChMOVmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRy
|
||||
dXN0IE5ldHdvcmsxOjA4BgNVBAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhv
|
||||
cml6ZWQgdXNlIG9ubHkxRTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDMgUHVibGljIFByaW1hcnkg
|
||||
Q2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC
|
||||
ggEBAMu6nFL8eB8aHm8bN3O9+MlrlBIwT/A2R/XQkQr1F8ilYcEWQE37imGQ5XYgwREGfassbqb1
|
||||
EUGO+i2tKmFZpGcmTNDovFJbcCAEWNF6yaRpvIMXZK0Fi7zQWM6NjPXr8EJJC52XJ2cybuGukxUc
|
||||
cLwgTS8Y3pKI6GyFVxEa6X7jJhFUokWWVYPKMIno3Nij7SqAP395ZVc+FSBmCC+Vk7+qRy+oRpfw
|
||||
EuL+wgorUeZ25rdGt+INpsyow0xZVYnm6FNcHOqd8GIWC6fJXwzw3sJ2zq/3avL6QaaiMxTJ5Xpj
|
||||
055iN9WFZZ4O5lMkdBteHRJTW8cs54NJOxWuimi5V5cCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEA
|
||||
ERSWwauSCPc/L8my/uRan2Te2yFPhpk0djZX3dAVL8WtfxUfN2JzPtTnX84XA9s1+ivbrmAJXx5f
|
||||
j267Cz3qWhMeDGBvtcC1IyIuBwvLqXTLR7sdwdela8wv0kL9Sd2nic9TutoAWii/gt/4uhMdUIaC
|
||||
/Y4wjylGsB49Ndo4YhYYSq3mtlFs3q9i6wHQHiT+eo8SGhJouPtmmRQURVyu565pF4ErWjfJXir0
|
||||
xuKhXFSbplQAz/DxwceYMBo7Nhbbo27q/a2ywtrvAkcTisDxszGtTxzhT5yvDwyd93gN2PQ1VoDa
|
||||
t20Xj50egWTh/sVFuq1ruQp6Tk9LhO5L8X3dEQ==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
Entrust.net Premium 2048 Secure Server CA
|
||||
=========================================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
@@ -130,30 +106,6 @@ Y71k5h+3zvDyny67G7fyUIhzksLi4xaNmjICq44Y3ekQEe5+NauQrz4wlHrQMz2nZQ/1/I6eYs9H
|
||||
RCwBXbsdtTLSR9I4LtD+gdwyah617jzV/OeBHRnDJELqYzmp
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
AddTrust External Root
|
||||
======================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEUMBIGA1UEChML
|
||||
QWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYD
|
||||
VQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEw
|
||||
NDgzOFowbzELMAkGA1UEBhMCU0UxFDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRU
|
||||
cnVzdCBFeHRlcm5hbCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0Eg
|
||||
Um9vdDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvtH7xsD821
|
||||
+iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9uMq/NzgtHj6RQa1wVsfw
|
||||
Tz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzXmk6vBbOmcZSccbNQYArHE504B4YCqOmo
|
||||
aSYYkKtMsE8jqzpPhNjfzp/haW+710LXa0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy
|
||||
2xSoRcRdKn23tNbE7qzNE0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv7
|
||||
7+ldU9U0WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYDVR0P
|
||||
BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0Jvf6xCZU7wO94CTL
|
||||
VBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRUcnVzdCBBQjEmMCQGA1UECxMdQWRk
|
||||
VHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsxIjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENB
|
||||
IFJvb3SCAQEwDQYJKoZIhvcNAQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZl
|
||||
j7DYd7usQWxHYINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5
|
||||
6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvCNr4TDea9Y355
|
||||
e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEXc4g/VhsxOBi0cQ+azcgOno4u
|
||||
G+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5amnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ=
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
Entrust Root Certification Authority
|
||||
====================================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
@@ -180,87 +132,6 @@ W3iDVuycNsMm4hH2Z0kdkquM++v/eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0
|
||||
tHuu2guQOHXvgR1m0vdXcDazv/wor3ElhVsT/h5/WrQ8
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
GeoTrust Global CA
|
||||
==================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVTMRYwFAYDVQQK
|
||||
Ew1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9iYWwgQ0EwHhcNMDIwNTIxMDQw
|
||||
MDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5j
|
||||
LjEbMBkGA1UEAxMSR2VvVHJ1c3QgR2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
|
||||
CgKCAQEA2swYYzD99BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjo
|
||||
BbdqfnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDviS2Aelet
|
||||
8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU1XupGc1V3sjs0l44U+Vc
|
||||
T4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+bw8HHa8sHo9gOeL6NlMTOdReJivbPagU
|
||||
vTLrGAMoUgRx5aszPeE4uwc2hGKceeoWMPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTAD
|
||||
AQH/MB0GA1UdDgQWBBTAephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVk
|
||||
DBF9qn1luMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKInZ57Q
|
||||
zxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfStQWVYrmm3ok9Nns4
|
||||
d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcFPseKUgzbFbS9bZvlxrFUaKnjaZC2
|
||||
mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Unhw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6p
|
||||
XE0zX5IJL4hmXXeXxx12E6nV5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvm
|
||||
Mw==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
GeoTrust Universal CA
|
||||
=====================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIFaDCCA1CgAwIBAgIBATANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN
|
||||
R2VvVHJ1c3QgSW5jLjEeMBwGA1UEAxMVR2VvVHJ1c3QgVW5pdmVyc2FsIENBMB4XDTA0MDMwNDA1
|
||||
MDAwMFoXDTI5MDMwNDA1MDAwMFowRTELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IElu
|
||||
Yy4xHjAcBgNVBAMTFUdlb1RydXN0IFVuaXZlcnNhbCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIP
|
||||
ADCCAgoCggIBAKYVVaCjxuAfjJ0hUNfBvitbtaSeodlyWL0AG0y/YckUHUWCq8YdgNY96xCcOq9t
|
||||
JPi8cQGeBvV8Xx7BDlXKg5pZMK4ZyzBIle0iN430SppyZj6tlcDgFgDgEB8rMQ7XlFTTQjOgNB0e
|
||||
RXbdT8oYN+yFFXoZCPzVx5zw8qkuEKmS5j1YPakWaDwvdSEYfyh3peFhF7em6fgemdtzbvQKoiFs
|
||||
7tqqhZJmr/Z6a4LauiIINQ/PQvE1+mrufislzDoR5G2vc7J2Ha3QsnhnGqQ5HFELZ1aD/ThdDc7d
|
||||
8Lsrlh/eezJS/R27tQahsiFepdaVaH/wmZ7cRQg+59IJDTWU3YBOU5fXtQlEIGQWFwMCTFMNaN7V
|
||||
qnJNk22CDtucvc+081xdVHppCZbW2xHBjXWotM85yM48vCR85mLK4b19p71XZQvk/iXttmkQ3Cga
|
||||
Rr0BHdCXteGYO8A3ZNY9lO4L4fUorgtWv3GLIylBjobFS1J72HGrH4oVpjuDWtdYAVHGTEHZf9hB
|
||||
Z3KiKN9gg6meyHv8U3NyWfWTehd2Ds735VzZC1U0oqpbtWpU5xPKV+yXbfReBi9Fi1jUIxaS5BZu
|
||||
KGNZMN9QAZxjiRqf2xeUgnA3wySemkfWWspOqGmJch+RbNt+nhutxx9z3SxPGWX9f5NAEC7S8O08
|
||||
ni4oPmkmM8V7AgMBAAGjYzBhMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFNq7LqqwDLiIJlF0
|
||||
XG0D08DYj3rWMB8GA1UdIwQYMBaAFNq7LqqwDLiIJlF0XG0D08DYj3rWMA4GA1UdDwEB/wQEAwIB
|
||||
hjANBgkqhkiG9w0BAQUFAAOCAgEAMXjmx7XfuJRAyXHEqDXsRh3ChfMoWIawC/yOsjmPRFWrZIRc
|
||||
aanQmjg8+uUfNeVE44B5lGiku8SfPeE0zTBGi1QrlaXv9z+ZhP015s8xxtxqv6fXIwjhmF7DWgh2
|
||||
qaavdy+3YL1ERmrvl/9zlcGO6JP7/TG37FcREUWbMPEaiDnBTzynANXH/KttgCJwpQzgXQQpAvvL
|
||||
oJHRfNbDflDVnVi+QTjruXU8FdmbyUqDWcDaU/0zuzYYm4UPFd3uLax2k7nZAY1IEKj79TiG8dsK
|
||||
xr2EoyNB3tZ3b4XUhRxQ4K5RirqNPnbiucon8l+f725ZDQbYKxek0nxru18UGkiPGkzns0ccjkxF
|
||||
KyDuSN/n3QmOGKjaQI2SJhFTYXNd673nxE0pN2HrrDktZy4W1vUAg4WhzH92xH3kt0tm7wNFYGm2
|
||||
DFKWkoRepqO1pD4r2czYG0eq8kTaT/kD6PAUyz/zg97QwVTjt+gKN02LIFkDMBmhLMi9ER/frslK
|
||||
xfMnZmaGrGiR/9nmUxwPi1xpZQomyB40w11Re9epnAahNt3ViZS82eQtDF4JbAiXfKM9fJP/P6EU
|
||||
p8+1Xevb2xzEdt+Iub1FBZUbrvxGakyvSOPOrg/SfuvmbJxPgWp6ZKy7PtXny3YuxadIwVyQD8vI
|
||||
P/rmMuGNG2+k5o7Y+SlIis5z/iw=
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
GeoTrust Universal CA 2
|
||||
=======================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIFbDCCA1SgAwIBAgIBATANBgkqhkiG9w0BAQUFADBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMN
|
||||
R2VvVHJ1c3QgSW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwHhcNMDQwMzA0
|
||||
MDUwMDAwWhcNMjkwMzA0MDUwMDAwWjBHMQswCQYDVQQGEwJVUzEWMBQGA1UEChMNR2VvVHJ1c3Qg
|
||||
SW5jLjEgMB4GA1UEAxMXR2VvVHJ1c3QgVW5pdmVyc2FsIENBIDIwggIiMA0GCSqGSIb3DQEBAQUA
|
||||
A4ICDwAwggIKAoICAQCzVFLByT7y2dyxUxpZKeexw0Uo5dfR7cXFS6GqdHtXr0om/Nj1XqduGdt0
|
||||
DE81WzILAePb63p3NeqqWuDW6KFXlPCQo3RWlEQwAx5cTiuFJnSCegx2oG9NzkEtoBUGFF+3Qs17
|
||||
j1hhNNwqCPkuwwGmIkQcTAeC5lvO0Ep8BNMZcyfwqph/Lq9O64ceJHdqXbboW0W63MOhBW9Wjo8Q
|
||||
JqVJwy7XQYci4E+GymC16qFjwAGXEHm9ADwSbSsVsaxLse4YuU6W3Nx2/zu+z18DwPw76L5GG//a
|
||||
QMJS9/7jOvdqdzXQ2o3rXhhqMcceujwbKNZrVMaqW9eiLBsZzKIC9ptZvTdrhrVtgrrY6slWvKk2
|
||||
WP0+GfPtDCapkzj4T8FdIgbQl+rhrcZV4IErKIM6+vR7IVEAvlI4zs1meaj0gVbi0IMJR1FbUGrP
|
||||
20gaXT73y/Zl92zxlfgCOzJWgjl6W70viRu/obTo/3+NjN8D8WBOWBFM66M/ECuDmgFz2ZRthAAn
|
||||
ZqzwcEAJQpKtT5MNYQlRJNiS1QuUYbKHsu3/mjX/hVTK7URDrBs8FmtISgocQIgfksILAAX/8sgC
|
||||
SqSqqcyZlpwvWOB94b67B9xfBHJcMTTD7F8t4D1kkCLm0ey4Lt1ZrtmhN79UNdxzMk+MBB4zsslG
|
||||
8dhcyFVQyWi9qLo2CQIDAQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBR281Xh+qQ2
|
||||
+/CfXGJx7Tz0RzgQKzAfBgNVHSMEGDAWgBR281Xh+qQ2+/CfXGJx7Tz0RzgQKzAOBgNVHQ8BAf8E
|
||||
BAMCAYYwDQYJKoZIhvcNAQEFBQADggIBAGbBxiPz2eAubl/oz66wsCVNK/g7WJtAJDday6sWSf+z
|
||||
dXkzoS9tcBc0kf5nfo/sm+VegqlVHy/c1FEHEv6sFj4sNcZj/NwQ6w2jqtB8zNHQL1EuxBRa3ugZ
|
||||
4T7GzKQp5y6EqgYweHZUcyiYWTjgAA1i00J9IZ+uPTqM1fp3DRgrFg5fNuH8KrUwJM/gYwx7WBr+
|
||||
mbpCErGR9Hxo4sjoryzqyX6uuyo9DRXcNJW2GHSoag/HtPQTxORb7QrSpJdMKu0vbBKJPfEncKpq
|
||||
A1Ihn0CoZ1Dy81of398j9tx4TuaYT1U6U+Pv8vSfx3zYWK8pIpe44L2RLrB27FcRz+8pRPPphXpg
|
||||
Y+RdM4kX2TGq2tbzGDVyz4crL2MjhF2EjD9XoIj8mZEoJmmZ1I+XRL6O1UixpCgp8RW04eWe3fiP
|
||||
pm8m1wk8OhwRDqZsN/etRIcsKMfYdIKz0G9KV7s1KSegi+ghp4dkNl3M2Basx7InQJJVOCiNUW7d
|
||||
FGdTbHFcJoRNdVq2fmBWqU2t+5sel/MN2dKXVHfaPRK34B7vCAas+YWH6aLcr34YEoP9VhdBLtUp
|
||||
gn2Z9DH2canPLAEnpQW5qrJITirvn5NSUZU8UnOOVkwXQMAJKOSLakhT2+zNVVXxxvjpoixMptEm
|
||||
X36vWkzaH6byHCx+rgIW0lbQL1dTR+iS
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
Comodo AAA Services root
|
||||
========================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
@@ -496,36 +367,6 @@ KVtHCN2MQWplBqjlIapBtJUhlbl90TSrE9atvNziPTnNvT51cKEYWQPJIrSPnNVeKtelttQKbfi3
|
||||
QBFGmh95DmK/D5fs4C8fF5Q=
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
Taiwan GRCA
|
||||
===========
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIFcjCCA1qgAwIBAgIQH51ZWtcvwgZEpYAIaeNe9jANBgkqhkiG9w0BAQUFADA/MQswCQYDVQQG
|
||||
EwJUVzEwMC4GA1UECgwnR292ZXJubWVudCBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4X
|
||||
DTAyMTIwNTEzMjMzM1oXDTMyMTIwNTEzMjMzM1owPzELMAkGA1UEBhMCVFcxMDAuBgNVBAoMJ0dv
|
||||
dmVybm1lbnQgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQAD
|
||||
ggIPADCCAgoCggIBAJoluOzMonWoe/fOW1mKydGGEghU7Jzy50b2iPN86aXfTEc2pBsBHH8eV4qN
|
||||
w8XRIePaJD9IK/ufLqGU5ywck9G/GwGHU5nOp/UKIXZ3/6m3xnOUT0b3EEk3+qhZSV1qgQdW8or5
|
||||
BtD3cCJNtLdBuTK4sfCxw5w/cP1T3YGq2GN49thTbqGsaoQkclSGxtKyyhwOeYHWtXBiCAEuTk8O
|
||||
1RGvqa/lmr/czIdtJuTJV6L7lvnM4T9TjGxMfptTCAtsF/tnyMKtsc2AtJfcdgEWFelq16TheEfO
|
||||
htX7MfP6Mb40qij7cEwdScevLJ1tZqa2jWR+tSBqnTuBto9AAGdLiYa4zGX+FVPpBMHWXx1E1wov
|
||||
J5pGfaENda1UhhXcSTvxls4Pm6Dso3pdvtUqdULle96ltqqvKKyskKw4t9VoNSZ63Pc78/1Fm9G7
|
||||
Q3hub/FCVGqY8A2tl+lSXunVanLeavcbYBT0peS2cWeqH+riTcFCQP5nRhc4L0c/cZyu5SHKYS1t
|
||||
B6iEfC3uUSXxY5Ce/eFXiGvviiNtsea9P63RPZYLhY3Naye7twWb7LuRqQoHEgKXTiCQ8P8NHuJB
|
||||
O9NAOueNXdpm5AKwB1KYXA6OM5zCppX7VRluTI6uSw+9wThNXo+EHWbNxWCWtFJaBYmOlXqYwZE8
|
||||
lSOyDvR5tMl8wUohAgMBAAGjajBoMB0GA1UdDgQWBBTMzO/MKWCkO7GStjz6MmKPrCUVOzAMBgNV
|
||||
HRMEBTADAQH/MDkGBGcqBwAEMTAvMC0CAQAwCQYFKw4DAhoFADAHBgVnKgMAAAQUA5vwIhP/lSg2
|
||||
09yewDL7MTqKUWUwDQYJKoZIhvcNAQEFBQADggIBAECASvomyc5eMN1PhnR2WPWus4MzeKR6dBcZ
|
||||
TulStbngCnRiqmjKeKBMmo4sIy7VahIkv9Ro04rQ2JyftB8M3jh+Vzj8jeJPXgyfqzvS/3WXy6Tj
|
||||
Zwj/5cAWtUgBfen5Cv8b5Wppv3ghqMKnI6mGq3ZW6A4M9hPdKmaKZEk9GhiHkASfQlK3T8v+R0F2
|
||||
Ne//AHY2RTKbxkaFXeIksB7jSJaYV0eUVXoPQbFEJPPB/hprv4j9wabak2BegUqZIJxIZhm1AHlU
|
||||
D7gsL0u8qV1bYH+Mh6XgUmMqvtg7hUAV/h62ZT/FS9p+tXo1KaMuephgIqP0fSdOLeq0dDzpD6Qz
|
||||
DxARvBMB1uUO07+1EqLhRSPAzAhuYbeJq4PjJB7mXQfnHyA+z2fI56wwbSdLaG5LKlwCCDTb+Hbk
|
||||
Z6MmnD+iMsJKxYEYMRBWqoTvLQr/uB930r+lWKBi5NdLkXWNiYCYfm3LU05er/ayl4WXudpVBrkk
|
||||
7tfGOB5jGxI7leFYrPLfhNVfmS8NVVvmONsuP3LpSIXLuykTjx44VbnzssQwmSNOXfJIoRIM3BKQ
|
||||
CZBUkQM8R+XVyWXgt0t97EfTsws+rZ7QdAAO671RrcDeLMDDav7v3Aun+kbfYNucpllQdSNpc5Oy
|
||||
+fwC00fmcc4QAu4njIT/rEUNE1yDMuAlpYYsfPQS
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
DigiCert Assured ID Root CA
|
||||
===========================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
@@ -592,28 +433,6 @@ mNEVX58Svnw2Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe
|
||||
vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep+OkuE6N36B9K
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
Certplus Class 2 Primary CA
|
||||
===========================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDkjCCAnqgAwIBAgIRAIW9S/PY2uNp9pTXX8OlRCMwDQYJKoZIhvcNAQEFBQAwPTELMAkGA1UE
|
||||
BhMCRlIxETAPBgNVBAoTCENlcnRwbHVzMRswGQYDVQQDExJDbGFzcyAyIFByaW1hcnkgQ0EwHhcN
|
||||
OTkwNzA3MTcwNTAwWhcNMTkwNzA2MjM1OTU5WjA9MQswCQYDVQQGEwJGUjERMA8GA1UEChMIQ2Vy
|
||||
dHBsdXMxGzAZBgNVBAMTEkNsYXNzIDIgUHJpbWFyeSBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEP
|
||||
ADCCAQoCggEBANxQltAS+DXSCHh6tlJw/W/uz7kRy1134ezpfgSN1sxvc0NXYKwzCkTsA18cgCSR
|
||||
5aiRVhKC9+Ar9NuuYS6JEI1rbLqzAr3VNsVINyPi8Fo3UjMXEuLRYE2+L0ER4/YXJQyLkcAbmXuZ
|
||||
Vg2v7tK8R1fjeUl7NIknJITesezpWE7+Tt9avkGtrAjFGA7v0lPubNCdEgETjdyAYveVqUSISnFO
|
||||
YFWe2yMZeVYHDD9jC1yw4r5+FfyUM1hBOHTE4Y+L3yasH7WLO7dDWWuwJKZtkIvEcupdM5i3y95e
|
||||
e++U8Rs+yskhwcWYAqqi9lt3m/V+llU0HGdpwPFC40es/CgcZlUCAwEAAaOBjDCBiTAPBgNVHRME
|
||||
CDAGAQH/AgEKMAsGA1UdDwQEAwIBBjAdBgNVHQ4EFgQU43Mt38sOKAze3bOkynm4jrvoMIkwEQYJ
|
||||
YIZIAYb4QgEBBAQDAgEGMDcGA1UdHwQwMC4wLKAqoCiGJmh0dHA6Ly93d3cuY2VydHBsdXMuY29t
|
||||
L0NSTC9jbGFzczIuY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQCnVM+IRBnL39R/AN9WM2K191EBkOvD
|
||||
P9GIROkkXe/nFL0gt5o8AP5tn9uQ3Nf0YtaLcF3n5QRIqWh8yfFC82x/xXp8HVGIutIKPidd3i1R
|
||||
TtMTZGnkLuPT55sJmabglZvOGtd/vjzOUrMRFcEPF80Du5wlFbqidon8BvEY0JNLDnyCt6X09l/+
|
||||
7UCmnYR0ObncHoUW2ikbhiMAybuJfm6AiB4vFLQDJKgybwOaRywwvlbGp0ICcBvqQNi6BQNwB6SW
|
||||
//1IMwrh3KWBkJtN3X3n57LNXMhqlfil9o3EXXgIvnsG1knPGTZQIy4I5p4FTUcY1Rbpsda2ENW7
|
||||
l7+ijrRU
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
DST Root CA X3
|
||||
==============
|
||||
-----BEGIN CERTIFICATE-----
|
||||
@@ -696,78 +515,6 @@ DIm6uNO5wJOKMPqN5ZprFQFOZ6raYlY+hAhm0sQ2fac+EPyI4NSA5QC9qvNOBqN6avlicuMJT+ub
|
||||
DgEj8Z+7fNzcbBGXJbLytGMU0gYqZ4yD9c7qB9iaah7s5Aq7KkzrCWA5zspi2C5u
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
GeoTrust Primary Certification Authority
|
||||
========================================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDfDCCAmSgAwIBAgIQGKy1av1pthU6Y2yv2vrEoTANBgkqhkiG9w0BAQUFADBYMQswCQYDVQQG
|
||||
EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjExMC8GA1UEAxMoR2VvVHJ1c3QgUHJpbWFyeSBD
|
||||
ZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wNjExMjcwMDAwMDBaFw0zNjA3MTYyMzU5NTlaMFgx
|
||||
CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTEwLwYDVQQDEyhHZW9UcnVzdCBQ
|
||||
cmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
|
||||
CgKCAQEAvrgVe//UfH1nrYNke8hCUy3f9oQIIGHWAVlqnEQRr+92/ZV+zmEwu3qDXwK9AWbK7hWN
|
||||
b6EwnL2hhZ6UOvNWiAAxz9juapYC2e0DjPt1befquFUWBRaa9OBesYjAZIVcFU2Ix7e64HXprQU9
|
||||
nceJSOC7KMgD4TCTZF5SwFlwIjVXiIrxlQqD17wxcwE07e9GceBrAqg1cmuXm2bgyxx5X9gaBGge
|
||||
RwLmnWDiNpcB3841kt++Z8dtd1k7j53WkBWUvEI0EME5+bEnPn7WinXFsq+W06Lem+SYvn3h6YGt
|
||||
tm/81w7a4DSwDRp35+MImO9Y+pyEtzavwt+s0vQQBnBxNQIDAQABo0IwQDAPBgNVHRMBAf8EBTAD
|
||||
AQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQULNVQQZcVi/CPNmFbSvtr2ZnJM5IwDQYJKoZI
|
||||
hvcNAQEFBQADggEBAFpwfyzdtzRP9YZRqSa+S7iq8XEN3GHHoOo0Hnp3DwQ16CePbJC/kRYkRj5K
|
||||
Ts4rFtULUh38H2eiAkUxT87z+gOneZ1TatnaYzr4gNfTmeGl4b7UVXGYNTq+k+qurUKykG/g/CFN
|
||||
NWMziUnWm07Kx+dOCQD32sfvmWKZd7aVIl6KoKv0uHiYyjgZmclynnjNS6yvGaBzEi38wkG6gZHa
|
||||
Floxt/m0cYASSJlyc1pZU8FjUjPtp8nSOQJw+uCxQmYpqptR7TBUIhRf2asdweSU8Pj1K/fqynhG
|
||||
1riR/aYNKxoUAT6A8EKglQdebc3MS6RFjasS6LPeWuWgfOgPIh1a6Vk=
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
thawte Primary Root CA
|
||||
======================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIEIDCCAwigAwIBAgIQNE7VVyDV7exJ9C/ON9srbTANBgkqhkiG9w0BAQUFADCBqTELMAkGA1UE
|
||||
BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2
|
||||
aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv
|
||||
cml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMDYxMTE3
|
||||
MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCBqTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwg
|
||||
SW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMv
|
||||
KGMpIDIwMDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNVBAMT
|
||||
FnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCs
|
||||
oPD7gFnUnMekz52hWXMJEEUMDSxuaPFsW0hoSVk3/AszGcJ3f8wQLZU0HObrTQmnHNK4yZc2AreJ
|
||||
1CRfBsDMRJSUjQJib+ta3RGNKJpchJAQeg29dGYvajig4tVUROsdB58Hum/u6f1OCyn1PoSgAfGc
|
||||
q/gcfomk6KHYcWUNo1F77rzSImANuVud37r8UVsLr5iy6S7pBOhih94ryNdOwUxkHt3Ph1i6Sk/K
|
||||
aAcdHJ1KxtUvkcx8cXIcxcBn6zL9yZJclNqFwJu/U30rCfSMnZEfl2pSy94JNqR32HuHUETVPm4p
|
||||
afs5SSYeCaWAe0At6+gnhcn+Yf1+5nyXHdWdAgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYD
|
||||
VR0PAQH/BAQDAgEGMB0GA1UdDgQWBBR7W0XPr87Lev0xkhpqtvNG61dIUDANBgkqhkiG9w0BAQUF
|
||||
AAOCAQEAeRHAS7ORtvzw6WfUDW5FvlXok9LOAz/t2iWwHVfLHjp2oEzsUHboZHIMpKnxuIvW1oeE
|
||||
uzLlQRHAd9mzYJ3rG9XRbkREqaYB7FViHXe4XI5ISXycO1cRrK1zN44veFyQaEfZYGDm/Ac9IiAX
|
||||
xPcW6cTYcvnIc3zfFi8VqT79aie2oetaupgf1eNNZAqdE8hhuvU5HIe6uL17In/2/qxAeeWsEG89
|
||||
jxt5dovEN7MhGITlNgDrYyCZuen+MwS7QcjBAvlEYyCegc5C09Y/LHbTY5xZ3Y+m4Q6gLkH3LpVH
|
||||
z7z9M/P2C2F+fpErgUfCJzDupxBdN49cOSvkBPB7jVaMaA==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
VeriSign Class 3 Public Primary Certification Authority - G5
|
||||
============================================================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIE0zCCA7ugAwIBAgIQGNrRniZ96LtKIVjNzGs7SjANBgkqhkiG9w0BAQUFADCByjELMAkGA1UE
|
||||
BhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBO
|
||||
ZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVk
|
||||
IHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRp
|
||||
ZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwHhcNMDYxMTA4MDAwMDAwWhcNMzYwNzE2MjM1OTU5WjCB
|
||||
yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2ln
|
||||
biBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJpU2lnbiwgSW5jLiAtIEZvciBh
|
||||
dXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmlt
|
||||
YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
|
||||
ggEKAoIBAQCvJAgIKXo1nmAMqudLO07cfLw8RRy7K+D+KQL5VwijZIUVJ/XxrcgxiV0i6CqqpkKz
|
||||
j/i5Vbext0uz/o9+B1fs70PbZmIVYc9gDaTY3vjgw2IIPVQT60nKWVSFJuUrjxuf6/WhkcIzSdhD
|
||||
Y2pSS9KP6HBRTdGJaXvHcPaz3BJ023tdS1bTlr8Vd6Gw9KIl8q8ckmcY5fQGBO+QueQA5N06tRn/
|
||||
Arr0PO7gi+s3i+z016zy9vA9r911kTMZHRxAy3QkGSGT2RT+rCpSx4/VBEnkjWNHiDxpg8v+R70r
|
||||
fk/Fla4OndTRQ8Bnc+MUCH7lP59zuDMKz10/NIeWiu5T6CUVAgMBAAGjgbIwga8wDwYDVR0TAQH/
|
||||
BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2Uv
|
||||
Z2lmMCEwHzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVy
|
||||
aXNpZ24uY29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFH/TZafC3ey78DAJ80M5+gKvMzEzMA0GCSqG
|
||||
SIb3DQEBBQUAA4IBAQCTJEowX2LP2BqYLz3q3JktvXf2pXkiOOzEp6B4Eq1iDkVwZMXnl2YtmAl+
|
||||
X6/WzChl8gGqCBpH3vn5fJJaCGkgDdk+bW48DW7Y5gaRQBi5+MHt39tBquCWIMnNZBU4gcmU7qKE
|
||||
KQsTb47bDN0lAtukixlE0kF6BWlKWE9gyn6CagsCqiUXObXbf+eEZSqVir2G3l6BFoMtEMze/aiC
|
||||
Km0oHw0LxOXnGiYZ4fQRbxC1lfznQgUy286dUV4otp6F01vvpX1FQHKOtw5rDgb7MzVIcbidJ4vE
|
||||
ZV8NhnacRHr2lVz2XTIIM6RUthg/aFzyQkqFOFSDX9HoLPKsEdao7WNq
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
SecureTrust CA
|
||||
==============
|
||||
-----BEGIN CERTIFICATE-----
|
||||
@@ -876,29 +623,6 @@ FAkK+qDmfQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdvGDeA
|
||||
U/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY=
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
OISTE WISeKey Global Root GA CA
|
||||
===============================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIID8TCCAtmgAwIBAgIQQT1yx/RrH4FDffHSKFTfmjANBgkqhkiG9w0BAQUFADCBijELMAkGA1UE
|
||||
BhMCQ0gxEDAOBgNVBAoTB1dJU2VLZXkxGzAZBgNVBAsTEkNvcHlyaWdodCAoYykgMjAwNTEiMCAG
|
||||
A1UECxMZT0lTVEUgRm91bmRhdGlvbiBFbmRvcnNlZDEoMCYGA1UEAxMfT0lTVEUgV0lTZUtleSBH
|
||||
bG9iYWwgUm9vdCBHQSBDQTAeFw0wNTEyMTExNjAzNDRaFw0zNzEyMTExNjA5NTFaMIGKMQswCQYD
|
||||
VQQGEwJDSDEQMA4GA1UEChMHV0lTZUtleTEbMBkGA1UECxMSQ29weXJpZ2h0IChjKSAyMDA1MSIw
|
||||
IAYDVQQLExlPSVNURSBGb3VuZGF0aW9uIEVuZG9yc2VkMSgwJgYDVQQDEx9PSVNURSBXSVNlS2V5
|
||||
IEdsb2JhbCBSb290IEdBIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAy0+zAJs9
|
||||
Nt350UlqaxBJH+zYK7LG+DKBKUOVTJoZIyEVRd7jyBxRVVuuk+g3/ytr6dTqvirdqFEr12bDYVxg
|
||||
Asj1znJ7O7jyTmUIms2kahnBAbtzptf2w93NvKSLtZlhuAGio9RN1AU9ka34tAhxZK9w8RxrfvbD
|
||||
d50kc3vkDIzh2TbhmYsFmQvtRTEJysIA2/dyoJaqlYfQjse2YXMNdmaM3Bu0Y6Kff5MTMPGhJ9vZ
|
||||
/yxViJGg4E8HsChWjBgbl0SOid3gF27nKu+POQoxhILYQBRJLnpB5Kf+42TMwVlxSywhp1t94B3R
|
||||
LoGbw9ho972WG6xwsRYUC9tguSYBBQIDAQABo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw
|
||||
AwEB/zAdBgNVHQ4EFgQUswN+rja8sHnR3JQmthG+IbJphpQwEAYJKwYBBAGCNxUBBAMCAQAwDQYJ
|
||||
KoZIhvcNAQEFBQADggEBAEuh/wuHbrP5wUOxSPMowB0uyQlB+pQAHKSkq0lPjz0e701vvbyk9vIm
|
||||
MMkQyh2I+3QZH4VFvbBsUfk2ftv1TDI6QU9bR8/oCy22xBmddMVHxjtqD6wU2zz0c5ypBd8A3HR4
|
||||
+vg1YFkCExh8vPtNsCBtQ7tgMHpnM1zFmdH4LTlSc/uMqpclXHLZCB6rTjzjgTGfA6b7wP4piFXa
|
||||
hNVQA7bihKOmNqoROgHhGEvWRGizPflTdISzRpFGlgC3gCy24eMQ4tui5yiPAZZiFj4A4xylNoEY
|
||||
okxSdsARo27mHbrjWr42U8U+dY+GaSlYU7Wcu2+fXMUY7N0v4ZjJ/L7fCg0=
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
Certigna
|
||||
========
|
||||
-----BEGIN CERTIFICATE-----
|
||||
@@ -921,28 +645,6 @@ PBS1xp81HlDQwY9qcEQCYsuuHWhBp6pX6FOqB9IG9tUUBguRA3UsbHK1YZWaDYu5Def131TN3ubY
|
||||
WyH8EZE0vkHve52Xdf+XlcCWWC/qu0bXu+TZLg==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
Deutsche Telekom Root CA 2
|
||||
==========================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDnzCCAoegAwIBAgIBJjANBgkqhkiG9w0BAQUFADBxMQswCQYDVQQGEwJERTEcMBoGA1UEChMT
|
||||
RGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0GA1UECxMWVC1UZWxlU2VjIFRydXN0IENlbnRlcjEjMCEG
|
||||
A1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBSb290IENBIDIwHhcNOTkwNzA5MTIxMTAwWhcNMTkwNzA5
|
||||
MjM1OTAwWjBxMQswCQYDVQQGEwJERTEcMBoGA1UEChMTRGV1dHNjaGUgVGVsZWtvbSBBRzEfMB0G
|
||||
A1UECxMWVC1UZWxlU2VjIFRydXN0IENlbnRlcjEjMCEGA1UEAxMaRGV1dHNjaGUgVGVsZWtvbSBS
|
||||
b290IENBIDIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCrC6M14IspFLEUha88EOQ5
|
||||
bzVdSq7d6mGNlUn0b2SjGmBmpKlAIoTZ1KXleJMOaAGtuU1cOs7TuKhCQN/Po7qCWWqSG6wcmtoI
|
||||
KyUn+WkjR/Hg6yx6m/UTAtB+NHzCnjwAWav12gz1MjwrrFDa1sPeg5TKqAyZMg4ISFZbavva4VhY
|
||||
AUlfckE8FQYBjl2tqriTtM2e66foai1SNNs671x1Udrb8zH57nGYMsRUFUQM+ZtV7a3fGAigo4aK
|
||||
Se5TBY8ZTNXeWHmb0mocQqvF1afPaA+W5OFhmHZhyJF81j4A4pFQh+GdCuatl9Idxjp9y7zaAzTV
|
||||
jlsB9WoHtxa2bkp/AgMBAAGjQjBAMB0GA1UdDgQWBBQxw3kbuvVT1xfgiXotF2wKsyudMzAPBgNV
|
||||
HRMECDAGAQH/AgEFMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAlGRZrTlk5ynr
|
||||
E/5aw4sTV8gEJPB0d8Bg42f76Ymmg7+Wgnxu1MM9756AbrsptJh6sTtU6zkXR34ajgv8HzFZMQSy
|
||||
zhfzLMdiNlXiItiJVbSYSKpk+tYcNthEeFpaIzpXl/V6ME+un2pMSyuOoAPjPuCp1NJ70rOo4nI8
|
||||
rZ7/gFnkm0W09juwzTkZmDLl6iFhkOQxIY40sfcvNUqFENrnijchvllj4PKFiDFT1FQUhXB59C4G
|
||||
dyd1Lx+4ivn+xbrYNuSD7Odlt79jWvNGr4GUN9RBjNYj1h7P9WgbRGOiWrqnNVmh5XAFmw4jV5mU
|
||||
Cm26OWMohpLzGITY+9HPBVZkVw==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
Cybertrust Global Root
|
||||
======================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
@@ -1016,70 +718,6 @@ vBTjD4au8as+x6AJzKNI0eDbZOeStc+vckNwi/nDhDwTqn6Sm1dTk/pwwpEOMfmbZ13pljheX7Nz
|
||||
TogVZ96edhBiIL5VaZVDADlN9u6wWk5JRFRYX0KD
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
GeoTrust Primary Certification Authority - G3
|
||||
=============================================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIID/jCCAuagAwIBAgIQFaxulBmyeUtB9iepwxgPHzANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UE
|
||||
BhMCVVMxFjAUBgNVBAoTDUdlb1RydXN0IEluYy4xOTA3BgNVBAsTMChjKSAyMDA4IEdlb1RydXN0
|
||||
IEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTE2MDQGA1UEAxMtR2VvVHJ1c3QgUHJpbWFy
|
||||
eSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eSAtIEczMB4XDTA4MDQwMjAwMDAwMFoXDTM3MTIwMTIz
|
||||
NTk1OVowgZgxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMTkwNwYDVQQLEzAo
|
||||
YykgMjAwOCBHZW9UcnVzdCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxNjA0BgNVBAMT
|
||||
LUdlb1RydXN0IFByaW1hcnkgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMzCCASIwDQYJKoZI
|
||||
hvcNAQEBBQADggEPADCCAQoCggEBANziXmJYHTNXOTIz+uvLh4yn1ErdBojqZI4xmKU4kB6Yzy5j
|
||||
K/BGvESyiaHAKAxJcCGVn2TAppMSAmUmhsalifD614SgcK9PGpc/BkTVyetyEH3kMSj7HGHmKAdE
|
||||
c5IiaacDiGydY8hS2pgn5whMcD60yRLBxWeDXTPzAxHsatBT4tG6NmCUgLthY2xbF37fQJQeqw3C
|
||||
IShwiP/WJmxsYAQlTlV+fe+/lEjetx3dcI0FX4ilm/LC7urRQEFtYjgdVgbFA0dRIBn8exALDmKu
|
||||
dlW/X3e+PkkBUz2YJQN2JFodtNuJ6nnltrM7P7pMKEF/BqxqjsHQ9gUdfeZChuOl1UcCAwEAAaNC
|
||||
MEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMR5yo6hTgMdHNxr
|
||||
2zFblD4/MH8tMA0GCSqGSIb3DQEBCwUAA4IBAQAtxRPPVoB7eni9n64smefv2t+UXglpp+duaIy9
|
||||
cr5HqQ6XErhK8WTTOd8lNNTBzU6B8A8ExCSzNJbGpqow32hhc9f5joWJ7w5elShKKiePEI4ufIbE
|
||||
Ap7aDHdlDkQNkv39sxY2+hENHYwOB4lqKVb3cvTdFZx3NWZXqxNT2I7BQMXXExZacse3aQHEerGD
|
||||
AWh9jUGhlBjBJVz88P6DAod8DQ3PLghcSkANPuyBYeYk28rgDi0Hsj5W3I31QYUHSJsMC8tJP33s
|
||||
t/3LjWeJGqvtux6jAAgIFyqCXDFdRootD4abdNlF+9RAsXqqaC2Gspki4cErx5z481+oghLrGREt
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
thawte Primary Root CA - G2
|
||||
===========================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIICiDCCAg2gAwIBAgIQNfwmXNmET8k9Jj1Xm67XVjAKBggqhkjOPQQDAzCBhDELMAkGA1UEBhMC
|
||||
VVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjE4MDYGA1UECxMvKGMpIDIwMDcgdGhhd3RlLCBJbmMu
|
||||
IC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3Qg
|
||||
Q0EgLSBHMjAeFw0wNzExMDUwMDAwMDBaFw0zODAxMTgyMzU5NTlaMIGEMQswCQYDVQQGEwJVUzEV
|
||||
MBMGA1UEChMMdGhhd3RlLCBJbmMuMTgwNgYDVQQLEy8oYykgMjAwNyB0aGF3dGUsIEluYy4gLSBG
|
||||
b3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIGA1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAt
|
||||
IEcyMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEotWcgnuVnfFSeIf+iha/BebfowJPDQfGAFG6DAJS
|
||||
LSKkQjnE/o/qycG+1E3/n3qe4rF8mq2nhglzh9HnmuN6papu+7qzcMBniKI11KOasf2twu8x+qi5
|
||||
8/sIxpHR+ymVo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQU
|
||||
mtgAMADna3+FGO6Lts6KDPgR4bswCgYIKoZIzj0EAwMDaQAwZgIxAN344FdHW6fmCsO99YCKlzUN
|
||||
G4k8VIZ3KMqh9HneteY4sPBlcIx/AlTCv//YoT7ZzwIxAMSNlPzcU9LcnXgWHxUzI1NS41oxXZ3K
|
||||
rr0TKUQNJ1uo52icEvdYPy5yAlejj6EULg==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
thawte Primary Root CA - G3
|
||||
===========================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIEKjCCAxKgAwIBAgIQYAGXt0an6rS0mtZLL/eQ+zANBgkqhkiG9w0BAQsFADCBrjELMAkGA1UE
|
||||
BhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMfQ2VydGlmaWNhdGlvbiBTZXJ2
|
||||
aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIwMDggdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhv
|
||||
cml6ZWQgdXNlIG9ubHkxJDAiBgNVBAMTG3RoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EgLSBHMzAeFw0w
|
||||
ODA0MDIwMDAwMDBaFw0zNzEyMDEyMzU5NTlaMIGuMQswCQYDVQQGEwJVUzEVMBMGA1UEChMMdGhh
|
||||
d3RlLCBJbmMuMSgwJgYDVQQLEx9DZXJ0aWZpY2F0aW9uIFNlcnZpY2VzIERpdmlzaW9uMTgwNgYD
|
||||
VQQLEy8oYykgMjAwOCB0aGF3dGUsIEluYy4gLSBGb3IgYXV0aG9yaXplZCB1c2Ugb25seTEkMCIG
|
||||
A1UEAxMbdGhhd3RlIFByaW1hcnkgUm9vdCBDQSAtIEczMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
|
||||
MIIBCgKCAQEAsr8nLPvb2FvdeHsbnndmgcs+vHyu86YnmjSjaDFxODNi5PNxZnmxqWWjpYvVj2At
|
||||
P0LMqmsywCPLLEHd5N/8YZzic7IilRFDGF/Eth9XbAoFWCLINkw6fKXRz4aviKdEAhN0cXMKQlkC
|
||||
+BsUa0Lfb1+6a4KinVvnSr0eAXLbS3ToO39/fR8EtCab4LRarEc9VbjXsCZSKAExQGbY2SS99irY
|
||||
7CFJXJv2eul/VTV+lmuNk5Mny5K76qxAwJ/C+IDPXfRa3M50hqY+bAtTyr2SzhkGcuYMXDhpxwTW
|
||||
vGzOW/b3aJzcJRVIiKHpqfiYnODz1TEoYRFsZ5aNOZnLwkUkOQIDAQABo0IwQDAPBgNVHRMBAf8E
|
||||
BTADAQH/MA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUrWyqlGCc7eT/+j4KdCtjA/e2Wb8wDQYJ
|
||||
KoZIhvcNAQELBQADggEBABpA2JVlrAmSicY59BDlqQ5mU1143vokkbvnRFHfxhY0Cu9qRFHqKweK
|
||||
A3rD6z8KLFIWoCtDuSWQP3CpMyVtRRooOyfPqsMpQhvfO0zAMzRbQYi/aytlryjvsvXDqmbOe1bu
|
||||
t8jLZ8HJnBoYuMTDSQPxYA5QzUbF83d597YV4Djbxy8ooAw/dyZ02SUS2jHaGh7cKUGRIjxpp7sC
|
||||
8rZcJwOJ9Abqm+RyguOhCcHpABnTPtRwa7pxpqpYrvS76Wy274fMm7v/OeZWYdMKp8RcTGB7BXcm
|
||||
er/YB1IsYvdwY9k5vG8cwnncdimvzsUsZAReiDZuMdRAGmI0Nj81Aa6sY6A=
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
GeoTrust Primary Certification Authority - G2
|
||||
=============================================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
@@ -1125,27 +763,6 @@ wGZsY6rp2aQW9IHRlRQOfc2VNNnSj3BzgXucfr2YYdhFh5iQxeuGMMY1v/D/w1WIg0vvBZIGcfK4
|
||||
mJO37M2CYfE45k+XmCpajQ==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
VeriSign Class 3 Public Primary Certification Authority - G4
|
||||
============================================================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDhDCCAwqgAwIBAgIQL4D+I4wOIg9IZxIokYesszAKBggqhkjOPQQDAzCByjELMAkGA1UEBhMC
|
||||
VVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBUcnVzdCBOZXR3
|
||||
b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVz
|
||||
ZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmlj
|
||||
YXRpb24gQXV0aG9yaXR5IC0gRzQwHhcNMDcxMTA1MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCByjEL
|
||||
MAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBU
|
||||
cnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNyBWZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRo
|
||||
b3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5
|
||||
IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzQwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAASnVnp8
|
||||
Utpkmw4tXNherJI9/gHmGUo9FANL+mAnINmDiWn6VMaaGF5VKmTeBvaNSjutEDxlPZCIBIngMGGz
|
||||
rl0Bp3vefLK+ymVhAIau2o970ImtTR1ZmkGxvEeA3J5iw/mjgbIwga8wDwYDVR0TAQH/BAUwAwEB
|
||||
/zAOBgNVHQ8BAf8EBAMCAQYwbQYIKwYBBQUHAQwEYTBfoV2gWzBZMFcwVRYJaW1hZ2UvZ2lmMCEw
|
||||
HzAHBgUrDgMCGgQUj+XTGoasjY5rw8+AatRIGCx7GS4wJRYjaHR0cDovL2xvZ28udmVyaXNpZ24u
|
||||
Y29tL3ZzbG9nby5naWYwHQYDVR0OBBYEFLMWkf3upm7ktS5Jj4d4gYDs5bG1MAoGCCqGSM49BAMD
|
||||
A2gAMGUCMGYhDBgmYFo4e1ZC4Kf8NoRRkSAsdk1DPcQdhCPQrNZ8NQbOzWm9kA3bbEhCHQ6qQgIx
|
||||
AJw9SDkjOVgaFRJZap7v1VmyHVIsmXHNxynfGyphe3HR3vPA5Q06Sqotp9iGKt0uEA==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
NetLock Arany (Class Gold) Főtanúsítvány
|
||||
========================================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
@@ -1170,38 +787,6 @@ NwUASZQDhETnv0Mxz3WLJdH0pmT1kvarBes96aULNmLazAZfNou2XjG4Kvte9nHfRCaexOYNkbQu
|
||||
dZWAUWpLMKawYqGT8ZvYzsRjdT9ZR7E=
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
Staat der Nederlanden Root CA - G2
|
||||
==================================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIFyjCCA7KgAwIBAgIEAJiWjDANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJOTDEeMBwGA1UE
|
||||
CgwVU3RhYXQgZGVyIE5lZGVybGFuZGVuMSswKQYDVQQDDCJTdGFhdCBkZXIgTmVkZXJsYW5kZW4g
|
||||
Um9vdCBDQSAtIEcyMB4XDTA4MDMyNjExMTgxN1oXDTIwMDMyNTExMDMxMFowWjELMAkGA1UEBhMC
|
||||
TkwxHjAcBgNVBAoMFVN0YWF0IGRlciBOZWRlcmxhbmRlbjErMCkGA1UEAwwiU3RhYXQgZGVyIE5l
|
||||
ZGVybGFuZGVuIFJvb3QgQ0EgLSBHMjCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMVZ
|
||||
5291qj5LnLW4rJ4L5PnZyqtdj7U5EILXr1HgO+EASGrP2uEGQxGZqhQlEq0i6ABtQ8SpuOUfiUtn
|
||||
vWFI7/3S4GCI5bkYYCjDdyutsDeqN95kWSpGV+RLufg3fNU254DBtvPUZ5uW6M7XxgpT0GtJlvOj
|
||||
CwV3SPcl5XCsMBQgJeN/dVrlSPhOewMHBPqCYYdu8DvEpMfQ9XQ+pV0aCPKbJdL2rAQmPlU6Yiil
|
||||
e7Iwr/g3wtG61jj99O9JMDeZJiFIhQGp5Rbn3JBV3w/oOM2ZNyFPXfUib2rFEhZgF1XyZWampzCR
|
||||
OME4HYYEhLoaJXhena/MUGDWE4dS7WMfbWV9whUYdMrhfmQpjHLYFhN9C0lK8SgbIHRrxT3dsKpI
|
||||
CT0ugpTNGmXZK4iambwYfp/ufWZ8Pr2UuIHOzZgweMFvZ9C+X+Bo7d7iscksWXiSqt8rYGPy5V65
|
||||
48r6f1CGPqI0GAwJaCgRHOThuVw+R7oyPxjMW4T182t0xHJ04eOLoEq9jWYv6q012iDTiIJh8BIi
|
||||
trzQ1aTsr1SIJSQ8p22xcik/Plemf1WvbibG/ufMQFxRRIEKeN5KzlW/HdXZt1bv8Hb/C3m1r737
|
||||
qWmRRpdogBQ2HbN/uymYNqUg+oJgYjOk7Na6B6duxc8UpufWkjTYgfX8HV2qXB72o007uPc5AgMB
|
||||
AAGjgZcwgZQwDwYDVR0TAQH/BAUwAwEB/zBSBgNVHSAESzBJMEcGBFUdIAAwPzA9BggrBgEFBQcC
|
||||
ARYxaHR0cDovL3d3dy5wa2lvdmVyaGVpZC5ubC9wb2xpY2llcy9yb290LXBvbGljeS1HMjAOBgNV
|
||||
HQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJFoMocVHYnitfGsNig0jQt8YojrMA0GCSqGSIb3DQEBCwUA
|
||||
A4ICAQCoQUpnKpKBglBu4dfYszk78wIVCVBR7y29JHuIhjv5tLySCZa59sCrI2AGeYwRTlHSeYAz
|
||||
+51IvuxBQ4EffkdAHOV6CMqqi3WtFMTC6GY8ggen5ieCWxjmD27ZUD6KQhgpxrRW/FYQoAUXvQwj
|
||||
f/ST7ZwaUb7dRUG/kSS0H4zpX897IZmflZ85OkYcbPnNe5yQzSipx6lVu6xiNGI1E0sUOlWDuYaN
|
||||
kqbG9AclVMwWVxJKgnjIFNkXgiYtXSAfea7+1HAWFpWD2DU5/1JddRwWxRNVz0fMdWVSSt7wsKfk
|
||||
CpYL+63C4iWEst3kvX5ZbJvw8NjnyvLplzh+ib7M+zkXYT9y2zqR2GUBGR2tUKRXCnxLvJxxcypF
|
||||
URmFzI79R6d0lR2o0a9OF7FpJsKqeFdbxU2n5Z4FF5TKsl+gSRiNNOkmbEgeqmiSBeGCc1qb3Adb
|
||||
CG19ndeNIdn8FCCqwkXfP+cAslHkwvgFuXkajDTznlvkN1trSt8sV4pAWja63XVECDdCcAz+3F4h
|
||||
oKOKwJCcaNpQ5kUQR3i2TtJlycM33+FCY7BXN0Ute4qcvwXqZVUz9zkQxSgqIXobisQk+T8VyJoV
|
||||
IPVVYpbtbZNQvOSqeK3Zywplh6ZmwcSBo3c6WB4L7oOLnR7SUqTMHW+wmG2UMbX4cQrcufx9MmDm
|
||||
66+KAQ==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
Hongkong Post Root CA 1
|
||||
=======================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
@@ -1833,30 +1418,6 @@ P0HHRwA11fXT91Q+gT3aSWqas+8QPebrb9HIIkfLzM8BMZLZGOMivgkeGj5asuRrDFR6fUNOuIml
|
||||
e9eiPZaGzPImNC1qkp2aGtAw4l1OBLBfiyB+d8E9lYLRRpo7PHi4b6HQDWSieB4pTpPDpFQUWw==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
EE Certification Centre Root CA
|
||||
===============================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIEAzCCAuugAwIBAgIQVID5oHPtPwBMyonY43HmSjANBgkqhkiG9w0BAQUFADB1MQswCQYDVQQG
|
||||
EwJFRTEiMCAGA1UECgwZQVMgU2VydGlmaXRzZWVyaW1pc2tlc2t1czEoMCYGA1UEAwwfRUUgQ2Vy
|
||||
dGlmaWNhdGlvbiBDZW50cmUgUm9vdCBDQTEYMBYGCSqGSIb3DQEJARYJcGtpQHNrLmVlMCIYDzIw
|
||||
MTAxMDMwMTAxMDMwWhgPMjAzMDEyMTcyMzU5NTlaMHUxCzAJBgNVBAYTAkVFMSIwIAYDVQQKDBlB
|
||||
UyBTZXJ0aWZpdHNlZXJpbWlza2Vza3VzMSgwJgYDVQQDDB9FRSBDZXJ0aWZpY2F0aW9uIENlbnRy
|
||||
ZSBSb290IENBMRgwFgYJKoZIhvcNAQkBFglwa2lAc2suZWUwggEiMA0GCSqGSIb3DQEBAQUAA4IB
|
||||
DwAwggEKAoIBAQDIIMDs4MVLqwd4lfNE7vsLDP90jmG7sWLqI9iroWUyeuuOF0+W2Ap7kaJjbMeM
|
||||
TC55v6kF/GlclY1i+blw7cNRfdCT5mzrMEvhvH2/UpvObntl8jixwKIy72KyaOBhU8E2lf/slLo2
|
||||
rpwcpzIP5Xy0xm90/XsY6KxX7QYgSzIwWFv9zajmofxwvI6Sc9uXp3whrj3B9UiHbCe9nyV0gVWw
|
||||
93X2PaRka9ZP585ArQ/dMtO8ihJTmMmJ+xAdTX7Nfh9WDSFwhfYggx/2uh8Ej+p3iDXE/+pOoYtN
|
||||
P2MbRMNE1CV2yreN1x5KZmTNXMWcg+HCCIia7E6j8T4cLNlsHaFLAgMBAAGjgYowgYcwDwYDVR0T
|
||||
AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBLyWj7qVhy/zQas8fElyalL1BSZ
|
||||
MEUGA1UdJQQ+MDwGCCsGAQUFBwMCBggrBgEFBQcDAQYIKwYBBQUHAwMGCCsGAQUFBwMEBggrBgEF
|
||||
BQcDCAYIKwYBBQUHAwkwDQYJKoZIhvcNAQEFBQADggEBAHv25MANqhlHt01Xo/6tu7Fq1Q+e2+Rj
|
||||
xY6hUFaTlrg4wCQiZrxTFGGVv9DHKpY5P30osxBAIWrEr7BSdxjhlthWXePdNl4dp1BUoMUq5KqM
|
||||
lIpPnTX/dqQGE5Gion0ARD9V04I8GtVbvFZMIi5GQ4okQC3zErg7cBqklrkar4dBGmoYDQZPxz5u
|
||||
uSlNDUmJEYcyW+ZLBMjkXOZ0c5RdFpgTlf7727FE5TpwrDdr5rMzcijJs1eg9gIWiAYLtqZLICjU
|
||||
3j2LrTcFU3T+bsy8QxdxXvnFzBqpYe73dgzzcvRyrc9yAjYHR8/vGVCJYMzpJJUPwssd8m92kMfM
|
||||
dcGWxZ0=
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
D-TRUST Root Class 3 CA 2 2009
|
||||
==============================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
@@ -2613,37 +2174,6 @@ kbcFgKyLmZJ956LYBws2J+dIeWCKw9cTXPhyQN9Ky8+ZAAoACxGV2lZFA4gKn2fQ1XmxqI1AbQ3C
|
||||
ekD6819kR5LLU7m7Wc5P/dAVUwHY3+vZ5nbv0CO7O6l5s9UCKc2Jo5YPSjXnTkLAdc0Hz+Ys63su
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
Certinomis - Root CA
|
||||
====================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIFkjCCA3qgAwIBAgIBATANBgkqhkiG9w0BAQsFADBaMQswCQYDVQQGEwJGUjETMBEGA1UEChMK
|
||||
Q2VydGlub21pczEXMBUGA1UECxMOMDAwMiA0MzM5OTg5MDMxHTAbBgNVBAMTFENlcnRpbm9taXMg
|
||||
LSBSb290IENBMB4XDTEzMTAyMTA5MTcxOFoXDTMzMTAyMTA5MTcxOFowWjELMAkGA1UEBhMCRlIx
|
||||
EzARBgNVBAoTCkNlcnRpbm9taXMxFzAVBgNVBAsTDjAwMDIgNDMzOTk4OTAzMR0wGwYDVQQDExRD
|
||||
ZXJ0aW5vbWlzIC0gUm9vdCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANTMCQos
|
||||
P5L2fxSeC5yaah1AMGT9qt8OHgZbn1CF6s2Nq0Nn3rD6foCWnoR4kkjW4znuzuRZWJflLieY6pOo
|
||||
d5tK8O90gC3rMB+12ceAnGInkYjwSond3IjmFPnVAy//ldu9n+ws+hQVWZUKxkd8aRi5pwP5ynap
|
||||
z8dvtF4F/u7BUrJ1Mofs7SlmO/NKFoL21prbcpjp3vDFTKWrteoB4owuZH9kb/2jJZOLyKIOSY00
|
||||
8B/sWEUuNKqEUL3nskoTuLAPrjhdsKkb5nPJWqHZZkCqqU2mNAKthH6yI8H7KsZn9DS2sJVqM09x
|
||||
RLWtwHkziOC/7aOgFLScCbAK42C++PhmiM1b8XcF4LVzbsF9Ri6OSyemzTUK/eVNfaoqoynHWmgE
|
||||
6OXWk6RiwsXm9E/G+Z8ajYJJGYrKWUM66A0ywfRMEwNvbqY/kXPLynNvEiCL7sCCeN5LLsJJwx3t
|
||||
FvYk9CcbXFcx3FXuqB5vbKziRcxXV4p1VxngtViZSTYxPDMBbRZKzbgqg4SGm/lg0h9tkQPTYKbV
|
||||
PZrdd5A9NaSfD171UkRpucC63M9933zZxKyGIjK8e2uR73r4F2iw4lNVYC2vPsKD2NkJK/DAZNuH
|
||||
i5HMkesE/Xa0lZrmFAYb1TQdvtj/dBxThZngWVJKYe2InmtJiUZ+IFrZ50rlau7SZRFDAgMBAAGj
|
||||
YzBhMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTvkUz1pcMw6C8I
|
||||
6tNxIqSSaHh02TAfBgNVHSMEGDAWgBTvkUz1pcMw6C8I6tNxIqSSaHh02TANBgkqhkiG9w0BAQsF
|
||||
AAOCAgEAfj1U2iJdGlg+O1QnurrMyOMaauo++RLrVl89UM7g6kgmJs95Vn6RHJk/0KGRHCwPT5iV
|
||||
WVO90CLYiF2cN/z7ZMF4jIuaYAnq1fohX9B0ZedQxb8uuQsLrbWwF6YSjNRieOpWauwK0kDDPAUw
|
||||
Pk2Ut59KA9N9J0u2/kTO+hkzGm2kQtHdzMjI1xZSg081lLMSVX3l4kLr5JyTCcBMWwerx20RoFAX
|
||||
lCOotQqSD7J6wWAsOMwaplv/8gzjqh8c3LigkyfeY+N/IZ865Z764BNqdeuWXGKRlI5nU7aJ+BIJ
|
||||
y29SWwNyhlCVCNSNh4YVH5Uk2KRvms6knZtt0rJ2BobGVgjF6wnaNsIbW0G+YSrjcOa4pvi2WsS9
|
||||
Iff/ql+hbHY5ZtbqTFXhADObE5hjyW/QASAJN1LnDE8+zbz1X5YnpyACleAu6AdBBR8Vbtaw5Bng
|
||||
DwKTACdyxYvRVB9dSsNAl35VpnzBMwQUAR1JIGkLGZOdblgi90AMRgwjY/M50n92Uaf0yKHxDHYi
|
||||
I0ZSKS3io0EHVmmY0gUJvGnHWmHNj4FgFU2A3ZDifcRQ8ow7bkrHxuaAKzyBvBGAFhAn1/DNP3nM
|
||||
cyrDflOR1m749fPH0FFNjkulW+YZFzvWgQncItzujrnEj1PhZ7szuIgVRs/taTX/dQ1G885x4cVr
|
||||
hkIGuUE=
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
OISTE WISeKey Global Root GB CA
|
||||
===============================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
@@ -2906,37 +2436,6 @@ MGUCMDqLIfG9fhGt0O9Yli/W651+kI0rz2ZVwyzjKKlwCkcO8DdZEv8tmZQoTipPNU0zWgIxAOp1
|
||||
AE47xDqUEpHJWEadIRNyp4iciuRMStuW1KyLa2tJElMzrdfkviT8tQp21KW8EA==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
LuxTrust Global Root 2
|
||||
======================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIFwzCCA6ugAwIBAgIUCn6m30tEntpqJIWe5rgV0xZ/u7EwDQYJKoZIhvcNAQELBQAwRjELMAkG
|
||||
A1UEBhMCTFUxFjAUBgNVBAoMDUx1eFRydXN0IFMuQS4xHzAdBgNVBAMMFkx1eFRydXN0IEdsb2Jh
|
||||
bCBSb290IDIwHhcNMTUwMzA1MTMyMTU3WhcNMzUwMzA1MTMyMTU3WjBGMQswCQYDVQQGEwJMVTEW
|
||||
MBQGA1UECgwNTHV4VHJ1c3QgUy5BLjEfMB0GA1UEAwwWTHV4VHJ1c3QgR2xvYmFsIFJvb3QgMjCC
|
||||
AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBANeFl78RmOnwYoNMPIf5U2o3C/IPPIfOb9wm
|
||||
Kb3FibrJgz337spbxm1Jc7TJRqMbNBM/wYlFV/TZsfs2ZUv7COJIcRHIbjuend+JZTemhfY7RBi2
|
||||
xjcwYkSSl2l9QjAk5A0MiWtj3sXh306pFGxT4GHO9hcvHTy95iJMHZP1EMShduxq3sVs35a0VkBC
|
||||
wGKSMKEtFZSg0iAGCW5qbeXrt77U8PEVfIvmTroTzEsnXpk8F12PgX8zPU/TPxvsXD/wPEx1bvKm
|
||||
1Z3aLQdjAsZy6ZS8TEmVT4hSyNvoaYL4zDRbIvCGp4m9SAptZoFtyMhk+wHh9OHe2Z7d21vUKpkm
|
||||
FRseTJIpgp7VkoGSQXAZ96Tlk0u8d2cx3Rz9MXANF5kM+Qw5GSoXtTBxVdUPrljhPS80m8+f9niF
|
||||
wpN6cj5mj5wWEWCPnolvZ77gR1o7DJpni89Gxq44o/KnvObWhWszJHAiS8sIm7vI+AIpHb4gDEa/
|
||||
a4ebsypmQjVGbKq6rfmYe+lQVRQxv7HaLe2ArWgk+2mr2HETMOZns4dA/Yl+8kPREd8vZS9kzl8U
|
||||
ubG/Mb2HeFpZZYiq/FkySIbWTLkpS5XTdvN3JW1CHDiDTf2jX5t/Lax5Gw5CMZdjpPuKadUiDTSQ
|
||||
MC6otOBttpSsvItO13D8xTiOZCXhTTmQzsmHhFhxAgMBAAGjgagwgaUwDwYDVR0TAQH/BAUwAwEB
|
||||
/zBCBgNVHSAEOzA5MDcGByuBKwEBAQowLDAqBggrBgEFBQcCARYeaHR0cHM6Ly9yZXBvc2l0b3J5
|
||||
Lmx1eHRydXN0Lmx1MA4GA1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBT/GCh2+UgFLKGu8SsbK7JT
|
||||
+Et8szAdBgNVHQ4EFgQU/xgodvlIBSyhrvErGyuyU/hLfLMwDQYJKoZIhvcNAQELBQADggIBAGoZ
|
||||
FO1uecEsh9QNcH7X9njJCwROxLHOk3D+sFTAMs2ZMGQXvw/l4jP9BzZAcg4atmpZ1gDlaCDdLnIN
|
||||
H2pkMSCEfUmmWjfrRcmF9dTHF5kH5ptV5AzoqbTOjFu1EVzPig4N1qx3gf4ynCSecs5U89BvolbW
|
||||
7MM3LGVYvlcAGvI1+ut7MV3CwRI9loGIlonBWVx65n9wNOeD4rHh4bhY79SV5GCc8JaXcozrhAIu
|
||||
ZY+kt9J/Z93I055cqqmkoCUUBpvsT34tC38ddfEz2O3OuHVtPlu5mB0xDVbYQw8wkbIEa91WvpWA
|
||||
VWe+2M2D2RjuLg+GLZKecBPs3lHJQ3gCpU3I+V/EkVhGFndadKpAvAefMLmx9xIX3eP/JEAdemrR
|
||||
TxgKqpAd60Ae36EeRJIQmvKN4dFLRp7oRUKX6kWZ8+xm1QL68qZKJKrezrnK+T+Tb/mjuuqlPpmt
|
||||
/f97mfVl7vBZKGfXkJWkE4SphMHozs51k2MavDzq1WQfLSoSOcbDWjLtR5EWDrw4wVDej8oqkDQc
|
||||
7kGUnF4ZLvhFSZl0kbAEb+MEWrGrKqv+x9CWttrhSmQGbmBNvUJO/3jaJMobtNeWOWyu8Q6qp31I
|
||||
iyBMz2TWuJdGsE7RKlY6oJO9r4Ak4Ap+58rVyuiFVdw2KuGUaJPHZnJED4AhMmwlxyOAgwrr
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
TUBITAK Kamu SM SSL Kok Sertifikasi - Surum 1
|
||||
=============================================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
@@ -3399,3 +2898,331 @@ tlu3zM63Nwf9JtmYhST/WSMDmu2dnajkXjjO11INb9I/bbEFa0nOipFGc/T2L/Coc3cOZayhjWZS
|
||||
aX5LaAzHHjcng6WMxwLkFM1JAbBzs/3GkDpv0mztO+7skb6iQ12LAEpmJURw3kAP+HwV96LOPNde
|
||||
E4yBFxgX0b3xdxA61GU5wSesVywlVP+i2k+KYTlerj1KjL0=
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
emSign Root CA - G1
|
||||
===================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDlDCCAnygAwIBAgIKMfXkYgxsWO3W2DANBgkqhkiG9w0BAQsFADBnMQswCQYDVQQGEwJJTjET
|
||||
MBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBUZWNobm9sb2dpZXMgTGltaXRl
|
||||
ZDEcMBoGA1UEAxMTZW1TaWduIFJvb3QgQ0EgLSBHMTAeFw0xODAyMTgxODMwMDBaFw00MzAyMTgx
|
||||
ODMwMDBaMGcxCzAJBgNVBAYTAklOMRMwEQYDVQQLEwplbVNpZ24gUEtJMSUwIwYDVQQKExxlTXVk
|
||||
aHJhIFRlY2hub2xvZ2llcyBMaW1pdGVkMRwwGgYDVQQDExNlbVNpZ24gUm9vdCBDQSAtIEcxMIIB
|
||||
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAk0u76WaK7p1b1TST0Bsew+eeuGQzf2N4aLTN
|
||||
LnF115sgxk0pvLZoYIr3IZpWNVrzdr3YzZr/k1ZLpVkGoZM0Kd0WNHVO8oG0x5ZOrRkVUkr+PHB1
|
||||
cM2vK6sVmjM8qrOLqs1D/fXqcP/tzxE7lM5OMhbTI0Aqd7OvPAEsbO2ZLIvZTmmYsvePQbAyeGHW
|
||||
DV/D+qJAkh1cF+ZwPjXnorfCYuKrpDhMtTk1b+oDafo6VGiFbdbyL0NVHpENDtjVaqSW0RM8LHhQ
|
||||
6DqS0hdW5TUaQBw+jSztOd9C4INBdN+jzcKGYEho42kLVACL5HZpIQ15TjQIXhTCzLG3rdd8cIrH
|
||||
hQIDAQABo0IwQDAdBgNVHQ4EFgQU++8Nhp6w492pufEhF38+/PB3KxowDgYDVR0PAQH/BAQDAgEG
|
||||
MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAFn/8oz1h31xPaOfG1vR2vjTnGs2
|
||||
vZupYeveFix0PZ7mddrXuqe8QhfnPZHr5X3dPpzxz5KsbEjMwiI/aTvFthUvozXGaCocV685743Q
|
||||
NcMYDHsAVhzNixl03r4PEuDQqqE/AjSxcM6dGNYIAwlG7mDgfrbESQRRfXBgvKqy/3lyeqYdPV8q
|
||||
+Mri/Tm3R7nrft8EI6/6nAYH6ftjk4BAtcZsCjEozgyfz7MjNYBBjWzEN3uBL4ChQEKF6dk4jeih
|
||||
U80Bv2noWgbyRQuQ+q7hv53yrlc8pa6yVvSLZUDp/TGBLPQ5Cdjua6e0ph0VpZj3AYHYhX3zUVxx
|
||||
iN66zB+Afko=
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
emSign ECC Root CA - G3
|
||||
=======================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIICTjCCAdOgAwIBAgIKPPYHqWhwDtqLhDAKBggqhkjOPQQDAzBrMQswCQYDVQQGEwJJTjETMBEG
|
||||
A1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11ZGhyYSBUZWNobm9sb2dpZXMgTGltaXRlZDEg
|
||||
MB4GA1UEAxMXZW1TaWduIEVDQyBSb290IENBIC0gRzMwHhcNMTgwMjE4MTgzMDAwWhcNNDMwMjE4
|
||||
MTgzMDAwWjBrMQswCQYDVQQGEwJJTjETMBEGA1UECxMKZW1TaWduIFBLSTElMCMGA1UEChMcZU11
|
||||
ZGhyYSBUZWNobm9sb2dpZXMgTGltaXRlZDEgMB4GA1UEAxMXZW1TaWduIEVDQyBSb290IENBIC0g
|
||||
RzMwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQjpQy4LRL1KPOxst3iAhKAnjlfSU2fySU0WXTsuwYc
|
||||
58Byr+iuL+FBVIcUqEqy6HyC5ltqtdyzdc6LBtCGI79G1Y4PPwT01xySfvalY8L1X44uT6EYGQIr
|
||||
MgqCZH0Wk9GjQjBAMB0GA1UdDgQWBBR8XQKEE9TMipuBzhccLikenEhjQjAOBgNVHQ8BAf8EBAMC
|
||||
AQYwDwYDVR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNpADBmAjEAvvNhzwIQHWSVB7gYboiFBS+D
|
||||
CBeQyh+KTOgNG3qxrdWBCUfvO6wIBHxcmbHtRwfSAjEAnbpV/KlK6O3t5nYBQnvI+GDZjVGLVTv7
|
||||
jHvrZQnD+JbNR6iC8hZVdyR+EhCVBCyj
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
emSign Root CA - C1
|
||||
===================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDczCCAlugAwIBAgILAK7PALrEzzL4Q7IwDQYJKoZIhvcNAQELBQAwVjELMAkGA1UEBhMCVVMx
|
||||
EzARBgNVBAsTCmVtU2lnbiBQS0kxFDASBgNVBAoTC2VNdWRocmEgSW5jMRwwGgYDVQQDExNlbVNp
|
||||
Z24gUm9vdCBDQSAtIEMxMB4XDTE4MDIxODE4MzAwMFoXDTQzMDIxODE4MzAwMFowVjELMAkGA1UE
|
||||
BhMCVVMxEzARBgNVBAsTCmVtU2lnbiBQS0kxFDASBgNVBAoTC2VNdWRocmEgSW5jMRwwGgYDVQQD
|
||||
ExNlbVNpZ24gUm9vdCBDQSAtIEMxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAz+up
|
||||
ufGZBczYKCFK83M0UYRWEPWgTywS4/oTmifQz/l5GnRfHXk5/Fv4cI7gklL35CX5VIPZHdPIWoU/
|
||||
Xse2B+4+wM6ar6xWQio5JXDWv7V7Nq2s9nPczdcdioOl+yuQFTdrHCZH3DspVpNqs8FqOp099cGX
|
||||
OFgFixwR4+S0uF2FHYP+eF8LRWgYSKVGczQ7/g/IdrvHGPMF0Ybzhe3nudkyrVWIzqa2kbBPrH4V
|
||||
I5b2P/AgNBbeCsbEBEV5f6f9vtKppa+cxSMq9zwhbL2vj07FOrLzNBL834AaSaTUqZX3noleooms
|
||||
lMuoaJuvimUnzYnu3Yy1aylwQ6BpC+S5DwIDAQABo0IwQDAdBgNVHQ4EFgQU/qHgcB4qAzlSWkK+
|
||||
XJGFehiqTbUwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQAD
|
||||
ggEBAMJKVvoVIXsoounlHfv4LcQ5lkFMOycsxGwYFYDGrK9HWS8mC+M2sO87/kOXSTKZEhVb3xEp
|
||||
/6tT+LvBeA+snFOvV71ojD1pM/CjoCNjO2RnIkSt1XHLVip4kqNPEjE2NuLe/gDEo2APJ62gsIq1
|
||||
NnpSob0n9CAnYuhNlCQT5AoE6TyrLshDCUrGYQTlSTR+08TI9Q/Aqum6VF7zYytPT1DU/rl7mYw9
|
||||
wC68AivTxEDkigcxHpvOJpkT+xHqmiIMERnHXhuBUDDIlhJu58tBf5E7oke3VIAb3ADMmpDqw8NQ
|
||||
BmIMMMAVSKeoWXzhriKi4gp6D/piq1JM4fHfyr6DDUI=
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
emSign ECC Root CA - C3
|
||||
=======================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIICKzCCAbGgAwIBAgIKe3G2gla4EnycqDAKBggqhkjOPQQDAzBaMQswCQYDVQQGEwJVUzETMBEG
|
||||
A1UECxMKZW1TaWduIFBLSTEUMBIGA1UEChMLZU11ZGhyYSBJbmMxIDAeBgNVBAMTF2VtU2lnbiBF
|
||||
Q0MgUm9vdCBDQSAtIEMzMB4XDTE4MDIxODE4MzAwMFoXDTQzMDIxODE4MzAwMFowWjELMAkGA1UE
|
||||
BhMCVVMxEzARBgNVBAsTCmVtU2lnbiBQS0kxFDASBgNVBAoTC2VNdWRocmEgSW5jMSAwHgYDVQQD
|
||||
ExdlbVNpZ24gRUNDIFJvb3QgQ0EgLSBDMzB2MBAGByqGSM49AgEGBSuBBAAiA2IABP2lYa57JhAd
|
||||
6bciMK4G9IGzsUJxlTm801Ljr6/58pc1kjZGDoeVjbk5Wum739D+yAdBPLtVb4OjavtisIGJAnB9
|
||||
SMVK4+kiVCJNk7tCDK93nCOmfddhEc5lx/h//vXyqaNCMEAwHQYDVR0OBBYEFPtaSNCAIEDyqOkA
|
||||
B2kZd6fmw/TPMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MAoGCCqGSM49BAMDA2gA
|
||||
MGUCMQC02C8Cif22TGK6Q04ThHK1rt0c3ta13FaPWEBaLd4gTCKDypOofu4SQMfWh0/434UCMBwU
|
||||
ZOR8loMRnLDRWmFLpg9J0wD8ofzkpf9/rdcw0Md3f76BB1UwUCAU9Vc4CqgxUQ==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
Hongkong Post Root CA 3
|
||||
=======================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIFzzCCA7egAwIBAgIUCBZfikyl7ADJk0DfxMauI7gcWqQwDQYJKoZIhvcNAQELBQAwbzELMAkG
|
||||
A1UEBhMCSEsxEjAQBgNVBAgTCUhvbmcgS29uZzESMBAGA1UEBxMJSG9uZyBLb25nMRYwFAYDVQQK
|
||||
Ew1Ib25na29uZyBQb3N0MSAwHgYDVQQDExdIb25na29uZyBQb3N0IFJvb3QgQ0EgMzAeFw0xNzA2
|
||||
MDMwMjI5NDZaFw00MjA2MDMwMjI5NDZaMG8xCzAJBgNVBAYTAkhLMRIwEAYDVQQIEwlIb25nIEtv
|
||||
bmcxEjAQBgNVBAcTCUhvbmcgS29uZzEWMBQGA1UEChMNSG9uZ2tvbmcgUG9zdDEgMB4GA1UEAxMX
|
||||
SG9uZ2tvbmcgUG9zdCBSb290IENBIDMwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCz
|
||||
iNfqzg8gTr7m1gNt7ln8wlffKWihgw4+aMdoWJwcYEuJQwy51BWy7sFOdem1p+/l6TWZ5Mwc50tf
|
||||
jTMwIDNT2aa71T4Tjukfh0mtUC1Qyhi+AViiE3CWu4mIVoBc+L0sPOFMV4i707mV78vH9toxdCim
|
||||
5lSJ9UExyuUmGs2C4HDaOym71QP1mbpV9WTRYA6ziUm4ii8F0oRFKHyPaFASePwLtVPLwpgchKOe
|
||||
sL4jpNrcyCse2m5FHomY2vkALgbpDDtw1VAliJnLzXNg99X/NWfFobxeq81KuEXryGgeDQ0URhLj
|
||||
0mRiikKYvLTGCAj4/ahMZJx2Ab0vqWwzD9g/KLg8aQFChn5pwckGyuV6RmXpwtZQQS4/t+TtbNe/
|
||||
JgERohYpSms0BpDsE9K2+2p20jzt8NYt3eEV7KObLyzJPivkaTv/ciWxNoZbx39ri1UbSsUgYT2u
|
||||
y1DhCDq+sI9jQVMwCFk8mB13umOResoQUGC/8Ne8lYePl8X+l2oBlKN8W4UdKjk60FSh0Tlxnf0h
|
||||
+bV78OLgAo9uliQlLKAeLKjEiafv7ZkGL7YKTE/bosw3Gq9HhS2KX8Q0NEwA/RiTZxPRN+ZItIsG
|
||||
xVd7GYYKecsAyVKvQv83j+GjHno9UKtjBucVtT+2RTeUN7F+8kjDf8V1/peNRY8apxpyKBpADwID
|
||||
AQABo2MwYTAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAfBgNVHSMEGDAWgBQXnc0e
|
||||
i9Y5K3DTXNSguB+wAPzFYTAdBgNVHQ4EFgQUF53NHovWOStw01zUoLgfsAD8xWEwDQYJKoZIhvcN
|
||||
AQELBQADggIBAFbVe27mIgHSQpsY1Q7XZiNc4/6gx5LS6ZStS6LG7BJ8dNVI0lkUmcDrudHr9Egw
|
||||
W62nV3OZqdPlt9EuWSRY3GguLmLYauRwCy0gUCCkMpXRAJi70/33MvJJrsZ64Ee+bs7Lo3I6LWld
|
||||
y8joRTnU+kLBEUx3XZL7av9YROXrgZ6voJmtvqkBZss4HTzfQx/0TW60uhdG/H39h4F5ag0zD/ov
|
||||
+BS5gLNdTaqX4fnkGMX41TiMJjz98iji7lpJiCzfeT2OnpA8vUFKOt1b9pq0zj8lMH8yfaIDlNDc
|
||||
eqFS3m6TjRgm/VWsvY+b0s+v54Ysyx8Jb6NvqYTUc79NoXQbTiNg8swOqn+knEwlqLJmOzj/2ZQw
|
||||
9nKEvmhVEA/GcywWaZMH/rFF7buiVWqw2rVKAiUnhde3t4ZEFolsgCs+l6mc1X5VTMbeRRAc6uk7
|
||||
nwNT7u56AQIWeNTowr5GdogTPyK7SBIdUgC0An4hGh6cJfTzPV4e0hz5sy229zdcxsshTrD3mUcY
|
||||
hcErulWuBurQB7Lcq9CClnXO0lD+mefPL5/ndtFhKvshuzHQqp9HpLIiyhY6UFfEW0NnxWViA0kB
|
||||
60PZ2Pierc+xYw5F9KBaLJstxabArahH9CdMOA0uG0k7UvToiIMrVCjU8jVStDKDYmlkDJGcn5fq
|
||||
dBb9HxEGmpv0
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
Entrust Root Certification Authority - G4
|
||||
=========================================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIGSzCCBDOgAwIBAgIRANm1Q3+vqTkPAAAAAFVlrVgwDQYJKoZIhvcNAQELBQAwgb4xCzAJBgNV
|
||||
BAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3Qu
|
||||
bmV0L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxNSBFbnRydXN0LCBJbmMuIC0gZm9yIGF1
|
||||
dGhvcml6ZWQgdXNlIG9ubHkxMjAwBgNVBAMTKUVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1
|
||||
dGhvcml0eSAtIEc0MB4XDTE1MDUyNzExMTExNloXDTM3MTIyNzExNDExNlowgb4xCzAJBgNVBAYT
|
||||
AlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQLEx9TZWUgd3d3LmVudHJ1c3QubmV0
|
||||
L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykgMjAxNSBFbnRydXN0LCBJbmMuIC0gZm9yIGF1dGhv
|
||||
cml6ZWQgdXNlIG9ubHkxMjAwBgNVBAMTKUVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhv
|
||||
cml0eSAtIEc0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAsewsQu7i0TD/pZJH4i3D
|
||||
umSXbcr3DbVZwbPLqGgZ2K+EbTBwXX7zLtJTmeH+H17ZSK9dE43b/2MzTdMAArzE+NEGCJR5WIoV
|
||||
3imz/f3ET+iq4qA7ec2/a0My3dl0ELn39GjUu9CH1apLiipvKgS1sqbHoHrmSKvS0VnM1n4j5pds
|
||||
8ELl3FFLFUHtSUrJ3hCX1nbB76W1NhSXNdh4IjVS70O92yfbYVaCNNzLiGAMC1rlLAHGVK/XqsEQ
|
||||
e9IFWrhAnoanw5CGAlZSCXqc0ieCU0plUmr1POeo8pyvi73TDtTUXm6Hnmo9RR3RXRv06QqsYJn7
|
||||
ibT/mCzPfB3pAqoEmh643IhuJbNsZvc8kPNXwbMv9W3y+8qh+CmdRouzavbmZwe+LGcKKh9asj5X
|
||||
xNMhIWNlUpEbsZmOeX7m640A2Vqq6nPopIICR5b+W45UYaPrL0swsIsjdXJ8ITzI9vF01Bx7owVV
|
||||
7rtNOzK+mndmnqxpkCIHH2E6lr7lmk/MBTwoWdPBDFSoWWG9yHJM6Nyfh3+9nEg2XpWjDrk4JFX8
|
||||
dWbrAuMINClKxuMrLzOg2qOGpRKX/YAr2hRC45K9PvJdXmd0LhyIRyk0X+IyqJwlN4y6mACXi0mW
|
||||
Hv0liqzc2thddG5msP9E36EYxr5ILzeUePiVSj9/E15dWf10hkNjc0kCAwEAAaNCMEAwDwYDVR0T
|
||||
AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFJ84xFYjwznooHFs6FRM5Og6sb9n
|
||||
MA0GCSqGSIb3DQEBCwUAA4ICAQAS5UKme4sPDORGpbZgQIeMJX6tuGguW8ZAdjwD+MlZ9POrYs4Q
|
||||
jbRaZIxowLByQzTSGwv2LFPSypBLhmb8qoMi9IsabyZIrHZ3CL/FmFz0Jomee8O5ZDIBf9PD3Vht
|
||||
7LGrhFV0d4QEJ1JrhkzO3bll/9bGXp+aEJlLdWr+aumXIOTkdnrG0CSqkM0gkLpHZPt/B7NTeLUK
|
||||
YvJzQ85BK4FqLoUWlFPUa19yIqtRLULVAJyZv967lDtX/Zr1hstWO1uIAeV8KEsD+UmDfLJ/fOPt
|
||||
jqF/YFOOVZ1QNBIPt5d7bIdKROf1beyAN/BYGW5KaHbwH5Lk6rWS02FREAutp9lfx1/cH6NcjKF+
|
||||
m7ee01ZvZl4HliDtC3T7Zk6LERXpgUl+b7DUUH8i119lAg2m9IUe2K4GS0qn0jFmwvjO5QimpAKW
|
||||
RGhXxNUzzxkvFMSUHHuk2fCfDrGA4tGeEWSpiBE6doLlYsKA2KSD7ZPvfC+QsDJMlhVoSFLUmQjA
|
||||
JOgc47OlIQ6SwJAfzyBfyjs4x7dtOvPmRLgOMWuIjnDrnBdSqEGULoe256YSxXXfW8AKbnuk5F6G
|
||||
+TaU33fD6Q3AOfF5u0aOq0NZJ7cguyPpVkAh7DE9ZapD8j3fcEThuk0mEDuYn/PIjhs4ViFqUZPT
|
||||
kcpG2om3PVODLAgfi49T3f+sHw==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
Microsoft ECC Root Certificate Authority 2017
|
||||
=============================================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIICWTCCAd+gAwIBAgIQZvI9r4fei7FK6gxXMQHC7DAKBggqhkjOPQQDAzBlMQswCQYDVQQGEwJV
|
||||
UzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYwNAYDVQQDEy1NaWNyb3NvZnQgRUND
|
||||
IFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTcwHhcNMTkxMjE4MjMwNjQ1WhcNNDIwNzE4
|
||||
MjMxNjA0WjBlMQswCQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYw
|
||||
NAYDVQQDEy1NaWNyb3NvZnQgRUNDIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTcwdjAQ
|
||||
BgcqhkjOPQIBBgUrgQQAIgNiAATUvD0CQnVBEyPNgASGAlEvaqiBYgtlzPbKnR5vSmZRogPZnZH6
|
||||
thaxjG7efM3beaYvzrvOcS/lpaso7GMEZpn4+vKTEAXhgShC48Zo9OYbhGBKia/teQ87zvH2RPUB
|
||||
eMCjVDBSMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTIy5lycFIM
|
||||
+Oa+sgRXKSrPQhDtNTAQBgkrBgEEAYI3FQEEAwIBADAKBggqhkjOPQQDAwNoADBlAjBY8k3qDPlf
|
||||
Xu5gKcs68tvWMoQZP3zVL8KxzJOuULsJMsbG7X7JNpQS5GiFBqIb0C8CMQCZ6Ra0DvpWSNSkMBaR
|
||||
eNtUjGUBiudQZsIxtzm6uBoiB078a1QWIP8rtedMDE2mT3M=
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
Microsoft RSA Root Certificate Authority 2017
|
||||
=============================================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIFqDCCA5CgAwIBAgIQHtOXCV/YtLNHcB6qvn9FszANBgkqhkiG9w0BAQwFADBlMQswCQYDVQQG
|
||||
EwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMTYwNAYDVQQDEy1NaWNyb3NvZnQg
|
||||
UlNBIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTcwHhcNMTkxMjE4MjI1MTIyWhcNNDIw
|
||||
NzE4MjMwMDIzWjBlMQswCQYDVQQGEwJVUzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9u
|
||||
MTYwNAYDVQQDEy1NaWNyb3NvZnQgUlNBIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5IDIwMTcw
|
||||
ggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDKW76UM4wplZEWCpW9R2LBifOZNt9GkMml
|
||||
7Xhqb0eRaPgnZ1AzHaGm++DlQ6OEAlcBXZxIQIJTELy/xztokLaCLeX0ZdDMbRnMlfl7rEqUrQ7e
|
||||
S0MdhweSE5CAg2Q1OQT85elss7YfUJQ4ZVBcF0a5toW1HLUX6NZFndiyJrDKxHBKrmCk3bPZ7Pw7
|
||||
1VdyvD/IybLeS2v4I2wDwAW9lcfNcztmgGTjGqwu+UcF8ga2m3P1eDNbx6H7JyqhtJqRjJHTOoI+
|
||||
dkC0zVJhUXAoP8XFWvLJjEm7FFtNyP9nTUwSlq31/niol4fX/V4ggNyhSyL71Imtus5Hl0dVe49F
|
||||
yGcohJUcaDDv70ngNXtk55iwlNpNhTs+VcQor1fznhPbRiefHqJeRIOkpcrVE7NLP8TjwuaGYaRS
|
||||
MLl6IE9vDzhTyzMMEyuP1pq9KsgtsRx9S1HKR9FIJ3Jdh+vVReZIZZ2vUpC6W6IYZVcSn2i51BVr
|
||||
lMRpIpj0M+Dt+VGOQVDJNE92kKz8OMHY4Xu54+OU4UZpyw4KUGsTuqwPN1q3ErWQgR5WrlcihtnJ
|
||||
0tHXUeOrO8ZV/R4O03QK0dqq6mm4lyiPSMQH+FJDOvTKVTUssKZqwJz58oHhEmrARdlns87/I6KJ
|
||||
ClTUFLkqqNfs+avNJVgyeY+QW5g5xAgGwax/Dj0ApQIDAQABo1QwUjAOBgNVHQ8BAf8EBAMCAYYw
|
||||
DwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUCctZf4aycI8awznjwNnpv7tNsiMwEAYJKwYBBAGC
|
||||
NxUBBAMCAQAwDQYJKoZIhvcNAQEMBQADggIBAKyvPl3CEZaJjqPnktaXFbgToqZCLgLNFgVZJ8og
|
||||
6Lq46BrsTaiXVq5lQ7GPAJtSzVXNUzltYkyLDVt8LkS/gxCP81OCgMNPOsduET/m4xaRhPtthH80
|
||||
dK2Jp86519efhGSSvpWhrQlTM93uCupKUY5vVau6tZRGrox/2KJQJWVggEbbMwSubLWYdFQl3JPk
|
||||
+ONVFT24bcMKpBLBaYVu32TxU5nhSnUgnZUP5NbcA/FZGOhHibJXWpS2qdgXKxdJ5XbLwVaZOjex
|
||||
/2kskZGT4d9Mozd2TaGf+G0eHdP67Pv0RR0Tbc/3WeUiJ3IrhvNXuzDtJE3cfVa7o7P4NHmJweDy
|
||||
AmH3pvwPuxwXC65B2Xy9J6P9LjrRk5Sxcx0ki69bIImtt2dmefU6xqaWM/5TkshGsRGRxpl/j8nW
|
||||
ZjEgQRCHLQzWwa80mMpkg/sTV9HB8Dx6jKXB/ZUhoHHBk2dxEuqPiAppGWSZI1b7rCoucL5mxAyE
|
||||
7+WL85MB+GqQk2dLsmijtWKP6T+MejteD+eMuMZ87zf9dOLITzNy4ZQ5bb0Sr74MTnB8G2+NszKT
|
||||
c0QWbej09+CVgI+WXTik9KveCjCHk9hNAHFiRSdLOkKEW39lt2c0Ui2cFmuqqNh7o0JMcccMyj6D
|
||||
5KbvtwEwXlGjefVwaaZBRA+GsCyRxj3qrg+E
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
e-Szigno Root CA 2017
|
||||
=====================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIICQDCCAeWgAwIBAgIMAVRI7yH9l1kN9QQKMAoGCCqGSM49BAMCMHExCzAJBgNVBAYTAkhVMREw
|
||||
DwYDVQQHDAhCdWRhcGVzdDEWMBQGA1UECgwNTWljcm9zZWMgTHRkLjEXMBUGA1UEYQwOVkFUSFUt
|
||||
MjM1ODQ0OTcxHjAcBgNVBAMMFWUtU3ppZ25vIFJvb3QgQ0EgMjAxNzAeFw0xNzA4MjIxMjA3MDZa
|
||||
Fw00MjA4MjIxMjA3MDZaMHExCzAJBgNVBAYTAkhVMREwDwYDVQQHDAhCdWRhcGVzdDEWMBQGA1UE
|
||||
CgwNTWljcm9zZWMgTHRkLjEXMBUGA1UEYQwOVkFUSFUtMjM1ODQ0OTcxHjAcBgNVBAMMFWUtU3pp
|
||||
Z25vIFJvb3QgQ0EgMjAxNzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABJbcPYrYsHtvxie+RJCx
|
||||
s1YVe45DJH0ahFnuY2iyxl6H0BVIHqiQrb1TotreOpCmYF9oMrWGQd+HWyx7xf58etqjYzBhMA8G
|
||||
A1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBSHERUI0arBeAyxr87GyZDv
|
||||
vzAEwDAfBgNVHSMEGDAWgBSHERUI0arBeAyxr87GyZDvvzAEwDAKBggqhkjOPQQDAgNJADBGAiEA
|
||||
tVfd14pVCzbhhkT61NlojbjcI4qKDdQvfepz7L9NbKgCIQDLpbQS+ue16M9+k/zzNY9vTlp8tLxO
|
||||
svxyqltZ+efcMQ==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
certSIGN Root CA G2
|
||||
===================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIFRzCCAy+gAwIBAgIJEQA0tk7GNi02MA0GCSqGSIb3DQEBCwUAMEExCzAJBgNVBAYTAlJPMRQw
|
||||
EgYDVQQKEwtDRVJUU0lHTiBTQTEcMBoGA1UECxMTY2VydFNJR04gUk9PVCBDQSBHMjAeFw0xNzAy
|
||||
MDYwOTI3MzVaFw00MjAyMDYwOTI3MzVaMEExCzAJBgNVBAYTAlJPMRQwEgYDVQQKEwtDRVJUU0lH
|
||||
TiBTQTEcMBoGA1UECxMTY2VydFNJR04gUk9PVCBDQSBHMjCCAiIwDQYJKoZIhvcNAQEBBQADggIP
|
||||
ADCCAgoCggIBAMDFdRmRfUR0dIf+DjuW3NgBFszuY5HnC2/OOwppGnzC46+CjobXXo9X69MhWf05
|
||||
N0IwvlDqtg+piNguLWkh59E3GE59kdUWX2tbAMI5Qw02hVK5U2UPHULlj88F0+7cDBrZuIt4Imfk
|
||||
abBoxTzkbFpG583H+u/E7Eu9aqSs/cwoUe+StCmrqzWaTOTECMYmzPhpn+Sc8CnTXPnGFiWeI8Mg
|
||||
wT0PPzhAsP6CRDiqWhqKa2NYOLQV07YRaXseVO6MGiKscpc/I1mbySKEwQdPzH/iV8oScLumZfNp
|
||||
dWO9lfsbl83kqK/20U6o2YpxJM02PbyWxPFsqa7lzw1uKA2wDrXKUXt4FMMgL3/7FFXhEZn91Qqh
|
||||
ngLjYl/rNUssuHLoPj1PrCy7Lobio3aP5ZMqz6WryFyNSwb/EkaseMsUBzXgqd+L6a8VTxaJW732
|
||||
jcZZroiFDsGJ6x9nxUWO/203Nit4ZoORUSs9/1F3dmKh7Gc+PoGD4FapUB8fepmrY7+EF3fxDTvf
|
||||
95xhszWYijqy7DwaNz9+j5LP2RIUZNoQAhVB/0/E6xyjyfqZ90bp4RjZsbgyLcsUDFDYg2WD7rlc
|
||||
z8sFWkz6GZdr1l0T08JcVLwyc6B49fFtHsufpaafItzRUZ6CeWRgKRM+o/1Pcmqr4tTluCRVLERL
|
||||
iohEnMqE0yo7AgMBAAGjQjBAMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1Ud
|
||||
DgQWBBSCIS1mxteg4BXrzkwJd8RgnlRuAzANBgkqhkiG9w0BAQsFAAOCAgEAYN4auOfyYILVAzOB
|
||||
ywaK8SJJ6ejqkX/GM15oGQOGO0MBzwdw5AgeZYWR5hEit/UCI46uuR59H35s5r0l1ZUa8gWmr4UC
|
||||
b6741jH/JclKyMeKqdmfS0mbEVeZkkMR3rYzpMzXjWR91M08KCy0mpbqTfXERMQlqiCA2ClV9+BB
|
||||
/AYm/7k29UMUA2Z44RGx2iBfRgB4ACGlHgAoYXhvqAEBj500mv/0OJD7uNGzcgbJceaBxXntC6Z5
|
||||
8hMLnPddDnskk7RI24Zf3lCGeOdA5jGokHZwYa+cNywRtYK3qq4kNFtyDGkNzVmf9nGvnAvRCjj5
|
||||
BiKDUyUM/FHE5r7iOZULJK2v0ZXkltd0ZGtxTgI8qoXzIKNDOXZbbFD+mpwUHmUUihW9o4JFWklW
|
||||
atKcsWMy5WHgUyIOpwpJ6st+H6jiYoD2EEVSmAYY3qXNL3+q1Ok+CHLsIwMCPKaq2LxndD0UF/tU
|
||||
Sxfj03k9bWtJySgOLnRQvwzZRjoQhsmnP+mg7H/rpXdYaXHmgwo38oZJar55CJD2AhZkPuXaTH4M
|
||||
NMn5X7azKFGnpyuqSfqNZSlO42sTp5SjLVFteAxEy9/eCG/Oo2Sr05WE1LlSVHJ7liXMvGnjSG4N
|
||||
0MedJ5qq+BOS3R7fY581qRY27Iy4g/Q9iY/NtBde17MXQRBdJ3NghVdJIgc=
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
Trustwave Global Certification Authority
|
||||
========================================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIF2jCCA8KgAwIBAgIMBfcOhtpJ80Y1LrqyMA0GCSqGSIb3DQEBCwUAMIGIMQswCQYDVQQGEwJV
|
||||
UzERMA8GA1UECAwISWxsaW5vaXMxEDAOBgNVBAcMB0NoaWNhZ28xITAfBgNVBAoMGFRydXN0d2F2
|
||||
ZSBIb2xkaW5ncywgSW5jLjExMC8GA1UEAwwoVHJ1c3R3YXZlIEdsb2JhbCBDZXJ0aWZpY2F0aW9u
|
||||
IEF1dGhvcml0eTAeFw0xNzA4MjMxOTM0MTJaFw00MjA4MjMxOTM0MTJaMIGIMQswCQYDVQQGEwJV
|
||||
UzERMA8GA1UECAwISWxsaW5vaXMxEDAOBgNVBAcMB0NoaWNhZ28xITAfBgNVBAoMGFRydXN0d2F2
|
||||
ZSBIb2xkaW5ncywgSW5jLjExMC8GA1UEAwwoVHJ1c3R3YXZlIEdsb2JhbCBDZXJ0aWZpY2F0aW9u
|
||||
IEF1dGhvcml0eTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALldUShLPDeS0YLOvR29
|
||||
zd24q88KPuFd5dyqCblXAj7mY2Hf8g+CY66j96xz0XznswuvCAAJWX/NKSqIk4cXGIDtiLK0thAf
|
||||
LdZfVaITXdHG6wZWiYj+rDKd/VzDBcdu7oaJuogDnXIhhpCujwOl3J+IKMujkkkP7NAP4m1ET4Bq
|
||||
stTnoApTAbqOl5F2brz81Ws25kCI1nsvXwXoLG0R8+eyvpJETNKXpP7ScoFDB5zpET71ixpZfR9o
|
||||
WN0EACyW80OzfpgZdNmcc9kYvkHHNHnZ9GLCQ7mzJ7Aiy/k9UscwR7PJPrhq4ufogXBeQotPJqX+
|
||||
OsIgbrv4Fo7NDKm0G2x2EOFYeUY+VM6AqFcJNykbmROPDMjWLBz7BegIlT1lRtzuzWniTY+HKE40
|
||||
Cz7PFNm73bZQmq131BnW2hqIyE4bJ3XYsgjxroMwuREOzYfwhI0Vcnyh78zyiGG69Gm7DIwLdVcE
|
||||
uE4qFC49DxweMqZiNu5m4iK4BUBjECLzMx10coos9TkpoNPnG4CELcU9402x/RpvumUHO1jsQkUm
|
||||
+9jaJXLE9gCxInm943xZYkqcBW89zubWR2OZxiRvchLIrH+QtAuRcOi35hYQcRfO3gZPSEF9NUqj
|
||||
ifLJS3tBEW1ntwiYTOURGa5CgNz7kAXU+FDKvuStx8KU1xad5hePrzb7AgMBAAGjQjBAMA8GA1Ud
|
||||
EwEB/wQFMAMBAf8wHQYDVR0OBBYEFJngGWcNYtt2s9o9uFvo/ULSMQ6HMA4GA1UdDwEB/wQEAwIB
|
||||
BjANBgkqhkiG9w0BAQsFAAOCAgEAmHNw4rDT7TnsTGDZqRKGFx6W0OhUKDtkLSGm+J1WE2pIPU/H
|
||||
PinbbViDVD2HfSMF1OQc3Og4ZYbFdada2zUFvXfeuyk3QAUHw5RSn8pk3fEbK9xGChACMf1KaA0H
|
||||
ZJDmHvUqoai7PF35owgLEQzxPy0QlG/+4jSHg9bP5Rs1bdID4bANqKCqRieCNqcVtgimQlRXtpla
|
||||
4gt5kNdXElE1GYhBaCXUNxeEFfsBctyV3lImIJgm4nb1J2/6ADtKYdkNy1GTKv0WBpanI5ojSP5R
|
||||
vbbEsLFUzt5sQa0WZ37b/TjNuThOssFgy50X31ieemKyJo90lZvkWx3SD92YHJtZuSPTMaCm/zjd
|
||||
zyBP6VhWOmfD0faZmZ26NraAL4hHT4a/RDqA5Dccprrql5gR0IRiR2Qequ5AvzSxnI9O4fKSTx+O
|
||||
856X3vOmeWqJcU9LJxdI/uz0UA9PSX3MReO9ekDFQdxhVicGaeVyQYHTtgGJoC86cnn+OjC/QezH
|
||||
Yj6RS8fZMXZC+fc8Y+wmjHMMfRod6qh8h6jCJ3zhM0EPz8/8AKAigJ5Kp28AsEFFtyLKaEjFQqKu
|
||||
3R3y4G5OBVixwJAWKqQ9EEC+j2Jjg6mcgn0tAumDMHzLJ8n9HmYAsC7TIS+OMxZsmO0QqAfWzJPP
|
||||
29FpHOTKyeC2nOnOcXHebD8WpHk=
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
Trustwave Global ECC P256 Certification Authority
|
||||
=================================================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIICYDCCAgegAwIBAgIMDWpfCD8oXD5Rld9dMAoGCCqGSM49BAMCMIGRMQswCQYDVQQGEwJVUzER
|
||||
MA8GA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRydXN0d2F2ZSBI
|
||||
b2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3YXZlIEdsb2JhbCBFQ0MgUDI1NiBDZXJ0aWZp
|
||||
Y2F0aW9uIEF1dGhvcml0eTAeFw0xNzA4MjMxOTM1MTBaFw00MjA4MjMxOTM1MTBaMIGRMQswCQYD
|
||||
VQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRy
|
||||
dXN0d2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3YXZlIEdsb2JhbCBFQ0MgUDI1
|
||||
NiBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABH77bOYj
|
||||
43MyCMpg5lOcunSNGLB4kFKA3TjASh3RqMyTpJcGOMoNFWLGjgEqZZ2q3zSRLoHB5DOSMcT9CTqm
|
||||
P62jQzBBMA8GA1UdEwEB/wQFMAMBAf8wDwYDVR0PAQH/BAUDAwcGADAdBgNVHQ4EFgQUo0EGrJBt
|
||||
0UrrdaVKEJmzsaGLSvcwCgYIKoZIzj0EAwIDRwAwRAIgB+ZU2g6gWrKuEZ+Hxbb/ad4lvvigtwjz
|
||||
RM4q3wghDDcCIC0mA6AFvWvR9lz4ZcyGbbOcNEhjhAnFjXca4syc4XR7
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
Trustwave Global ECC P384 Certification Authority
|
||||
=================================================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIICnTCCAiSgAwIBAgIMCL2Fl2yZJ6SAaEc7MAoGCCqGSM49BAMDMIGRMQswCQYDVQQGEwJVUzER
|
||||
MA8GA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRydXN0d2F2ZSBI
|
||||
b2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3YXZlIEdsb2JhbCBFQ0MgUDM4NCBDZXJ0aWZp
|
||||
Y2F0aW9uIEF1dGhvcml0eTAeFw0xNzA4MjMxOTM2NDNaFw00MjA4MjMxOTM2NDNaMIGRMQswCQYD
|
||||
VQQGEwJVUzERMA8GA1UECBMISWxsaW5vaXMxEDAOBgNVBAcTB0NoaWNhZ28xITAfBgNVBAoTGFRy
|
||||
dXN0d2F2ZSBIb2xkaW5ncywgSW5jLjE6MDgGA1UEAxMxVHJ1c3R3YXZlIEdsb2JhbCBFQ0MgUDM4
|
||||
NCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTB2MBAGByqGSM49AgEGBSuBBAAiA2IABGvaDXU1CDFH
|
||||
Ba5FmVXxERMuSvgQMSOjfoPTfygIOiYaOs+Xgh+AtycJj9GOMMQKmw6sWASr9zZ9lCOkmwqKi6vr
|
||||
/TklZvFe/oyujUF5nQlgziip04pt89ZF1PKYhDhloKNDMEEwDwYDVR0TAQH/BAUwAwEB/zAPBgNV
|
||||
HQ8BAf8EBQMDBwYAMB0GA1UdDgQWBBRVqYSJ0sEyvRjLbKYHTsjnnb6CkDAKBggqhkjOPQQDAwNn
|
||||
ADBkAjA3AZKXRRJ+oPM+rRk6ct30UJMDEr5E0k9BpIycnR+j9sKS50gU/k6bpZFXrsY3crsCMGcl
|
||||
CrEMXu6pY5Jv5ZAL/mYiykf9ijH3g/56vxC+GCsej/YpHpRZ744hN8tRmKVuSw==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
NAVER Global Root Certification Authority
|
||||
=========================================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIFojCCA4qgAwIBAgIUAZQwHqIL3fXFMyqxQ0Rx+NZQTQ0wDQYJKoZIhvcNAQEMBQAwaTELMAkG
|
||||
A1UEBhMCS1IxJjAkBgNVBAoMHU5BVkVSIEJVU0lORVNTIFBMQVRGT1JNIENvcnAuMTIwMAYDVQQD
|
||||
DClOQVZFUiBHbG9iYWwgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0xNzA4MTgwODU4
|
||||
NDJaFw0zNzA4MTgyMzU5NTlaMGkxCzAJBgNVBAYTAktSMSYwJAYDVQQKDB1OQVZFUiBCVVNJTkVT
|
||||
UyBQTEFURk9STSBDb3JwLjEyMDAGA1UEAwwpTkFWRVIgR2xvYmFsIFJvb3QgQ2VydGlmaWNhdGlv
|
||||
biBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC21PGTXLVAiQqrDZBb
|
||||
UGOukJR0F0Vy1ntlWilLp1agS7gvQnXp2XskWjFlqxcX0TM62RHcQDaH38dq6SZeWYp34+hInDEW
|
||||
+j6RscrJo+KfziFTowI2MMtSAuXaMl3Dxeb57hHHi8lEHoSTGEq0n+USZGnQJoViAbbJAh2+g1G7
|
||||
XNr4rRVqmfeSVPc0W+m/6imBEtRTkZazkVrd/pBzKPswRrXKCAfHcXLJZtM0l/aM9BhK4dA9WkW2
|
||||
aacp+yPOiNgSnABIqKYPszuSjXEOdMWLyEz59JuOuDxp7W87UC9Y7cSw0BwbagzivESq2M0UXZR4
|
||||
Yb8ObtoqvC8MC3GmsxY/nOb5zJ9TNeIDoKAYv7vxvvTWjIcNQvcGufFt7QSUqP620wbGQGHfnZ3z
|
||||
VHbOUzoBppJB7ASjjw2i1QnK1sua8e9DXcCrpUHPXFNwcMmIpi3Ua2FzUCaGYQ5fG8Ir4ozVu53B
|
||||
A0K6lNpfqbDKzE0K70dpAy8i+/Eozr9dUGWokG2zdLAIx6yo0es+nPxdGoMuK8u180SdOqcXYZai
|
||||
cdNwlhVNt0xz7hlcxVs+Qf6sdWA7G2POAN3aCJBitOUt7kinaxeZVL6HSuOpXgRM6xBtVNbv8ejy
|
||||
YhbLgGvtPe31HzClrkvJE+2KAQHJuFFYwGY6sWZLxNUxAmLpdIQM201GLQIDAQABo0IwQDAdBgNV
|
||||
HQ4EFgQU0p+I36HNLL3s9TsBAZMzJ7LrYEswDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMB
|
||||
Af8wDQYJKoZIhvcNAQEMBQADggIBADLKgLOdPVQG3dLSLvCkASELZ0jKbY7gyKoNqo0hV4/GPnrK
|
||||
21HUUrPUloSlWGB/5QuOH/XcChWB5Tu2tyIvCZwTFrFsDDUIbatjcu3cvuzHV+YwIHHW1xDBE1UB
|
||||
jCpD5EHxzzp6U5LOogMFDTjfArsQLtk70pt6wKGm+LUx5vR1yblTmXVHIloUFcd4G7ad6Qz4G3bx
|
||||
hYTeodoS76TiEJd6eN4MUZeoIUCLhr0N8F5OSza7OyAfikJW4Qsav3vQIkMsRIz75Sq0bBwcupTg
|
||||
E34h5prCy8VCZLQelHsIJchxzIdFV4XTnyliIoNRlwAYl3dqmJLJfGBs32x9SuRwTMKeuB330DTH
|
||||
D8z7p/8Dvq1wkNoL3chtl1+afwkyQf3NosxabUzyqkn+Zvjp2DXrDige7kgvOtB5CTh8piKCk5XQ
|
||||
A76+AqAF3SAi428diDRgxuYKuQl1C/AH6GmWNcf7I4GOODm4RStDeKLRLBT/DShycpWbXgnbiUSY
|
||||
qqFJu3FS8r/2/yehNq+4tneI3TqkbZs0kNwUXTC/t+sX5Ie3cdCh13cV1ELX8vMxmV2b3RZtP+oG
|
||||
I/hGoiLtk/bdmuYqh7GYVPEi92tF4+KOdh2ajcQGjTa3FPOdVGm3jjzVpG2Tgbet9r1ke8LJaDmg
|
||||
kpzNNIaRkPpkUZ3+/uul9XXeifdy
|
||||
-----END CERTIFICATE-----
|
||||
@@ -1,6 +1,6 @@
|
||||
==[ Translations ]===========================================================
|
||||
|
||||
In UnrealIRCd 4 we support the following translations:
|
||||
In UnrealIRCd 5 we support the following translations:
|
||||
* on-line documentation at https://www.unrealircd.org/docs/ (wiki!)
|
||||
* help.conf
|
||||
* example.conf
|
||||
|
||||
Executable
+155
@@ -0,0 +1,155 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RuleSet Name="UnrealIRCd rules - based off Microsoft Native Minimum Rules" Description="These rules focus on the most critical problems in your native code, including potential security holes and application crashes. It is recommended to include this rule set in any custom rule set you create for your native projects." ToolsVersion="10.0">
|
||||
<Localization ResourceAssembly="Microsoft.VisualStudio.CodeAnalysis.RuleSets.Strings.dll" ResourceBaseName="Microsoft.VisualStudio.CodeAnalysis.RuleSets.Strings.Localized">
|
||||
<Name Resource="NativeMinimumRules_Name" />
|
||||
<Description Resource="NativeMinimumRules_Description" />
|
||||
</Localization>
|
||||
|
||||
<Rules AnalyzerId="Microsoft.Analyzers.NativeCodeAnalysis" RuleNamespace="Microsoft.Rules.Native">
|
||||
<!-- Many false positives <Rule Id="C6001" Action="Warning" /> -->
|
||||
<!-- Many false positives <Rule Id="C6011" Action="Warning" /> -->
|
||||
<Rule Id="C6029" Action="Warning" />
|
||||
<Rule Id="C6053" Action="Warning" />
|
||||
<Rule Id="C6059" Action="Warning" />
|
||||
<Rule Id="C6063" Action="Warning" />
|
||||
<Rule Id="C6064" Action="Warning" />
|
||||
<Rule Id="C6066" Action="Warning" />
|
||||
<Rule Id="C6067" Action="Warning" />
|
||||
<Rule Id="C6101" Action="Warning" />
|
||||
<Rule Id="C6200" Action="Warning" />
|
||||
<Rule Id="C6201" Action="Warning" />
|
||||
<Rule Id="C6270" Action="Warning" />
|
||||
<Rule Id="C6271" Action="Warning" />
|
||||
<Rule Id="C6272" Action="Warning" />
|
||||
<Rule Id="C6273" Action="Warning" />
|
||||
<Rule Id="C6274" Action="Warning" />
|
||||
<Rule Id="C6276" Action="Warning" />
|
||||
<Rule Id="C6277" Action="Warning" />
|
||||
<Rule Id="C6284" Action="Warning" />
|
||||
<Rule Id="C6290" Action="Warning" />
|
||||
<Rule Id="C6291" Action="Warning" />
|
||||
<Rule Id="C6302" Action="Warning" />
|
||||
<Rule Id="C6303" Action="Warning" />
|
||||
<Rule Id="C6305" Action="Warning" />
|
||||
<Rule Id="C6306" Action="Warning" />
|
||||
<Rule Id="C6328" Action="Warning" />
|
||||
<!-- <Rule Id="C6385" Action="Warning" /> more false positives -->
|
||||
<!-- <Rule Id="C6386" Action="Warning" /> the analysis this one does - or lack thereof - is particularly dumb pffff -->
|
||||
<!-- <Rule Id="C6387" Action="Warning" /> more null/0 false positives -->
|
||||
<Rule Id="C6500" Action="Warning" />
|
||||
<Rule Id="C6501" Action="Warning" />
|
||||
<Rule Id="C6503" Action="Warning" />
|
||||
<Rule Id="C6504" Action="Warning" />
|
||||
<Rule Id="C6505" Action="Warning" />
|
||||
<Rule Id="C6506" Action="Warning" />
|
||||
<Rule Id="C6508" Action="Warning" />
|
||||
<Rule Id="C6509" Action="Warning" />
|
||||
<Rule Id="C6510" Action="Warning" />
|
||||
<Rule Id="C6511" Action="Warning" />
|
||||
<Rule Id="C6513" Action="Warning" />
|
||||
<Rule Id="C6514" Action="Warning" />
|
||||
<Rule Id="C6515" Action="Warning" />
|
||||
<Rule Id="C6516" Action="Warning" />
|
||||
<Rule Id="C6517" Action="Warning" />
|
||||
<Rule Id="C6518" Action="Warning" />
|
||||
<Rule Id="C6522" Action="Warning" />
|
||||
<Rule Id="C6525" Action="Warning" />
|
||||
<Rule Id="C6527" Action="Warning" />
|
||||
<Rule Id="C6530" Action="Warning" />
|
||||
<Rule Id="C6540" Action="Warning" />
|
||||
<Rule Id="C6551" Action="Warning" />
|
||||
<Rule Id="C6552" Action="Warning" />
|
||||
<Rule Id="C6701" Action="Warning" />
|
||||
<Rule Id="C6702" Action="Warning" />
|
||||
<Rule Id="C6703" Action="Warning" />
|
||||
<Rule Id="C6704" Action="Warning" />
|
||||
<Rule Id="C6705" Action="Warning" />
|
||||
<Rule Id="C6706" Action="Warning" />
|
||||
|
||||
<!-- CppCoreCheck -->
|
||||
<!-- Span/View over temporary -->
|
||||
<Rule Id="C26449" Action="Warning" />
|
||||
<!-- Arithmetic overflow -->
|
||||
<Rule Id="C26450" Action="Warning" />
|
||||
<Rule Id="C26451" Action="Warning" />
|
||||
<Rule Id="C26452" Action="Warning" />
|
||||
<Rule Id="C26453" Action="Warning" />
|
||||
<Rule Id="C26454" Action="Warning" />
|
||||
<!-- Unitialized Member -->
|
||||
<Rule Id="C26495" Action="Warning" />
|
||||
|
||||
<Rule Id="C28021" Action="Warning" />
|
||||
<!-- <Rule Id="C28182" Action="Warning" /> false positives for dereferencing null ptr -->
|
||||
<Rule Id="C28202" Action="Warning" />
|
||||
<Rule Id="C28203" Action="Warning" />
|
||||
<Rule Id="C28205" Action="Warning" />
|
||||
<Rule Id="C28206" Action="Warning" />
|
||||
<Rule Id="C28207" Action="Warning" />
|
||||
<Rule Id="C28210" Action="Warning" />
|
||||
<Rule Id="C28211" Action="Warning" />
|
||||
<Rule Id="C28212" Action="Warning" />
|
||||
<Rule Id="C28213" Action="Warning" />
|
||||
<Rule Id="C28214" Action="Warning" />
|
||||
<Rule Id="C28215" Action="Warning" />
|
||||
<Rule Id="C28216" Action="Warning" />
|
||||
<Rule Id="C28217" Action="Warning" />
|
||||
<Rule Id="C28218" Action="Warning" />
|
||||
<Rule Id="C28219" Action="Warning" />
|
||||
<Rule Id="C28220" Action="Warning" />
|
||||
<Rule Id="C28221" Action="Warning" />
|
||||
<Rule Id="C28222" Action="Warning" />
|
||||
<Rule Id="C28223" Action="Warning" />
|
||||
<Rule Id="C28224" Action="Warning" />
|
||||
<Rule Id="C28225" Action="Warning" />
|
||||
<Rule Id="C28226" Action="Warning" />
|
||||
<Rule Id="C28227" Action="Warning" />
|
||||
<Rule Id="C28228" Action="Warning" />
|
||||
<Rule Id="C28229" Action="Warning" />
|
||||
<Rule Id="C28230" Action="Warning" />
|
||||
<Rule Id="C28231" Action="Warning" />
|
||||
<Rule Id="C28232" Action="Warning" />
|
||||
<Rule Id="C28233" Action="Warning" />
|
||||
<Rule Id="C28234" Action="Warning" />
|
||||
<Rule Id="C28235" Action="Warning" />
|
||||
<Rule Id="C28236" Action="Warning" />
|
||||
<Rule Id="C28237" Action="Warning" />
|
||||
<Rule Id="C28238" Action="Warning" />
|
||||
<Rule Id="C28239" Action="Warning" />
|
||||
<Rule Id="C28240" Action="Warning" />
|
||||
<Rule Id="C28241" Action="Warning" />
|
||||
<Rule Id="C28243" Action="Warning" />
|
||||
<Rule Id="C28245" Action="Warning" />
|
||||
<Rule Id="C28246" Action="Warning" />
|
||||
<Rule Id="C28250" Action="Warning" />
|
||||
<!-- <Rule Id="C28251" Action="Warning" /> this may be real but it's damn annoying: inconsistent annotation for function -->
|
||||
<Rule Id="C28252" Action="Warning" />
|
||||
<Rule Id="C28253" Action="Warning" />
|
||||
<Rule Id="C28254" Action="Warning" />
|
||||
<Rule Id="C28262" Action="Warning" />
|
||||
<Rule Id="C28263" Action="Warning" />
|
||||
<Rule Id="C28267" Action="Warning" />
|
||||
<Rule Id="C28272" Action="Warning" />
|
||||
<Rule Id="C28273" Action="Warning" />
|
||||
<Rule Id="C28275" Action="Warning" />
|
||||
<Rule Id="C28279" Action="Warning" />
|
||||
<Rule Id="C28280" Action="Warning" />
|
||||
<Rule Id="C28282" Action="Warning" />
|
||||
<Rule Id="C28285" Action="Warning" />
|
||||
<Rule Id="C28286" Action="Warning" />
|
||||
<Rule Id="C28287" Action="Warning" />
|
||||
<Rule Id="C28288" Action="Warning" />
|
||||
<Rule Id="C28289" Action="Warning" />
|
||||
<Rule Id="C28290" Action="Warning" />
|
||||
<Rule Id="C28291" Action="Warning" />
|
||||
<Rule Id="C28300" Action="Warning" />
|
||||
<Rule Id="C28301" Action="Warning" />
|
||||
<Rule Id="C28302" Action="Warning" />
|
||||
<Rule Id="C28303" Action="Warning" />
|
||||
<Rule Id="C28304" Action="Warning" />
|
||||
<Rule Id="C28305" Action="Warning" />
|
||||
<Rule Id="C28308" Action="Warning" />
|
||||
<Rule Id="C28309" Action="Warning" />
|
||||
<Rule Id="C28350" Action="Warning" />
|
||||
<Rule Id="C28351" Action="Warning" />
|
||||
</Rules>
|
||||
</RuleSet>
|
||||
@@ -10,19 +10,35 @@ if [ "$1" != "" ]; then
|
||||
BUILDCONFIG="$*"
|
||||
fi
|
||||
|
||||
export MAKE="make -j3"
|
||||
export CPPFLAGS="-DFAKELAG_CONFIGURABLE"
|
||||
if [[ "$OSTYPE" == "freebsd"* ]]; then
|
||||
export MAKE="gmake -j4"
|
||||
else
|
||||
export MAKE="make -j4"
|
||||
fi
|
||||
|
||||
export CPPFLAGS="-DFAKELAG_CONFIGURABLE -DNOREMOVETMP"
|
||||
|
||||
# !! skipped for now: extras/build-tests/nix/select-config $BUILDCONFIG !!
|
||||
# !! temporary use this:
|
||||
cp extras/build-tests/nix/configs/default ./config.settings
|
||||
|
||||
# Debian 8 workaround:
|
||||
if lsb_release -av 2>&1|egrep 'Debian.*jessie'; then
|
||||
echo "Disabling ASan due to false positives on deb8"
|
||||
echo 'EXTRAPARA="--enable-werror --disable-asan"' >>config.settings
|
||||
fi
|
||||
|
||||
extras/build-tests/nix/select-config $BUILDCONFIG
|
||||
# Read config.settings, this makes a couple of variables available to us.
|
||||
. ./config.settings
|
||||
if [ "$SSLDIR" != "" ]; then
|
||||
# In case we build local openssl/libressl
|
||||
export LD_LIBRARY_PATH="$SSLDIR/lib"
|
||||
fi
|
||||
./Config -quick || (tail -n 5000 config.log; echo '*** now tre:'; tail -n 5000 extras/tre-0.8.0-git/config.log; echo '** end of tre config.log **'; exit 1)
|
||||
./Config -quick || (tail -n 5000 config.log; exit 1)
|
||||
$MAKE
|
||||
yes ''|make pem
|
||||
make
|
||||
./unrealircd module install third/dumpcmds
|
||||
make install
|
||||
|
||||
set +x
|
||||
|
||||
@@ -8,9 +8,8 @@ LOGDIR=$HOME/unrealircd/logs
|
||||
CACHEDIR=$HOME/unrealircd/cache
|
||||
DOCDIR=$HOME/unrealircd/doc
|
||||
TMPDIR=$HOME/unrealircd/tmp
|
||||
LIBDIR=$HOME/unrealircd/lib
|
||||
PRIVATELIBDIR=$HOME/unrealircd/lib
|
||||
PREFIXAQ="1"
|
||||
MAXSENDQLENGTH="3000000"
|
||||
MAXCONNECTIONS="1024"
|
||||
NICKNAMEHISTORYLENGTH="2000"
|
||||
DEFPERM="0600"
|
||||
@@ -18,12 +17,8 @@ SSLDIR=""
|
||||
REMOTEINC=""
|
||||
CURLDIR=""
|
||||
SHOWLISTMODES="1"
|
||||
TOPICNICKISNUH=""
|
||||
SHUNNOTICES=""
|
||||
NOOPEROVERRIDE=""
|
||||
DISABLEUSERMOD=""
|
||||
OPEROVERRIDEVERIFY=""
|
||||
DISABLEEXTBANSTACKING=""
|
||||
GENCERTIFICATE="0"
|
||||
#EXTRAPARA="--enable-werror"
|
||||
EXTRAPARA="--enable-werror --enable-asan"
|
||||
ADVANCED=""
|
||||
|
||||
@@ -9,56 +9,52 @@ set -e
|
||||
# Verbose:
|
||||
set -x
|
||||
|
||||
# Install packages
|
||||
if [[ "$OSTYPE" == "darwin"* ]]; then
|
||||
brew install git || true
|
||||
brew install python || true
|
||||
gem install bundler || true
|
||||
gem install rake || true
|
||||
gem install rspec || true
|
||||
else
|
||||
sudo apt-get install git python rake -y
|
||||
gem install bundler -v "~>1.0"
|
||||
# Kill old instances
|
||||
killall -9 unrealircd || true
|
||||
# Remove old junk
|
||||
rm -rf cipherscan/ unrealircd-tests/
|
||||
|
||||
if [ ! -d ~/cipherscan ]; then
|
||||
# Install 'cipherscan'
|
||||
git clone -q https://github.com/mozilla/cipherscan
|
||||
fi
|
||||
|
||||
# Install 'ircfly'
|
||||
git clone -q https://github.com/unrealircd/ircfly.git
|
||||
cd ircfly
|
||||
bundle install
|
||||
bundle exec rake build
|
||||
if [[ "$OSTYPE" == "darwin"* ]]; then
|
||||
bundle exec rake install
|
||||
else
|
||||
sudo rake install
|
||||
# Install 'unrealircd-tests'
|
||||
git clone -q https://github.com/unrealircd/unrealircd-tests.git
|
||||
cd unrealircd-tests
|
||||
|
||||
# FreeBSD has various issues with the tests from us and others,
|
||||
# better set a flag to keep it simple:
|
||||
FREEBSD=0
|
||||
if uname -a|grep -q FreeBSD; then
|
||||
FREEBSD=1
|
||||
fi
|
||||
cd ..
|
||||
|
||||
# Install 'cipherscan'
|
||||
git clone -q https://github.com/mozilla/cipherscan
|
||||
|
||||
# Install 'unrealircd-tests-old'
|
||||
git clone -q https://github.com/unrealircd/unrealircd-tests-old.git
|
||||
cd unrealircd-tests-old
|
||||
bundle install
|
||||
mv config.yaml.example config.yaml
|
||||
|
||||
# Start the IRC servers
|
||||
cp ircdconfig/* ~/unrealircd/conf/
|
||||
cd ~/unrealircd
|
||||
bin/unrealircd -f hub.conf
|
||||
bin/unrealircd -f irc1.conf
|
||||
bin/unrealircd -f irc2.conf
|
||||
cd -
|
||||
|
||||
# Do cipherscan test
|
||||
sleep 2
|
||||
cd ../extras/tests/tls
|
||||
./tls-tests
|
||||
cd -
|
||||
|
||||
# Back in unrealircd-tests-old, run the tests!
|
||||
if [[ "$OSTYPE" == "darwin"* ]]; then
|
||||
bundle exec rake
|
||||
# Run the test framework, testing both services:
|
||||
if [ "$FREEBSD" = 1 ]; then
|
||||
# FreeBSD runs without services since they fail mysteriously:
|
||||
./run -services none || exit 1
|
||||
else
|
||||
rake
|
||||
# Linux tests both with anope and atheme services:
|
||||
./run -services anope || exit 1
|
||||
./run -services atheme || exit 1
|
||||
fi
|
||||
|
||||
# Database writing/reading tests
|
||||
## unencrypted:
|
||||
./run -services none -boot tests/db/writing/* || exit 1
|
||||
./run -services none -keepdbs -boot tests/db/reading/* || exit 1
|
||||
## encrypted:
|
||||
./run -services none -include db_crypted.conf -boot tests/db/writing/* || exit 1
|
||||
./run -services none -include db_crypted.conf -keepdbs -boot tests/db/reading/* || exit 1
|
||||
|
||||
# Do cipherscan test at the end
|
||||
# Has problems on non-Linux-64-bit, so we skip there:
|
||||
if [ "$FREEBSD" = 0 -a "$HOSTNAME" != "ub18-ia32" ]; then
|
||||
sleep 2
|
||||
cd ../extras/tests/tls
|
||||
./tls-tests
|
||||
cd -
|
||||
fi
|
||||
|
||||
killall -15 unrealircd atheme-services services anope || true
|
||||
|
||||
Executable
+14
@@ -0,0 +1,14 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# This is a simple wrapper script that will run the tests
|
||||
# When finished, either due to succes or failure,
|
||||
# it will kill the ircd
|
||||
#
|
||||
# Also, it makes sure the job times out (is killed)
|
||||
# in case it misbehaves
|
||||
#
|
||||
set +ex
|
||||
timeout --kill-after=5 600 extras/build-tests/nix/run-tests
|
||||
EX="$?"
|
||||
killall -9 valgrind valgrind.bin memcheck memcheck-amd64-linux memcheck-x86-linux ircd unrealircd val 1>/dev/null 2>&1
|
||||
exit $EX
|
||||
@@ -25,7 +25,7 @@ function build_ssl {
|
||||
}
|
||||
|
||||
if [ ! -d extras ]; then
|
||||
echo "This tool is supposed to be run from the source root, so ~/unrealircd-4.2.x or similar"
|
||||
echo "This tool is supposed to be run from the source root, so ~/unrealircd-5.0.x or similar"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
@@ -1,23 +1,29 @@
|
||||
rem Build script for appveyor
|
||||
echo on
|
||||
|
||||
rem Temporarily hardcoded:
|
||||
set TARGET=Visual Studio 2019
|
||||
set SHORTNAME=vs2019
|
||||
|
||||
rem Initialize Visual Studio variables
|
||||
if "%TARGET%" == "Visual Studio 2017" call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars32.bat"
|
||||
if "%TARGET%" == "Visual Studio 2017" call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat"
|
||||
if "%TARGET%" == "Visual Studio 2019" call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat"
|
||||
|
||||
rem Installing tools
|
||||
cinst unrar -y
|
||||
cinst unzip -y
|
||||
cinst innosetup -y
|
||||
curl -fsS -o dlltool.exe https://www.unrealircd.org/files/dev/win/dlltool.exe
|
||||
rem only for appveyor:
|
||||
rem cinst unrar -y
|
||||
rem cinst unzip -y
|
||||
rem cinst innosetup -y
|
||||
|
||||
rem Installing UnrealIRCd dependencies
|
||||
cd \projects
|
||||
mkdir unrealircd-deps
|
||||
cd unrealircd-deps
|
||||
curl -fsS -o SetACL.exe https://www.unrealircd.org/files/dev/win/SetACL.exe
|
||||
curl -fsS -o unrealircd-libraries-devel.zip https://www.unrealircd.org/files/dev/win/libs/unrealircd-libraries-devel.zip
|
||||
unzip unrealircd-libraries-devel.zip
|
||||
mkdir unrealircd-5-libs
|
||||
cd unrealircd-5-libs
|
||||
curl -fsS -o unrealircd-libraries-5-devel.zip https://www.unrealircd.org/files/dev/win/libs/unrealircd-libraries-5-devel.zip
|
||||
unzip unrealircd-libraries-5-devel.zip
|
||||
copy dlltool.exe \users\user\worker\unreal5-w10\build /y
|
||||
|
||||
cd \projects\unrealircd
|
||||
rem for appveyor: cd \projects\unrealircd
|
||||
cd \users\user\worker\unreal5-w10\build
|
||||
|
||||
rem Now the actual build
|
||||
call extras\build-tests\windows\compilecmd\%SHORTNAME%.bat
|
||||
@@ -25,18 +31,23 @@ call extras\build-tests\windows\compilecmd\%SHORTNAME%.bat
|
||||
rem The above command will fail, due to missing symbol file
|
||||
rem However the symbol file can only be generated after the above command
|
||||
rem So... we create the symbolfile...
|
||||
nmake -f makefile.win32 SYMBOLFILE
|
||||
nmake -f makefile.windows SYMBOLFILE
|
||||
|
||||
rem And we re-run the exact same command:
|
||||
call extras\build-tests\windows\compilecmd\%SHORTNAME%.bat
|
||||
if %ERRORLEVEL% NEQ 0 EXIT /B 1
|
||||
|
||||
rem Convert c:\dev to c:\projects\unrealircd-deps
|
||||
rem Compile dependencies for unrealircd-tests -- this doesn't belong here though..
|
||||
curl -fsS -o src\modules\third\fakereputation.c https://raw.githubusercontent.com/unrealircd/unrealircd-tests/master/serverconfig/unrealircd/modules/fakereputation.c
|
||||
call extras\build-tests\windows\compilecmd\%SHORTNAME%.bat CUSTOMMODULE MODULEFILE=fakereputation
|
||||
if %ERRORLEVEL% NEQ 0 EXIT /B 1
|
||||
|
||||
rem Convert c:\dev to c:\projects\unrealircd-5-libs
|
||||
rem TODO: should use environment variable in innosetup script?
|
||||
sed -i "s/c:\\\\dev/c:\\\\projects\\\\unrealircd-deps/gi" src\win32\unrealinst.iss
|
||||
sed -i "s/c:\\dev\\unrealircd-5-libs/c:\\projects\\unrealircd-5-libs/gi" src\windows\unrealinst.iss
|
||||
|
||||
rem Build installer file
|
||||
"c:\Program Files (x86)\Inno Setup 5\iscc.exe" /Q- src\win32\unrealinst.iss
|
||||
"c:\Program Files (x86)\Inno Setup 5\iscc.exe" /Q- src\windows\unrealinst.iss
|
||||
if %ERRORLEVEL% NEQ 0 EXIT /B 1
|
||||
|
||||
rem Show some proof
|
||||
@@ -44,6 +55,52 @@ ren mysetup.exe unrealircd-dev-build.exe
|
||||
dir unrealircd-dev-build.exe
|
||||
sha256sum unrealircd-dev-build.exe
|
||||
|
||||
rem Kill any old instances, just to be sure
|
||||
taskkill -im unrealircd.exe -f
|
||||
sleep 2
|
||||
rem Just a safety measure so we don't end up testing
|
||||
rem some old version...
|
||||
del "C:\Program Files\UnrealIRCd 5\bin\unrealircd.exe"
|
||||
|
||||
echo Running installer...
|
||||
start /WAIT unrealircd-dev-build.exe /VERYSILENT /LOG=setup.log
|
||||
if %ERRORLEVEL% NEQ 0 goto installerfailed
|
||||
|
||||
rem Upload artifact
|
||||
appveyor PushArtifact unrealircd-dev-build.exe
|
||||
rem appveyor PushArtifact unrealircd-dev-build.exe
|
||||
rem if %ERRORLEVEL% NEQ 0 EXIT /B 1
|
||||
|
||||
rem Install 'unrealircd-tests'
|
||||
cd ..
|
||||
rd /q/s unrealircd-tests
|
||||
git clone https://github.com/unrealircd/unrealircd-tests.git
|
||||
if %ERRORLEVEL% NEQ 0 EXIT /B 1
|
||||
cd unrealircd-tests
|
||||
dir
|
||||
|
||||
rem All tests except db:
|
||||
"C:\Program Files\Git\bin\bash.exe" ./runwin
|
||||
if %ERRORLEVEL% NEQ 0 EXIT /B 1
|
||||
|
||||
rem Test unencrypted db's:
|
||||
"C:\Program Files\Git\bin\bash.exe" ./runwin -boot tests/db/writing/*
|
||||
if %ERRORLEVEL% NEQ 0 EXIT /B 1
|
||||
"C:\Program Files\Git\bin\bash.exe" ./runwin -keepdbs -boot tests/db/reading/*
|
||||
if %ERRORLEVEL% NEQ 0 EXIT /B 1
|
||||
|
||||
rem Test encrypted db's:
|
||||
"C:\Program Files\Git\bin\bash.exe" ./runwin -include db_crypted.conf -boot tests/db/writing/*
|
||||
if %ERRORLEVEL% NEQ 0 EXIT /B 1
|
||||
"C:\Program Files\Git\bin\bash.exe" ./runwin -include db_crypted.conf -keepdbs -boot tests/db/reading/*
|
||||
if %ERRORLEVEL% NEQ 0 EXIT /B 1
|
||||
|
||||
goto end
|
||||
|
||||
|
||||
|
||||
:installerfailed
|
||||
type setup.log
|
||||
echo INSTALLATION FAILED
|
||||
EXIT /B 1
|
||||
|
||||
:end
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
rem Build command for Visual Studio 2017
|
||||
|
||||
nmake -f makefile.win32 ^
|
||||
LIBRESSL_INC_DIR="c:\projects\unrealircd-deps\libressl\include" ^
|
||||
LIBRESSL_LIB_DIR="c:\projects\unrealircd-deps\libressl\lib" ^
|
||||
SSLLIB="crypto-44.lib ssl-46.lib" ^
|
||||
USE_REMOTEINC=1 ^
|
||||
LIBCURL_INC_DIR="c:\projects\unrealircd-deps\curl-ssl\include" ^
|
||||
LIBCURL_LIB_DIR="c:\projects\unrealircd-deps\curl-ssl\builds\libcurl-vc-x86-release-dll-ssl-dll-ipv6-sspi-obj-lib" ^
|
||||
CARES_LIB_DIR="c:\projects\unrealircd-deps\c-ares\msvc\cares\dll-release" ^
|
||||
CARES_INC_DIR="c:\projects\unrealircd-deps\c-ares" ^
|
||||
CARESLIB="cares.lib" ^
|
||||
TRE_LIB_DIR="c:\projects\unrealircd-deps\tre\win32\release" ^
|
||||
TRE_INC_DIR="c:\projects\unrealircd-deps\tre" ^
|
||||
TRELIB="tre.lib" ^
|
||||
PCRE2_INC_DIR="c:\projects\unrealircd-deps\pcre2\include" ^
|
||||
PCRE2_LIB_DIR="c:\projects\unrealircd-deps\pcre2\lib" ^
|
||||
PCRE2LIB="pcre2-8.lib" ^
|
||||
ARGON2_LIB_DIR="c:\projects\unrealircd-deps\argon2\vs2015\build" ^
|
||||
ARGON2_INC_DIR="c:\projects\unrealircd-deps\argon2\include" ^
|
||||
ARGON2LIB="Argon2RefDll.lib" %*
|
||||
@@ -0,0 +1,21 @@
|
||||
rem Build command for Visual Studio 2019
|
||||
|
||||
nmake -f makefile.windows ^
|
||||
LIBRESSL_INC_DIR="c:\projects\unrealircd-5-libs\libressl\include" ^
|
||||
LIBRESSL_LIB_DIR="c:\projects\unrealircd-5-libs\libressl\lib" ^
|
||||
SSLLIB="crypto-46.lib ssl-48.lib" ^
|
||||
USE_REMOTEINC=1 ^
|
||||
LIBCURL_INC_DIR="c:\projects\unrealircd-5-libs\curl\include" ^
|
||||
LIBCURL_LIB_DIR="c:\projects\unrealircd-5-libs\curl\builds\libcurl-vc-x64-release-dll-ssl-dll-cares-dll-ipv6-obj-lib" ^
|
||||
CARES_LIB_DIR="c:\projects\unrealircd-5-libs\c-ares\msvc\cares\dll-release" ^
|
||||
CARES_INC_DIR="c:\projects\unrealircd-5-libs\c-ares\include" ^
|
||||
CARESLIB="cares.lib" ^
|
||||
PCRE2_INC_DIR="c:\projects\unrealircd-5-libs\pcre2\include" ^
|
||||
PCRE2_LIB_DIR="c:\projects\unrealircd-5-libs\pcre2\lib" ^
|
||||
PCRE2LIB="pcre2-8.lib" ^
|
||||
ARGON2_LIB_DIR="c:\projects\unrealircd-5-libs\argon2\vs2015\build" ^
|
||||
ARGON2_INC_DIR="c:\projects\unrealircd-5-libs\argon2\include" ^
|
||||
ARGON2LIB="Argon2RefDll.lib" ^
|
||||
SODIUM_LIB_DIR="c:\projects\unrealircd-5-libs\libsodium\bin\x64\Release\v142\dynamic" ^
|
||||
SODIUM_INC_DIR="c:\projects\unrealircd-5-libs\libsodium\src\libsodium\include" ^
|
||||
SODIUMLIB="libsodium.lib" %*
|
||||
Binary file not shown.
+3
-3
@@ -4,7 +4,7 @@ OUTF="curl-latest.tar.gz"
|
||||
OUTD="curl-latest"
|
||||
ARESPATH="`pwd`/extras/c-ares"
|
||||
UNREALDIR="`pwd`"
|
||||
CARESVERSION="1.15.0"
|
||||
CARESVERSION="1.17.1"
|
||||
LIBDIR="$1"
|
||||
|
||||
if [ "x$1" = "x" ]; then
|
||||
@@ -18,7 +18,7 @@ if [ ! -f src/parse.c ]; then
|
||||
cd ..
|
||||
else
|
||||
echo "Please run this program from your UnrealIRCd directory"
|
||||
echo "(usually $HOME/unrealircd-4.2.X or something like that)"
|
||||
echo "(usually $HOME/unrealircd-5.0.X or something like that)"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
@@ -90,7 +90,7 @@ cd "$OUTD" || exit 1
|
||||
|
||||
echo "Building and installing libcurl"
|
||||
CPPFLAGS="-I$ARESPATH/include" ./configure --prefix=$UNREALDIR/extras/curl --libdir=$LIBDIR --enable-shared \
|
||||
--disable-thread --enable-ares=$ARESPATH --disable-ipv6
|
||||
--enable-ares=$ARESPATH --with-openssl
|
||||
cp -R $ARESPATH/lib ares
|
||||
make && make install
|
||||
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
Welcome to the doxygen-generated documentation for the UnrealIRCd 5.x API.
|
||||
This is intended **for developers only!**
|
||||
|
||||
If you are creating a 3rd party module for UnrealIRCd or are interested
|
||||
in contributing to UnrealIRCd then this is the right place.
|
||||
|
||||
Here you should be able to find a lot of information on the data structures
|
||||
and functions available to you when coding for UnrealIRCd.
|
||||
|
||||
## Wiki documentation ##
|
||||
* Be sure to check the [Module API](https://www.unrealircd.org/docs/Dev:Module_API) article on the wiki
|
||||
as well, which provides a better *overview* of the module API
|
||||
|
||||
## Doxygen docs ##
|
||||
* [Functions and structs ordered by purpose](modules.html) - **this contains most of the module API!**
|
||||
* [The most common structs](group__CommonStructs.html) - like Client, User, Server, Channel, etc.
|
||||
* [All structs](classes.html) - in a simple alphabetical index
|
||||
* [Browse by source file](dir_68267d1309a1af8e8297ef4c3efbcdba.html) - see all src/*.c files and their (documented) functions.
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,4 @@
|
||||
code {
|
||||
border: 1px solid #C4CFE5;
|
||||
background-color: #FBFCFD;
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
<!-- HTML header for doxygen 1.8.13-->
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||
<meta name="generator" content="Doxygen $doxygenversion"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<!--BEGIN PROJECT_NAME--><title>$projectname Module API: $title</title><!--END PROJECT_NAME-->
|
||||
<!--BEGIN !PROJECT_NAME--><title>$title</title><!--END !PROJECT_NAME-->
|
||||
<link href="$relpath^tabs.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="$relpath^jquery.js"></script>
|
||||
<script type="text/javascript" src="$relpath^dynsections.js"></script>
|
||||
$treeview
|
||||
$search
|
||||
$mathjax
|
||||
<link href="$relpath^$stylesheet" rel="stylesheet" type="text/css" />
|
||||
$extrastylesheet
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
|
||||
<!--BEGIN TITLEAREA-->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<tbody>
|
||||
<tr style="height: 56px;">
|
||||
<!--BEGIN PROJECT_LOGO-->
|
||||
<td id="projectlogo"><img alt="Logo" src="$relpath^$projectlogo"/></td>
|
||||
<!--END PROJECT_LOGO-->
|
||||
<!--BEGIN PROJECT_NAME-->
|
||||
<td id="projectalign" style="padding-left: 0.5em;">
|
||||
<div id="projectname">$projectname
|
||||
<!--BEGIN PROJECT_NUMBER--> <span id="projectnumber">Module API $projectnumber</span><!--END PROJECT_NUMBER-->
|
||||
</div>
|
||||
<!--BEGIN PROJECT_BRIEF--><div id="projectbrief">$projectbrief</div><!--END PROJECT_BRIEF-->
|
||||
</td>
|
||||
<!--END PROJECT_NAME-->
|
||||
<!--BEGIN !PROJECT_NAME-->
|
||||
<!--BEGIN PROJECT_BRIEF-->
|
||||
<td style="padding-left: 0.5em;">
|
||||
<div id="projectbrief">$projectbrief</div>
|
||||
</td>
|
||||
<!--END PROJECT_BRIEF-->
|
||||
<!--END !PROJECT_NAME-->
|
||||
<!--BEGIN DISABLE_INDEX-->
|
||||
<!--BEGIN SEARCHENGINE-->
|
||||
<td>$searchbox</td>
|
||||
<!--END SEARCHENGINE-->
|
||||
<!--END DISABLE_INDEX-->
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!--END TITLEAREA-->
|
||||
<!-- end header part -->
|
||||
Binary file not shown.
Binary file not shown.
@@ -1,98 +0,0 @@
|
||||
# Makefile for regex.
|
||||
#
|
||||
# Copyright (C) 1992, 1993 Free Software Foundation, Inc.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
version = 0.12
|
||||
|
||||
# You can define CPPFLAGS on the command line. Aside from system-specific
|
||||
# flags, you can define:
|
||||
# -DREGEX_MALLOC to use malloc/realloc/free instead of alloca.
|
||||
# -DDEBUG to enable the compiled pattern disassembler and execution
|
||||
# tracing; code runs substantially slower.
|
||||
# -DEXTRACT_MACROS to use the macros EXTRACT_* (as opposed to
|
||||
# the corresponding C procedures). If not -DDEBUG, the macros
|
||||
# are used.
|
||||
CPPFLAGS =
|
||||
|
||||
# Likewise, you can override CFLAGS to optimize, use -Wall, etc.
|
||||
CFLAGS = -g
|
||||
|
||||
# Ditto for LDFLAGS and LOADLIBES.
|
||||
LDFLAGS =
|
||||
LOADLIBES =
|
||||
|
||||
srcdir = @srcdir@
|
||||
VPATH = @srcdir@
|
||||
|
||||
CC = @CC@
|
||||
DEFS = @DEFS@
|
||||
|
||||
SHELL = /bin/sh
|
||||
|
||||
subdirs = moo
|
||||
|
||||
default all:: regex.o
|
||||
.PHONY: default all
|
||||
|
||||
regex.o: regex.c regex.h
|
||||
$(CC) $(CFLAGS) $(CPPFLAGS) $(DEFS) -I. -I$(srcdir) -c $<
|
||||
|
||||
clean mostlyclean::
|
||||
rm -f *.o
|
||||
|
||||
distclean:: clean
|
||||
rm -f Makefile config.status
|
||||
|
||||
extraclean:: distclean
|
||||
rm -f patch* *~* *\#* *.orig *.rej *.bak core a.out
|
||||
|
||||
configure: configure.in
|
||||
autoconf
|
||||
|
||||
config.status: configure
|
||||
sh configure --no-create
|
||||
|
||||
Makefile: Makefile.in config.status
|
||||
sh config.status
|
||||
|
||||
makeargs = $(MFLAGS) CPPFLAGS='$(CPPFLAGS)' CFLAGS='$(CFLAGS)' CC='$(CC)' \
|
||||
DEFS='$(DEFS)' LDFLAGS='$(LDFLAGS)' LOADLIBES='$(LOADLIBES)'
|
||||
|
||||
default all install \
|
||||
mostlyclean clean distclean extraclean realclean \
|
||||
TAGS check::
|
||||
for d in $(subdirs); do (cd $$d; $(MAKE) $(makeargs) $@); done
|
||||
.PHONY: install mostlyclean clean distclean extraclean realclean TAGS check
|
||||
|
||||
# Prevent GNU make 3 from overflowing arg limit on system V.
|
||||
.NOEXPORT:
|
||||
|
||||
distfiles = AUTHORS ChangeLog COPYING INSTALL NEWS README \
|
||||
*.in configure regex.c regex.h
|
||||
distdir = regex-$(version)
|
||||
distargs = version=$(version) distdir=../$(distdir)/$$d
|
||||
dist: TAGS configure
|
||||
@echo "Version numbers in: Makefile.in, ChangeLog, NEWS,"
|
||||
@echo " regex.c, regex.h,"
|
||||
@echo " and doc/xregex.texi (if modified)."
|
||||
rm -rf $(distdir)
|
||||
mkdir $(distdir)
|
||||
ln $(distfiles) $(distdir)
|
||||
for d in $(subdirs); do (cd $$d; $(MAKE) $(distargs) dist); done
|
||||
tar czhf $(distdir).tar.Z $(distdir)
|
||||
rm -rf $(distdir)
|
||||
.PHONY: dist
|
||||
@@ -1,60 +0,0 @@
|
||||
This directory contains the GNU regex library. It is compliant with
|
||||
POSIX.2, except for internationalization features.
|
||||
|
||||
See the file NEWS for a list of major changes in the current release.
|
||||
|
||||
See the file INSTALL for compilation instructions. (The only thing
|
||||
installed is the documentation; regex.c is compiled into regex.o, but
|
||||
not installed anywhere.)
|
||||
|
||||
The subdirectory `doc' contains a (programmers') manual for the library.
|
||||
It's probably out-of-date. Improvements are welcome.
|
||||
|
||||
The subdirectory `test' contains the various tests we've written.
|
||||
|
||||
We know this code is not as fast as it might be. If you have specific
|
||||
suggestions, profiling results, or other such useful information to
|
||||
report, please do.
|
||||
|
||||
Emacs 18 is not going use this revised regex (but Emacs 19 will). If
|
||||
you want to try it with Emacs 18, apply the patch at the end of this
|
||||
file first.
|
||||
|
||||
Mail bug reports to bug-gnu-utils@prep.ai.mit.edu.
|
||||
|
||||
Please include an actual regular expression that fails (and the syntax
|
||||
used to compile it); without that, there's no way to reproduce the bug,
|
||||
so there's no way we can fix it. Even if you include a patch, also
|
||||
include the regular expression in error; otherwise, we can't know for
|
||||
sure what you're trying to fix.
|
||||
|
||||
Here is the patch to make this version of regex work with Emacs 18.
|
||||
|
||||
*** ORIG/search.c Tue Jan 8 13:04:55 1991
|
||||
--- search.c Sun Jan 5 10:57:00 1992
|
||||
***************
|
||||
*** 25,26 ****
|
||||
--- 25,28 ----
|
||||
#include "commands.h"
|
||||
+
|
||||
+ #include <sys/types.h>
|
||||
#include "regex.h"
|
||||
***************
|
||||
*** 477,479 ****
|
||||
/* really needed. */
|
||||
! && *(searchbuf.buffer) == (char) exactn /* first item is "exact match" */
|
||||
&& searchbuf.buffer[1] + 2 == searchbuf.used) /*first is ONLY item */
|
||||
--- 479,482 ----
|
||||
/* really needed. */
|
||||
! /* first item is "exact match" */
|
||||
! && *(searchbuf.buffer) == (char) RE_EXACTN_VALUE
|
||||
&& searchbuf.buffer[1] + 2 == searchbuf.used) /*first is ONLY item */
|
||||
***************
|
||||
*** 1273,1275 ****
|
||||
searchbuf.allocated = 100;
|
||||
! searchbuf.buffer = (char *) malloc (searchbuf.allocated);
|
||||
searchbuf.fastmap = search_fastmap;
|
||||
--- 1276,1278 ----
|
||||
searchbuf.allocated = 100;
|
||||
! searchbuf.buffer = (unsigned char *) malloc (searchbuf.allocated);
|
||||
searchbuf.fastmap = search_fastmap;
|
||||
Vendored
-462
@@ -1,462 +0,0 @@
|
||||
#!/bin/sh
|
||||
# Guess values for system-dependent variables and create Makefiles.
|
||||
# Generated automatically using autoconf.
|
||||
# Copyright (C) 1991, 1992, 1993 Free Software Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
|
||||
# Usage: configure [--srcdir=DIR] [--host=HOST] [--gas] [--nfp] [--no-create]
|
||||
# [--prefix=PREFIX] [--exec-prefix=PREFIX] [--with-PACKAGE] [TARGET]
|
||||
# Ignores all args except --srcdir, --prefix, --exec-prefix, --no-create, and
|
||||
# --with-PACKAGE unless this script has special code to handle it.
|
||||
|
||||
|
||||
for arg
|
||||
do
|
||||
# Handle --exec-prefix with a space before the argument.
|
||||
if test x$next_exec_prefix = xyes; then exec_prefix=$arg; next_exec_prefix=
|
||||
# Handle --host with a space before the argument.
|
||||
elif test x$next_host = xyes; then next_host=
|
||||
# Handle --prefix with a space before the argument.
|
||||
elif test x$next_prefix = xyes; then prefix=$arg; next_prefix=
|
||||
# Handle --srcdir with a space before the argument.
|
||||
elif test x$next_srcdir = xyes; then srcdir=$arg; next_srcdir=
|
||||
else
|
||||
case $arg in
|
||||
# For backward compatibility, also recognize exact --exec_prefix.
|
||||
-exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* | --exec=* | --exe=* | --ex=* | --e=*)
|
||||
exec_prefix=`echo $arg | sed 's/[-a-z_]*=//'` ;;
|
||||
-exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- | --exec | --exe | --ex | --e)
|
||||
next_exec_prefix=yes ;;
|
||||
|
||||
-gas | --gas | --ga | --g) ;;
|
||||
|
||||
-host=* | --host=* | --hos=* | --ho=* | --h=*) ;;
|
||||
-host | --host | --hos | --ho | --h)
|
||||
next_host=yes ;;
|
||||
|
||||
-nfp | --nfp | --nf) ;;
|
||||
|
||||
-no-create | --no-create | --no-creat | --no-crea | --no-cre | --no-cr | --no-c | --no- | --no)
|
||||
no_create=1 ;;
|
||||
|
||||
-prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
|
||||
prefix=`echo $arg | sed 's/[-a-z_]*=//'` ;;
|
||||
-prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
|
||||
next_prefix=yes ;;
|
||||
|
||||
-srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=* | --s=*)
|
||||
srcdir=`echo $arg | sed 's/[-a-z_]*=//'` ;;
|
||||
-srcdir | --srcdir | --srcdi | --srcd | --src | --sr | --s)
|
||||
next_srcdir=yes ;;
|
||||
|
||||
-with-* | --with-*)
|
||||
package=`echo $arg|sed 's/-*with-//'`
|
||||
# Delete all the valid chars; see if any are left.
|
||||
if test -n "`echo $package|sed 's/[-a-zA-Z0-9_]*//g'`"; then
|
||||
echo "configure: $package: invalid package name" >&2; exit 1
|
||||
fi
|
||||
eval "with_`echo $package|sed s/-/_/g`=1" ;;
|
||||
|
||||
*) ;;
|
||||
esac
|
||||
fi
|
||||
done
|
||||
|
||||
trap 'rm -f conftest* core; exit 1' 1 3 15
|
||||
|
||||
rm -f conftest*
|
||||
compile='${CC-cc} $CFLAGS $DEFS conftest.c -o conftest $LIBS >/dev/null 2>&1'
|
||||
|
||||
# A filename unique to this package, relative to the directory that
|
||||
# configure is in, which we can look for to find out if srcdir is correct.
|
||||
unique_file=regex.c
|
||||
|
||||
# Find the source files, if location was not specified.
|
||||
if test -z "$srcdir"; then
|
||||
srcdirdefaulted=yes
|
||||
# Try the directory containing this script, then `..'.
|
||||
prog=$0
|
||||
confdir=`echo $prog|sed 's%/[^/][^/]*$%%'`
|
||||
test "X$confdir" = "X$prog" && confdir=.
|
||||
srcdir=$confdir
|
||||
if test ! -r $srcdir/$unique_file; then
|
||||
srcdir=..
|
||||
fi
|
||||
fi
|
||||
if test ! -r $srcdir/$unique_file; then
|
||||
if test x$srcdirdefaulted = xyes; then
|
||||
echo "configure: Can not find sources in \`${confdir}' or \`..'." 1>&2
|
||||
else
|
||||
echo "configure: Can not find sources in \`${srcdir}'." 1>&2
|
||||
fi
|
||||
exit 1
|
||||
fi
|
||||
# Preserve a srcdir of `.' to avoid automounter screwups with pwd.
|
||||
# But we can't avoid them for `..', to make subdirectories work.
|
||||
case $srcdir in
|
||||
.|/*|~*) ;;
|
||||
*) srcdir=`cd $srcdir; pwd` ;; # Make relative path absolute.
|
||||
esac
|
||||
|
||||
|
||||
if test -z "$CC"; then
|
||||
echo checking for gcc
|
||||
saveifs="$IFS"; IFS="${IFS}:"
|
||||
for dir in $PATH; do
|
||||
test -z "$dir" && dir=.
|
||||
if test -f $dir/gcc; then
|
||||
CC="gcc"
|
||||
break
|
||||
fi
|
||||
done
|
||||
IFS="$saveifs"
|
||||
fi
|
||||
test -z "$CC" && CC="cc"
|
||||
|
||||
# Find out if we are using GNU C, under whatever name.
|
||||
cat > conftest.c <<EOF
|
||||
#ifdef __GNUC__
|
||||
yes
|
||||
#endif
|
||||
EOF
|
||||
${CC-cc} -E conftest.c > conftest.out 2>&1
|
||||
if egrep yes conftest.out >/dev/null 2>&1; then
|
||||
GCC=1 # For later tests.
|
||||
fi
|
||||
rm -f conftest*
|
||||
|
||||
# Make sure to not get the incompatible SysV /etc/install and
|
||||
# /usr/sbin/install, which might be in PATH before a BSD-like install,
|
||||
# or the SunOS /usr/etc/install directory, or the AIX /bin/install,
|
||||
# or the AFS install, which mishandles nonexistent args. (Sigh.)
|
||||
if test -z "$INSTALL"; then
|
||||
echo checking for install
|
||||
saveifs="$IFS"; IFS="${IFS}:"
|
||||
for dir in $PATH; do
|
||||
test -z "$dir" && dir=.
|
||||
case $dir in
|
||||
/etc|/usr/sbin|/usr/etc|/usr/afsws/bin) ;;
|
||||
*)
|
||||
if test -f $dir/install; then
|
||||
if grep dspmsg $dir/install >/dev/null 2>&1; then
|
||||
: # AIX
|
||||
else
|
||||
INSTALL="$dir/install -c"
|
||||
INSTALL_PROGRAM='$(INSTALL)'
|
||||
INSTALL_DATA='$(INSTALL) -m 644'
|
||||
break
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
done
|
||||
IFS="$saveifs"
|
||||
fi
|
||||
INSTALL=${INSTALL-cp}
|
||||
INSTALL_PROGRAM=${INSTALL_PROGRAM-'$(INSTALL)'}
|
||||
INSTALL_DATA=${INSTALL_DATA-'$(INSTALL)'}
|
||||
|
||||
|
||||
echo checking for AIX
|
||||
echo checking how to run the C preprocessor
|
||||
if test -z "$CPP"; then
|
||||
CPP='${CC-cc} -E'
|
||||
cat > conftest.c <<EOF
|
||||
#include <stdio.h>
|
||||
EOF
|
||||
err=`eval "$CPP $DEFS conftest.c 2>&1 >/dev/null"`
|
||||
if test -z "$err"; then
|
||||
:
|
||||
else
|
||||
CPP=/lib/cpp
|
||||
fi
|
||||
rm -f conftest*
|
||||
fi
|
||||
|
||||
cat > conftest.c <<EOF
|
||||
#ifdef _AIX
|
||||
yes
|
||||
#endif
|
||||
|
||||
EOF
|
||||
eval "$CPP $DEFS conftest.c > conftest.out 2>&1"
|
||||
if egrep "yes" conftest.out >/dev/null 2>&1; then
|
||||
DEFS="$DEFS -D_ALL_SOURCE=1"
|
||||
fi
|
||||
rm -f conftest*
|
||||
|
||||
|
||||
echo checking for DYNIX/ptx libseq
|
||||
cat > conftest.c <<EOF
|
||||
#if defined(_SEQUENT_)
|
||||
yes
|
||||
#endif
|
||||
|
||||
EOF
|
||||
eval "$CPP $DEFS conftest.c > conftest.out 2>&1"
|
||||
if egrep "yes" conftest.out >/dev/null 2>&1; then
|
||||
SEQUENT=1
|
||||
fi
|
||||
rm -f conftest*
|
||||
|
||||
test -n "$SEQUENT" && test -f /usr/lib/libseq.a &&
|
||||
LIBS="$LIBS -lseq"
|
||||
|
||||
echo checking for POSIXized ISC
|
||||
if test -d /etc/conf/kconfig.d &&
|
||||
grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1
|
||||
then
|
||||
ISC=1 # If later tests want to check for ISC.
|
||||
DEFS="$DEFS -D_POSIX_SOURCE=1"
|
||||
if test -n "$GCC"; then
|
||||
CC="$CC -posix"
|
||||
else
|
||||
CC="$CC -Xp"
|
||||
fi
|
||||
fi
|
||||
|
||||
echo checking for minix/config.h
|
||||
cat > conftest.c <<EOF
|
||||
#include <minix/config.h>
|
||||
EOF
|
||||
err=`eval "$CPP $DEFS conftest.c 2>&1 >/dev/null"`
|
||||
if test -z "$err"; then
|
||||
MINIX=1
|
||||
fi
|
||||
rm -f conftest*
|
||||
|
||||
# The Minix shell can't assign to the same variable on the same line!
|
||||
if test -n "$MINIX"; then
|
||||
DEFS="$DEFS -D_POSIX_SOURCE=1"
|
||||
DEFS="$DEFS -D_POSIX_1_SOURCE=2"
|
||||
DEFS="$DEFS -D_MINIX=1"
|
||||
fi
|
||||
|
||||
|
||||
echo checking for ANSI C header files
|
||||
cat > conftest.c <<EOF
|
||||
#include <stdlib.h>
|
||||
#include <stdarg.h>
|
||||
#include <string.h>
|
||||
#include <float.h>
|
||||
EOF
|
||||
err=`eval "$CPP $DEFS conftest.c 2>&1 >/dev/null"`
|
||||
if test -z "$err"; then
|
||||
# SunOS string.h does not declare mem*, contrary to ANSI.
|
||||
echo '#include <string.h>' > conftest.c
|
||||
eval "$CPP $DEFS conftest.c > conftest.out 2>&1"
|
||||
if egrep "memchr" conftest.out >/dev/null 2>&1; then
|
||||
# SGI's /bin/cc from Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
|
||||
cat > conftest.c <<EOF
|
||||
#include <ctype.h>
|
||||
#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
|
||||
#define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
|
||||
#define XOR(e,f) (((e) && !(f)) || (!(e) && (f)))
|
||||
int main () { int i; for (i = 0; i < 256; i++)
|
||||
if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2);
|
||||
exit (0); }
|
||||
|
||||
EOF
|
||||
eval $compile
|
||||
if test -s conftest && (./conftest; exit) 2>/dev/null; then
|
||||
DEFS="$DEFS -DSTDC_HEADERS=1"
|
||||
fi
|
||||
rm -f conftest*
|
||||
fi
|
||||
rm -f conftest*
|
||||
|
||||
fi
|
||||
rm -f conftest*
|
||||
|
||||
for hdr in string.h
|
||||
do
|
||||
trhdr=HAVE_`echo $hdr | tr '[a-z]./' '[A-Z]__'`
|
||||
echo checking for ${hdr}
|
||||
cat > conftest.c <<EOF
|
||||
#include <${hdr}>
|
||||
EOF
|
||||
err=`eval "$CPP $DEFS conftest.c 2>&1 >/dev/null"`
|
||||
if test -z "$err"; then
|
||||
DEFS="$DEFS -D${trhdr}=1"
|
||||
fi
|
||||
rm -f conftest*
|
||||
done
|
||||
|
||||
|
||||
# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
|
||||
# for constant arguments. Useless!
|
||||
echo checking for working alloca.h
|
||||
cat > conftest.c <<EOF
|
||||
#include <alloca.h>
|
||||
main() { exit(0); }
|
||||
t() { char *p = alloca(2 * sizeof(int)); }
|
||||
EOF
|
||||
if eval $compile; then
|
||||
DEFS="$DEFS -DHAVE_ALLOCA_H=1"
|
||||
fi
|
||||
rm -f conftest*
|
||||
|
||||
decl="#ifdef __GNUC__
|
||||
#define alloca __builtin_alloca
|
||||
#else
|
||||
#if HAVE_ALLOCA_H
|
||||
#include <alloca.h>
|
||||
#else
|
||||
#ifdef _AIX
|
||||
#pragma alloca
|
||||
#else
|
||||
char *alloca ();
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
"
|
||||
echo checking for alloca
|
||||
cat > conftest.c <<EOF
|
||||
$decl
|
||||
main() { exit(0); }
|
||||
t() { char *p = (char *) alloca(1); }
|
||||
EOF
|
||||
if eval $compile; then
|
||||
:
|
||||
else
|
||||
alloca_missing=1
|
||||
fi
|
||||
rm -f conftest*
|
||||
|
||||
if test -n "$alloca_missing"; then
|
||||
# The SVR3 libPW and SVR4 libucb both contain incompatible functions
|
||||
# that cause trouble. Some versions do not even contain alloca or
|
||||
# contain a buggy version. If you still want to use their alloca,
|
||||
# use ar to extract alloca.o from them instead of compiling alloca.c.
|
||||
ALLOCA=alloca.o
|
||||
fi
|
||||
|
||||
prog='/* Ultrix mips cc rejects this. */
|
||||
typedef int charset[2]; const charset x;
|
||||
/* SunOS 4.1.1 cc rejects this. */
|
||||
char const *const *p;
|
||||
char **p2;
|
||||
/* HPUX 7.0 cc rejects these. */
|
||||
++p;
|
||||
p2 = (char const* const*) p;'
|
||||
echo checking for working const
|
||||
cat > conftest.c <<EOF
|
||||
|
||||
main() { exit(0); }
|
||||
t() { $prog }
|
||||
EOF
|
||||
if eval $compile; then
|
||||
:
|
||||
else
|
||||
DEFS="$DEFS -Dconst="
|
||||
fi
|
||||
rm -f conftest*
|
||||
|
||||
|
||||
if test -z "$prefix"
|
||||
then
|
||||
echo checking for gcc to derive installation directory prefix
|
||||
saveifs="$IFS"; IFS="$IFS:"
|
||||
for dir in $PATH; do
|
||||
test -z "$dir" && dir=.
|
||||
if test $dir != . && test -f $dir/gcc; then
|
||||
# Not all systems have dirname.
|
||||
prefix=`echo $dir|sed 's%/[^/][^/]*$%%'`
|
||||
break
|
||||
fi
|
||||
done
|
||||
IFS="$saveifs"
|
||||
fi
|
||||
|
||||
|
||||
if test -n "$prefix"; then
|
||||
test -z "$exec_prefix" && exec_prefix='${prefix}'
|
||||
prsub="s%^prefix\\([ ]*\\)=\\([ ]*\\).*$%prefix\\1=\\2$prefix%"
|
||||
fi
|
||||
if test -n "$exec_prefix"; then
|
||||
prsub="$prsub
|
||||
s%^exec_prefix\\([ ]*\\)=\\([ ]*\\).*$%\
|
||||
exec_prefix\\1=\\2$exec_prefix%"
|
||||
fi
|
||||
|
||||
trap 'rm -f config.status; exit 1' 1 3 15
|
||||
echo creating config.status
|
||||
rm -f config.status
|
||||
cat > config.status <<EOF
|
||||
#!/bin/sh
|
||||
# Generated automatically by configure.
|
||||
# Run this file to recreate the current configuration.
|
||||
# This directory was configured as follows,
|
||||
# on host `(hostname || uname -n) 2>/dev/null`:
|
||||
#
|
||||
# $0 $*
|
||||
|
||||
for arg
|
||||
do
|
||||
case "\$arg" in
|
||||
-recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
|
||||
exec /bin/sh $0 $* ;;
|
||||
*) echo "Usage: config.status --recheck" 2>&1; exit 1 ;;
|
||||
esac
|
||||
done
|
||||
|
||||
trap 'rm -f Makefile; exit 1' 1 3 15
|
||||
CC='$CC'
|
||||
INSTALL='$INSTALL'
|
||||
INSTALL_PROGRAM='$INSTALL_PROGRAM'
|
||||
INSTALL_DATA='$INSTALL_DATA'
|
||||
CPP='$CPP'
|
||||
ALLOCA='$ALLOCA'
|
||||
LIBS='$LIBS'
|
||||
srcdir='$srcdir'
|
||||
DEFS='$DEFS'
|
||||
prefix='$prefix'
|
||||
exec_prefix='$exec_prefix'
|
||||
prsub='$prsub'
|
||||
EOF
|
||||
cat >> config.status <<\EOF
|
||||
|
||||
top_srcdir=$srcdir
|
||||
for file in .. Makefile; do if [ "x$file" != "x.." ]; then
|
||||
srcdir=$top_srcdir
|
||||
# Remove last slash and all that follows it. Not all systems have dirname.
|
||||
dir=`echo $file|sed 's%/[^/][^/]*$%%'`
|
||||
if test "$dir" != "$file"; then
|
||||
test "$top_srcdir" != . && srcdir=$top_srcdir/$dir
|
||||
test ! -d $dir && mkdir $dir
|
||||
fi
|
||||
echo creating $file
|
||||
rm -f $file
|
||||
echo "# Generated automatically from `echo $file|sed 's|.*/||'`.in by configure." > $file
|
||||
sed -e "
|
||||
$prsub
|
||||
s%@CC@%$CC%g
|
||||
s%@INSTALL@%$INSTALL%g
|
||||
s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
|
||||
s%@INSTALL_DATA@%$INSTALL_DATA%g
|
||||
s%@CPP@%$CPP%g
|
||||
s%@ALLOCA@%$ALLOCA%g
|
||||
s%@LIBS@%$LIBS%g
|
||||
s%@srcdir@%$srcdir%g
|
||||
s%@DEFS@%$DEFS%
|
||||
" $top_srcdir/${file}.in >> $file
|
||||
fi; done
|
||||
|
||||
exit 0
|
||||
EOF
|
||||
chmod +x config.status
|
||||
test -n "$no_create" || ./config.status
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
dnl Process this file with autoconf to produce a configure script.
|
||||
AC_INIT(regex.c)
|
||||
|
||||
AC_PROG_CC
|
||||
AC_PROG_INSTALL
|
||||
|
||||
dnl I'm not sure if AC_AIX and AC_DYNIX_SEQ are really necessary. The
|
||||
dnl Autoconf documentation isn't specific about which BSD functions they
|
||||
dnl provide.
|
||||
AC_AIX
|
||||
AC_DYNIX_SEQ
|
||||
AC_ISC_POSIX
|
||||
AC_MINIX
|
||||
|
||||
AC_STDC_HEADERS
|
||||
AC_HAVE_HEADERS(string.h)
|
||||
|
||||
AC_ALLOCA
|
||||
AC_CONST
|
||||
|
||||
AC_PREFIX(gcc)
|
||||
|
||||
AC_OUTPUT(Makefile doc/Makefile test/Makefile)
|
||||
@@ -1,4 +0,0 @@
|
||||
clean:
|
||||
default:
|
||||
all:
|
||||
echo "."
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,490 +0,0 @@
|
||||
/* Definitions for data structures and routines for the regular
|
||||
expression library, version 0.12.
|
||||
|
||||
Copyright (C) 1985, 1989, 1990, 1991, 1992, 1993 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
|
||||
|
||||
#ifndef __REGEXP_LIBRARY_H__
|
||||
#define __REGEXP_LIBRARY_H__
|
||||
|
||||
/* POSIX says that <sys/types.h> must be included (by the caller) before
|
||||
<regex.h>. */
|
||||
|
||||
#ifdef VMS
|
||||
/* VMS doesn't have `size_t' in <sys/types.h>, even though POSIX says it
|
||||
should be there. */
|
||||
#include <stddef.h>
|
||||
#endif
|
||||
|
||||
|
||||
/* The following bits are used to determine the regexp syntax we
|
||||
recognize. The set/not-set meanings are chosen so that Emacs syntax
|
||||
remains the value 0. The bits are given in alphabetical order, and
|
||||
the definitions shifted by one from the previous bit; thus, when we
|
||||
add or remove a bit, only one other definition need change. */
|
||||
typedef unsigned reg_syntax_t;
|
||||
|
||||
/* If this bit is not set, then \ inside a bracket expression is literal.
|
||||
If set, then such a \ quotes the following character. */
|
||||
#define RE_BACKSLASH_ESCAPE_IN_LISTS (1)
|
||||
|
||||
/* If this bit is not set, then + and ? are operators, and \+ and \? are
|
||||
literals.
|
||||
If set, then \+ and \? are operators and + and ? are literals. */
|
||||
#define RE_BK_PLUS_QM (RE_BACKSLASH_ESCAPE_IN_LISTS << 1)
|
||||
|
||||
/* If this bit is set, then character classes are supported. They are:
|
||||
[:alpha:], [:upper:], [:lower:], [:digit:], [:alnum:], [:xdigit:],
|
||||
[:space:], [:print:], [:punct:], [:graph:], and [:cntrl:].
|
||||
If not set, then character classes are not supported. */
|
||||
#define RE_CHAR_CLASSES (RE_BK_PLUS_QM << 1)
|
||||
|
||||
/* If this bit is set, then ^ and $ are always anchors (outside bracket
|
||||
expressions, of course).
|
||||
If this bit is not set, then it depends:
|
||||
^ is an anchor if it is at the beginning of a regular
|
||||
expression or after an open-group or an alternation operator;
|
||||
$ is an anchor if it is at the end of a regular expression, or
|
||||
before a close-group or an alternation operator.
|
||||
|
||||
This bit could be (re)combined with RE_CONTEXT_INDEP_OPS, because
|
||||
POSIX draft 11.2 says that * etc. in leading positions is undefined.
|
||||
We already implemented a previous draft which made those constructs
|
||||
invalid, though, so we haven't changed the code back. */
|
||||
#define RE_CONTEXT_INDEP_ANCHORS (RE_CHAR_CLASSES << 1)
|
||||
|
||||
/* If this bit is set, then special characters are always special
|
||||
regardless of where they are in the pattern.
|
||||
If this bit is not set, then special characters are special only in
|
||||
some contexts; otherwise they are ordinary. Specifically,
|
||||
* + ? and intervals are only special when not after the beginning,
|
||||
open-group, or alternation operator. */
|
||||
#define RE_CONTEXT_INDEP_OPS (RE_CONTEXT_INDEP_ANCHORS << 1)
|
||||
|
||||
/* If this bit is set, then *, +, ?, and { cannot be first in an re or
|
||||
immediately after an alternation or begin-group operator. */
|
||||
#define RE_CONTEXT_INVALID_OPS (RE_CONTEXT_INDEP_OPS << 1)
|
||||
|
||||
/* If this bit is set, then . matches newline.
|
||||
If not set, then it doesn't. */
|
||||
#define RE_DOT_NEWLINE (RE_CONTEXT_INVALID_OPS << 1)
|
||||
|
||||
/* If this bit is set, then . doesn't match NUL.
|
||||
If not set, then it does. */
|
||||
#define RE_DOT_NOT_NULL (RE_DOT_NEWLINE << 1)
|
||||
|
||||
/* If this bit is set, nonmatching lists [^...] do not match newline.
|
||||
If not set, they do. */
|
||||
#define RE_HAT_LISTS_NOT_NEWLINE (RE_DOT_NOT_NULL << 1)
|
||||
|
||||
/* If this bit is set, either \{...\} or {...} defines an
|
||||
interval, depending on RE_NO_BK_BRACES.
|
||||
If not set, \{, \}, {, and } are literals. */
|
||||
#define RE_INTERVALS (RE_HAT_LISTS_NOT_NEWLINE << 1)
|
||||
|
||||
/* If this bit is set, +, ? and | aren't recognized as operators.
|
||||
If not set, they are. */
|
||||
#define RE_LIMITED_OPS (RE_INTERVALS << 1)
|
||||
|
||||
/* If this bit is set, newline is an alternation operator.
|
||||
If not set, newline is literal. */
|
||||
#define RE_NEWLINE_ALT (RE_LIMITED_OPS << 1)
|
||||
|
||||
/* If this bit is set, then `{...}' defines an interval, and \{ and \}
|
||||
are literals.
|
||||
If not set, then `\{...\}' defines an interval. */
|
||||
#define RE_NO_BK_BRACES (RE_NEWLINE_ALT << 1)
|
||||
|
||||
/* If this bit is set, (...) defines a group, and \( and \) are literals.
|
||||
If not set, \(...\) defines a group, and ( and ) are literals. */
|
||||
#define RE_NO_BK_PARENS (RE_NO_BK_BRACES << 1)
|
||||
|
||||
/* If this bit is set, then \<digit> matches <digit>.
|
||||
If not set, then \<digit> is a back-reference. */
|
||||
#define RE_NO_BK_REFS (RE_NO_BK_PARENS << 1)
|
||||
|
||||
/* If this bit is set, then | is an alternation operator, and \| is literal.
|
||||
If not set, then \| is an alternation operator, and | is literal. */
|
||||
#define RE_NO_BK_VBAR (RE_NO_BK_REFS << 1)
|
||||
|
||||
/* If this bit is set, then an ending range point collating higher
|
||||
than the starting range point, as in [z-a], is invalid.
|
||||
If not set, then when ending range point collates higher than the
|
||||
starting range point, the range is ignored. */
|
||||
#define RE_NO_EMPTY_RANGES (RE_NO_BK_VBAR << 1)
|
||||
|
||||
/* If this bit is set, then an unmatched ) is ordinary.
|
||||
If not set, then an unmatched ) is invalid. */
|
||||
#define RE_UNMATCHED_RIGHT_PAREN_ORD (RE_NO_EMPTY_RANGES << 1)
|
||||
|
||||
/* This global variable defines the particular regexp syntax to use (for
|
||||
some interfaces). When a regexp is compiled, the syntax used is
|
||||
stored in the pattern buffer, so changing this does not affect
|
||||
already-compiled regexps. */
|
||||
extern reg_syntax_t re_syntax_options;
|
||||
|
||||
/* Define combinations of the above bits for the standard possibilities.
|
||||
(The [[[ comments delimit what gets put into the Texinfo file, so
|
||||
don't delete them!) */
|
||||
/* [[[begin syntaxes]]] */
|
||||
#define RE_SYNTAX_EMACS 0
|
||||
|
||||
#define RE_SYNTAX_AWK \
|
||||
(RE_BACKSLASH_ESCAPE_IN_LISTS | RE_DOT_NOT_NULL \
|
||||
| RE_NO_BK_PARENS | RE_NO_BK_REFS \
|
||||
| RE_NO_BK_VBAR | RE_NO_EMPTY_RANGES \
|
||||
| RE_UNMATCHED_RIGHT_PAREN_ORD)
|
||||
|
||||
#define RE_SYNTAX_POSIX_AWK \
|
||||
(RE_SYNTAX_POSIX_EXTENDED | RE_BACKSLASH_ESCAPE_IN_LISTS)
|
||||
|
||||
#define RE_SYNTAX_GREP \
|
||||
(RE_BK_PLUS_QM | RE_CHAR_CLASSES \
|
||||
| RE_HAT_LISTS_NOT_NEWLINE | RE_INTERVALS \
|
||||
| RE_NEWLINE_ALT)
|
||||
|
||||
#define RE_SYNTAX_EGREP \
|
||||
(RE_CHAR_CLASSES | RE_CONTEXT_INDEP_ANCHORS \
|
||||
| RE_CONTEXT_INDEP_OPS | RE_HAT_LISTS_NOT_NEWLINE \
|
||||
| RE_NEWLINE_ALT | RE_NO_BK_PARENS \
|
||||
| RE_NO_BK_VBAR)
|
||||
|
||||
#define RE_SYNTAX_POSIX_EGREP \
|
||||
(RE_SYNTAX_EGREP | RE_INTERVALS | RE_NO_BK_BRACES)
|
||||
|
||||
/* P1003.2/D11.2, section 4.20.7.1, lines 5078ff. */
|
||||
#define RE_SYNTAX_ED RE_SYNTAX_POSIX_BASIC
|
||||
|
||||
#define RE_SYNTAX_SED RE_SYNTAX_POSIX_BASIC
|
||||
|
||||
/* Syntax bits common to both basic and extended POSIX regex syntax. */
|
||||
#define _RE_SYNTAX_POSIX_COMMON \
|
||||
(RE_CHAR_CLASSES | RE_DOT_NEWLINE | RE_DOT_NOT_NULL \
|
||||
| RE_INTERVALS | RE_NO_EMPTY_RANGES)
|
||||
|
||||
#define RE_SYNTAX_POSIX_BASIC \
|
||||
(_RE_SYNTAX_POSIX_COMMON | RE_BK_PLUS_QM)
|
||||
|
||||
/* Differs from ..._POSIX_BASIC only in that RE_BK_PLUS_QM becomes
|
||||
RE_LIMITED_OPS, i.e., \? \+ \| are not recognized. Actually, this
|
||||
isn't minimal, since other operators, such as \`, aren't disabled. */
|
||||
#define RE_SYNTAX_POSIX_MINIMAL_BASIC \
|
||||
(_RE_SYNTAX_POSIX_COMMON | RE_LIMITED_OPS)
|
||||
|
||||
#define RE_SYNTAX_POSIX_EXTENDED \
|
||||
(_RE_SYNTAX_POSIX_COMMON | RE_CONTEXT_INDEP_ANCHORS \
|
||||
| RE_CONTEXT_INDEP_OPS | RE_NO_BK_BRACES \
|
||||
| RE_NO_BK_PARENS | RE_NO_BK_VBAR \
|
||||
| RE_UNMATCHED_RIGHT_PAREN_ORD)
|
||||
|
||||
/* Differs from ..._POSIX_EXTENDED in that RE_CONTEXT_INVALID_OPS
|
||||
replaces RE_CONTEXT_INDEP_OPS and RE_NO_BK_REFS is added. */
|
||||
#define RE_SYNTAX_POSIX_MINIMAL_EXTENDED \
|
||||
(_RE_SYNTAX_POSIX_COMMON | RE_CONTEXT_INDEP_ANCHORS \
|
||||
| RE_CONTEXT_INVALID_OPS | RE_NO_BK_BRACES \
|
||||
| RE_NO_BK_PARENS | RE_NO_BK_REFS \
|
||||
| RE_NO_BK_VBAR | RE_UNMATCHED_RIGHT_PAREN_ORD)
|
||||
/* [[[end syntaxes]]] */
|
||||
|
||||
/* Maximum number of duplicates an interval can allow. Some systems
|
||||
(erroneously) define this in other header files, but we want our
|
||||
value, so remove any previous define. */
|
||||
#ifdef RE_DUP_MAX
|
||||
#undef RE_DUP_MAX
|
||||
#endif
|
||||
#define RE_DUP_MAX ((1 << 15) - 1)
|
||||
|
||||
|
||||
/* POSIX `cflags' bits (i.e., information for `regcomp'). */
|
||||
|
||||
/* If this bit is set, then use extended regular expression syntax.
|
||||
If not set, then use basic regular expression syntax. */
|
||||
#define REG_EXTENDED 1
|
||||
|
||||
/* If this bit is set, then ignore case when matching.
|
||||
If not set, then case is significant. */
|
||||
#define REG_ICASE (REG_EXTENDED << 1)
|
||||
|
||||
/* If this bit is set, then anchors do not match at newline
|
||||
characters in the string.
|
||||
If not set, then anchors do match at newlines. */
|
||||
#define REG_NEWLINE (REG_ICASE << 1)
|
||||
|
||||
/* If this bit is set, then report only success or fail in regexec.
|
||||
If not set, then returns differ between not matching and errors. */
|
||||
#define REG_NOSUB (REG_NEWLINE << 1)
|
||||
|
||||
|
||||
/* POSIX `eflags' bits (i.e., information for regexec). */
|
||||
|
||||
/* If this bit is set, then the beginning-of-line operator doesn't match
|
||||
the beginning of the string (presumably because it's not the
|
||||
beginning of a line).
|
||||
If not set, then the beginning-of-line operator does match the
|
||||
beginning of the string. */
|
||||
#define REG_NOTBOL 1
|
||||
|
||||
/* Like REG_NOTBOL, except for the end-of-line. */
|
||||
#define REG_NOTEOL (1 << 1)
|
||||
|
||||
|
||||
/* If any error codes are removed, changed, or added, update the
|
||||
`re_error_msg' table in regex.c. */
|
||||
typedef enum
|
||||
{
|
||||
REG_NOERROR = 0, /* Success. */
|
||||
REG_NOMATCH, /* Didn't find a match (for regexec). */
|
||||
|
||||
/* POSIX regcomp return error codes. (In the order listed in the
|
||||
standard.) */
|
||||
REG_BADPAT, /* Invalid pattern. */
|
||||
REG_ECOLLATE, /* Not implemented. */
|
||||
REG_ECTYPE, /* Invalid character class name. */
|
||||
REG_EESCAPE, /* Trailing backslash. */
|
||||
REG_ESUBREG, /* Invalid back reference. */
|
||||
REG_EBRACK, /* Unmatched left bracket. */
|
||||
REG_EPAREN, /* Parenthesis imbalance. */
|
||||
REG_EBRACE, /* Unmatched \{. */
|
||||
REG_BADBR, /* Invalid contents of \{\}. */
|
||||
REG_ERANGE, /* Invalid range end. */
|
||||
REG_ESPACE, /* Ran out of memory. */
|
||||
REG_BADRPT, /* No preceding re for repetition op. */
|
||||
|
||||
/* Error codes we've added. */
|
||||
REG_EEND, /* Premature end. */
|
||||
REG_ESIZE, /* Compiled pattern bigger than 2^16 bytes. */
|
||||
REG_ERPAREN /* Unmatched ) or \); not returned from regcomp. */
|
||||
} reg_errcode_t;
|
||||
|
||||
/* This data structure represents a compiled pattern. Before calling
|
||||
the pattern compiler, the fields `buffer', `allocated', `fastmap',
|
||||
`translate', and `no_sub' can be set. After the pattern has been
|
||||
compiled, the `re_nsub' field is available. All other fields are
|
||||
private to the regex routines. */
|
||||
|
||||
struct re_pattern_buffer
|
||||
{
|
||||
/* [[[begin pattern_buffer]]] */
|
||||
/* Space that holds the compiled pattern. It is declared as
|
||||
`unsigned char *' because its elements are
|
||||
sometimes used as array indexes. */
|
||||
unsigned char *buffer;
|
||||
|
||||
/* Number of bytes to which `buffer' points. */
|
||||
unsigned long allocated;
|
||||
|
||||
/* Number of bytes actually used in `buffer'. */
|
||||
unsigned long used;
|
||||
|
||||
/* Syntax setting with which the pattern was compiled. */
|
||||
reg_syntax_t syntax;
|
||||
|
||||
/* Pointer to a fastmap, if any, otherwise zero. re_search uses
|
||||
the fastmap, if there is one, to skip over impossible
|
||||
starting points for matches. */
|
||||
char *fastmap;
|
||||
|
||||
/* Either a translate table to apply to all characters before
|
||||
comparing them, or zero for no translation. The translation
|
||||
is applied to a pattern when it is compiled and to a string
|
||||
when it is matched. */
|
||||
char *translate;
|
||||
|
||||
/* Number of subexpressions found by the compiler. */
|
||||
size_t re_nsub;
|
||||
|
||||
/* Zero if this pattern cannot match the empty string, one else.
|
||||
Well, in truth it's used only in `re_search_2', to see
|
||||
whether or not we should use the fastmap, so we don't set
|
||||
this absolutely perfectly; see `re_compile_fastmap' (the
|
||||
`duplicate' case). */
|
||||
unsigned can_be_null : 1;
|
||||
|
||||
/* If REGS_UNALLOCATED, allocate space in the `regs' structure
|
||||
for `max (RE_NREGS, re_nsub + 1)' groups.
|
||||
If REGS_REALLOCATE, reallocate space if necessary.
|
||||
If REGS_FIXED, use what's there. */
|
||||
#define REGS_UNALLOCATED 0
|
||||
#define REGS_REALLOCATE 1
|
||||
#define REGS_FIXED 2
|
||||
unsigned regs_allocated : 2;
|
||||
|
||||
/* Set to zero when `regex_compile' compiles a pattern; set to one
|
||||
by `re_compile_fastmap' if it updates the fastmap. */
|
||||
unsigned fastmap_accurate : 1;
|
||||
|
||||
/* If set, `re_match_2' does not return information about
|
||||
subexpressions. */
|
||||
unsigned no_sub : 1;
|
||||
|
||||
/* If set, a beginning-of-line anchor doesn't match at the
|
||||
beginning of the string. */
|
||||
unsigned not_bol : 1;
|
||||
|
||||
/* Similarly for an end-of-line anchor. */
|
||||
unsigned not_eol : 1;
|
||||
|
||||
/* If true, an anchor at a newline matches. */
|
||||
unsigned newline_anchor : 1;
|
||||
|
||||
/* [[[end pattern_buffer]]] */
|
||||
};
|
||||
|
||||
typedef struct re_pattern_buffer regex_t;
|
||||
|
||||
|
||||
/* search.c (search_buffer) in Emacs needs this one opcode value. It is
|
||||
defined both in `regex.c' and here. */
|
||||
#define RE_EXACTN_VALUE 1
|
||||
|
||||
/* Type for byte offsets within the string. POSIX mandates this. */
|
||||
typedef int regoff_t;
|
||||
|
||||
|
||||
/* This is the structure we store register match data in. See
|
||||
regex.texinfo for a full description of what registers match. */
|
||||
struct re_registers
|
||||
{
|
||||
unsigned num_regs;
|
||||
regoff_t *start;
|
||||
regoff_t *end;
|
||||
};
|
||||
|
||||
|
||||
/* If `regs_allocated' is REGS_UNALLOCATED in the pattern buffer,
|
||||
`re_match_2' returns information about at least this many registers
|
||||
the first time a `regs' structure is passed. */
|
||||
#ifndef RE_NREGS
|
||||
#define RE_NREGS 30
|
||||
#endif
|
||||
|
||||
|
||||
/* POSIX specification for registers. Aside from the different names than
|
||||
`re_registers', POSIX uses an array of structures, instead of a
|
||||
structure of arrays. */
|
||||
typedef struct
|
||||
{
|
||||
regoff_t rm_so; /* Byte offset from string's start to substring's start. */
|
||||
regoff_t rm_eo; /* Byte offset from string's start to substring's end. */
|
||||
} regmatch_t;
|
||||
|
||||
/* Declarations for routines. */
|
||||
|
||||
/* To avoid duplicating every routine declaration -- once with a
|
||||
prototype (if we are ANSI), and once without (if we aren't) -- we
|
||||
use the following macro to declare argument types. This
|
||||
unfortunately clutters up the declarations a bit, but I think it's
|
||||
worth it. */
|
||||
|
||||
#if __STDC__
|
||||
|
||||
#define _RE_ARGS(args) args
|
||||
|
||||
#else /* not __STDC__ */
|
||||
|
||||
#define _RE_ARGS(args) ()
|
||||
|
||||
#endif /* not __STDC__ */
|
||||
|
||||
/* Sets the current default syntax to SYNTAX, and return the old syntax.
|
||||
You can also simply assign to the `re_syntax_options' variable. */
|
||||
extern reg_syntax_t re_set_syntax _RE_ARGS ((reg_syntax_t syntax));
|
||||
|
||||
/* Compile the regular expression PATTERN, with length LENGTH
|
||||
and syntax given by the global `re_syntax_options', into the buffer
|
||||
BUFFER. Return NULL if successful, and an error string if not. */
|
||||
extern const char *re_compile_pattern
|
||||
_RE_ARGS ((const char *pattern, int length,
|
||||
struct re_pattern_buffer *buffer));
|
||||
|
||||
|
||||
/* Compile a fastmap for the compiled pattern in BUFFER; used to
|
||||
accelerate searches. Return 0 if successful and -2 if was an
|
||||
internal error. */
|
||||
extern int re_compile_fastmap _RE_ARGS ((struct re_pattern_buffer *buffer));
|
||||
|
||||
|
||||
/* Search in the string STRING (with length LENGTH) for the pattern
|
||||
compiled into BUFFER. Start searching at position START, for RANGE
|
||||
characters. Return the starting position of the match, -1 for no
|
||||
match, or -2 for an internal error. Also return register
|
||||
information in REGS (if REGS and BUFFER->no_sub are nonzero). */
|
||||
extern int re_search
|
||||
_RE_ARGS ((struct re_pattern_buffer *buffer, const char *string,
|
||||
int length, int start, int range, struct re_registers *regs));
|
||||
|
||||
|
||||
/* Like `re_search', but search in the concatenation of STRING1 and
|
||||
STRING2. Also, stop searching at index START + STOP. */
|
||||
extern int re_search_2
|
||||
_RE_ARGS ((struct re_pattern_buffer *buffer, const char *string1,
|
||||
int length1, const char *string2, int length2,
|
||||
int start, int range, struct re_registers *regs, int stop));
|
||||
|
||||
|
||||
/* Like `re_search', but return how many characters in STRING the regexp
|
||||
in BUFFER matched, starting at position START. */
|
||||
extern int re_match
|
||||
_RE_ARGS ((struct re_pattern_buffer *buffer, const char *string,
|
||||
int length, int start, struct re_registers *regs));
|
||||
|
||||
|
||||
/* Relates to `re_match' as `re_search_2' relates to `re_search'. */
|
||||
extern int re_match_2
|
||||
_RE_ARGS ((struct re_pattern_buffer *buffer, const char *string1,
|
||||
int length1, const char *string2, int length2,
|
||||
int start, struct re_registers *regs, int stop));
|
||||
|
||||
|
||||
/* Set REGS to hold NUM_REGS registers, storing them in STARTS and
|
||||
ENDS. Subsequent matches using BUFFER and REGS will use this memory
|
||||
for recording register information. STARTS and ENDS must be
|
||||
allocated with malloc, and must each be at least `NUM_REGS * sizeof
|
||||
(regoff_t)' bytes long.
|
||||
|
||||
If NUM_REGS == 0, then subsequent matches should allocate their own
|
||||
register data.
|
||||
|
||||
Unless this function is called, the first search or match using
|
||||
PATTERN_BUFFER will allocate its own register data, without
|
||||
freeing the old data. */
|
||||
extern void re_set_registers
|
||||
_RE_ARGS ((struct re_pattern_buffer *buffer, struct re_registers *regs,
|
||||
unsigned num_regs, regoff_t *starts, regoff_t *ends));
|
||||
|
||||
/* 4.2 bsd compatibility. */
|
||||
extern char *re_comp _RE_ARGS ((const char *));
|
||||
extern int re_exec _RE_ARGS ((const char *));
|
||||
|
||||
/* POSIX compatibility. */
|
||||
extern int regcomp _RE_ARGS ((regex_t *preg, const char *pattern, int cflags));
|
||||
extern int regexec
|
||||
_RE_ARGS ((const regex_t *preg, const char *string, size_t nmatch,
|
||||
regmatch_t pmatch[], int eflags));
|
||||
extern size_t regerror
|
||||
_RE_ARGS ((int errcode, const regex_t *preg, char *errbuf,
|
||||
size_t errbuf_size));
|
||||
extern void regfree _RE_ARGS ((regex_t *preg));
|
||||
|
||||
#endif /* not __REGEXP_LIBRARY_H__ */
|
||||
|
||||
/*
|
||||
Local variables:
|
||||
make-backup-files: t
|
||||
version-control: t
|
||||
trim-versions-without-asking: nil
|
||||
End:
|
||||
*/
|
||||
@@ -1,4 +1,4 @@
|
||||
# AppArmor profile for UnrealIRCd 4.0.16+
|
||||
# AppArmor profile for UnrealIRCd 5
|
||||
#
|
||||
# Note that you may still see some DENIED warnings in logs with
|
||||
# operation="chmod". These are harmless and can be safely ignored.
|
||||
@@ -17,8 +17,7 @@
|
||||
|
||||
@{HOME}/unrealircd/conf/ r,
|
||||
@{HOME}/unrealircd/conf/** r,
|
||||
@{HOME}/unrealircd/data/ircd.tune rw,
|
||||
@{HOME}/unrealircd/data/unrealircd.pid rw,
|
||||
@{HOME}/unrealircd/data/** rw,
|
||||
@{HOME}/unrealircd/lib/*.so* mr,
|
||||
@{HOME}/unrealircd/logs/* rw,
|
||||
@{HOME}/unrealircd/modules/**.so r,
|
||||
|
||||
Submodule extras/tests/functional-tests deleted from 700403adcf
Submodule extras/tests/ircfly deleted from 3a0301d13f
@@ -1,20 +1,14 @@
|
||||
Target: 127.0.0.1:5900
|
||||
Target: 127.0.0.1:5901
|
||||
|
||||
prio ciphersuite protocols pfs curves
|
||||
1 ECDHE-RSA-AES256-GCM-SHA384 TLSv1.2 ECDH,P-521,521bits secp521r1,secp384r1,prime256v1
|
||||
2 ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 ECDH,P-521,521bits secp521r1,secp384r1,prime256v1
|
||||
3 ECDHE-RSA-AES256-SHA384 TLSv1.2 ECDH,P-521,521bits secp521r1,secp384r1,prime256v1
|
||||
4 ECDHE-RSA-AES128-SHA256 TLSv1.2 ECDH,P-521,521bits secp521r1,secp384r1,prime256v1
|
||||
5 ECDHE-RSA-AES256-SHA TLSv1,TLSv1.1,TLSv1.2 ECDH,P-521,521bits secp521r1,secp384r1,prime256v1
|
||||
6 ECDHE-RSA-AES128-SHA TLSv1,TLSv1.1,TLSv1.2 ECDH,P-521,521bits secp521r1,secp384r1,prime256v1
|
||||
7 AES256-GCM-SHA384 TLSv1.2 None None
|
||||
8 AES128-GCM-SHA256 TLSv1.2 None None
|
||||
9 AES256-SHA256 TLSv1.2 None None
|
||||
10 AES128-SHA256 TLSv1.2 None None
|
||||
11 AES256-SHA TLSv1,TLSv1.1,TLSv1.2 None None
|
||||
12 AES128-SHA TLSv1,TLSv1.1,TLSv1.2 None None
|
||||
prio ciphersuite protocols pfs curves
|
||||
1 ECDHE-ECDSA-AES256-GCM-SHA384 TLSv1.2 ECDH,P-521,521bits secp521r1,secp384r1
|
||||
2 ECDHE-ECDSA-AES128-GCM-SHA256 TLSv1.2 ECDH,P-521,521bits secp521r1,secp384r1
|
||||
3 ECDHE-ECDSA-AES256-SHA384 TLSv1.2 ECDH,P-521,521bits secp521r1,secp384r1
|
||||
4 ECDHE-ECDSA-AES128-SHA256 TLSv1.2 ECDH,P-521,521bits secp521r1,secp384r1
|
||||
5 ECDHE-ECDSA-AES256-SHA TLSv1,TLSv1.1,TLSv1.2 ECDH,P-521,521bits secp521r1,secp384r1
|
||||
6 ECDHE-ECDSA-AES128-SHA TLSv1,TLSv1.1,TLSv1.2 ECDH,P-521,521bits secp521r1,secp384r1
|
||||
|
||||
Certificate: untrusted, 4096 bits, sha256WithRSAEncryption signature
|
||||
Certificate: untrusted, 384 bits, ecdsa-with-SHA256 signature
|
||||
TLS ticket lifetime hint: None
|
||||
NPN protocols: None
|
||||
OCSP stapling: not supported
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
Target: 127.0.0.1:5900
|
||||
|
||||
prio ciphersuite protocols pfs curves
|
||||
1 ECDHE-RSA-AES256-GCM-SHA384 TLSv1.2 ECDH,P-521,521bits secp521r1,secp384r1,prime256v1
|
||||
2 ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 ECDH,P-521,521bits secp521r1,secp384r1,prime256v1
|
||||
3 ECDHE-RSA-AES256-SHA384 TLSv1.2 ECDH,P-521,521bits secp521r1,secp384r1,prime256v1
|
||||
4 ECDHE-RSA-AES256-SHA TLSv1,TLSv1.1,TLSv1.2 ECDH,P-521,521bits secp521r1,secp384r1,prime256v1
|
||||
5 ECDHE-RSA-AES128-SHA256 TLSv1.2 ECDH,P-521,521bits secp521r1,secp384r1,prime256v1
|
||||
6 ECDHE-RSA-AES128-SHA TLSv1,TLSv1.1,TLSv1.2 ECDH,P-521,521bits secp521r1,secp384r1,prime256v1
|
||||
7 AES256-GCM-SHA384 TLSv1.2 None None
|
||||
8 AES128-GCM-SHA256 TLSv1.2 None None
|
||||
9 AES256-SHA256 TLSv1.2 None None
|
||||
10 AES128-SHA256 TLSv1.2 None None
|
||||
11 AES256-SHA TLSv1,TLSv1.1,TLSv1.2 None None
|
||||
12 AES128-SHA TLSv1,TLSv1.1,TLSv1.2 None None
|
||||
|
||||
Certificate: untrusted, 4096 bits, sha256WithRSAEncryption signature
|
||||
TLS ticket lifetime hint: None
|
||||
NPN protocols: None
|
||||
OCSP stapling: not supported
|
||||
Cipher ordering: server
|
||||
Curves ordering: server - fallback: no
|
||||
Server supports secure renegotiation
|
||||
Server supported compression methods: NONE
|
||||
TLS Tolerance: yes
|
||||
|
||||
Intolerance to:
|
||||
SSL 3.254 : absent
|
||||
TLS 1.0 : absent
|
||||
TLS 1.1 : absent
|
||||
TLS 1.2 : absent
|
||||
TLS 1.3 : absent
|
||||
TLS 1.4 : absent
|
||||
@@ -0,0 +1,27 @@
|
||||
Target: 127.0.0.1:5901
|
||||
|
||||
prio ciphersuite protocols pfs curves
|
||||
1 ECDHE-ECDSA-AES256-GCM-SHA384 TLSv1.2 ECDH,P-256,256bits prime256v1
|
||||
2 ECDHE-ECDSA-AES128-GCM-SHA256 TLSv1.2 ECDH,P-256,256bits prime256v1
|
||||
3 ECDHE-ECDSA-AES256-SHA384 TLSv1.2 ECDH,P-256,256bits prime256v1
|
||||
4 ECDHE-ECDSA-AES256-SHA TLSv1,TLSv1.1,TLSv1.2 ECDH,P-256,256bits prime256v1
|
||||
5 ECDHE-ECDSA-AES128-SHA256 TLSv1.2 ECDH,P-256,256bits prime256v1
|
||||
6 ECDHE-ECDSA-AES128-SHA TLSv1,TLSv1.1,TLSv1.2 ECDH,P-256,256bits prime256v1
|
||||
|
||||
Certificate: untrusted, 384 bits, ecdsa-with-SHA256 signature
|
||||
TLS ticket lifetime hint: None
|
||||
NPN protocols: None
|
||||
OCSP stapling: not supported
|
||||
Cipher ordering: server
|
||||
Curves ordering: server - fallback: no
|
||||
Server supports secure renegotiation
|
||||
Server supported compression methods: NONE
|
||||
TLS Tolerance: yes
|
||||
|
||||
Intolerance to:
|
||||
SSL 3.254 : absent
|
||||
TLS 1.0 : absent
|
||||
TLS 1.1 : absent
|
||||
TLS 1.2 : absent
|
||||
TLS 1.3 : absent
|
||||
TLS 1.4 : absent
|
||||
@@ -0,0 +1,27 @@
|
||||
Target: 127.0.0.1:5901
|
||||
|
||||
prio ciphersuite protocols pfs curves
|
||||
1 ECDHE-ECDSA-AES256-GCM-SHA384 TLSv1.2 ECDH,P-521,521bits secp521r1,secp384r1
|
||||
2 ECDHE-ECDSA-AES128-GCM-SHA256 TLSv1.2 ECDH,P-521,521bits secp521r1,secp384r1
|
||||
3 ECDHE-ECDSA-AES256-SHA384 TLSv1.2 ECDH,P-521,521bits secp521r1,secp384r1
|
||||
4 ECDHE-ECDSA-AES256-SHA TLSv1,TLSv1.1,TLSv1.2 ECDH,P-521,521bits secp521r1,secp384r1
|
||||
5 ECDHE-ECDSA-AES128-SHA256 TLSv1.2 ECDH,P-521,521bits secp521r1,secp384r1
|
||||
6 ECDHE-ECDSA-AES128-SHA TLSv1,TLSv1.1,TLSv1.2 ECDH,P-521,521bits secp521r1,secp384r1
|
||||
|
||||
Certificate: untrusted, 384 bits, ecdsa-with-SHA256 signature
|
||||
TLS ticket lifetime hint: None
|
||||
NPN protocols: None
|
||||
OCSP stapling: not supported
|
||||
Cipher ordering: server
|
||||
Curves ordering: server - fallback: no
|
||||
Server supports secure renegotiation
|
||||
Server supported compression methods: NONE
|
||||
TLS Tolerance: yes
|
||||
|
||||
Intolerance to:
|
||||
SSL 3.254 : absent
|
||||
TLS 1.0 : absent
|
||||
TLS 1.1 : absent
|
||||
TLS 1.2 : absent
|
||||
TLS 1.3 : absent
|
||||
TLS 1.4 : absent
|
||||
@@ -1,33 +0,0 @@
|
||||
Target: 127.0.0.1:5900
|
||||
|
||||
prio ciphersuite protocols pfs curves
|
||||
1 ECDHE-RSA-AES256-GCM-SHA384 TLSv1.2 ECDH,P-256,256bits prime256v1,secp521r1,brainpoolP512r1,brainpoolP384r1,secp384r1,brainpoolP256r1,secp256k1,sect571r1,sect571k1,sect409k1,sect409r1,sect283k1,sect283r1
|
||||
2 ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 ECDH,P-256,256bits prime256v1,secp521r1,brainpoolP512r1,brainpoolP384r1,secp384r1,brainpoolP256r1,secp256k1,sect571r1,sect571k1,sect409k1,sect409r1,sect283k1,sect283r1
|
||||
3 ECDHE-RSA-AES256-SHA384 TLSv1.2 ECDH,P-256,256bits prime256v1,secp521r1,brainpoolP512r1,brainpoolP384r1,secp384r1,brainpoolP256r1,secp256k1,sect571r1,sect571k1,sect409k1,sect409r1,sect283k1,sect283r1
|
||||
4 ECDHE-RSA-AES256-SHA TLSv1,TLSv1.1,TLSv1.2 ECDH,P-256,256bits prime256v1,secp521r1,brainpoolP512r1,brainpoolP384r1,secp384r1,brainpoolP256r1,secp256k1,sect571r1,sect571k1,sect409k1,sect409r1,sect283k1,sect283r1
|
||||
5 ECDHE-RSA-AES128-SHA256 TLSv1.2 ECDH,P-256,256bits prime256v1,secp521r1,brainpoolP512r1,brainpoolP384r1,secp384r1,brainpoolP256r1,secp256k1,sect571r1,sect571k1,sect409k1,sect409r1,sect283k1,sect283r1
|
||||
6 ECDHE-RSA-AES128-SHA TLSv1,TLSv1.1,TLSv1.2 ECDH,P-256,256bits prime256v1,secp521r1,brainpoolP512r1,brainpoolP384r1,secp384r1,brainpoolP256r1,secp256k1,sect571r1,sect571k1,sect409k1,sect409r1,sect283k1,sect283r1
|
||||
7 AES256-GCM-SHA384 TLSv1.2 None None
|
||||
8 AES128-GCM-SHA256 TLSv1.2 None None
|
||||
9 AES256-SHA256 TLSv1.2 None None
|
||||
10 AES128-SHA256 TLSv1.2 None None
|
||||
11 AES256-SHA TLSv1,TLSv1.1,TLSv1.2 None None
|
||||
12 AES128-SHA TLSv1,TLSv1.1,TLSv1.2 None None
|
||||
|
||||
Certificate: untrusted, 4096 bits, sha256WithRSAEncryption signature
|
||||
TLS ticket lifetime hint: None
|
||||
NPN protocols: None
|
||||
OCSP stapling: not supported
|
||||
Cipher ordering: server
|
||||
Curves ordering: server - fallback: no
|
||||
Server supports secure renegotiation
|
||||
Server supported compression methods: NONE
|
||||
TLS Tolerance: yes
|
||||
|
||||
Intolerance to:
|
||||
SSL 3.254 : absent
|
||||
TLS 1.0 : absent
|
||||
TLS 1.1 : absent
|
||||
TLS 1.2 : absent
|
||||
TLS 1.3 : absent
|
||||
TLS 1.4 : absent
|
||||
@@ -9,9 +9,15 @@ function fail()
|
||||
|
||||
CIPHERSCAN="cipherscan"
|
||||
OPENSSL="openssl"
|
||||
if [ -x /home/travis/build/unrealircd/unrealircd/cipherscan/cipherscan ]; then
|
||||
if [ -x ~/cipherscan ]; then
|
||||
CIPHERSCAN="$HOME/cipherscan/cipherscan"
|
||||
OPENSSL="$HOME/cipherscan/openssl"
|
||||
elif [ -x /home/travis/build/unrealircd/unrealircd/cipherscan/cipherscan ]; then
|
||||
CIPHERSCAN="/home/travis/build/unrealircd/unrealircd/cipherscan/cipherscan"
|
||||
OPENSSL="/home/travis/build/unrealircd/unrealircd/cipherscan/openssl"
|
||||
elif [ -x ../../../cipherscan/ ]; then
|
||||
CIPHERSCAN="`readlink -f ../../../cipherscan/cipherscan`"
|
||||
OPENSSL="`readlink -f ../../../cipherscan/openssl`"
|
||||
fi
|
||||
|
||||
$CIPHERSCAN --help >/dev/null || exit 1
|
||||
@@ -21,13 +27,16 @@ $CIPHERSCAN --help >/dev/null || exit 1
|
||||
# It compares the output against a reference .txt file and alarms us if there
|
||||
# are any changes. These changes may not always be harmful, but at least we
|
||||
# will get warned on any possible changes.
|
||||
$CIPHERSCAN --no-colors 127.0.0.1:5900|grep -vF '.....' >cipherscan.test.txt
|
||||
$CIPHERSCAN --no-colors 127.0.0.1:5901|grep -vF '.....' >cipherscan.test.txt
|
||||
|
||||
# Now check if profile matches, if so.. everything is ok.
|
||||
# We have 1 or more baseline profiles
|
||||
# And you can optionally add profile-specific, eg openssl-102.txt
|
||||
# Yeah that was a great idea but maintaining that is a bit of a hassle.
|
||||
# TODO: reintroduce it though, see below.
|
||||
##for f in cipherscan_profiles/baseline*txt cipherscan_profiles/$BUILDCONFIG.txt
|
||||
FAILED=1
|
||||
for f in cipherscan_profiles/baseline*txt cipherscan_profiles/$BUILDCONFIG.txt
|
||||
for f in cipherscan_profiles/*.txt
|
||||
do
|
||||
diff -uab $f cipherscan.test.txt 1>/dev/null 2>&1
|
||||
if [ "$?" -eq 0 ]; then
|
||||
@@ -64,7 +73,7 @@ fi
|
||||
for cipher in 3DES RC4
|
||||
do
|
||||
echo "Testing cipher $cipher (MUST FAIL!).."
|
||||
(echo QUIT|$OPENSSL s_client -connect 127.0.0.1:5900 -cipher $cipher) &&
|
||||
(echo QUIT|$OPENSSL s_client -connect 127.0.0.1:5901 -cipher $cipher) &&
|
||||
fail "UnrealIRCd allowed us to connect with cipher $cipher, BAD!"
|
||||
done
|
||||
|
||||
@@ -72,7 +81,7 @@ done
|
||||
for protocol in ssl2 ssl3
|
||||
do
|
||||
echo "Testing protocol $protocol (MUST FAIL!).."
|
||||
(echo QUIT|$OPENSSL s_client -connect 127.0.0.1:5900 -$protocol) &&
|
||||
(echo QUIT|$OPENSSL s_client -connect 127.0.0.1:5901 -$protocol) &&
|
||||
fail "UnrealIRCd allowed us to connect with protocol $protocol, BAD!"
|
||||
done
|
||||
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
# create RSA certs - Server
|
||||
|
||||
RANDFILE = ssl.rnd
|
||||
|
||||
[ req ]
|
||||
default_bits = 4096
|
||||
encrypt_key = yes
|
||||
# Note: RSA bits is ignored, as we use ECC now
|
||||
default_bits = 2048
|
||||
distinguished_name = req_dn
|
||||
x509_extensions = cert_type
|
||||
|
||||
Binary file not shown.
@@ -0,0 +1,105 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# This is stage 1 of the UnrealIRCd upgrade script
|
||||
# It downloads stage 2 online, verifies the integrity, and then
|
||||
# passes control to it to proceed with the rest of the upgrade.
|
||||
#
|
||||
# This is a bash script, so it is less cross-platform than
|
||||
# the rest of UnrealIRCd. We also mostly assume Linux here.
|
||||
#
|
||||
|
||||
BUILDDIR="@BUILDDIR@"
|
||||
SCRIPTDIR="@SCRIPTDIR@"
|
||||
DOCDIR="@DOCDIR@"
|
||||
TMPDIR="@TMPDIR@"
|
||||
|
||||
function warn()
|
||||
{
|
||||
echo
|
||||
echo "WARNING: $*"
|
||||
echo "This is for your information only. It is possible to continue."
|
||||
echo "Press ENTER to continue, or CTRL+C to abort."
|
||||
echo "If in doubt, see https://www.unrealircd.org/docs/FAQ#upgrade-verify-failed"
|
||||
read xyz
|
||||
}
|
||||
|
||||
function bigwarn()
|
||||
{
|
||||
echo
|
||||
echo "[!!!] WARNING: $*"
|
||||
echo "Check https://www.unrealircd.org/docs/FAQ#upgrade-verify-failed !"
|
||||
echo "Type 'IGNORE' in uppercase to continue if you think it is safe."
|
||||
echo "Type anything else to abort."
|
||||
read answer
|
||||
if [ "$answer" != "IGNORE" ]; then
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
function fail()
|
||||
{
|
||||
echo
|
||||
echo "ERROR: $*"
|
||||
echo "NOTE: Your existing UnrealIRCd is backed up to $BACKUPDIR"
|
||||
echo "Perhaps check out the FAQ for common problems:"
|
||||
echo "https://www.unrealircd.org/docs/FAQ#upgrade-failed"
|
||||
echo "Otherwise, follow the manual upgrade procedure from"
|
||||
echo "https://www.unrealircd.org/docs/Upgrading"
|
||||
exit 1
|
||||
}
|
||||
|
||||
if [ ! -d "$BUILDDIR" ]; then
|
||||
echo "UnrealIRCd source not found at $BUILDDIR."
|
||||
echo "Sorry, then it is not possible to know your existing settings and thus we cannot upgrade."
|
||||
echo "Follow the manual upgrade procedure from https://www.unrealircd.org/docs/Upgrading"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! wget --help 1>/dev/null 2>&1; then
|
||||
echo "The tool 'wget' is missing, which is used by this script."
|
||||
echo "On Linux consider running 'sudo apt install wget' or 'sudo yum install wget'"
|
||||
echo "and run this script again."
|
||||
echo "Or, don't use this script and follow the manual upgrade procedure from"
|
||||
echo "https://www.unrealircd.org/docs/Upgrading"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Weird way to get version, but ok.
|
||||
cd "$BUILDDIR" || fail "Could not cd to builddir"
|
||||
UNREALVER="`./configure --version|head -n1|awk '{ print $3 }'`"
|
||||
cd .. || fail "Could not cd back"
|
||||
|
||||
# Set and export all variables with settings
|
||||
export UNREALVER BUILDDIR SCRIPTDIR DOCDIR TMPDIR
|
||||
|
||||
# Download the install script
|
||||
wget -O unrealircd-upgrade-script.stage2 "https://www.unrealircd.org/downloads/unrealircd-upgrade-script.stage2?from=$UNREALVER" || fail "Could not download online installer"
|
||||
wget -O unrealircd-upgrade-script.stage2.asc "https://www.unrealircd.org/downloads/unrealircd-upgrade-script.stage2.asc" || fail "Could not download online installer signature"
|
||||
|
||||
# GPG verification - if available
|
||||
if gpg --version 1>/dev/null 2>&1; then
|
||||
if [ -f "$DOCDIR/KEYS" ]; then
|
||||
gpg --import "$DOCDIR/KEYS"
|
||||
echo
|
||||
if gpg --batch --exit-on-status-write-error --verify unrealircd-upgrade-script.stage2.asc unrealircd-upgrade-script.stage2; then
|
||||
echo "GPG: Verification succeeded. Download is genuine."
|
||||
export NOGPG=0
|
||||
else
|
||||
bigwarn "GPG/PGP verification failed. This could be a security issue."
|
||||
export NOGPG=1
|
||||
fi
|
||||
else
|
||||
warn "Unable to check download integrity with GPG/PGP. Missing $DOCDIR/KEYS file."
|
||||
export NOGPG=1
|
||||
fi
|
||||
else
|
||||
echo "WARNING: The GnuPG (GPG/PGP) verification tool 'gpg' is not installed."
|
||||
echo "Consider running 'sudo apt install gpg' or 'yum install gnupg2'"
|
||||
echo "When 'gpg' is installed then the UnrealIRCd upgrade script can"
|
||||
echo "verify the digital signature of the download file."
|
||||
warn "Unable to check download integrity"
|
||||
export NOGPG=1
|
||||
fi
|
||||
|
||||
chmod +x unrealircd-upgrade-script.stage2
|
||||
./unrealircd-upgrade-script.stage2 $*
|
||||
@@ -1,40 +0,0 @@
|
||||
/************************************************************************
|
||||
* Unreal Internet Relay Chat Daemon, include/auth.h
|
||||
* Copyright (C) 2001 Carsten V. Munk (stskeeps@tspre.org)
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 1, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
typedef struct {
|
||||
char *data;
|
||||
short type;
|
||||
} anAuthStruct;
|
||||
|
||||
#define AUTHTYPE_PLAINTEXT 0
|
||||
#define AUTHTYPE_UNIXCRYPT 1
|
||||
#define AUTHTYPE_MD5 2
|
||||
#define AUTHTYPE_SHA1 3
|
||||
#define AUTHTYPE_SSL_CLIENTCERT 4
|
||||
#define AUTHTYPE_RIPEMD160 5
|
||||
#define AUTHTYPE_SSL_CLIENTCERTFP 6
|
||||
#define AUTHTYPE_BCRYPT 7
|
||||
#define AUTHTYPE_SPKIFP 8
|
||||
#define AUTHTYPE_ARGON2 9
|
||||
|
||||
#ifndef HAVE_CRYPT
|
||||
#define crypt DES_crypt
|
||||
#endif
|
||||
+1
-12
@@ -26,18 +26,7 @@
|
||||
|
||||
#define MODEBUFLEN 200
|
||||
|
||||
#define CANNOT_SEND_MODERATED 1
|
||||
#define CANNOT_SEND_NOPRIVMSGS 2
|
||||
#define CANNOT_SEND_BAN 4
|
||||
#define CANNOT_SEND_MODREG 6
|
||||
#define CANNOT_SEND_SWEAR 7 /* This isn't actually used here */
|
||||
#define CANNOT_SEND_NONOTICE 8
|
||||
|
||||
#define NullChn ((aChannel *)0)
|
||||
|
||||
#define ChannelExists(n) (find_channel(n, NullChn) != NullChn)
|
||||
|
||||
#define IsULine(sptr) (sptr->flags & FLAGS_ULINE)
|
||||
#define ChannelExists(n) (find_channel(n, NULL))
|
||||
|
||||
/* NOTE: Timestamps will be added to MODE-commands, so never make
|
||||
* RESYNCMODES and MODEPARAMS higher than MAXPARA-3. DALnet servers
|
||||
|
||||
@@ -1,63 +0,0 @@
|
||||
/************************************************************************
|
||||
* Unreal Internet Relay Chat Daemon, include/class.h
|
||||
* Copyright (C) 1990 Darren Reed
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 1, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#ifndef __class_include__
|
||||
#define __class_include__
|
||||
|
||||
typedef struct Class {
|
||||
int class;
|
||||
int conFreq;
|
||||
int pingFreq;
|
||||
int maxLinks;
|
||||
long maxSendq;
|
||||
int links;
|
||||
struct Class *next;
|
||||
} aClass;
|
||||
|
||||
#define Class(x) ((x)->class)
|
||||
#define ConFreq(x) ((x)->conFreq)
|
||||
#define PingFreq(x) ((x)->pingFreq)
|
||||
#define MaxLinks(x) ((x)->maxLinks)
|
||||
#define MaxSendq(x) ((x)->maxSendq)
|
||||
#define Links(x) ((x)->links)
|
||||
|
||||
#define ConfLinks(x) (Class(x)->links)
|
||||
#define ConfMaxLinks(x) (Class(x)->maxLinks)
|
||||
#define ConfClass(x) (Class(x)->class)
|
||||
#define ConfConFreq(x) (Class(x)->conFreq)
|
||||
#define ConfPingFreq(x) (Class(x)->pingFreq)
|
||||
#define ConfSendq(x) (Class(x)->maxSendq)
|
||||
|
||||
#define FirstClass() classes
|
||||
#define NextClass(x) ((x)->next)
|
||||
|
||||
extern aClass *classes;
|
||||
|
||||
extern aClass *find_class(int);
|
||||
extern int get_conf_class(aConfItem *);
|
||||
extern int get_client_class(aClient *);
|
||||
extern int get_client_ping(aClient *);
|
||||
extern int get_con_freq(aClass *);
|
||||
extern void add_class(int, int, int, int, long);
|
||||
extern void check_class(void);
|
||||
extern void initclass(void);
|
||||
|
||||
#endif /* __class_include__ */
|
||||
+12
-80
@@ -25,19 +25,16 @@
|
||||
#include <time.h>
|
||||
#ifdef _WIN32
|
||||
#include <malloc.h>
|
||||
#define NTDDI_VERSION 0x0501
|
||||
#define _WIN32_WINNT 0x0501
|
||||
#include <winsock2.h>
|
||||
#include <ws2tcpip.h>
|
||||
#include <windows.h>
|
||||
#include <io.h>
|
||||
#include <direct.h>
|
||||
#endif
|
||||
#include "types.h"
|
||||
#include "config.h"
|
||||
#ifdef PARAMH
|
||||
#include <sys/param.h>
|
||||
#endif
|
||||
#ifndef _WIN32
|
||||
#include <sys/param.h>
|
||||
#include <stdbool.h>
|
||||
#else
|
||||
typedef int bool;
|
||||
@@ -60,6 +57,12 @@ typedef int bool;
|
||||
|
||||
#define BMAGIC 0x4675636B596F754661736369737473
|
||||
|
||||
#ifdef _WIN32
|
||||
#define DEADBEEF_ADDR 0xDEADBEEFDEADBEEF
|
||||
#else
|
||||
#define DEADBEEF_ADDR 0xDEADBEEF
|
||||
#endif
|
||||
|
||||
#define BASE_VERSION "UnrealIRCd"
|
||||
#ifndef _WIN32
|
||||
#define FDwrite(x,y,z) write(x, y, z)
|
||||
@@ -85,19 +88,6 @@ typedef int bool;
|
||||
#define UNSURE (2)
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
#ifndef MALLOCH
|
||||
char *malloc(), *calloc();
|
||||
void free();
|
||||
#else
|
||||
#include MALLOCH
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#define TS time_t
|
||||
|
||||
|
||||
extern int match(const char *, const char *);
|
||||
#define mycmp(a,b) \
|
||||
( (toupper(a[0])!=toupper(b[0])) || smycmp((a)+1,(b)+1) )
|
||||
extern int smycmp(const char *, const char *);
|
||||
@@ -105,34 +95,13 @@ extern int smycmp(const char *, const char *);
|
||||
extern int myncmp(const char *, const char *, int);
|
||||
#endif
|
||||
|
||||
#ifdef NEED_STRTOK
|
||||
extern char *strtok2(char *, char *);
|
||||
#endif
|
||||
#ifdef NEED_STRTOKEN
|
||||
extern char *strtoken(char **, char *, char *);
|
||||
#endif
|
||||
#ifdef NEED_INET_ADDR
|
||||
extern unsigned long inet_addr(char *);
|
||||
#endif
|
||||
|
||||
#if defined(NEED_INET_NTOA) || defined(NEED_INET_NETOF) && !defined(_WIN32)
|
||||
#include <netinet/in.h>
|
||||
#endif
|
||||
#ifdef NEED_INET_NTOA
|
||||
extern char *inet_ntoa(struct in_addr);
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_INET_NTOP
|
||||
const char *inet_ntop(int, const void *, char *, size_t);
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_INET_PTON
|
||||
int inet_pton(int af, const char *src, void *dst);
|
||||
#endif
|
||||
|
||||
extern MODVAR int global_count, max_global_count;
|
||||
extern char *myctime(time_t);
|
||||
extern char *strtoken(char **, char *, char *);
|
||||
#ifdef _WIN32
|
||||
extern int gettimeofday(struct timeval *tp, void *tzp);
|
||||
#endif
|
||||
|
||||
#define PRECISE_CHECK
|
||||
|
||||
@@ -144,19 +113,10 @@ extern char *strtoken(char **, char *, char *);
|
||||
#endif
|
||||
|
||||
extern MODVAR u_char tolowertab[], touppertab[];
|
||||
|
||||
#if defined(NICK_GB2312) || defined(NICK_GBK) || defined(NICK_GBK_JAP)
|
||||
#define USE_LOCALE
|
||||
#include <ctype.h>
|
||||
#endif
|
||||
|
||||
#ifndef USE_LOCALE
|
||||
#undef tolower
|
||||
#define tolower(c) (tolowertab[(u_char)(c)])
|
||||
|
||||
#undef toupper
|
||||
#define toupper(c) (touppertab[(u_char)(c)])
|
||||
|
||||
#undef isalpha
|
||||
#undef isdigit
|
||||
#undef isxdigit
|
||||
@@ -169,7 +129,6 @@ extern MODVAR u_char tolowertab[], touppertab[];
|
||||
#undef isupper
|
||||
#undef isspace
|
||||
#undef iscntrl
|
||||
#endif
|
||||
extern MODVAR unsigned char char_atribs[];
|
||||
|
||||
#define PRINT 1
|
||||
@@ -189,7 +148,6 @@ extern MODVAR unsigned char char_atribs[];
|
||||
#endif
|
||||
|
||||
#define isallowed(c) (char_atribs[(u_char)(c)]&ALLOW)
|
||||
#ifndef USE_LOCALE
|
||||
#define iscntrl(c) (char_atribs[(u_char)(c)]&CNTRL)
|
||||
#define isalpha(c) (char_atribs[(u_char)(c)]&ALPHA)
|
||||
#define isspace(c) (char_atribs[(u_char)(c)]&SPACE)
|
||||
@@ -203,34 +161,8 @@ extern MODVAR unsigned char char_atribs[];
|
||||
#define isascii(c) ((u_char)(c) >= 0 && (u_char)(c) <= 0x7f)
|
||||
#define isgraph(c) ((char_atribs[(u_char)(c)]&PRINT) && ((u_char)(c) != 0x32))
|
||||
#define ispunct(c) (!(char_atribs[(u_char)(c)]&(CNTRL|ALPHA|DIGIT)))
|
||||
#endif
|
||||
#define iswseperator(c) (!isalnum(c) && !((u_char)c >= 128))
|
||||
|
||||
#ifndef MALLOCD
|
||||
#define MyFree free
|
||||
#define MyMalloc malloc
|
||||
#define MyRealloc realloc
|
||||
#else
|
||||
#define MyFree(x) do {debug(DEBUG_MALLOC, "%s:%i: free %02x", __FILE__, __LINE__, x); free(x); } while(0)
|
||||
#define MyMalloc(x) StsMalloc(x, __FILE__, __LINE__)
|
||||
#define MyRealloc realloc
|
||||
static char *StsMalloc(size_t size, char *file, long line)
|
||||
{
|
||||
void *x;
|
||||
|
||||
x = malloc(size);
|
||||
debug(DEBUG_MALLOC, "%s:%i: malloc %02x", file, line, x);
|
||||
return x;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#define safestrdup(x,y) do { if (x) MyFree(x); if (!(y)) x = NULL; else x = strdup(y); } while(0)
|
||||
#define safestrldup(x,y,sz) do { if (x) MyFree(x); if (!y) x = NULL; else x = strldup(y,sz); } while(0)
|
||||
#define safefree(x) do { if (x) MyFree(x); x = NULL; } while(0)
|
||||
|
||||
extern struct SLink *find_user_link( /* struct SLink *, struct Client * */ );
|
||||
|
||||
/*
|
||||
* Protocol support text. DO NO CHANGE THIS unless you know what
|
||||
* you are doing.
|
||||
@@ -274,7 +206,7 @@ extern int lu_noninv, lu_inv, lu_serv, lu_oper,
|
||||
lu_unknown, lu_channel, lu_lu, lu_lulocal, lu_lserv,
|
||||
lu_clu, lu_mlu, lu_cglobalu, lu_mglobalu;
|
||||
|
||||
extern MODVAR TS now;
|
||||
extern MODVAR time_t now;
|
||||
|
||||
#ifndef _WIN32
|
||||
#if defined(__STDC__)
|
||||
|
||||
+30
-216
@@ -68,38 +68,9 @@
|
||||
# define MODULE_SUFFIX ".dll"
|
||||
#endif
|
||||
|
||||
/*
|
||||
* If channel mode is +z, only send to secure links & people
|
||||
*
|
||||
*/
|
||||
#undef SECURECHANMSGSONLYGOTOSECURE
|
||||
|
||||
/* If you want to support chinese and/or japanese nicks */
|
||||
#undef NICK_GB2312
|
||||
#undef NICK_GBK
|
||||
#undef NICK_GBK_JAP
|
||||
|
||||
/* Permit remote /rehash */
|
||||
#define REMOTE_REHASH
|
||||
|
||||
/*
|
||||
* Special remote include caching, see this Changelog item:
|
||||
* - Added special caching of remote includes. When a remote include fails to
|
||||
* load (for example when the webserver is down), then the most recent
|
||||
* version of that remote include will be used, and the ircd will still boot
|
||||
* and be able to rehash. Even though this is quite a simple feature, it
|
||||
* can make a key difference when deciding to roll out remote includes on
|
||||
* your network. Previously, servers would be unable to boot or rehash when
|
||||
* the webserver was down, which would be a big problem (often unacceptable).
|
||||
* The latest version of fetched urls are cached in the cache/ directory as
|
||||
* cache/<md5 hash of url>.
|
||||
* Obviously, if there's no 'latest version' and an url fails, the ircd will
|
||||
* still not be able to boot. This would be the case if you added or changed
|
||||
* the path of a remote include and it's trying to fetch it for the first time.
|
||||
* There usually is no reason to disable this.
|
||||
*/
|
||||
#define REMOTEINC_SPECIALCACHE
|
||||
|
||||
/*
|
||||
** Freelinks garbage collector -Stskeeps
|
||||
**
|
||||
@@ -112,9 +83,6 @@
|
||||
|
||||
#define HOW_MANY_FREELINKS_ALLOWED 200 /* default: 200 */
|
||||
|
||||
/* NOTE: On some systems, valloc() causes many problems. */
|
||||
#undef VALLOC /* Define this if you have valloc(3) */
|
||||
|
||||
/*
|
||||
* read/write are restarted after signals defining this 1, gets
|
||||
* siginterrupt call compiled, which attempts to remove this
|
||||
@@ -124,19 +92,6 @@
|
||||
#define RESTARTING_SYSTEMCALLS
|
||||
#endif
|
||||
|
||||
/*
|
||||
* If your host supports varargs and has vsprintf(), vprintf() and vscanf()
|
||||
* C calls in its library, then you can define USE_VARARGS to use varargs
|
||||
* instead of imitation variable arg passing.
|
||||
*/
|
||||
#define USE_VARARGS
|
||||
|
||||
/* NOTE: with current server code, varargs doesn't survive because it can't
|
||||
* be used in a chain of 3 or more funtions which all have a variable
|
||||
* number of params. If anyone has a solution to this, please notify
|
||||
* the maintainer.
|
||||
*/
|
||||
|
||||
/* DEBUGMODE: This should only be used when tracing a problem. It creates
|
||||
* an insane amount of log output which can be very useful for debugging.
|
||||
* You should *NEVER* enable this setting on production servers.
|
||||
@@ -159,15 +114,6 @@
|
||||
#define BPATH CONFDIR"/bot.motd" /* Bot MOTD */
|
||||
#define IRCDTUNE PERMDATADIR"/ircd.tune" /* tuning .. */
|
||||
|
||||
/* SHOW_INVISIBLE_LUSERS
|
||||
*
|
||||
* As defined this will show the correct invisible count for anyone who does
|
||||
* LUSERS on your server. On a large net this doesnt mean much, but on a
|
||||
* small net it might be an advantage to undefine it.
|
||||
* (This will get defined for you if you're using userload (stats w). -mlv)
|
||||
*/
|
||||
#define SHOW_INVISIBLE_LUSERS
|
||||
|
||||
/** FAKELAG_CONFIGURABLE makes it possible to make certain classes exempted
|
||||
* from 'fake lag' (that is, the artificial delay that is added by the ircd
|
||||
* to prevent flooding, which causes the messages/commands of the user to
|
||||
@@ -182,29 +128,9 @@
|
||||
*/
|
||||
//#undef FAKELAG_CONFIGURABLE
|
||||
|
||||
/*
|
||||
* Max amount of internal send buffering when socket is stuck (bytes)
|
||||
*/
|
||||
#ifndef MAXSENDQLENGTH
|
||||
#define MAXSENDQLENGTH 3000000
|
||||
#endif
|
||||
/*
|
||||
* BUFFERPOOL is the maximum size of the total of all sendq's.
|
||||
* Recommended value is 2 * MAXSENDQLENGTH, for hubs, 5 *.
|
||||
*/
|
||||
#ifndef BUFFERPOOL
|
||||
#define BUFFERPOOL (18 * MAXSENDQLENGTH)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* DEFAULT_RECVQ
|
||||
*
|
||||
* this controls the number of bytes the server will allow a client to
|
||||
* send to the server without processing before disconnecting the client for
|
||||
* flooding it. Values greater than 8000 make no difference to the server.
|
||||
* NOTE: you can now also set this in class::recvq, if that's not present,
|
||||
* this default value will be used.
|
||||
*/
|
||||
/* The default value for class::sendq */
|
||||
#define DEFAULT_SENDQ 3000000
|
||||
/* The default value for class::recvq */
|
||||
#define DEFAULT_RECVQ 8000
|
||||
|
||||
/* You can define the nickname of NickServ here (usually "NickServ").
|
||||
@@ -219,12 +145,6 @@
|
||||
|
||||
/* You shouldn't change anything below this line, unless absolutely needed. */
|
||||
|
||||
/*
|
||||
* Port where ircd resides. NOTE: This *MUST* be greater than 1024 if you
|
||||
* plan to run ircd under any other uid than root.
|
||||
*/
|
||||
#define PORTNUM 6667 /* 6667 is default */
|
||||
|
||||
/*
|
||||
* Maximum number of network connections your server will allow.
|
||||
* On *NIX this is configured via ./Config so don't set it here.
|
||||
@@ -242,11 +162,11 @@
|
||||
(defined(HAVE_POLL) || defined(HAVE_EPOLL) || defined(HAVE_KQUEUE))
|
||||
/* Have poll/epoll/kqueue and either no --with-maxconnections or
|
||||
* --with-maxconnections=0, either of which indicates 'automatic' mode.
|
||||
* At the time of writing we will try a limit of 8192.
|
||||
* At the time of writing we will try a limit of 16384.
|
||||
* It will automatically be lowered at boottime if we can only use
|
||||
* 4096, 2048 or 1024. No problem.
|
||||
*/
|
||||
#define MAXCONNECTIONS 8192
|
||||
#define MAXCONNECTIONS 16384
|
||||
#elif defined(MAXCONNECTIONS_REQUEST) && (MAXCONNECTIONS_REQUEST >= 1)
|
||||
/* --with-maxconnections=something */
|
||||
#define MAXCONNECTIONS MAXCONNECTIONS_REQUEST
|
||||
@@ -291,20 +211,17 @@
|
||||
* This means any other events and such may be delayed up to this value
|
||||
* when there is no socket data waiting for us (no clients sending anything).
|
||||
* Was 2000ms in 3.2.x, 1000ms for versions below 3.4-alpha4.
|
||||
* 500ms in UnrealIRCd 4 (?)
|
||||
* 250ms in UnrealIRCd 5.
|
||||
*/
|
||||
#define SOCKETLOOP_MAX_DELAY 500
|
||||
#define SOCKETLOOP_MAX_DELAY 250
|
||||
|
||||
/*
|
||||
* Max time from the nickname change that still causes KILL
|
||||
* automaticly to switch for the current nick of that user. (seconds)
|
||||
*/
|
||||
#define KILLCHASETIMELIMIT 90 /* Recommended value: 90 */
|
||||
#define KILLCHASETIMELIMIT 30
|
||||
|
||||
/*
|
||||
* Forces Unreal to use compressed IPv6 addresses rather than expanding them
|
||||
*/
|
||||
#undef IPV6_COMPRESSED
|
||||
|
||||
/* Detect slow spamfilters? This requires a little more cpu time when processing
|
||||
* any spamfilter (like on text/connect/..) but will save you from slowing down
|
||||
* your IRCd to a near-halt (well, in most cases.. there are still cases like when
|
||||
@@ -316,13 +233,17 @@
|
||||
#endif
|
||||
|
||||
/* Maximum number of ModData objects that may be attached to an object */
|
||||
/* UnrealIRCd 4.0.0 - 4.0.13: 8, 8, 4, 4
|
||||
* UnrealIRCd 4.0.14+ : 12, 8, 4, 4
|
||||
/* UnrealIRCd 4.0.0 - 4.0.13: 8, 8, 4, 4
|
||||
* UnrealIRCd 4.0.14+ : 12, 8, 4, 4
|
||||
* UnrealIRCd 5.0.0 : 12, 8, 8, 4, 4, 500, 500
|
||||
*/
|
||||
#define MODDATA_MAX_CLIENT 12
|
||||
#define MODDATA_MAX_CHANNEL 8
|
||||
#define MODDATA_MAX_MEMBER 4
|
||||
#define MODDATA_MAX_MEMBERSHIP 4
|
||||
#define MODDATA_MAX_CLIENT 12
|
||||
#define MODDATA_MAX_LOCAL_CLIENT 8
|
||||
#define MODDATA_MAX_CHANNEL 8
|
||||
#define MODDATA_MAX_MEMBER 4
|
||||
#define MODDATA_MAX_MEMBERSHIP 4
|
||||
#define MODDATA_MAX_LOCAL_VARIABLE 500
|
||||
#define MODDATA_MAX_GLOBAL_VARIABLE 500
|
||||
|
||||
/* If EXPERIMENTAL is #define'd then all users will receive a notice about
|
||||
* this when they connect, along with a pointer to bugs.unrealircd.org where
|
||||
@@ -358,92 +279,14 @@
|
||||
#define CONFIGFILE CPATH
|
||||
#define IRCD_PIDFILE PIDFILE
|
||||
|
||||
#ifdef __osf__
|
||||
#define OSF
|
||||
/* OSF defines BSD to be its version of BSD */
|
||||
#undef BSD
|
||||
#include <sys/param.h>
|
||||
#ifndef BSD
|
||||
#define BSD
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef ultrix
|
||||
#define ULTRIX
|
||||
#endif
|
||||
|
||||
#ifdef __hpux
|
||||
#define HPUX
|
||||
#endif
|
||||
|
||||
#ifdef sgi
|
||||
#define SGI
|
||||
#endif
|
||||
|
||||
#ifndef KLINE_TEMP
|
||||
#define KLINE_PERM 0
|
||||
#define KLINE_TEMP 1
|
||||
#define KLINE_AKILL 2
|
||||
#define KLINE_EXCEPT 3
|
||||
#endif
|
||||
|
||||
#ifdef DEBUGMODE
|
||||
#ifndef _WIN32
|
||||
extern void debug(int, char *, ...);
|
||||
#define Debug(x) debug x
|
||||
#define Debug(x) debug x
|
||||
#define LOGFILE LPATH
|
||||
#else
|
||||
extern void debug(int, char *, ...);
|
||||
#define Debug(x) debug x
|
||||
#endif
|
||||
#define LOGFILE LPATH
|
||||
#else
|
||||
#define Debug(x) ;
|
||||
#if VMS
|
||||
#define LOGFILE "NLA0:"
|
||||
#else
|
||||
#define LOGFILE "/dev/null"
|
||||
#endif
|
||||
#define Debug(x) ;
|
||||
#define LOGFILE "/dev/null"
|
||||
#endif
|
||||
|
||||
|
||||
#if defined(mips) || defined(PCS)
|
||||
#undef SYSV
|
||||
#endif
|
||||
|
||||
#ifdef MIPS
|
||||
#undef BSD
|
||||
#define BSD 1 /* mips only works in bsd43 environment */
|
||||
#endif
|
||||
|
||||
#ifdef BSD_RELIABLE_SIGNALS
|
||||
# if defined(SYSV_UNRELIABLE_SIGNALS) || defined(POSIX_SIGNALS)
|
||||
error You stuffed up config.h signals
|
||||
#define use only one.
|
||||
# endif
|
||||
#define HAVE_RELIABLE_SIGNALS
|
||||
#endif
|
||||
#ifdef SYSV_UNRELIABLE_SIGNALS
|
||||
# ifdef POSIX_SIGNALS
|
||||
error You stuffed up config.h signals
|
||||
#define use only one.
|
||||
# endif
|
||||
#undef HAVE_RELIABLE_SIGNALS
|
||||
#endif
|
||||
#ifdef POSIX_SIGNALS
|
||||
#define HAVE_RELIABLE_SIGNALS
|
||||
#endif
|
||||
#ifdef HAVECURSES
|
||||
# define DOCURSES
|
||||
#else
|
||||
# undef DOCURSES
|
||||
#endif
|
||||
#ifdef HAVETERMCAP
|
||||
# define DOTERMCAP
|
||||
#else
|
||||
# undef DOTERMCAP
|
||||
#endif
|
||||
# define stricmp strcasecmp
|
||||
# define strnicmp strncasecmp
|
||||
#if defined(DEFAULT_RECVQ)
|
||||
# if (DEFAULT_RECVQ < 512)
|
||||
error DEFAULT_RECVQ needs redefining.
|
||||
@@ -454,42 +297,6 @@ error You stuffed up config.h signals
|
||||
#if (NICKNAMEHISTORYLENGTH < 100)
|
||||
# define NICKNAMEHISTORYLENGTH 100
|
||||
#endif
|
||||
/*
|
||||
* Some ugliness for AIX platforms.
|
||||
*/
|
||||
#ifdef AIX
|
||||
# include <sys/machine.h>
|
||||
# if BYTE_ORDER == BIG_ENDIAN
|
||||
# define BIT_ZERO_ON_LEFT
|
||||
# endif
|
||||
# if BYTE_ORDER == LITTLE_ENDIAN
|
||||
# define BIT_ZERO_ON_RIGHT
|
||||
# endif
|
||||
/*
|
||||
* this one is used later in sys/types.h (or so i believe). -avalon
|
||||
*/
|
||||
# define BSD_INCLUDES
|
||||
#endif
|
||||
/*
|
||||
* This is just to make Solaris porting easier -- codemastr
|
||||
*/
|
||||
#if defined(SOL20) || defined(SOL25) || defined(SOL26) || defined(SOL27)
|
||||
#define _SOLARIS
|
||||
#endif
|
||||
#ifdef NEED_BCMP
|
||||
#define bcmp memcmp
|
||||
#endif
|
||||
#ifdef NEED_BCOPY
|
||||
#define bcopy(a,b,c) memcpy(b,a,c)
|
||||
#endif
|
||||
#ifdef NEED_BZERO
|
||||
#define bzero(a,b) memset(a,0,b)
|
||||
#endif
|
||||
#if defined(AIX) && defined(_XOPEN_SOURCE_EXTENDED) && _XOPEN_SOURCE_EXTENDED
|
||||
# define SOCK_LEN_TYPE size_t
|
||||
#else
|
||||
# define SOCK_LEN_TYPE int
|
||||
#endif
|
||||
|
||||
#if defined(__GNUC__) && defined(__GNUC_MINOR__) && \
|
||||
((__GNUC__ > 4) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) && \
|
||||
@@ -509,5 +316,12 @@ error You stuffed up config.h signals
|
||||
id(void) { __asm__(""); }
|
||||
#endif
|
||||
|
||||
#ifndef __has_feature
|
||||
#define __has_feature(x) 0 // Compatibility with non-clang compilers.
|
||||
#endif
|
||||
#ifndef __has_extension
|
||||
#define __has_extension __has_feature // Compatibility with pre-3.0 compilers.
|
||||
#endif
|
||||
|
||||
#endif /* __config_include__ */
|
||||
|
||||
|
||||
+1
-1
@@ -45,7 +45,7 @@
|
||||
*/
|
||||
typedef struct dbuf {
|
||||
u_int length; /* Current number of bytes stored */
|
||||
u_int offset; /* Offset to the first byte */
|
||||
// u_int offset; /* Offset to the first byte */
|
||||
struct list_head dbuf_list;
|
||||
} dbuf;
|
||||
|
||||
|
||||
@@ -1,16 +1,6 @@
|
||||
/* OMG... OMG! WHAT AN INCLUDE HORROR !!! */
|
||||
#undef strcasecmp
|
||||
#undef strncasecmp
|
||||
#include <ares.h>
|
||||
#include <ares_version.h>
|
||||
#undef strcasecmp
|
||||
#undef strncasecmp
|
||||
#ifndef GOT_STRCASECMP
|
||||
#define strcasecmp mycmp
|
||||
#define strncasecmp myncmp
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
typedef enum {
|
||||
DNSREQ_CLIENT = 1,
|
||||
@@ -18,25 +8,25 @@ typedef enum {
|
||||
DNSREQ_CONNECT = 3
|
||||
} DNSReqType;
|
||||
|
||||
typedef struct _dnsreq DNSReq;
|
||||
typedef struct DNSReq DNSReq;
|
||||
|
||||
/* Depending on the request type, some fields are filled in:
|
||||
* cptr: DNSREQ_CLIENT, DNSREQ_CONNECT
|
||||
* link: DNSREQ_LINKCONF, DNSREQ_CONNECT
|
||||
*/
|
||||
|
||||
struct _dnsreq {
|
||||
struct DNSReq {
|
||||
DNSReq *prev, *next;
|
||||
char *name; /**< Name being resolved (only for DNSREQ_LINKCONF and DNSREQ_CONNECT) */
|
||||
char ipv6; /**< Resolving for ipv6 or ipv4? */
|
||||
DNSReqType type; /**< DNS Request type (DNSREQ_*) */
|
||||
aClient *cptr; /**< Client the request is for, NULL if client died OR unavailable */
|
||||
Client *client; /**< Client the request is for, NULL if client died OR unavailable */
|
||||
ConfigItem_link *linkblock; /**< Linkblock */
|
||||
};
|
||||
|
||||
typedef struct _dnscache DNSCache;
|
||||
typedef struct DNSCache DNSCache;
|
||||
|
||||
struct _dnscache {
|
||||
struct DNSCache {
|
||||
DNSCache *prev, *next; /**< Previous and next in linked list */
|
||||
DNSCache *hprev, *hnext; /**< Previous and next in hash list */
|
||||
char *name; /**< The hostname */
|
||||
@@ -44,9 +34,9 @@ struct _dnscache {
|
||||
time_t expires; /**< When record expires */
|
||||
};
|
||||
|
||||
typedef struct _dnsstats DNSStats;
|
||||
typedef struct DNSStats DNSStats;
|
||||
|
||||
struct _dnsstats {
|
||||
struct DNSStats {
|
||||
unsigned int cache_hits;
|
||||
unsigned int cache_misses;
|
||||
unsigned int cache_adds;
|
||||
@@ -76,7 +66,7 @@ extern ares_channel resolver_channel;
|
||||
|
||||
extern void init_resolver(int);
|
||||
|
||||
struct hostent *unrealdns_doclient(aClient *cptr);
|
||||
struct hostent *unrealdns_doclient(Client *cptr);
|
||||
|
||||
extern void unreal_gethostbyname(const char *name, int family, ares_host_callback callback, void *arg);
|
||||
|
||||
+60
-76
@@ -1,6 +1,7 @@
|
||||
/************************************************************************
|
||||
* Unreal Internet Relay Chat Daemon, include/dynconf.h
|
||||
* Copyright (C) 1999 Carsten Munk
|
||||
* Copyright (C) 1999-2003 Carsten Munk
|
||||
* Copyright (C) 2003-2021 Bram Matthys
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@@ -21,12 +22,18 @@
|
||||
|
||||
|
||||
#define DYNCONF_H
|
||||
/* config level */
|
||||
#define DYNCONF_CONF_VERSION "1.5"
|
||||
#define DYNCONF_NETWORK_VERSION "2.2"
|
||||
|
||||
typedef struct zNetwork aNetwork;
|
||||
struct zNetwork {
|
||||
typedef struct FloodSettings FloodSettings;
|
||||
|
||||
struct FloodSettings {
|
||||
FloodSettings *prev, *next;
|
||||
char *name;
|
||||
int limit[MAXFLOODOPTIONS];
|
||||
long period[MAXFLOODOPTIONS];
|
||||
};
|
||||
|
||||
typedef struct NetworkConfiguration NetworkConfiguration;
|
||||
struct NetworkConfiguration {
|
||||
unsigned x_inah:1;
|
||||
char *x_ircnetwork;
|
||||
char *x_ircnet005;
|
||||
@@ -47,13 +54,22 @@ struct ChMode {
|
||||
char *extparams[EXTCMODETABLESZ];
|
||||
};
|
||||
|
||||
typedef struct _OperStat {
|
||||
struct _OperStat *prev, *next;
|
||||
typedef struct OperStat {
|
||||
struct OperStat *prev, *next;
|
||||
char *flag;
|
||||
} OperStat;
|
||||
|
||||
typedef struct zConfiguration aConfiguration;
|
||||
struct zConfiguration {
|
||||
typedef enum BroadcastChannelMessagesOption { BROADCAST_CHANNEL_MESSAGES_AUTO=1, BROADCAST_CHANNEL_MESSAGES_ALWAYS=2, BROADCAST_CHANNEL_MESSAGES_NEVER=3 } BroadcastChannelMessagesOption;
|
||||
|
||||
typedef enum AllowedChannelChars { ALLOWED_CHANNELCHARS_ANY=1, ALLOWED_CHANNELCHARS_ASCII=2, ALLOWED_CHANNELCHARS_UTF8=3 } AllowedChannelChars;
|
||||
|
||||
typedef enum BanTarget { BAN_TARGET_IP=1, BAN_TARGET_USERIP=2, BAN_TARGET_HOST=3, BAN_TARGET_USERHOST=4, BAN_TARGET_ACCOUNT=5, BAN_TARGET_CERTFP=6 } BanTarget;
|
||||
|
||||
typedef enum HideIdleTimePolicy { HIDE_IDLE_TIME_NEVER=1, HIDE_IDLE_TIME_ALWAYS=2, HIDE_IDLE_TIME_USERMODE=3, HIDE_IDLE_TIME_OPER_USERMODE=4 } HideIdleTimePolicy;
|
||||
|
||||
/** The set { } block configuration */
|
||||
typedef struct Configuration Configuration;
|
||||
struct Configuration {
|
||||
unsigned som:1;
|
||||
unsigned hide_ulines:1;
|
||||
unsigned flat_map:1;
|
||||
@@ -61,7 +77,7 @@ struct zConfiguration {
|
||||
unsigned ident_check:1;
|
||||
unsigned fail_oper_warn:1;
|
||||
unsigned show_connect_info:1;
|
||||
unsigned no_connect_ssl_info:1;
|
||||
unsigned no_connect_tls_info:1;
|
||||
unsigned dont_resolve:1;
|
||||
unsigned use_ban_version:1;
|
||||
unsigned mkpasswd_for_everyone:1;
|
||||
@@ -80,22 +96,22 @@ struct zConfiguration {
|
||||
long conn_modes;
|
||||
long oper_modes;
|
||||
char *oper_snomask;
|
||||
char *user_snomask;
|
||||
char *auto_join_chans;
|
||||
char *oper_auto_join_chans;
|
||||
char *oper_only_stats;
|
||||
OperStat *oper_only_stats_ext;
|
||||
char *allow_user_stats;
|
||||
OperStat *allow_user_stats_ext;
|
||||
int ping_warning;
|
||||
int maxchannelsperuser;
|
||||
int maxdccallow;
|
||||
int anti_spam_quit_message_time;
|
||||
char *egd_path;
|
||||
char *static_quit;
|
||||
char *static_part;
|
||||
SSLOptions *ssl_options;
|
||||
TLSOptions *tls_options;
|
||||
Policy plaintext_policy_user;
|
||||
char *plaintext_policy_user_message;
|
||||
MultiLine *plaintext_policy_user_message;
|
||||
Policy plaintext_policy_oper;
|
||||
char *plaintext_policy_oper_message;
|
||||
MultiLine *plaintext_policy_oper_message;
|
||||
Policy plaintext_policy_server;
|
||||
Policy outdated_tls_policy_user;
|
||||
char *outdated_tls_policy_user_message;
|
||||
@@ -106,22 +122,13 @@ struct zConfiguration {
|
||||
char *restrict_usermodes;
|
||||
char *restrict_channelmodes;
|
||||
char *restrict_extendedbans;
|
||||
int new_linking_protocol;
|
||||
char *channel_command_prefix;
|
||||
long unknown_flood_bantime;
|
||||
long unknown_flood_amount;
|
||||
long handshake_data_flood_amount;
|
||||
long handshake_data_flood_ban_time;
|
||||
int handshake_data_flood_ban_action;
|
||||
struct ChMode modes_on_join;
|
||||
int level_on_join;
|
||||
unsigned char away_count;
|
||||
long away_period;
|
||||
unsigned char nick_count;
|
||||
long nick_period;
|
||||
unsigned char invite_count;
|
||||
long invite_period;
|
||||
unsigned char knock_count;
|
||||
long knock_period;
|
||||
unsigned char max_concurrent_conversations_users;
|
||||
unsigned char max_concurrent_conversations_new_user_every;
|
||||
FloodSettings *floodsettings;
|
||||
int ident_connect_timeout;
|
||||
int ident_read_timeout;
|
||||
long default_bantime;
|
||||
@@ -139,14 +146,12 @@ struct zConfiguration {
|
||||
int spamfilter_stop_on_first_match;
|
||||
int maxbans;
|
||||
int maxbanlength;
|
||||
int timesynch_enabled;
|
||||
int timesynch_timeout;
|
||||
char *timesynch_server;
|
||||
int watch_away_notification;
|
||||
int uhnames;
|
||||
aNetwork network;
|
||||
NetworkConfiguration network;
|
||||
unsigned short default_ipv6_clone_mask;
|
||||
int ping_cookie;
|
||||
int min_nick_length;
|
||||
int nick_length;
|
||||
int topic_length;
|
||||
int kick_length;
|
||||
@@ -155,9 +160,10 @@ struct zConfiguration {
|
||||
int hide_list;
|
||||
int max_unknown_connections_per_ip;
|
||||
long handshake_timeout;
|
||||
long sasl_timeout;
|
||||
long handshake_delay;
|
||||
int ban_include_username;
|
||||
char *reject_message_password_mismatch;
|
||||
BanTarget automatic_ban_target;
|
||||
BanTarget manual_ban_target;
|
||||
char *reject_message_too_many_connections;
|
||||
char *reject_message_server_full;
|
||||
char *reject_message_unauthorized;
|
||||
@@ -166,24 +172,26 @@ struct zConfiguration {
|
||||
int topic_setter;
|
||||
int ban_setter;
|
||||
int ban_setter_sync;
|
||||
int part_instead_of_quit_on_comment_change;
|
||||
BroadcastChannelMessagesOption broadcast_channel_messages;
|
||||
AllowedChannelChars allowed_channelchars;
|
||||
HideIdleTimePolicy hide_idle_time;
|
||||
};
|
||||
|
||||
#ifndef DYNCONF_C
|
||||
extern MODVAR aConfiguration iConf;
|
||||
extern MODVAR aConfiguration tempiConf;
|
||||
extern MODVAR Configuration iConf;
|
||||
extern MODVAR Configuration tempiConf;
|
||||
extern MODVAR int ipv6_disabled;
|
||||
#endif
|
||||
|
||||
#define KLINE_ADDRESS iConf.kline_address
|
||||
#define GLINE_ADDRESS iConf.gline_address
|
||||
#define CONN_MODES iConf.conn_modes
|
||||
#define OPER_MODES iConf.oper_modes
|
||||
#define OPER_SNOMASK iConf.oper_snomask
|
||||
#define CONNECT_SNOMASK iConf.user_snomask
|
||||
#define SHOWOPERMOTD iConf.som
|
||||
#define HIDE_ULINES iConf.hide_ulines
|
||||
#define FLAT_MAP iConf.flat_map
|
||||
#define ALLOW_CHATOPS iConf.allow_chatops
|
||||
#define PINGWARNING iConf.ping_warning
|
||||
#define MAXCHANNELSPERUSER iConf.maxchannelsperuser
|
||||
#define MAXDCCALLOW iConf.maxdccallow
|
||||
#define DONT_RESOLVE iConf.dont_resolve
|
||||
@@ -194,8 +202,8 @@ extern MODVAR int ipv6_disabled;
|
||||
#define IDENT_CHECK iConf.ident_check
|
||||
#define FAILOPER_WARN iConf.fail_oper_warn
|
||||
#define SHOWCONNECTINFO iConf.show_connect_info
|
||||
#define NOCONNECTSSLINFO iConf.no_connect_ssl_info
|
||||
#define OPER_ONLY_STATS iConf.oper_only_stats
|
||||
#define NOCONNECTTLSLINFO iConf.no_connect_tls_info
|
||||
#define ALLOW_USER_STATS iConf.allow_user_stats
|
||||
#define ANTI_SPAM_QUIT_MSG_TIME iConf.anti_spam_quit_message_time
|
||||
#ifdef HAVE_RAND_EGD
|
||||
#define USE_EGD iConf.use_egd
|
||||
@@ -221,24 +229,12 @@ extern MODVAR int ipv6_disabled;
|
||||
#define RESTRICT_USERMODES iConf.restrict_usermodes
|
||||
#define RESTRICT_CHANNELMODES iConf.restrict_channelmodes
|
||||
#define RESTRICT_EXTENDEDBANS iConf.restrict_extendedbans
|
||||
#define NEW_LINKING_PROTOCOL iConf.new_linking_protocol
|
||||
#define THROTTLING_PERIOD iConf.throttle_period
|
||||
#define THROTTLING_COUNT iConf.throttle_count
|
||||
#define USE_BAN_VERSION iConf.use_ban_version
|
||||
#define UNKNOWN_FLOOD_BANTIME iConf.unknown_flood_bantime
|
||||
#define UNKNOWN_FLOOD_AMOUNT iConf.unknown_flood_amount
|
||||
#define MODES_ON_JOIN iConf.modes_on_join.mode
|
||||
#define LEVEL_ON_JOIN iConf.level_on_join
|
||||
|
||||
#define AWAY_PERIOD iConf.away_period
|
||||
#define AWAY_COUNT iConf.away_count
|
||||
#define NICK_PERIOD iConf.nick_period
|
||||
#define NICK_COUNT iConf.nick_count
|
||||
#define KNOCK_PERIOD iConf.knock_period
|
||||
#define KNOCK_COUNT iConf.knock_count
|
||||
#define INVITE_PERIOD iConf.invite_period
|
||||
#define INVITE_COUNT iConf.invite_count
|
||||
|
||||
#define IDENT_CONNECT_TIMEOUT iConf.ident_connect_timeout
|
||||
#define IDENT_READ_TIMEOUT iConf.ident_read_timeout
|
||||
|
||||
@@ -273,15 +269,13 @@ extern MODVAR int ipv6_disabled;
|
||||
#define MAXBANS iConf.maxbans
|
||||
#define MAXBANLENGTH iConf.maxbanlength
|
||||
|
||||
#define TIMESYNCH iConf.timesynch_enabled
|
||||
#define TIMESYNCH_TIMEOUT iConf.timesynch_timeout
|
||||
#define TIMESYNCH_SERVER iConf.timesynch_server
|
||||
|
||||
#define WATCH_AWAY_NOTIFICATION iConf.watch_away_notification
|
||||
|
||||
#define UHNAMES_ENABLED iConf.uhnames
|
||||
|
||||
/* Used for "is present?" and duplicate checking */
|
||||
/** Used for testing the set { } block configuration.
|
||||
* It tests if a setting is present and is also used for duplicate checking.
|
||||
*/
|
||||
struct SetCheck {
|
||||
unsigned has_show_opermotd:1;
|
||||
unsigned has_hide_ulines:1;
|
||||
@@ -293,9 +287,8 @@ struct SetCheck {
|
||||
unsigned has_dont_resolve:1;
|
||||
unsigned has_mkpasswd_for_everyone:1;
|
||||
unsigned has_allow_part_if_shunned:1;
|
||||
unsigned has_ssl_egd:1;
|
||||
unsigned has_ssl_server_cipher_list :1;
|
||||
unsigned has_ssl_protocols :1;
|
||||
unsigned has_tls_server_cipher_list :1;
|
||||
unsigned has_tls_protocols :1;
|
||||
unsigned has_dns_bind_ip:1;
|
||||
unsigned has_link_bind_ip:1;
|
||||
unsigned has_throttle_period:1;
|
||||
@@ -311,7 +304,8 @@ struct SetCheck {
|
||||
unsigned has_check_target_nick_bans:1;
|
||||
unsigned has_watch_away_notification:1;
|
||||
unsigned has_uhnames:1;
|
||||
unsigned has_oper_only_stats:1;
|
||||
unsigned has_allow_user_stats:1;
|
||||
unsigned has_ping_warning:1;
|
||||
unsigned has_maxchannelsperuser:1;
|
||||
unsigned has_maxdccallow:1;
|
||||
unsigned has_anti_spam_quit_message_time:1;
|
||||
@@ -322,18 +316,9 @@ struct SetCheck {
|
||||
unsigned has_restrict_usermodes:1;
|
||||
unsigned has_restrict_channelmodes:1;
|
||||
unsigned has_restrict_extendedbans:1;
|
||||
unsigned has_new_linking_protocol:1;
|
||||
unsigned has_channel_command_prefix:1;
|
||||
unsigned has_anti_flood_unknown_flood_bantime:1;
|
||||
unsigned has_anti_flood_unknown_flood_amount:1;
|
||||
unsigned has_modes_on_join:1;
|
||||
unsigned has_level_on_join:1;
|
||||
unsigned has_anti_flood_away_count:1;
|
||||
unsigned has_anti_flood_away_period:1;
|
||||
unsigned has_anti_flood_nick_flood:1;
|
||||
unsigned has_anti_flood_connect_flood:1;
|
||||
unsigned has_anti_flood_invite_flood:1;
|
||||
unsigned has_anti_flood_knock_flood:1;
|
||||
unsigned has_ident_connect_timeout:1;
|
||||
unsigned has_ident_read_timeout:1;
|
||||
unsigned has_default_bantime:1;
|
||||
@@ -363,15 +348,14 @@ struct SetCheck {
|
||||
unsigned has_options_fail_oper_warn:1;
|
||||
unsigned has_options_dont_resolve:1;
|
||||
unsigned has_options_show_connect_info:1;
|
||||
unsigned has_options_no_connect_ssl_info:1;
|
||||
unsigned has_options_no_connect_tls_info:1;
|
||||
unsigned has_options_mkpasswd_for_everyone:1;
|
||||
unsigned has_options_allow_insane_bans:1;
|
||||
unsigned has_options_allow_part_if_shunned:1;
|
||||
unsigned has_options_disable_cap:1;
|
||||
unsigned has_options_disable_ipv6:1;
|
||||
unsigned has_ping_cookie:1;
|
||||
unsigned has_min_nick_length:1;
|
||||
unsigned has_nick_length:1;
|
||||
unsigned has_hide_ban_reason:1;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -11,9 +11,7 @@ typedef struct fd_entry {
|
||||
int fd;
|
||||
char desc[FD_DESC_SZ];
|
||||
IOCallbackFunc read_callback;
|
||||
unsigned char read_oneshot;
|
||||
IOCallbackFunc write_callback;
|
||||
unsigned char write_oneshot;
|
||||
void *data;
|
||||
time_t deadline;
|
||||
unsigned char is_open;
|
||||
@@ -33,8 +31,6 @@ extern int fd_fileopen(const char *path, unsigned int flags);
|
||||
|
||||
#define FD_SELECT_READ 0x1
|
||||
#define FD_SELECT_WRITE 0x2
|
||||
#define FD_SELECT_ONESHOT 0x4
|
||||
#define FD_SELECT_NOWRITE 0x8
|
||||
|
||||
extern void fd_setselect(int fd, int flags, IOCallbackFunc iocb, void *data);
|
||||
extern void fd_select(time_t delay); /* backend-specific */
|
||||
|
||||
+662
-410
File diff suppressed because it is too large
Load Diff
@@ -1,73 +0,0 @@
|
||||
/************************************************************************
|
||||
* Unreal Internet Relay Chat Daemon, include/hash.h
|
||||
* Copyright (C) 1991 Darren Reed
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 1, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#ifndef __hash_include__
|
||||
#define __hash_include__
|
||||
|
||||
typedef struct hashentry {
|
||||
int hits;
|
||||
int links;
|
||||
void *list;
|
||||
} aHashEntry;
|
||||
|
||||
/* Taner had BITS_PER_COL 4 BITS_PER_COL_MASK 0xF - Dianora */
|
||||
|
||||
#define BITS_PER_COL 3
|
||||
#define BITS_PER_COL_MASK 0x7
|
||||
#define MAX_SUB (1<<BITS_PER_COL)
|
||||
|
||||
/* Client hash table
|
||||
* used in hash.c
|
||||
*/
|
||||
|
||||
#define U_MAX_INITIAL 2048
|
||||
#define U_MAX_INITIAL_MASK (U_MAX_INITIAL-1)
|
||||
#define U_MAX (U_MAX_INITIAL*MAX_SUB)
|
||||
|
||||
/* Channel hash table
|
||||
* used in hash.c
|
||||
*/
|
||||
|
||||
#define CH_MAX_INITIAL 2048
|
||||
#define CH_MAX_INITIAL_MASK (CH_MAX_INITIAL-1)
|
||||
#define CH_MAX (CH_MAX_INITIAL*MAX_SUB)
|
||||
|
||||
/* Who was hash table
|
||||
* used in whowas.c
|
||||
*/
|
||||
|
||||
#define WW_MAX_INITIAL 16
|
||||
#define WW_MAX_INITIAL_MASK (WW_MAX_INITIAL-1)
|
||||
#define WW_MAX (WW_MAX_INITIAL*MAX_SUB)
|
||||
|
||||
#define WATCHHASHSIZE 10007 /* prime number */
|
||||
|
||||
/*
|
||||
* Throttling
|
||||
*/
|
||||
#define THROTTLING_HASH_SIZE 1019 /* prime number */
|
||||
|
||||
|
||||
#define NullChn ((aChannel *)0)
|
||||
|
||||
#define find_channel hash_find_channel
|
||||
|
||||
#endif /* __hash_include__ */
|
||||
@@ -1,62 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 1983 Regents of the University of California.
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms are permitted
|
||||
* provided that: (1) source distributions retain this entire copyright
|
||||
* notice and comment, and (2) distributions including binaries display
|
||||
* the following acknowledgement: ``This product includes software
|
||||
* developed by the University of California, Berkeley and its contributors''
|
||||
* in the documentation or other materials provided with the distribution
|
||||
* and in all advertising materials mentioning features or use of this
|
||||
* software. Neither the name of the University nor the names of its
|
||||
* contributors may be used to endorse or promote products derived
|
||||
* from this software without specific prior written permission.
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
|
||||
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
*
|
||||
* $Id$
|
||||
*
|
||||
* @(#)inet.h 5.4 (Berkeley) 6/1/90
|
||||
*/
|
||||
|
||||
/* External definitions for functions in inet(3) */
|
||||
#include "config.h" /* for system definitions */
|
||||
|
||||
#ifdef __alpha
|
||||
#define __u_l unsigned int
|
||||
#else
|
||||
#define __u_l unsigned long
|
||||
#endif
|
||||
|
||||
extern int inet_pton(int af, const char *src, void *dst);
|
||||
extern const char *inet_ntop(int af, const void *src, char *dst, size_t cnt);
|
||||
|
||||
#ifdef __STDC__
|
||||
# ifndef _WIN32
|
||||
extern __u_l inet_addr(char *);
|
||||
extern char *inet_ntoa(struct in_addr);
|
||||
extern int inet_aton(const char *, struct in_addr *);
|
||||
# endif
|
||||
extern __u_l inet_makeaddr(int, int);
|
||||
extern __u_l inet_network(char *);
|
||||
extern __u_l inet_lnaof(struct in_addr);
|
||||
#else
|
||||
# ifndef _WIN32
|
||||
extern __u_l inet_addr();
|
||||
extern char *inet_ntoa();
|
||||
# endif
|
||||
#ifndef HPUX
|
||||
extern __u_l inet_makeaddr();
|
||||
#endif
|
||||
#endif
|
||||
#ifndef HPUX
|
||||
extern __u_l inet_network();
|
||||
extern __u_l inet_lnaof();
|
||||
#endif
|
||||
#undef __u_l
|
||||
|
||||
#ifndef INADDR_NONE
|
||||
#define INADDR_NONE 0xffffffff
|
||||
#endif
|
||||
+5
-11
@@ -9,21 +9,15 @@
|
||||
#include <stdarg.h>
|
||||
#include <stdio.h>
|
||||
|
||||
|
||||
/*
|
||||
* Proto types
|
||||
*/
|
||||
|
||||
/* You do want it to work in debug mode yes ? --DrBin */
|
||||
|
||||
/* ugly hack GRR */
|
||||
/* ugly hack GRR, for both attribute and FORMAT_STRING */
|
||||
#if !defined(__GNUC__) && !defined(__common_include__)
|
||||
#define __attribute__(x) /* nothing */
|
||||
#endif
|
||||
#ifndef FORMAT_STRING
|
||||
# define FORMAT_STRING(p) p
|
||||
#endif
|
||||
|
||||
extern char *ircvsnprintf(char *str, size_t size, const char *format, va_list);
|
||||
extern char *ircsnprintf(char *str, size_t size, const char *format, ...) __attribute__((format(printf,3,4)));
|
||||
|
||||
extern const char atoi_tab[4000];
|
||||
extern char *ircsnprintf(char *str, size_t size, FORMAT_STRING(const char *format), ...) __attribute__((format(printf,3,4)));
|
||||
|
||||
#endif
|
||||
|
||||
+68
-13
@@ -16,9 +16,9 @@
|
||||
#endif
|
||||
|
||||
#ifdef _WIN32
|
||||
#define typeof(x) aClient
|
||||
#define typeof(x) Client
|
||||
/* ^ FIXME if/when Microsoft supports this.
|
||||
* All functions use aClient at the moment, with the exception of CAP, which has
|
||||
* All functions use Client at the moment, with the exception of CAP, which has
|
||||
* to use list_for_each_entry2 because of it
|
||||
* Yeah this looks ugly and hacky.. thanks nenolod for making all code use this
|
||||
* non-portable gcc-specific stuff and violating all our code rules. Once again.
|
||||
@@ -430,11 +430,62 @@ SINLINE void list_splice_tail_init(struct list_head *list,
|
||||
pos != (head); \
|
||||
pos = n, n = pos->prev)
|
||||
|
||||
/**
|
||||
* list_for_each_entry - iterate over list of given type
|
||||
* @pos: the type * to use as a loop cursor.
|
||||
* @head: the head for your list.
|
||||
* @member: the name of the list_struct within the struct.
|
||||
/** Walk through client lists (with examples).
|
||||
* @param pos The variable to use as a loop cursor
|
||||
* @param head The head of your list
|
||||
* @param member The name of the list_struct within the struct.
|
||||
* @ingroup ListFunctions
|
||||
* @section Examples
|
||||
* @subsection client_list List all clients
|
||||
* @code
|
||||
* CMD_FUNC(cmd_listallclients)
|
||||
* {
|
||||
* Client *acptr;
|
||||
* sendnotice(client, "List of all clients:");
|
||||
* list_for_each_entry(acptr, &client_list, client_node)
|
||||
* sendnotice(client, "Client %s", acptr->name);
|
||||
* }
|
||||
* @endcode
|
||||
* @subsection lclient_list List all LOCAL clients
|
||||
* @code
|
||||
* CMD_FUNC(cmd_listalllocalclients)
|
||||
* {
|
||||
* Client *acptr;
|
||||
* sendnotice(client, "List of all local clients:");
|
||||
* list_for_each_entry(acptr, &lclient_list, lclient_node)
|
||||
* sendnotice(client, "Client %s", acptr->name);
|
||||
* }
|
||||
* @endcode
|
||||
* @subsection global_server_list List all servers
|
||||
* @code
|
||||
* CMD_FUNC(cmd_listallservers)
|
||||
* {
|
||||
* Client *acptr;
|
||||
* sendnotice(client, "List of all servers:");
|
||||
* list_for_each_entry(acptr, &global_server_list, client_node)
|
||||
* sendnotice(client, "Server %s", acptr->name);
|
||||
* }
|
||||
* @endcode
|
||||
* @subsection server_list List all LOCALLY connected servers
|
||||
* @code
|
||||
* CMD_FUNC(cmd_listallservers)
|
||||
* {
|
||||
* Client *acptr;
|
||||
* sendnotice(client, "List of all LOCAL servers:");
|
||||
* list_for_each_entry(acptr, &server_list, special_node)
|
||||
* sendnotice(client, "Server %s", acptr->name);
|
||||
* }
|
||||
* @endcode
|
||||
* @subsection oper_list List all LOCALLY connected IRCOps
|
||||
* @code
|
||||
* CMD_FUNC(cmd_listlocalircops)
|
||||
* {
|
||||
* Client *acptr;
|
||||
* sendnotice(client, "List of all LOCAL IRCOps:");
|
||||
* list_for_each_entry(acptr, &oper_list, special_node)
|
||||
* sendnotice(client, "User %s", acptr->name);
|
||||
* }
|
||||
* @endcode
|
||||
*/
|
||||
#define list_for_each_entry(pos, head, member) \
|
||||
for (pos = list_entry((head)->next, typeof(*pos), member); \
|
||||
@@ -514,12 +565,16 @@ SINLINE void list_splice_tail_init(struct list_head *list,
|
||||
for (; &pos->member != (head); \
|
||||
pos = list_entry(pos->member.next, typeof(*pos), member))
|
||||
|
||||
/**
|
||||
* list_for_each_entry_safe - iterate over list of given type safe against removal of list entry
|
||||
* @pos: the type * to use as a loop cursor.
|
||||
* @n: another type * to use as temporary storage
|
||||
* @head: the head for your list.
|
||||
* @member: the name of the list_struct within the struct.
|
||||
/** Walk through client lists - special 'safe' version.
|
||||
* This is a special version, in case clients are removed from the list
|
||||
* while the list is iterated. It is unlikely that you need to use this
|
||||
* from modules, so use list_for_each_entry() instead.
|
||||
* Examples are also in list_for_each_entry().
|
||||
* @param pos The variable to use as a loop cursor
|
||||
* @param n Variable to be used for temporary storage
|
||||
* @param head The head of your list
|
||||
* @param member The name of the list_struct within the struct.
|
||||
* @ingroup ListFunctions
|
||||
*/
|
||||
#define list_for_each_entry_safe(pos, n, head, member) \
|
||||
for (pos = list_entry((head)->next, typeof(*pos), member), \
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user